瀑布模型及其变种

瀑布模型是一种经典的软件开发模型,由温斯顿·罗伊斯在1970年提出。它将软件生存周期划分为可行性分析、需求分析、设计、实现、测试和维护等阶段,每个阶段依次进行,成果物驱动下一阶段。然而,其过程逆转性差,不适合需求频繁变化的项目。V模型是对瀑布模型的修正,强调开发和测试并重,每个开发阶段都有对应的测试阶段。V模型适合需求明确且变更少的项目,例如系统软件和工具软件开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

详细讲解瀑布模型,因为它包含SLC中的所有一般阶段。

1970年温斯顿·罗伊斯(Winston Royce)提出了著名的“瀑布模型”,直到上世纪80年代早期,它一直是唯一被广泛采用的软件开发模型。直至今日,该模型仍然具有强大的生命力。

定义:

瀑布模型(Waterfall Model)又称流水式过程模型,它是模仿旅游景点的人工阶梯瀑布,流水由上向下一个阶梯一个阶梯地倾泻下来,最后进入一个风平浪尽的大湖,这个大湖就是软件企业的产品库。

模型的本意:

根据软件生存周期是由可行性分析、需求分析、系统设计、编程、测试、部署、维护等阶段所组成的,该模型就把每个阶段当作瀑布中的一个台阶,把软件过程比喻成瀑布中的流水,软件过程顺着这些台阶由上向下地奔流。开发人员按照阶段开发,管理人员按照阶段管理。

早期的面向过程的结构化分析、结构化设计、结构化编程、结构化测试、结构化维护方法,很适合于瀑布模型。或者说,瀑布模型适合于结构化方法,即面向过程的软件开发方法。

模型的特点:

(1)成果物驱动
  前一阶段成果物的完成作为下一阶段的开始的前提。

(2)过程逆转性很差或者说不可逆转
  因为由于上游的错误会在下游进行发散性传播的原理,所以逆转将会延误工期、增加成本,从而造成重大损失。

选择该模型的条件:

不是任何软件都适合采用瀑布模型的。软件项目或产品选择瀑布模型,需要满足下列条件:

  1. 在开发周期内需求没有或很少变化。
  2. 分析设计人员对应用领域很熟悉。
  3. 低风险项目(对目标、环境很熟悉)。
  4. 用户使用环境很稳定。
  5. 用户除提出需求以外,很少参与开发工作。

尽管上述条件比较苛刻,但是,软件企业在开发新产品或新项目时,往往还是采用瀑布模型。系统软件和工具软件的开发,也常常采用瀑布模型。

 

 

模型的优点 :

开发阶段清晰,便于评审、审计、跟踪、管理和控制。

模型的缺点:

  • 传统的项目组织方法是按顺序完成每个工作流程,即瀑布式生命周期。瀑布只能一个个台阶地往下流,不可能倒着往上流,这就是它致命的缺点。
  • 瀑布式生命周期通常会导致在项目后期,出现“问题堆积”,更可怕的是,错误的传递会采取发散扩大的方式。

图中实线箭头表示开发过程,虚线箭头表示维护过程。当在后面阶段发现前面阶段的错误时,需要沿图中左侧的反馈线返回前面的阶段,修正前面阶段的成果物之后再回来继续完成后面阶段的任务。

瀑布模型变种:V模型

该模型是对瀑布模型的修正,强调了验证活动。

 

V模型的特点

  • V模型体现的主要思想是开发和测试同等重要,左侧代表的是开发活动,而右侧代表的是测试活动;
  • V模型针对每个开发阶段,都有一个测试级别与之相对应;
  • 测试依旧是开发生命周期中的阶段,与瀑布模型不同的是,有多个测试级别与开发阶段对应;
  • V模型适用于需求明确和需求变更不频繁的情形。

V模型适合的项目

  • 项目的需求在项目开始前很明确
  • 解决方案在项目开始前也很明确
  • 对系统的性能安全很严格的项目
  • 类似的项目如:航天飞机等,公司的财务系统
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值