2.4如何选择过程模型


2.4如何选择过程模型

基本原则

  1. 软件工程是个不断发展的学科,新的软件过程模型会不断出现。
  2. 选用时不必拘泥于某种模型,可组合多种模型,可根据实际创造新的模型
  3. 结合软件的特点和软件过程模型的特点来选择。

具体分析

情况 模型 原因
前期需求明确 瀑布模型 瀑布模型管理规范,在需求明确的情况下,可以最大化保证软件质量
用户无系统使用经验需求分析人员技能不足 原型模型 |||
不确定因素很多,很多东西无法提前计划 增量模型或螺旋模型 这种情况下,此时用户和需求人员很难通过面谈等方式确定需求,而采用原型模型能够帮助他们理解待开发系统进而明确需求
需求不稳定 增量模型 增量模型的迭代式增量开发允许在开发过程中修改需求,从而良好应对需求变化的情况
资金和成本无法一次到位 增量模型 据资金和成本到位情况,来规划增量进行开发
/// ||| \\\
需要完成多个独立功能开发的情况,可在需求分析阶段就进行功能并行 每个功能内部!都遵循瀑布模型 要注意的是在功能内部
全新系统的开发必须在总体设计完成后再开始增量或并行 ||| 开发人员对于开发全新系统缺少经验的话,风险较大,总体设计完成后再开始增量或并行风险相对较小
编码人员经验较少 不要采用敏捷或迭代模型 敏捷或迭代模型对开发人员要求较高,不适合初级编程人员
三者可综合使用,但是要有明确的交付和出口原则 增量、迭代、原型 否则会陷入边做边改或者效率低下的状况

案例1:医疗设备控制软件

案例分析

需求明确且稳定

  • 可靠性和安全性要求极高。否则会出现人员伤亡,
  • 对软件错误和故障的控制和跟踪能力强,发现故障一定要找出原因并加以修复
  • 需要对软件开发过程严格控制
  • 需要大量严格的文档

结果

瀑布模型

案例2:校园一卡通系统

案例分析

  • 包括若干相对独立的功能,如宿舍门禁、就餐、借书等
  • 系统需要具有可扩充性,以便以后增加新功能,例如课堂考勤、校车乘坐等。
  • 系统具体需求不明确且会发生变化
  • 用户需要熟悉和适应新的系统
  • 项目复杂程度中等、有一定风险
  • 产品和文档的再使用率较高

结果

增量模型(管理较严格)

案例3:智能化小区

具体内容

1、智能家庭
·家居信息的实时和远程监视
·家用电器的远程和自动控制
·家庭安防报警和远程通知
2、智能小区
·安防门禁、可视对讲等
·物业管理
·一卡通系统
·缴费、包裹、公告、便民信息等发布到户
·家政相关服务,如送水、送餐等

案例分析

  • 包括若干相对独立的功能
  • 系统具体需求不明确且会发生变化
  • 部分技术方案可行性不确定
  • 系统需要具有可扩充性
  • 用户需要熟悉和适应新的系统
  • 项目复杂程度较大、风险较大
  • 希望尽早投入市场

结果

原型化模型+增量模型。

【具体需求不明确和部分技术方案可行性不确定问题——原型化模型】

【系统需求会发生变化、系统需要具有可扩充性、希望尽早投入市场、以及风险较大等问题——增量模型】


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM