浅析螺旋模型

1.引言

为了获取高质量的软件,需要完成一系列的任务,完成这些任务的工作步骤就是软件过程。通常人们用软件生命周期模型来描述软件过程,软件生命周期模型规定了把软件生命周期划分成哪些阶段及各阶段的执行顺序。

生命周期模型为软件开发提供支持,为软件开发过程中所有活动提供***策保证,为参与软件开发的所有成员提供帮助和指导。软件生命周期模型的适用与否,对于软件开发的成功、用户的满意影响巨大。

做任何事情都有风险,软件开发也一样。软件风险使任何软件开发项目中都普遍存在的问题,它可能在不同程度上损害软件开发过程和软件产品的质量,因此在软件开发过程中如果能够及时识别和分析风险,进而采取相应措施去设法避开或转移风险。螺旋模型是根据系统包含的风险看待软件开发过程的一种软件生命周期模型,螺旋模型的基本思想是使用原型及其他方法来尽量降低风险。理解这种模型的一个简便方法,是把它看作在每个阶段之前都增加了风险分析过程的快速原型模型,如***1所示。

***1 简化的螺旋模型

2.瀑布模型

螺旋模型是由TRW公司的B.Boehm于1998年首先提出的,综合了瀑布模型和快速原型模型的优点,还增加了两者都忽视的风险分析,把开发活动和风险管理结合起来,将风险减到最小并控制风险。

螺旋模型以需求和一个初始的开发计划(包括预算、约束、人员安排方案、设计和开发环境)为起点,在产生“操作概念”文档(它从高层描述系统如何工作)之前,该过程插入一个评估风险和可选原型的步骤。在操作文档中,一组需求被指定并进行详细检查,以确保需求尽可能完整和一致。因此,操作概念是第一次迭代的产品,而需求则是第二次迭代的主要产品。在第三次迭代中,系统开发产生设计,而第四次迭代能够进行测试。完整的螺旋模型如***2所示。

***2 完整的螺旋模型

螺旋模型项目从小规模开始,然后探测风险,制定风险控制计划,由此确定下一步项目是否还要继续,然后进行下一个螺旋的反复。螺旋模型第一圈的开始起点可能是一个概念项目,也可能是被舍弃不用的项目。螺旋模型的每一次迭代都根据需求和约束进行风险分析,以权衡不同的选择,并且在确定某一特定选择之前,通过原型化验证可行性或期望度。当风险确认后,项目经理必须决定如何消除或最小化风险。

螺旋模型的每一次迭代都包含了以下六个步骤:

(1)决定目标,替代方案和约束。

(2)识别和解决项目的风险。

(3)评估技术方案和替代解决方案。

(4)开发本次迭代的交付物和验证迭代产出的正确性。

(5)计划下一次迭代。

(6)提交下一次迭代的步骤和方案。

螺旋模型随着项目成本不断增加,风险逐渐减小。在每次迭代结束后都需要对结构进行评估和验证,以帮助软件开发小组加强项目的管理和跟踪,当发现无法继续进行下去时,可以及早地终止项目。

同其它生命周期模型相比,螺旋模型比较复杂。螺旋模型的特点鲜明。每一圈是一个阶段,每个阶段里又有一些活动。阶段可分为操作的概念、软件需求、产品设计、详细设计、编码、单元测试、集成和测试、验收测试、实现。活动包 括需求与计划、风险分析、设计与制作、用户评价。螺旋模型为软件项目的管理人员及时调整决策提供了便利,从而降低软件开发的风险。

螺旋模型支持用户需求的动态变化。在软件开发过程中,用户可能会不断修正原来提出的需求,甚至可能增加新的需求。为了适应这种情形,原形的总体结构、算法、源代码和测试方案都应该具有良好的可扩充性和可修改性。在螺旋模型中,需求分析和软件实现是互相依赖、紧密联系的。开发过程中,开发人员依据需求分析的结果需求规格说明来进行软件实现;实现过程中,又对需求规格说明进行精确,结合新发现的需求和用户提出的新的需求对需求规格说明进行修改。需求规格说明是用户和软件开发人员进行沟通和交流的基础。螺旋模型要求用户不断为原型进行评估,用户关于原型的意见对后续软件开发起决定作用,用户参与到软件开发的所有关键决策中。螺旋模型有助于提高所开发的软件产品的适应能力,这种模型强调原型的可扩充性和修改性,在整个生命周期中一直存在原型的进化,这就要求软件开发人员考虑到未来所有可能的软件进化,设计出易于扩充、易于修改的软件产品。

