软件模型之螺旋模型

软件模型之螺旋模型

ID:43816384

大小:243.50 KB

页数:22页

时间:2019-10-15

软件模型之螺旋模型_第1页
软件模型之螺旋模型_第2页
软件模型之螺旋模型_第3页
软件模型之螺旋模型_第4页
软件模型之螺旋模型_第5页
资源描述:

《软件模型之螺旋模型》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、螺旋模型SpiralModel简介1988年,BarryBoehm正式发表了软件系统开发的"螺旋模型",它将瀑布模型和原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。螺旋模型沿着螺线进行若干次迭代,图中的四个象限代表了以下活动:(1)制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件;(2)风险分析:分析评估所选方案,考虑如何识别和消除风险;(3)实施工程:实施软件开发和验证;(4)客户评估:评价开发工作,提出修正建议,制定下一步计划。存在的问题螺旋模型由风险驱动,强调可选方案和

2、约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。但是,螺旋模型也有一定的限制条件,具体如下:(1)螺旋模型强调风险分析,但要求许多客户接受和相信这种分析,并做出相关反应是不容易的,因此,这种模型往往适应于内部的大规模软件开发。(2)如果执行风险分析将大大影响项目的利润,那么进行风险分析毫无意义,因此,螺旋模型只适合于大规模软件项目。(3)软件开发人员应该擅长寻找可能的风险,准确地分析风险,否则将会带来更大的风险一个阶段首先是确定该阶段的目标,完成这些目标的选择方案及其约束条件,然后从风险角度

3、分析方案的开发策略,努力排除各种潜在的风险,有时需要通过建造原型来完成。如果某些风险不能排除,该方案立即终止,否则启动下一个开发步骤。最后,评价该阶段的结果,并设计下一个阶段。各个阶段的说明该模型是快速原型法,以进化的开发方式为中心,在每个项目阶段使用瀑布模型法。这种模型的每一个周期都包括需求定义、风险分析、工程实现和评审4个阶段,由这4个阶段进行迭代。软件开发过程每迭代一次,软件开发又前进一个层次。螺旋模型基本做法是在“瀑布模型”的每一个开发阶段前引入一个非常严格的风险识别、风险分析和风险控制,它把软件项目分解成一

4、个个小项目。每个小项目都标识一个或多个主要风险,直到所有的主要风险因素都被确定。螺旋模型强调风险分析,使得开发人员和用户对每个演化层出现的风险有所了解,继而做出应有的反应,因此特别适用于庞大、复杂并具有高风险的系统。对于这些系统,风险是软件开发不可忽视且潜在的不利因素,它可能在不同程度上损害软件开发过程,影响软件产品的质量。减小软件风险的目标是在造成危害之前,及时对风险进行识别及分析,决定采取何种对策,进而消除或减少风险的损害。螺旋模型的优势包括1)设计上的灵活性,可以在项目的各个阶段进行变更。2)以小的分段来构建大

5、型系统,使成本计算变得简单容易。3)客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。4)随着项目推进,客户始终掌握项目的最新信息,从而他或她能够和管理层有效地交互。5)客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品。经常遇到的问题螺旋模型的解决方案用户需求不够充分允许并鼓励用户反馈信息沟通不明在项目早期就消除严重的曲解刚性的体系(Overwhelmingarchitectures)开发首先关注重要的业务和问题主观臆断通过测试和质量保证,作出客观的评估潜在的不一致在项目早期就发现不一

6、致问题糟糕的测试和质量保证从第一次迭代就开始测试采用瀑布法开发在早期就找出并关注风险螺旋模型的缺陷1)采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失。2)过多的迭代次数会增加开发成本,延迟提交时间。“螺旋模型”的核心就在于您不需要在刚开始的时候就把所有事情都定义的清清楚楚。您轻松上阵,定义最重要的功能,实现它,然后听取客户的意见,之后再进入到下一个阶段。如此不断轮回重复,直到得到您满意的最终产品。每轮循环包含如下六个步骤:1.确定目标,可选项,以

7、及强制条件。2.识别并化解风险。3.评估可选项。4.开发并测试当前阶段。5.规划下一阶段。6.确定进入下一阶段的方法步骤。优势每个阶段都有指定的起点和终点,过程最终可以被客户和开发者识别(通过使用里程碑),在编写第一行代码之前充分强调了需求和设计,这避免了时间的浪费以及跳票的风险,同时还可以尽可能地保证实现客户的预期需求。提取需求和设计提高了产品质量,因为在设计阶段捕获并修正可能存在的漏洞要比测试阶段容易很多,毕竟在组件集成之后来追踪特定的错误要复杂很多。最后,因为前两个阶段生成了规范的说明书,当团队成员分散在不同地

8、点的时候,瀑布模型可以帮助实现有效的知识传递。缺点通常客户一开始并不知道他们需要的是什么,而是在整个项目进程中通过双向交互不断明确的;而瀑布模型是强调捕获需求和设计的,但在这种情况下,现实世界的反复无偿就显得瀑布模型有些不切实际了。除此以外,即使给定了客户需求,根据这些需求在一定的精确性范围内(瀑布模型所建议的)估算时间和成本是非常困难的。因此

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。