计划驱动的软件过程:waterfall model(瀑布模型,或称之为SDLC模型)

版权声明:本文为博主原创文章,未经博主允许禁止转载! https://blog.csdn.net/az9996/article/details/88064598

=======================================================================
              Software Engineering notebook

参考资料:
[1]:https://melsatar.blog/2018/02/16/the-waterfall-model-a-different-perspective/
[2]:Software Engineering Tenth Edition

对于软件工程而言,没有放之四海而皆准、适用于所有不同类型软件开发的过程模型。正确的过程取决于客户和管理需求、软件使用所处的环境,以及所开发的软件类型。

=======================================================================

在这里插入图片描述
瀑布模型是一个线性顺序流。在这个过程中,进展被看作是通过软件实现阶段稳定地向下流动(像瀑布一样)。这意味着开发过程中的任何阶段只有在前一个阶段完成时才会开始。瀑布方法没有定义返回到上一个阶段来处理需求变化的过程。

瀑布模型适合于不注重改变需求的项目,例如:
  1.由提案请求(RFP)发起的项目,客户有非常清晰的文档化需求
  2.关键任务项目,比如航天飞机
  3.嵌入式系统。

下面是使用瀑布模型时需要考虑的事项:

  • 项目要求是明确的和固定的。
  • 工程团队对于在不同项目中所使用的技术有清晰的认识。
  • 项目不能以迭代的方式交付。
  • 文档是至关重要的。
  • 专业的项目管理技能。
  • 项目成本已定。

waterfall model的优缺点:

优点 缺点
易于向用户解释。 向客户交付可行的解决方案需要完整的生命周期。
结构方法。 它完成后很难再返回到任何一个阶段
阶段和活动定义明确。 它假设可以冻结系统的需求而不进行任何更改或增强。
项目经理更容易计划、安排项目、利用资源和定义项目周期。 一点灵活性和调整范围是困难和昂贵的。
每个阶段的审批可确保及早发现错误/误解。 它需要更多的时间在项目的前期进行详细的计划,因为需求是清晰的和固定的,并且将详细的计划交付给客户应该是可见的。
每个阶段都有具体的可交付成果。 它延迟了在需求、设计和实现中发现许多问题的测试阶段。

原文作者:Mohamed Sami,将waterfall model称为SDLC模型之父,不是因为它是第一次引入的,而是因为所有其他模型都是基于瀑布模型进行设计而设计的,以增强其功能并消除其不足,从而确保更好的交付。

Mohamed Sami认为瀑布模型的主要缺陷是,它关注的是项目实现,而不是客户,不能实现对客户的快速业务价值。客户应该等待整个生命周期看到结果,这可能是好事,也可能是灾难。我认为我们不需要在开发生命周期的不同角度上达到上面图片中描述的困境,这就是为什么选择合适的模型对于能够根据需要交付预期的业务价值是非常重要的。

猜你喜欢

转载自blog.csdn.net/az9996/article/details/88064598