欢迎来到天天文库
浏览记录
ID:6110171
大小:96.00 KB
页数:7页
时间:2018-01-03
《软件常用的开发方法模型》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、软件常用的开发方法、模型螺旋模型1988年,巴利·玻姆(BarryBoehm)正式发表了软件系统开发的“螺旋模型”,它将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。 螺旋模型采用一种周期性的方法来进行系统开发。这会导致开发出众多的中间版本。使用它,项目经理在早期就能够为客户实证某些概念。该模型是快速原型法,以进化的开发方式为中心,在每个项目阶段使用瀑布模型法。这种模型的每一个周期都包括需求定义、风险分析、工程实现和评审4个阶段,由这4个阶段进行迭代。软件开发过程每迭代一次,软件开发又前进一个
2、层次。采用螺旋模型的软件过程如下图所示:: 软件过程螺旋模型基本做法是在“瀑布模型”的每一个开发阶段前引入一个非常严格的风险识别、风险分析和风险控制,它把软件项目分解成一个个小项目。每个小项目都标识一个或多个主要风险,直到所有的主要风险因素都被确定。 螺旋模型强调风险分析,使得开发人员和用户对每个演化层出现的风险有所了解,继而做出应有的反应,因此特别适用于庞大、复杂并具有高风险的系统。对于这些系统,风险是软件开发不可忽视且潜在的不利因素,它可能在不同程度上损害软件开发过程,影响软件产品的质量。减小软件风险的目标是在造成危害之前,及时对
3、风险进行识别及分析,决定采取何种对策,进而消除或减少风险的损害。四种象限7 螺旋模型沿着螺线进行若干次迭代,图中的四个象限代表了以下活动: 四种象限(1)制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件; (2)风险分析:分析评估所选方案,考虑如何识别和消除风险; (3)实施工程:实施软件开发和验证; (4)客户评估:评价开发工作,提出修正建议,制定下一步计划。 螺旋模型由风险驱动,强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。能够解决的问题 螺旋模型很大程度上是一种
4、风险驱动的方法体系,因为在每个阶段之前及经常发生的循环之前,都必须首先进行风险评估。在实践中,螺旋法技术和流程变得更为简单。迭代方法体系更倾向于按照开发/设计人员的方式工作,而不是项目经理的方式。螺旋模型中存在众多变量,并且在将来会有更大幅度的增长,该方法体系正良好运作着。下表是螺旋法能够解决的各种问题: 经常遇到的问题螺旋模型的解决方案用户需求不够充分允许并鼓励用户反馈信息沟通不明在项目早期就消除严重的曲解刚性的体系(Overwhelmingarchitectures)开发首先关注重要的业务和问题主观臆断通过测试和质量保证,作出客观的
5、评估潜在的不一致在项目早期就发现不一致问题糟糕的测试和质量保证从第一次迭代就开始测试采用瀑布法开发在早期就找出并关注风险7限制条件 (1)螺旋模型强调风险分析,但要求许多客户接受和相信这种分析,并做出相关反应是不容易的,因此,这种模型往往适应于内部的大规模软件开发。 (2)如果执行风险分析将大大影响项目的利润,那么进行风险分析毫无意义,因此,螺旋模型只适合于大规模软件项目。 (3)软件开发人员应该擅长寻找可能的风险,准确地分析风险,否则将会带来更大的风险 一个阶段首先是确定该阶段的目标,完成这些目标的选择方案及其约束条件,然后从风
6、险角度分析方案的开发策略,努力排除各种潜在的风险,有时需要通过建造原型来完成。如果某些风险不能排除,该方案立即终止,否则启动下一个开发步骤。最后,评价该阶段的结果,并设计下一个阶段。优缺点优点 1)设计上的灵活性,可以在项目的各个阶段进行变更。 2)以小的分段来构建大型系统,使成本计算变得简单容易。 3)客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。 4)随着项目推进,客户始终掌握项目的最新信息,从而他或她能够和管理层有效地交互。 5)客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品。缺点
7、很难让用户确信这种演化方法的结果是可以控制的。建设周期长,而软件技术发展比较快,所以经常出现软件开发完毕后,和当前的技术水平有了较大的差距,无法满足当前用户需求。 螺旋模型的项目适用: 对于新近开发,需求不明确的情况下,适合用螺旋模型进行开发,便于风险控制和需求变更!核心 “螺旋模型”刚开始规模很小,当项目被定义得更好、更稳定时,逐渐展开。7 “螺旋模型”的核心就在于您不需要在刚开始的时候就把所有事情都定义的清清楚楚。您轻松上阵,定义最重要的功能,实现它,然后听取客户的意见,之后再进入到下一个阶段。如此不断轮回重复,直到得到您满意
8、的最终产品。 每轮循环包含如下六个步骤: 1.确定目标,可选项,以及强制条件。 2.识别并化解风险。 3.评估可选项。 4.开发并测试当前阶段。 5.规划下一阶段。 6.确定进入
此文档下载收益归作者所有