管理进化

瀑布模型是一种什么模型


瀑布模型是一种线性顺序模型。瀑布模型将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。

一、 基本介绍

瀑布模型是最早出现的软件开发模型,在软件工程中占有重要的地位,它提供了软件开发的基本框架。其过程是从上一项活动接收该项活动的工作对象作为输入,利用这一输入实施该项活动应完成的内容给出该项活动的工作成果,并作为输出传给下一项活动

从本质来讲,它是一个软件开发架构,开发过程是通过一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好“返回”上一个阶段并进行适当的修改,开发进程从一个阶段“流动”到下一个阶段,这也是瀑布开发名称的由来。

二、特点

1、阶段间具有顺序性和依赖性

该阶段具有两重含义

必须等前一阶段的工作完成后,才能开始后一阶段的工作

前一阶段的输出文档就是后一阶段的输入文档,因此只有前一阶段的输出文档正确,后一阶段的工作才能获得正确的结果

2、推迟实现的观点

对于规模较大的软件项目来说,往往编码开始的越早,最终完成开发所需时间越长。因为前面阶段的工作没做或做的不扎实,过早地考虑进行程序实现,往往导致大量返工,有时甚至发生无法弥补的问题

瀑布模型在编码之前设置了系统分析与系统设计的各个阶段,分析与设计阶段的基本任务规定,在这两个阶段主要考虑目标系统的逻辑模型,不涉及软件的物理实现

清楚的区分逻辑设计与物理设计,尽可能推迟程序的物理实现,是按照瀑布模型开发软件的一条重要的指导思想

3、质量保证的观点

为了保证所开发的软件的质量,在瀑布模型的每一个阶段都应坚持两个重要做法

每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务

每个阶段结束前都要对所完成的文档进行评审,以便尽早发现问题,改正错误

传统的瀑布模型过于理想化,实际的瀑布模型是带"反馈环"的。如图所示(图中实线箭头表示开发过程,虚线箭头表示维护过程),当在后面阶段发现前面阶段的错误时,需要沿图中左侧的反馈线返回前面的阶段,修正前面阶段的产品后再回来继续完成后面阶段的任务

三、优缺点

优点:

1)         为项目提供了按阶段划分的检查点

2)         当前一阶段完成后,您只需要去关注后续阶段

3)         可在迭代模型中应用瀑布模型

缺点:

1)         不适合需求模糊或需求经常变动的系统

2)         由于开销的逐步升级问题,它不希望存在早期阶段的反馈

3)         在一个系统完成以前,它无法预测一个新系统引入一个机构的影响

4)         在用户可能需要较长等待时间来获得一个可供使用的系统,也许会给用户的信任程度带来影响和打击

5)         最终产品往往反映用户的初始需求而不是最终需求


智齿客服