1 螺旋模型
基本思想:使用原型及其他方法来尽量降低风险。
优点:对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标;减少了过多测试或测试不足所带来的风险;在螺旋模型中维护只是模型的另一个周期,在维护和开发之间并没有本质区别。
其主要适用于内部开发的大规模软件项目。螺旋模型的主要优势在于它是风险驱动的,但这也是它的一个弱点。
2 喷泉模型
喷泉模型是典型的面向对象的软件过程模型之一。
“喷泉”这个词体现了面向对象软件开发过程迭代和无缝的特性。
图中在一个阶段内的向下箭头代表该阶段内的迭代(或求精)。图中较小的圆圈代表维护,圆圈较小象征着采用了面向对象范型之后维护时间缩短了。
3 Rational统一过程
6条最有效的软件开发经验分别为:迭代式开发,管理需求,使用基于构件的体系结构,可视化建模,验证软件质量和控制软件变更。
RUP中有9个核心工作流,其中前六个为核心过程工作流,后三个为核心支持工作流。
4 敏捷开发与极限编程
4.1 敏捷过程
敏捷开发宣言由下述4个简单的价值观声明,一个体和交互胜过过程和工具,二可以工作的软件胜过面面俱到的文档,三客户合作胜过合作谈判,四响应变化胜过遵循计划。
4.2极限编程
极限编程是敏捷开发过程中最富盛名的一个,极限编程已经成为一种典型的开发方法,广泛用于需求模糊且经常改变的场合。
极限编程的整体开发过程如图
迭代过程为