瀑布模型:它将软件生存周期的各项活动规定为依固定顺序连接的若干阶段工作,这些工作之间的衔接关系是从上到下、不可逆转,如同瀑布一样,因此称为瀑布模型。
每项开发活动都具有以下特征:
1.以上一项活动方产生的工作对象作为输入;
2.利用这一输入,实施本项活动应完成的内容;
3.给出该项活动的工作结果,作为输出传给下一项活动;
4.对实施该项活动的工作结果进行评审。若工作得到确认,则继续进行下一项活动,否则返回前项,甚至更前项的活动进行返工。
瀑布模型的优点:
1.可强迫开发人员采用规范化的方法。
2.严格地规定了每个阶段必须提交的文档。
瀑布模型的缺点:
1.由于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。
2.瀑布模型只适用于项目开始时需求已确定的情况。
总的来说,瀑布模型是一种应付需求变化能力较弱的开发模型。
快速还原模型(演化模型):快速还原模型的第一步是建造一个快速原型,通过对原型的评价,进一步细化待开发软件的需求,由此通过逐步调整原型而进一步满足客户的要求。
快速原型模型的优点:快速原型方法可以克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险。快速原型模型的关键在于尽可能快速的建造出原型,一旦确定了客户的真正需求,所建造的原型将被丢弃。
螺旋模型:
螺旋模型沿着螺线进行若干次迭代,四个象限分别代表以下活动:
1、制定计划
2、风险分析
3、实施工程
4、客户评估
螺旋模型的限制条件:螺旋模型强调风险分析,但要求许多客户接受和相信这种分析,这种模型往往适应于大规模软件开发
喷泉模型:喷泉模型与传统模型比较,具有更多的增量和迭代性质,生存期的各个阶段可以相互重叠和多次反复,而且在项目的整个生存期中还可以嵌入子生存期。