普及篇:什么是瀑布模型?

来源:互联网 发布:淘宝哪家童装店质量好 编辑:程序博客网 时间:2024/05/13 08:50

     瀑布模型作为最早出现的软件开发模型,提供了软件开发的基本框架,为后续出现的开发模型奠定了基础。从1970年被温斯顿·罗伊斯(Winston Royce)提出后,直到80年代早期,一直是被广泛采用。


    这种模式有明确的阶段活动,阶段顺序固定,自上而下、相互衔接,形如瀑布流水逐级下落。这也是瀑布模型名称的由来。瀑布模型的本质是一次通过,即每个活动只执行一次,最后得到软件产品,也称为“线性顺序模型”或者“传统生命周期”。    

    其过程是上一个阶段的工作完成输出结果并通过审核,才能“流动”到下一个阶段;否则返回前面,甚至更前的阶段活动。基于这种模型太过强调文档的作用,过程太理想化,在项目运用过程中,它以下的弊端就很突出:  

  • 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。

  • 由于开发模型是线性的,单一流程,不可逆,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。

  • 测试只是其中一个阶段,缺乏全过程测试思想。早期的错误可能要等到开发后期的测试阶段才能发现,发现问题越晚造成代价越高。

  • 在软件需求分析阶段,完全确定用户的所有需求是比较困难的,不能应对需求不断变更的项目。


 瀑布模型也有自己的优点,它提供了软件开发的模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。它的主要优点:

  • 为项目提供了按阶段划分的检查点。

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


     虽然瀑布模型招致了很多批评,但它对于很多项目而言依然是有效的,如果正确使用,可以节省大量的时间跟金钱,提高效率。适用项目范围:

  • 需求很明确的软件开发项目;

  • 在开发时间内需求没有或很少变化;

  • 分析设计人员应对应用领域很熟悉;

  • 低风险项目(对目标、环境很熟悉);

  • 用户使用环境很稳定;

  • 用户除提出需求以外,很少参与开发工作。




更多的软件测试视频资料,都在柠檬班的软件测试技术交流群哦~群643368558与群内软测dalao谈笑风生