1.模型概述
瀑布模型(Waterfall Model),其开发过程是通过设计一系列阶段顺序展开,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么在上一个阶段并进行适当的修改,项目开发进程从一个阶段“流动”到下一个阶段,这也是瀑布模型名称的由来。包括软件工程开发、企业项目开发、产品生产以及市场销售等过程都会构造瀑布模型。
2.核心思想
瀑布模型的核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。将软件生命周期划分为制订计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落,如图2-7所示。
图2-7 瀑布开发模型的核心思想
3.模型的优缺点
1)模型的优点
(1)为项目提供了按阶段划分的检查点。
(2)当前一阶段完成后,只需要去关注后续阶段。
(3)可在迭代模型中应用瀑布模型,增量迭代应用于瀑布模型,迭代1解决最大的问题。每次迭代产生一个可运行的版本,同时增加更多的功能。每次迭代必须经过质量和集成测试。
(4)它提供了模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。(www.xing528.com)
2)模型的缺点
(1)瀑布开发模型的缺点也是明显的。如果其间的每一阶段没有得到坚决贯彻和实现,那么隐藏的问题最终会影响项目的成功。虽然瀑布管理方式对项目经理而言非常方便,但是对开发人员而言就可能显得太严格了。因为测试过程在开发阶段之后实施,子系统测试所暴露的问题可能需要立即修改代码,这样显著增加了成本。
(2)调试过程可能非常复杂,原因在于,开发人员在同一阶段通常还可以从事其他项目的开发工作,而所需要的软件修改可能会降低开发人员的生产率和工作质量。
(3)只有到解决方案启动的时候才能知道当初所设计的是否成功,所以用来改正问题的时间和空间非常有限。而设计工作上的疏漏和缺陷可能会严重地影响项目进展。
(4)除了到验收阶段,其他阶段几乎没有获取反馈的时间,一旦开发工作启动,那么修改的空间也就没有了。如果系统测试功能或者性能没有达到要求也没有修正问题的时间。
(5)在部署瀑布开发模型之前必须仔细评估自己所处的环境和条件。如果客户希望在开发工作开始之后加入进来或者需要处理很多未知问题,那么或许应该采用一种更具重复性的开发过程。
4.适用场合
采用瀑布开发模型是需要一定条件和场合的,并不是所有的解决方案都能采用这种比较严格的开发方式获得成功。
采用瀑布开发模型的用户常见于负责新项目的项目经理,因为这种方式对项目的估计非常方便。项目开发中涉及的事项可以预先计划,从而便于确定预期的开发成本和开发时间。另一项好处是所有的需求都必须得到确认,在代码编写之前项目结束标准就能确定。这样就保证了项目开发目的的明确性。
由于项目开发工作分阶段实施,一次只需一个团队管理项目,从而简化了项目经理的工作,使得项目经理可以更深入地同每一位成员协作。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。