软件生命周期模型汇总

前言

枯燥但有用,近期开始整理

五大模型

瀑布模型

图片来自软件工程--张海藩
顾名思义,瀑布也就是从上至下依次进行,也就是说当水没有留下来之前,你永远不知道这水是什么样的

优势

  • 强迫开发人员采用规范的技术方法
  • 严格规定了每个阶段需要提交的文档
  • 每个阶段结束前都需要进行严格的技术审查和管理复审

劣势

  • 软件未设计完成之前,客户无法知道软件是什么样
  • 开发人员与客户缺乏有效沟通,从而导致开发的软件不能满足用户的需求

快速原型模型

图片来自软件工程--张海藩
这里可以看出,快速原型这里最大的改良就是先开发出一个软件原型,这个原型所实现的功能就是最终软件功能的子集,因此可以更好的满足用户的真实需求。

优势

  • 通常可以满足用户的真实需求
  • 开发过程基本上是线性顺序过程

增量模型

图片来自软件工程--张海藩

增量模型也称渐增模型。开发软件时将软件作为一系列增量构件来设计,编码,集成与测试。每个构件由若干个相互协作的模块构成,并且完成独立的功能。

这里就发现增量模型和快速原型模型有部分的相似,二者在最开始时创建的都是最终软件的一部分。但我个人认为二者的不同在于,快速原型需要在所有的需求确定之后才可以生成快速原型,而增量模型只需在确定一部分需求之后就可以开始设计。

扫描二维码关注公众号,回复: 14396263 查看本文章

优势

  • 较短时间向用户提交可完成的部分工作的软件
  • 逐步增加产品功能,从而使用户有比较充裕的时间进行学习。

可以看出,这种模型对于开发人员有着更高的要求,开发人员必须合理将软件的功能划分为多个独立的模块,从而使得一个模块完成一个功能,多个模块组合为一个完整软件,最好要满足高内聚与低耦合。

螺旋模型

图片来自软件工程--张海藩
该模型主要是使用原型及其他方法来尽量降低风险,要进行多个阶段,每个阶段可以认为是增加了风险评估的快速原型。

优势

  • 有利于已有软件的重用
  • 有助于把软件质量作为软件开发的一个重要目标
  • 减少了过多测试或测试不足的风险
  • 软件维护与软件开发没有区别

喷泉模型

在这里插入图片描述
由图可以看出,喷泉模型就是各阶段的迭代以及阶段内的迭代。其实可以认为是一个循环,可进行每个阶段的不断循环,也可以进行各个阶段的循环

总结

仅仅作为笔记整理。

猜你喜欢

转载自blog.csdn.net/qq_43627076/article/details/123342234