2.4如何选择过程模型

2.4如何选择过程模型

基本原则

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

具体分析

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

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

案例分析

需求明确且稳定

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

结果

瀑布模型

案例2:校园一卡通系统

案例分析

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

结果

增量模型(管理较严格)

案例3:智能化小区

具体内容

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

案例分析

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

结果

原型化模型+增量模型。

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

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

posted @   Dinesaw  阅读(1026)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示