4. 采用增量模型比采用瀑布模型和快速原型 模型需要更精心的设计,但在设计阶段多 付出的劳动将在维护阶段获得回报。
2.3.2螺旋模型(Spiral Model)
螺旋模型为目前软件开发中最常 用的软件快发模型,是在结合瀑布模 型与快速原型模型基础上演变而成的, 尤其适用于大型软件的开发。
1.典型的迭代模型
验证
风险分析 设计 验证
风险分析 编码 测试
风险分析 综合测试
简化的螺旋模型
维护
可看作在每个 优点 –对可选方案和约束条件的强调有利于 已有软件的重用,也有助于把软件质 量作为软件开发的一个重要目标; –减少了过多测试或测试不足; –维护和开发之间并没有本质区别。
• ……
原型模型可能是最好的选择
2.3软件演化周期
2.3 软件演化模型
原型开发模型的出现,使人们 逐渐熟悉非线性的开发模型。随着 软件规模的不断增长,复杂软件开 始采用渐增式或迭代式的开发方式 。于是,一种称为演化模型( evolutionary mode)的渐进式的开 发模型应运而生。
2.3.1 增量模型(渐增模型) (Incremental Model)
交付客房
增量模型图
增量模型的优点
1. 在较短时间内向用户提交可完成部分工作 的产品,并分批、逐步地向用户提交产品。 从第一个构件交付之日起,用户就能做一 些有用的工作。
2. 整个软件产品被分解成许多个增量构件, 开发人员可以一个构件一个构件地逐步开 发。
3. 逐步增加产品功能可以使用户有较充裕的 时间学习和适应新产品,从而减少一个全 新的软件可能给客户组织带来的冲击。
2.1软件生存周期
2.1 软件生存周期
一切的工业产品都有自己的生 存周期,软件(产品)也不例外。一个 软件从开始立项起,到废弃不用止, 统称为软件的生存周期(life cycle)。