螺旋模型有许多优点:对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标;减少了过多测试(浪费资金)或测试不足(产品故障多)所带来的风险;更重要的是,在螺旋模型中维护只是模型的另一个周期,在维护和开发之间并没有本质区别。风险分析可使一些极端困难的问题和可能导致费用过高的问题被更改或取消。

螺旋模型并不完美,主要优势在于它是风险驱动的,但是这也可能是它的一个弱点。除非软件开发人员具有丰富的风险评估经验和这方面的专门知识,否则将出现真正的风险:当项目实际上正在走向灾难时,开发人员可能还认为一切正常。因此,需要开发人员具有相当丰富的风险评估经验和专门知识,还需要管理人员有高度的责任心、专注及有管理经验。而且螺旋模型要求用户参与阶段评价,对用户来说比较困难,不易取得好的效果。过多的迭代次数会增加开发成本,延迟提交时间;并且在迭代的过程中,如果不能标识重要的客户需求和关键的改进点,就会在人力、财力和时间方面引起无谓的损耗。

不是任何软件都可采用螺旋模型进行开发的,螺旋模型主要适用于内部开发的大规模软件项目。如果进行风险分析的费用接近整个项目的经费预算,则风险分析是不可行的。事实上,项目越大,风险也越大,因此,进行风险分析的必要性也越大。此外,只有内部开发的项目,才能在风险过大时方便地中止项目。

在不确定性因素很多,很多东西前面无法计划的情况下,一般尽量采用螺旋模型,并且开发者必须精通风险分析和风险排除方面的知识及经验,这样,使用螺旋模型才会获得成功。

3、结束语

没有任何一种生命周期模型是万能的,每一种生命周期模型都有一定的适用范围。

每个软件开发组织都需要为它的组织、管理、员工和软件过程确定合适的生命周期模型,而且还要根据当前开发的具体的软件产品的特点适当地改变模型,一般这样的模型结合各种生命周期模型的适当特点,扬长避短。

浅析螺旋模型

转载请注明出处学文网 » 浅析螺旋模型

学习

主题征文范文精选

阅读(108)

本文为您介绍主题征文范文精选,内容包括主题征文写法,三项文化主题征文范文。主题征文篇1一、征文主题

学习

精讲精练 精心讲评

阅读(13)

本文为您介绍精讲精练 精心讲评,内容包括精讲精练一千题,精选精练精讲精评。讲、练、评是初三历史复习教学的三个重要环节,缺一不可。初三历史复习时间少,复习的内容多,如何才能在有限的时间里进行卓有成效的复习?那就必须要做到精要的讲

学习

优先数及优先数系的意义和作用

阅读(28)

本文为您介绍优先数及优先数系的意义和作用,内容包括优先数系的理解,优先数标准化的意义。【关键词】标准化;优先数;优先数系

学习

叶圣陶先生二三事范文精选

阅读(21)

本文为您介绍叶圣陶先生二三事范文精选,内容包括七年级下册14课叶圣陶先生二三事,叶圣陶先生二三事心得体会300字。同许多长于书法的现代作家一样,叶圣陶常说自己不懂书法。这当然是谦虚,却不仅仅是谦虚,潜台词大概是:一,自己并没有专攻书法,

学习

青春谁最狂范文精选

阅读(20)

本文为您介绍青春谁最狂范文精选,内容包括青春谁最狂小说阅读答案大全,青春谁最狂读后感作文。青春谁最狂篇1我心中的那个字雨打梨花深闭门,延了青春,误了青春;风卷枯叶淡伤神,少年轻狂,年少轻狂。题记初识狂字,是读金庸先生的着作《神雕侠侣

学习

“序属三秋”中的“属”怎么讲解

阅读(23)

