软件生存周期模型的总结(《软件工程导论(第六版)》)

这篇博客是对《软件工程导论(第六版)》中软件过程的总结,对应书上内容的第14页。




软件生存周期模型(也称软件开发模型)

存在的意义!!!

前面讲过,软件生存周期过程介绍的是 软件的开发逻辑——软件开发中到底有哪些开发活动。

相应的,软件生存周期模型的意义就是:对这些活动进行组织和划分的框架

我们把一些不同的组织框架进行了进一步地细化,从而形成了不同的开发模型。不同的模型适用于不同的系统开发,以及在软件开发过程中应使用哪些方法。所以才会有不同的存周期模型,如,瀑布模型,增量模型,快速模型等。下面是对各种模型的介绍。



1-瀑布模型

特点:
1. 阶段具有顺序性和依赖型:前一个阶段结束,后一个阶段开始;前一个阶段输出的文档是下一个阶段的输入文档。
2. 推迟实现观点:尽量地让编码靠后,保证前期设计工作做充分。
3. 质量保证:一,每个阶段都必须完成完整,准确的文档;二,每个阶段结束前对文档进行评审。

优点:提高软件质量、降低维护成本、缓解软件危机。

缺点:
1. 模型缺乏灵活性(下个阶段出现的问题不能回到上个阶段去解决。带反馈环的瀑布模型解决了这点问题)。
2. 无法解决需求不明确的问题(用户不可能一下子把功能和需要扩展的地方一下子想出来。更有些用户连自己想要什么都不知道)。

适用于:需求明确的软件。

图片:在这里插入图片描述



2-快速原型模型

概念:先建立一个软件原型,然后根据用户的评价(挑毛病)去获得更多的需求,从而完善该软件。

优点
1. 确定需求上由于瀑布模型(通过原型与用户交互)。
2. 提供学习手段:通过开发原型和演示原型,使开发者和使用者对系统有更多的了解。
3. 有的软件原型可以成为最终产品的一部分。

缺点:对软件原型的修改可能导致 产品质量低下,原型软件的内部结构不好。

适用于:需求不明确的软件。

图片:
在这里插入图片描述



3-增量模型

概念:把软件分为若干个构件,哪个构件做好就拿给用户试用。(1,2模型都是一次性把满足所有需求的产品提交给用户,而增量模型是分批向用户提交陈品)

优点
1. 能够在较短的时间向用户提交完成可用的工作产品。
2. 用户有充裕的时间适应产品。
3. 软件结构必须开放,方便向现有产品加入新构件。

缺点:
1. 做到3比较困难。
2. 较1,2来说风险更大——合并构件时易出现问题。

适用于:开发时间较短的软件。

图片:
在这里插入图片描述



4-螺旋模型

概念:在软件设计过程中加入了风险分析(突然发现超时了;超预算了;行业竞争)。

螺旋模型下软件开发的过程:
1. 制定计划:确定目标、选定方案、设定条件约束。
2. 风险分析:评估方案,识别和消除风险(能消除就进入下一阶段;不能的话就停止软件项目或削减软件功能)。
3. 实施工程:与瀑布模型的过程相同。
4. 客户评估:修改或添加需求。

螺旋模型每次进行的都是这四项工作。如果发现这四项没有问题的话,它就会像螺旋一样向外面扩一圈 去完成一个更完整地版本,以此类推直到软件通过风险分析。


**主要优点**:对于大型的软件开发项目有非常好的风险控制。

缺点:
1. 开发人员需要有风险评估的经验(没有风险以为有;有风险以为没有)。
2. 契约开发通常会事先指定过程模型和产品。

适用于:大型软件开发。

图片:
在这里插入图片描述



5-喷泉模型

特点:面向对象方法的过程模型,此模型体现了面向对象方法的两个重要特性——迭代和无缝。

优点:无缝。可同时开发、提高效率、节省开发时间、适应面向对象软件。

缺点:因为此模型能多次迭代,所以我们可以随时向模型中添加各种信息、需求、资料,这样就会导致 文档管理和审核的难度增加。

适用于:面向对象软件。

图片:
在这里插入图片描述



6-Rational统一过程

特点:强调以迭代和渐增的方式开发软件,它是一个二维的生命周期过程。
如图:纵轴代表核心工作流,横轴代表时间。纵轴的9个工作流中,前6个为核心过程工作流,后三个为核心支持工作流。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X3uSONT6-1585827781100)(img/2-5.jpg)]

优点
1. 因为此模型是通过不断的迭代来完成软件开发的(不断地发布新版本),新的需求可以放入下一个版本当中。
2. 降低风险。
3. 有开发相应的配套工具(同样也是Rational公司开发的)。

缺点:因为此模型能多次迭代,所以我们可以随时向模型中添加各种信息、需求、资料,这样就会导致文档管理和审核的难度增加。

适用于:大小软件均可。


发布了10 篇原创文章 · 获赞 13 · 访问量 423

猜你喜欢

转载自blog.csdn.net/hufuzhi1146231094/article/details/105277607
今日推荐