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

前言

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

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

正文 

1.瀑布模型的基本概况

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

软件工程(2)--瀑布模型_第1张图片

2.瀑布模型的特点

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

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

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

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

软件工程(2)--瀑布模型_第2张图片

 4.瀑布模型的缺点

增加工作量

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

早期错误发现晚

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

开发风险大

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

不适应需求变化

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

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

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

5.瀑布模型的优点

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

5.瀑布模型适用的场合

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

你可能感兴趣的:(软件工程,软件工程,python)