1、 快速原型模型(Rapid Prototype Model)
快速原型模型的步是建造一个快速原型,完成客户或将来的用户与系统的交互,用户或客户对原型停止评价,进一步细化待开发软件的需求。经过逐渐调整原型使其满足客户的请求,开发人员能够肯定客户的真正需求是什么;第二步则在步的根底上开发客户称心的软件产品。
显然,快速原型办法能够克制瀑布模型的缺陷,减少由于软件需求不明白带来的开发风险,具有显著的效果。
快速原型的关键在于尽可能快速地建造出软件原型,一旦肯定了客户的真正需求,所建造的原型将被丢弃。因而,原型系统的内部构造并不重要,重要的是必需疾速树立原型,随之疾速修正原型,以反映客户的需求。
快速原型模型有点整合“边做边改”与“瀑布模型”优点的意味。
2、增量模型(Incremental Model)
与建造大厦相同,软件也是一步一步建造起来的。在增量模型中,软件被作为一系列的增量构件来设计、完成、集成和测试,每一个构件是由多种互相作用的模块所构成的提供特定功用的代码片段构成。
增量模型在各个阶段并不托付一个可运转的完好产品,而是托付满足客户需求的一个子集的可运转产品。整个产品被合成成若干个构件,开发人员逐一构件地托付产品,这样做的益处是软件开发能够较好地顺应变化,客户能够不时地看到所开发的软件,从而降低开发风险。但是,增量模型也存在以下缺陷:
1) 由于各个构件是逐步并入已有的软件体系构造中的,所以参加构件必需不毁坏已结构好的系统局部,这需求软件具备开放式的体系构造。
2) 在开发过程中,需求的变化是不可防止的。增量模型的灵敏性能够使其顺应这种变化的才能大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。
在运用增量模型时,个增量常常是完成根本需求的中心产品。中心产品托付用户运用后,经过评价构成下一个增量的开发方案,它包括对中心产品的修正和一些新功用的发布。这个过程在每个增量发布后不时反复,直到产生终的完善产品。
例如,运用增量模型开发字处置软件。能够思索,个增量发布根本的文件管理、编辑和文档生胜利能,第二个增量发布愈加完善的编辑和文档生胜利能,第三个增量完成拼写和文法检查功用,第四个增量完成的页面规划功用。