软件生存期模型
一. 瀑布模型
1.特点
-
阶段之间具有依赖性。
-必须等前一阶段的工作完成后才能开始后一阶段的工作
-前一阶段的输出文档就是后一阶段的输入文档 -
推迟实现
-
质量保证
2.实际的瀑布模型
3.V模型
4.优点
- 可强迫开发人员采用规范的方法
- 严格的规定了每个阶段必须提交的文档
- 要求每个阶段交出的产品都是必须经过验证的
5.缺点
- 由于瀑布模型几乎完全依赖于书面的规格说明, 很可能导致最终开发出的软件产品不能真正满足 用户的需要。如果需求规格说明与用户需求之间有差异,就会发生这种情况。
- 瀑布模型只适用于项目开始时需求已确定的情况
快速原型模型
1.优点:
- 有助于满足用户的真实需求
- 原型系统已经通过与用户的交互而得到验证,据此产生的规格说明文档能够正确的描述用户的需求
- 软件产品的开发基本上是按线性顺序进行
- 因为规格说明文档正确的描述了用户需求,因此,在开发过程的后续阶段不会因为发现规格说明文档的错误而进行较大的返工
- 开发人员通过建立原型系统已经学到了许多东西,因此,在设计和编码阶段发生错误的可能性也比较小,这自然减少了在后续阶段需要改正前面阶段所犯错误的可能性
- 开发人员应尽可能的建造出原型系统,以加速软件的开发过程,节约软件的开发成本
增量模型
1.优点
- 能在较短时间能向用户提交可完成一些有用的工作产品
- 逐步增加产品的功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给用户组织带来的冲击
- 项目失败的风险较低
- 优先级最高的服务首先交付,然后再将其他的增量构建逐次集成进来
螺旋模型
1.基本思想:使用原型及其他方法来尽量降低风险。
2.优点:
- 对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标。
- 减少了过多测试或测试不足所带来的风险。
- 在螺旋模型中维护只是一个模型的另一个周期,因而在未维护和开发之间并没有本质的区别。
3.缺点
- 要求软件开发人员必须具有丰富的风险评估经验和这方面的专门知识
喷泉模型
统一过程
1.六个核心工作流
- 业务建模工作流
- 需求工作流
- 分析和设计工作流
- 实现工作流
- 测试工作流
- 部署工作流
2.四个阶段
- 初始阶段
- 细化阶段
- 构造阶段
- 移交阶段
3.主要工作产品