软件生命周期的瀑布模型:优点缺点

瀑布模型(Waterfall Model)是由Winston.Royce(温斯顿·罗伊斯)于1970年提出来的,在20世纪80年代之前,瀑布模型一直是唯一被广泛采用的生命周期模型,即便现在它仍然是软件工程中应用得最广泛的一种过程模型。传统软件工程方法学的软件过程,基本上都可以用瀑布模型来描述。

瀑布模型严格按照软件生存周期各个阶段来进行开发,每个阶段自上而下,有严格的顺序性,犹如瀑布流水,拾阶而下,上一阶段的输出是下一阶段的输入。此外,瀑布模型规定了各阶段的任务和应提交的成果及文档,每一阶段的任务完成后,都必须对其阶段性产品(主要是文档)进行评审,通过后才能开始下一阶段的工作,因此,瀑布模型是一种文档驱动的模型。瀑布模型如图2-3所示。

图2-3 带反馈环的瀑布模型

图2-3是改进后的瀑布模型图,与传统的瀑布模型相比,多了“反馈环”,如图中虚线所示。当在后面阶段发现前面阶段的错误时,允许沿着反馈线返回前面的阶段,修正错误后再回来继续完成后面阶段的任务。

瀑布模型有很多优点,如下:

●可强迫开发人员采用规范的方法,如结构化技术。

●严格规定了每一阶段必须提交的文档。

●要求每一阶段交付的产品都必须经过质量保证小组的仔细审查。

●清晰区分了逻辑设计与物理设计,尽可能推迟程序的物理实现。

●遵守瀑布模型的文档约束,将使软件维护变得比较容易一些。

可以说,瀑布模型的成功在很大程度上是由于它是一种文档驱动的模型,然而,“瀑布模型是由文档驱动的”这个事实也是它的一个主要缺点。原因是:第一,在可运行的软件产品交付给用户之前,用户只能通过文档来了解产品是什么样的。但是,仅仅通过写在纸上的静态的规格说明,很难全面正确地认识动态的软件产品。第二,事实证明,一旦一个用户开始使用一个软件,在他的头脑中关于该软件应该做什么的想法就会或多或少地发生变化,这就使得最初提出的需求变得不完全适用了。因此,要求用户不经过实践就提出完整准确的需求,在许多情况下都是不切实际的。总之,由于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。瀑布模型一般适用于功能和性能明确、完整、无重大变化的软件系统的开发。

版权声明:本篇文章(包括图片)来自网络,由程序自动采集,著作权(版权)归原作者所有,如有侵权联系我们删除,联系方式(QQ:452038415)。http://www.apmygs.com/436.html
返回顶部