常见的软件过程模型有瀑布模型、原型模型、增量模型、喷泉模型、RUP(统一软件过程)、敏捷过程等。不同的软件过程模型将软件生命周期划分的工作阶段是不相同的,再加上所开发的软件的类型及项目特点也各不相同。
1、瀑布模型
瀑布模型的做法很形象,软件开发过程像瀑布一样,一层接着一层,完成上层步骤之后,接着开展下一项。前一阶段会形成一个文档,后一阶段根据这个文档进行操作。
适用情形:瀑布模型是以文档作为驱动、适合于软件需求很明确的软件项目的模型。
优点:1、容易理解,管理成本低。2、强调开发的阶段性早期计划及需求调查和产品测试。
缺点:1、客户必须能够完整、正确和清晰地表达他们的需要。2、太过于注重文档、很难动态的了解跟进项目的进程。3、项目结束时,出现大量的集成和测试工作。4、需求或设计中的错误往往只有到了项目后期才能够被发现,对于项目风险的控制能力较弱,从而导致项目常常延期完成,开发费用超出预算。
注意:瀑布模型每一环节是带有反馈的,当后一阶段发现文档出现了错误,需要交还给前一阶段进行文档的修改。
V模型是瀑布模型的变体
2、原型模型
快速原型搭建的是一个具有初级功能的项目,这个项目与客户要求具有一定的功能,但只是其子集,或者说完成了其中的一部分功能,并没有全部实现。它在搭建好之后,会请顾客来进行试用,对于试用完之后的产品,顾客一般会提出改进意见,或者对于之前自己提出的需求有所更改,根据最新的指导意见,开发人员再进行开发。快速原型对比于瀑布模型,所增加