软件开发模型 -- 基本分类

基本分类

如下所示,请阅读。

瀑布模型

基本思想

从制作时间上工序把问题化简;

将功能实现与制作分开便于分工协作。

优点

奠定了软件开发工程方法的基础;

流水依赖,便于分工协作;

推迟物理实现,易于修改文档,有复审质量保证。

不足

与用户见面晚,成功率比较低

适用范围

与系统要求明确的系统;

各种应用软件的开发均可以使用。

开发方法

遵循软件生命期的划分,明确规定每个阶段的任务;

上一阶段完成确定的任务后就产生一定格式的文档给下一阶段,不同阶段的任务一般有不同级别的软件人员承担。

开发特点

时间的顺序性和依赖性;

推迟实现的观点;

质量保证的观点。

图例

这里写图片描述
这里写图片描述

快速原型模型

图例

这里写图片描述

演化模型

由于在项目开发的初始阶段人们对软件的需求认识常常不够清晰,因而使得开发项目难于做到一次开发成功,出现返工再开发在所难免;

第一次只是试验开发,其目标只是在于探索可行性,弄清软件需求;

第二次则在此基础上获得较为满意的软件产品。

渐增模型

这里写图片描述

螺旋模型

基本思想

多次原型反复并增加风险评估的开发模型

特点

螺旋模型沿着螺线旋转,在四个象限上分别表达了四个方面的活动,即:

  • 制定计划一一确定软件目标,选定实施方案,弄清项目开发的限制条件。
  • 风险分析一一分析所选方案,考虑如何识别和消除风险。
  • 实施工程一一实施软件开发
  • 客户评估一一评价开发工作,提出修正建议。

图例

这里写图片描述

喷泉模型

基本思想

认为软件的各个周期是相互叠加和反复多次的。

特点

迭代、重复、演进;

无间隙、各个阶段无明显界限。

图例

这里写图片描述

原型(渐增型)

基本思想

允许从部分需求出发,先建立一个不全面的系统,通过测试这个系统,进一步使系统扩充和完善。

优点

开发的始终开发人员和用户都参与,有问题可以及时修改,更好的满足了用户的需求。

适用范围

知识型软件系统的开发。

特点

从整体结构上不如瀑布型清晰;

软件的文档不如瀑布型的划分严格;

周期长,成本高;

与用户见面快,开发效率高。

变化型

基本思想

从软件需求的形式规格说明出发,经过一系列的程序变化,得到最终结果。

特点

有严格的数学理论和形式化的技术支持,但目前在研究和实验阶段,不能实际使用。

写在最后

个人的学习笔记,有的内容或许有遗漏或者错误,还望斧正。

猜你喜欢

转载自blog.csdn.net/mrbaymax/article/details/80474417