试比较瀑布模型、快速原型模型、增量模型和螺旋模型的优缺点

  • Post author:
  • Post category:其他




瀑布模型

瀑布模型一直是唯一被广泛采用的生命周期模型,现在仍然是软件工程中应用的最广泛的过程模型。

在这里插入图片描述

特点:

a,阶段间具有顺序性和依赖性
		含义:1.必须等前一阶段的工作完成之后,才能开始后一阶段的工作;
			 2.前一阶段的输出文档就是后一阶段的输入文档,因此,只有前一阶段的输出文档正确,后一阶段的工作才能获得正确的结果
b,推迟实现的观点
		瀑布模型在编码之前设置了系统分析与系统设计的各个阶段,分析与设计阶段的基本任务规定,在这两个阶段考虑目标系统的逻辑模型,不涉及软件的物理实现。

c,质量保证的观点
		软件工程的基本目标是优质、高产。为了保证所开发的软件的质量,在瀑布模型的每个阶段都应该坚持两个重要做法
		1.每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务。
		2.每个阶段结束前都要对所完成的文档进行评审,以便尽早发现问题,改正错误。


传统的瀑布模型过于理想化了,事实上,人在工作过程中不可能不犯错误。实际的瀑布模型都是带“反馈环”的


在这里插入图片描述

优点:

1.可强迫开发人员采用规范的方法;
2.严格地规定了每个阶段都必须提交的文档;
3.要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。



快速原型模型

概念:

快速原型是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集

在这里插入图片描述

优点:

软件产品的开发基本上是线性顺序进行的。

能进行线性开发的原因:

1.原型系统已经通过与用户交互而得到验证,据此产生的规格说明文档正确地描述了用户需求,因此,
  在开发过程的后续阶段不会因为发现了规格说明文档的错误而进行较大的返工。
2.开发人员通过建立原型系统已经学到了许多东西,因此,在设计和编码阶段发生错误的可能性也比较小,
  这自然减少了在后续阶段需要改正前面阶段所犯错误的可能性。



增量模型

概念:

增量模型也成为渐增模型。使用增量模型开发软件时,把软件产品作为一系列的增量稿件来设计、编码、
集成和测试。每个构建由多个相互作用的模块构成,并且能够完成特定的功能。使用增量模型时,第一个
增量构建往往实现软件的基本需求,提供最核心的功能。

在这里插入图片描述

优点

1.能够在较短时间内向用户提交完成部分工作的产品。
2.逐步增减产品功能可以时用户有较充裕的时间学习和
适应新产品,从而减少一个全新的软件可能给客户组织
带来的冲击。
3.在把每个新的增量构建集成到现有软件体系结构
中时,必须不破坏原来已经开发出的产品。
4.必须把软件的体系结构设计的便于按这种方式进行
扩充,向现有产品中加入新构建的过程必须简单、方便
,也就是说,软件体系结构必须是开放的。

在这里插入图片描述



螺旋模型

概念

螺旋模型的基本思想是,使用原型及其他方法来尽量降
低风险。理解这种模型的一个简便方法,是把它看作在
每个阶段之前都增建了风险分析过程的快速原型模型。

在这里插入图片描述

在这里插入图片描述

优点

1.对可选方案和约束条件的强调有利于已有软件的重
用,也有利于把软件质量作为软件开发的一个重要目
标;
2.减少了过多测试或测试不足所带来的风险;


适用于大规模开发的内部软件项目



版权声明:本文为m0_48530561原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。