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