background image

2.2-1  软件生存周期的瀑布模

[2]

瀑布模型软件开发具有以下几个特征:

(1) 阶段间的顺序性和依赖性 
顺序性是指:只有等前一阶段的工作完成以后,后一阶段的工作才能开始;前一阶段的输出文档,

就是后一阶段的输入文档。依赖性又同时表明了,只有前一阶段有正确的输出时,后一阶段才可能有正
确的结果。

(2) 推迟实现的观点
过早地考虑程序的实现,常常导致大量返工,有时甚至给开发人员带来灾难性的后果。
瀑布模型在编码以前安排了分析阶段和设计阶段,并且明确宣布,这两个阶段都只考虑目标系统

的逻辑模型,不涉及软件的物理实现。

把逻辑设计与物理设计清楚地划分开来,尽可能推迟程序的物理实现,这是瀑布型软件开发的一

条重要的指导思想。

(3) 质量保证的观点
为了保证质量,瀑布型软件开发在各个阶段坚持了两个重要的做法:
 每一阶段都要完成规定的文档。没有完成文档,就认为没有完成该阶段的任务。
 每一阶段都要对完成的文档进行复审,以便尽早发现问题,消除隐患。
瀑布模型所带来的问题:
(1) 不适应需求经常发生变更的环境:在项目的开发过程中,变更可能会引起混乱。所以,有人形

象地把采用线性模型进行商业软件工程称之为

“在沙滩上盖楼房”。

3