瀑布模型的局限性包括以下几点:1、不支持需求动态变化;2、工作阶段间依赖性强;3、交付时才能看到产品。瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到软件产品。
1、不支持需求动态变化
瀑布模型要求在软件开发的初始阶段(需求分析阶段)就给出系统全部的、准确的用户需求,只有做到这一点才能开展后续阶段的工作。但是,在实际应用中要在需求分析阶段完全精准地给出用户需求是比较困难的。因为,随着时间的推移,用户需求是会发生一些变化的,因此需要开发过程具备灵活性,但瀑布模式并不支持用户需求的动态变化。
2、工作阶段间依赖性强
瀑布模型下,只有前一阶段的工作成果正确,才能保证下一阶段的工作正确,这就意味着工作阶段间存在很强的依赖性。一旦发现某一阶段有错误,很可能需要追溯到它之前的一些阶段,这样会增加很多工作量。
3、交付时才能看到产品
瀑布模型是一种线性模型,要求项目严格按规程推进,用户和开发者难以沟通,因此用户只有到开发结束才能看到整个软件系统产品。由于软件客户无法在早期知道软件原型,可能会引发软件功能与其需求不匹配的情况,从而增加了开发风险。
延伸阅读:
瀑布模型的用户需求
尽管瀑布模型招致了很多批评,但是它对很多类型的项目而言依然是有效的,如果正确使用,可以节省大量的时间和金钱。对于您的项目而言,是否使用这一模型主要取决于您是否能理解客户的需求以及在项目的进程中这些需求的变化程度,对于经常变化的项目而言,瀑布模型毫无价值,对于这种情况,您可以考虑其他的架构来进行项目管理,比如名为螺旋模型(spiral model)的方法。
在瀑布模型中,软件开发的各项活动严格按照线性方式进行,当前活动接受上一项活动的工作结果,实施完成所需的工作内容。当前活动的工作结果需要进行验证,如果验证通过,则该结果作为下一项活动的输入,继续进行下一项活动,否则返回修改。
瀑布模型强调文档的作用,并要求每个阶段都要仔细验证。但是,这种模型的线性过程太理想化,已不再适合现代的软件开发模式,几乎被业界抛弃,其主要问题在于:
(1)各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。
(2)由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险。
(3)早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果。
按照瀑布模型的阶段划分,软件测试可以分为单元测试,集成测试,系统测试。
文章标题:瀑布模型的局限性是什么,发布者:小编,转载请注明出处:https://worktile.com/kb/p/33518