瀑布模式简介及分析
1.什么是瀑布模式?
瀑布模型将软件生命周期划分为问题定义、可行性分析、需求分析、软件设计、程序编写、软件测试和运行维护等基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落,故而形象地称为“瀑布模型”。
其核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。
2.为什么会产生瀑布模式,或者瀑布模式有什么必要性?
任何行业都要经历一个从无到有的过程。对于软件开发这个行业,在一开始的一片混乱,工作人员工作的无序性,随意性和项目的返工率高等现象都表明这个行业缺少一个标准。而这个标准正是从规范工作,减少错误,加快效率这些方面制定,具体体现在以下几个方面:
a.阶段间的顺序性和依赖性
顺序性是指:在瀑布模型软件开发过程中必须等到前一阶段的工作完成以后,才能开始下一阶段的工作。
依赖性是指:前一阶段的输出文档就是后一阶段的输入文档。因此前一阶段文档的正确性是保证后一阶段工作的前提条件。
b.推迟实现的观点
采用瀑布模型会强制研发人员按照阶段步骤进行软件设计,避免了一开始就直接进行详细编码的错误做法。编码处于软件开发的中后期,强调了需求分析和系统设计的重要性,体现了推迟实现的观点。如果坚持阶段性的评审,采用瀑布模型可以避免后期大量返工的现象,还可以减少后期维护工作的人力和费用。
c.文档驱动推进研发进程