本文为您介绍“序属三秋”中的“属”怎么讲解,内容包括序属三秋中的属怎么读,序属三秋的属是什么意思。摘要:“时维九月,序属三秋”中的“属”大多数教师和学生都读成了“shǔ”解释为“属于”。“属”的第二个读音为“zhǔ”,《辞源》中有

学习

排查工作报告范文精选

阅读(19)

本文为您介绍排查工作报告范文精选,内容包括排查总结范文模板大全,排查工作的汇报怎么写。排查工作报告篇1按照按照保监局30号《安徽保监局关于开展案件风险排查工作的通知》文件以及26号《关于开展案件风险排查工作的通知》,我中支通过

学习

《九寨沟》简析

阅读(28)

本文为您介绍《九寨沟》简析,内容包括九寨沟景致描写,九寨沟全文。一、语言简洁,高度凝练

学习

运营工作思路范文精选

阅读(16)

本文为您介绍运营工作思路范文精选,内容包括运营年终简单总结和计划,银行运营工作思路及措施。运营工作思路篇1一、工作总体思路

学习

药学专业论文范文精选

阅读(49)

本文为您介绍药学专业论文范文精选,内容包括药学专业实践论文范文大全,药学专业论文提纲范文样本。药学专业论文篇1作者:李建生李翠萍雷敬卫孙刚陈随清单位:河南中医学院

学习

悔过书范文精选

阅读(12)

本文为您介绍悔过书范文精选,内容包括悔过书范文大全200个字,法院悔过书范文300字。亲爱的老婆:

学习

俄语论文范文精选

阅读(16)

本文为您介绍俄语论文范文精选,内容包括俄语论文翻译题大全,俄语论文查重是怎么查的。俄语论文篇11.俄语元音方面的问题

学习

浅析西安80坐标与WGS

阅读(27)

本文为您介绍浅析西安80坐标与WGS,内容包括WGS84与西安80坐标怎样转换,80坐标系和84坐标系转换。摘要:全球定位系统(GPS)在提供精确定位和数据更新方面具有重要价值。在各种“3S”技术中应用GPS采集坐标数据也日趋广泛,所以实现WGS-84和

学习

IPRAN技术浅析

阅读(36)

本文为您介绍IPRAN技术浅析,内容包括ipran技术基本原理,电信ipran技术。摘要:随着移动通信技术的不断发展,移动业务正在由以话音为主向以数据为主的方向发展,新业务的需求推动了承载网络的IP化进程,IPRAN成为建网首选。本文主要介绍了IPRAN

学习

浅析《孤独的人群》

阅读(19)

本文为您介绍浅析《孤独的人群》,内容包括远离人群享受孤独,孤独的人群书籍。关键词:性格;社会类型;工作;消费

学习

浅析苏格拉底的“认识你自己”

阅读(30)

本文为您介绍浅析苏格拉底的“认识你自己”,内容包括苏格拉底认识你自己的含义,苏格拉底认识你自己原文。关键词:苏格拉底;认识你自己;反思;灵魂

学习

浅析济慈《夜莺颂》

阅读(44)

本文为您介绍浅析济慈《夜莺颂》,内容包括济慈夜莺颂赏析,夜莺颂济慈逐句赏析。关键词:《夜莺颂》;对比;象征

学习

泛斯拉夫主义浅析

阅读(60)

本文为您介绍泛斯拉夫主义浅析,内容包括泛斯拉夫主义是什么意思,泛日耳曼主义和泛斯拉夫主义。关键词:泛斯拉夫主义;莫斯科委员会;斯拉夫人大会

学习

社区妇幼保健信息系统模型探析

阅读(28)

本文为您介绍社区妇幼保健信息系统模型探析,内容包括社区妇幼保健知识结构,妇幼保健信息化功能定位浅谈。摘要:社区是城市居民生活的基本集体单位,社区妇幼保健覆盖了总人口的大部分,建立社区妇幼保健信息系统模型,服务广大的人民群众,是一项

学习

以杨武事件为例浅析新闻伦理道德失范

阅读(51)

摘要:近来,每年都有重大的、引起社会强烈反响的新闻伦理道德失范事件发生。本文以2011年的杨武事件为例,分析事件中媒体的新闻伦理道德失范表现,并提出规避新闻伦理道德失范的对策。