【软考】软件过程(开发)模型之演化模型

本文介绍了软件开发中面对需求不确定性和变化时使用的演化模型,包括原型模型(如探索型、实验型和演化型)的特点、优缺点以及案例。同时,详细阐述了螺旋模型结合瀑布模型的优点,尤其在风险分析和用户参与方面的优势,以及可能的缺点如成本增加和时间延误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、说明
  • 1.软件类似于其他复杂的系统,会随着时间的推移而演化。
  • 2.在开发过程中,常常会面临以下情形:商业和产品需求经常发生变化,直接导致最终产品难以实现;严格的交付时间使得开发团队不可能圆满地完成软件产品,但是必须交付功能有限的版本以应对竞争或商业压力;很好地理解了核心产品和系统需求,但是产品或系统扩展的细节问题却没有定义。
  • 3.软件开发人员需要一种专门应对不断演变的软件产品的过程模型。
  • 4.演化模型是迭代的过程模型,使得软件开发人员能够逐步开发出更完整的软件版本
  • 5.演化模型特别适用于对软件需求缺乏准确认识的情况
  • 6.典型的演化模型有原型模型和螺旋模型
二、原型模型
2.1 说明
  • 1.比较适合于用户需求不清、需求经常变化的情况。
  • 2.原型是预期系统的一个可执行版本,反映了系统性质的一个选定的子集。
  • 3.一个原型不必满足目标软件的所有约束,目的是能快速、低成本构建原型
  • 4.原型模式开始于沟通,目的是定义软件的总体目标,标识需求,然后快速制订原型开发的计划,确定原型的目标和范围,采用快速射击的方式对其进行建模,并构建原型。
  • 5.被开发的原型应交付给客户使用,并收集客户的反馈意见,这些反馈意见可在下一轮中对原型进行改进。
  • 6.在前一个原型需要改进,或者需要扩展其范围的时候,进入下一轮原型的迭代开发。
  • 7.根据使用原型的目的不同,原型可以分为探索型原型实验型原型演化型原型3种。
  • 8.探索型原型的目的是要弄清目标的要求,确定所希望的特性,并探讨多种方案的可行性。
  • 9.实验型原型的目的是验证方案或算法的合理性,是在大规模开发和实现前,用于考查方案是否合适、规格说明是否可靠等。
  • 10.演化型原型的目的是将原型作为目标系统的一部分,通过对原型的多次改进,逐步将原型演化成最终的目标系统。
2.2 优点
  • 1.用户需求不清、变化较大的时候,帮助用户搞清、验证需求。
  • 2.探索多种方案,搞清目标。
  • 3.开发一个用户可见的系统界面,支持用户界面设计。
2.3 缺点
  • 1.不适合大规模软件开发,例如火箭、卫星发射系统。
2.4 例题
2.4.1 例题1
  • 1.题目
1.以下关于原型化开发方法的叙述中,不正确的是(C)。
A.原型化方法适应于需求不明确的软件开发
B.在开发过程中,可以废弃不用早期构造的软件原型
C.原型化方法可以直接开发出最终产品
D.原型化方法利于确认各项系统服务的可用性
  • 2.解析
1.比较适合于用户需求不清、需求经常变化的情况。
2.通过对原型的多次改进,逐步将原型演化成最终的目标系统。
3.因此选C项。
三、螺旋模型
3.1 说明
  • 1.将瀑布模型和演化模型结合起来,加入两种模型均忽略的风险分析,弥补两种模型的不足
  • 2.螺旋模型将开发过程分为几个螺旋周期,每个螺旋周期大致和瀑布模型相符合
  • 3.每个螺旋周期分为制订计划、风险分析、实施工程和用户评估
  • 4.制订计划:确定软件的目标,选定实施方案,明确项目开发的限制条件
  • 5.风险分析:分析所选的方案,识别风险,消除风险
  • 6.实施工程:实施软件开发,验证阶段性产品
  • 7.用户评估:评估开发工作,提出修正建议,建立下一个周期的开发计划
3.2 优点
  • 1.强调风险分析,使得开发人员和用户对每个演化层出现的风险有所了解,从而做出相应的反应
  • 2.特别适用于庞大、复杂并且具有高风险的系统
  • 3.螺旋模型支持用户需求的动态变化,为用户参与软件开发的所有关键决策提供了方便,有助于提高软件的适应能力,并且为项目管理人员及时调整管理决策提供了便利,从而降低了软件开发的风险。
3.3 缺点
  • 1.在使用螺旋模型进行软件开发时,需要开发人员具有相当丰富的风险评估经验和专门知识。
  • 2.过多的迭代次数会增加开发成本,延迟提交时间
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王佑辉

老板,赏点吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值