- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
? ?
?
? ?
螺旋模型-详解
?
? ?
?
?
?
?
?
?
?
? ? ?
?
?
?
?
?
螺旋模型(Spiral Model)
目录
1 什么是螺旋模型
2 螺旋模型的优缺点
3 各种软件过程模型的特点[1]
4 螺旋模型案例分析
4.1 案例一:联想文化的螺旋模型[2]
5 参考文献
什么是螺旋模型
1988年,巴利·玻姆Barry Boehm正式发表了软件系统开发的“螺旋模型”,它将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。
螺旋模型采用一种周期性的方法来进行系统开发。这会导致开发出众多的中间版本。使用它,项目经理在早期就能够为客户实证某些概念。该模型是快速原型法,以进化的开发方式为中心,在每个项目阶段使用瀑布模型法。这种模型的每一个周期都包括需求定义、风险分析、工程实现和评审4个阶段,由这4个阶段进行迭代。软件开发过程每迭代一次,软件开发又前进一个层次。采用螺旋模型的软件过程如下图所示:
螺旋模型基本做法是在“瀑布模型”的每一个开发阶段前引入一个非常严格的风险识别、风险分析和风险控制,它把软件项目分解成一个个小项目。每个小项目都标识一个或多个主要风险,直到所有的主要风险因素都被确定。
螺旋模型强调风险分析,使得开发人员和用户对每个演化层出现的风险有所了解,继而做出应有的反应,因此特别适用于庞大、复杂并具有高风险的系统。对于这些系统,风险是软件开发不可忽视且潜在的不利因素,它可能在不同程度上损害软件开发过程,影响软件产品的质量。减小软件风险的目标是在造成危害之前,及时对风险进行识别及分析,决定采取何种对策,进而消除或减少风险的损害。
螺旋模型的优缺点
1、螺旋模型的优势包括:
1)设计上的灵活性,可以在项目的各个阶段进行变更。
2)以小的分段来构建大型系统,使成本计算变得简单容易。
3)客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。
4)随着项目推进,客户始终掌握项目的最新信息 , 从而他或她能够和管理层有效地交互。
5)客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品。
螺旋模型很大程度上是一种风险驱动的方法体系,因为在每个阶段之前及经常发生的循环之前,都必须首先进行风险评估。在实践中,螺旋法技术和流程变得更为简单。迭代方法体系更倾向于按照开发/设计人员的方式工作,而不是项目经理的方式。螺旋模型中存在众多变量,并且在将来会有更大幅度的增长,该方法体系正良好运作着。下表是螺旋法能够解决的各种问题:
经常遇到的问题
螺旋模型的解决方案
用户需求不够充分
允许并鼓励用户反馈信息
沟通不明
在项目早期就消除严重的曲解
刚性的体系(Overwhelming architectures)
开发首先关注重要的业务和问题
主观臆断
通过测试和质量保证,作出客观的评估
潜在的不一致
在项目早期就发现不一致问题
糟糕的测试和质量保证
从第一次迭代就开始测试
采用瀑布法开发
在早期就找出并关注风险
2、但是,螺旋模型并不是比其他模型拥有绝对优越,事实上,这种模型也有其自身的如下缺点。
1)采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失。
2)过多的迭代次数会增加开发成本,延迟提交时间。
各种软件过程模型的特点[1]
不同的软件过程模型对软件开发过程有不同的理解和认识,支持不同的软件项目和开发组织。下表对比和分析了各个软件过程模型的特点及其适用的软件项目类型。
各种软件过程模型的特点
模型名称
技术特点
适用范围
瀑布模型
简单,分阶段,阶段间存在因果关系,
各个阶段完成后都有评审,允许反馈,不支持
用户参与,要求预先确定需求
需求易于完善定义且不易变更的软件系统
快速原型模型
不要求需求预先完备定义,支持用户参与,
支持需求的渐进式完善和确认,能够适应用户需求的变化
需求复杂、难以确定、动态变化的软件系统
增量模型
软件产品是被增量式地一块块开发的,
允许开发活动并行和重叠
技术风险较大、用户需求较为稳定的软件系统
迭代模型
不要求一次性地开发出完整的软件系统,将软件
开发视为一个逐步获取用广需求、完善软件产品的过程
需求难以确定、不断变更的软件系统
螺旋模型
结合瀑布模型、快速原型模型和迭代模
型的思想,并引进了风险分析活动
需求难以获取和确定、软件开发风险较大的软件系统
RUP
可改造、扩展和剪裁:可以对它进行设计、
开发、维护和发布;强调迭代开发
复杂和需求难以获取和确定的软件系统;
软件开发项目组拥有丰富的软件开发和管理经验
螺旋模型案例分析
联想文化的螺旋发展模型脱胎于竞争性文化价值模型。在联想
原创力文档


文档评论(0)