在20世纪80年代之前,瀑布模型一致是唯一被广泛采用的生命周期模型,现在它仍然是软件工程中应用得最广泛的过程模型。传统软件工程方法学的软件过程,基本上可以用瀑布模型来描述。
一、按照传统的瀑布模型开发软件,有下述的几个特点:
1、阶段间具有顺序性和依赖性
这个特点有两重含义:
(1)必须等前一阶段的工作完成之后,才能开始后一阶段的工作;
(2)前一阶段的输出文档就是后一阶段的输入文档,因此,只有前一阶段的输出文档正确,后一阶段的工作才能获得正确的结果。
2、推迟实现的观点
- 实践表明,对于规模较大的软件项目来说,往往编码开始得越早,最终完成开发工作所需要的实践反而越长。这是因为,前面阶段的工作没做或做得不扎实,过早地考虑进行程序实现,往往导致大量返工,有时甚至发生无法弥补的问题,带来灾难性后果。
- 瀑布模型在编码之前设置了系统分析与系统设计的各个阶段,分析与设计阶段的基本任务规定,在这两个阶段主要考虑目标系统的逻辑模型,不涉及软件的物理实现。
- 清楚地区分逻辑设计与物理设计,尽可能推迟程序的物理实现,是按照瀑布模型开发软件的一条重要的指导思想。
3、质量保证的观点
为了保证所开发软件的质量,在瀑布模型的每个阶段都应该坚持两个重要做法:
(1)每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务。
完整、准