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

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

  1. 瀑布模型(waterfall model)一种线性的软件开发模型,文档驱动

    瀑布模型( waterfall model ): 又被称为经典生命周期(classic life cycle ),它提出了一个系统的.顺序的 软件开发方法. 瀑布模型是出现得比较早的软件开发模型. 在 ...

  2. 什么是软件?什么是瀑布模型?瀑布模型(waterfall model)

    软件是计算机程序及其有关的数据和文档的完整集合.其中,计算机程序是能够完成预定功能的可执行的指令序列:数据是程序能适当处理的信息,具有适当的数据结构:软件文档是开发,使用和维护程序所需要的图文资料. ...

  3. SP(软件过程)的发展历程2:计划驱动软件开发过程时代

    神话的破灭 但是随着软件规模的扩大和软件复杂度的提高,无序的开发过程开始显示出它的弱点,首先,开发质量没有保证.软件错误随着软件复杂度的增加而增加.几次恶性的软件错误导致的巨大损失导致软件危机的出现, ...

  4. 软件过程开发模型主要有6种,1瀑布模型,2快速原型模型,3增量模型,4螺旋模型,5喷泉模型,6RUP;瀑布模型和快速原型模型本质上一种( 线性)模型;增量模型风险很大,增量模型本质是一种非整体开发模型

    软件过程模型 是为了获得高质量软件所需要完 成的一系列任务的框架,它规定了完成各项任务 的工作步骤.通常使用 生命周期模型 简洁地描 述软件过程. 增量模型也称为渐增模型,先选择一个或几个关键功能,建 ...

  5. 【项目管理】敏捷和计划驱动项目的特征对比

    敏捷 计划驱动 项目小(5~10人) 项目大(超过10人) 有经验的团队,具有各种能力和技术 团队包括不同的能力和技术 团队成员是自我驱动的.独立的领导者及其他自己知道方向的人 团队是地理上分散或外包 ...

  6. 基本软件开发模型:瀑布模型、V型模型、迭代模型、增量模型、螺旋模型、大爆炸模型、敏捷模型、原型模型、W模型 特点分析与总结

    瀑布模型 在瀑布模型中,开发过程是线性的.任务和阶段按严格顺序一个接一个地完成.进度平稳地向下流动,就像瀑布上的水一样. 将软件生命周期划分为制定计划.需求分析.软件设计.程序编写.软件测试和运行维护 ...

  7. 【软件工程】几种常见的软件开发模型:(瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型)模型的概念特点优点缺点和不同。

    (瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型)各种模型的概念特点优点缺点和不同. (张海藩,吕云翔)著-软件工程 复习记录 文章目录 一.瀑布模型 二.快速原型模型 三.增量模型 四.螺旋模 ...

  8. 软件开发模型-瀑布模型、V形模型、原型模型、增量模型、快速开发、敏捷模型

    文章目录 0x01 边做边改模型 0x02 瀑布模型 0x03 V形模型 0x04 原型模型 0x05 增量模型 0x06 螺旋模型 0x07 快速应用程序开发模型 (RAD) 0x08 敏捷模型 0 ...

  9. 深度学习技术系列(1):Mosaic Model — 不良图片检测开源模型

    最近整理了在图像深度学习方面的一部分工作,开源了一个不良图片检测的CNN模型(Mosaic Model),放在了github上.目前github上开源了最新的模型,以及demo的python文件,可以 ...

最新文章

  1. 经济独立,是你最大的底气
  2. 算法(第4版)学习笔记
  3. 【杂谈】来自一个懵懂青年的表白!
  4. SAE去掉index.php实现自定义固定链接
  5. java.lang.UnsatisfiedLinkError: com.jacob.com.D...
  6. SAP Spartacus的ProductAdapter和OccProductAdapter
  7. TensorFlow第十步CNN BP 编程求解
  8. Serlizable序列化接口
  9. Linux常见目录含义及功能
  10. pytest-Mark数据驱动
  11. 【游戏】基于matlab GUI音乐时钟设计【含Matlab源码 1104期】
  12. 华泰证券 python 自动交易软件_量化交易策略自动搬砖自动交易软件费用
  13. (1小时数据结构)数据结构c++描述(三)--- 线性表间接寻址
  14. mov文件如何转换成mp4视频
  15. nginx实现ip138查询当前ip功能,配置文件实现接口
  16. 也跟风玩一玩CH552
  17. USRP 型号对比与挑选
  18. WebRTC源码-信令之六:SDP协议与协商流程
  19. Total Negative Slack ( TNS ) Worst Negative Slack ( WNS )
  20. 工业数据分析为什么要用FusionInsight MRS IoTDB?

热门文章

  1. 按键精灵移动端系列 - 按键精灵IOS版 之 网络已断开,请检查网络连接.解决方案.
  2. 使用七牛的文档转换服务将PPT转换为JPG
  3. 03从变量PS1到centos7配置文件到变量。转义字符介绍
  4. 红米10x android11,红米10X 5G版刷机包MIUI11
  5. b站黑马Vue2后台管理项目笔记——(1)登录功能
  6. 前端 vue 使用高德地图组件:(二)获取鼠标点击位置坐标 和 图标覆盖物拖动后的坐标
  7. php二码合一,PS4slim二码合一怎么看
  8. 男生们,请珍惜爱你的女人!
  9. 我要减肥~~~~~!!!(信誓旦旦)
  10. qq批量登录软件_QQ一键签到助手v1.0