软件工程(2)--瀑布模型

简介: 软件工程(2)--瀑布模型

前言


这是基于我所学习的软件工程课程总结的第二篇文章。

在20世纪80年代之前,瀑布模型一直是唯一被广泛采用的生命周期模型,现在它仍然是软件工程中应用得最广泛的过程模型。传统软件工程方法学的软件过程,基本上可以用瀑布模型来描述。

正文


1.瀑布模型的基本概况


  • Winston Royce1970年提出的第一个软件过程模型
  • 软件开发过程与软件生命周期模型一致
  • 瀑布模型也被称为经典生命周期模型
  • 规定了各项软件工程活动,以及它们自上而下,相互衔接的固定次序,如同瀑布流水逐级下落。




a6935905c4154e14a857bb4b16f1a6f1.png


2.瀑布模型的特点


  • 是一种使用广泛,以文档为驱动的模型
  • 每个阶段都有与其相关联的里程碑和可交付产品
  • 每个阶段结束前完成文档审查,及早改正错误
  • 线性模型
  • 阶段间具有顺序性和依赖性
  • 推迟实现的观点
  • 一直被用来规范软件开发活动
  • 很多其它模型都是在瀑布模型基础上的改进
  • 质量保证的观点


3.实际的瀑布模型 (带反馈)

传统的瀑布模型过于理想化了,工作中不可能不犯错误。因此,实际的瀑布模型是带“反馈环”的。

  • 当后面阶段发现前面阶段的错误,则沿反馈线返回并修正单元测试系统测试验收测试
  • 对软件的维护,则反馈到相应的阶段




a3f5c39ffe9a4f69a42921d41035a175.jpg


4.瀑布模型的缺点


增加工作量


各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量


早期错误发现晚


早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果


开发风险大


由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险


不适应需求变化


不能反映实际的开发方式,软件开发需要迭代;无法适应需求不明确和需求的变化


阶段间具有顺序性和依赖性


①必须等前一阶段的工作完成之后,才能开始后一阶段的工作;②前一阶段的输出文档就是后一阶段的输入文档,因此,只有前一阶段的输出文档正确,后一阶段的工作才能获得正确的结果


5.瀑布模型的优点


  • 可强迫开发人员采用规范的方法(例如,结构化技术);
  • 严格地规定了每个阶段必须提交的文档;
  • 要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。


6.瀑布模型适用的场合


适用于系统需求明确且稳定,技术成熟,工程管理严格的场合,如军工、航天、医疗。


目录
相关文章
|
4月前
|
测试技术 监控 程序员
软件体系结构 - 净室软件工程
软件体系结构 - 净室软件工程
75 1
|
4月前
|
敏捷开发 开发框架 测试技术
软件体系结构 - 软件工程(1)
【4月更文挑战第1天】软件体系结构 - 软件工程(1)
63 0
|
4月前
|
项目管理
软件体系结构 - 软件工程(2)
【4月更文挑战第2天】软件体系结构 - 软件工程(2)
28 0
|
敏捷开发 数据可视化 项目管理
「软件工程」什么是软件过程模型?
「软件工程」什么是软件过程模型?
10876 0
【软件工程】——可行性研究
【软件工程】——可行性研究
126 0
【软件工程】——可行性研究
|
算法
【软件工程】——软件设计
【软件工程】——软件设计
110 0
【软件工程】——软件设计
|
程序员 测试技术 数据处理
浅谈《软件工程》常用的几种软件开发方法
浅谈《软件工程》常用的几种软件开发方法
下一篇
DDNS