下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

螺旋模型的优缺点

作者:课课家教育     来源: http://www.kokojia.com点击数:15866发布时间: 2017-04-04 08:00:19

标签: 系统开发软件工程螺旋模型

  今天我们要学习的是螺旋模型。可以这样认为:螺旋模型是瀑布模型·增量模型与风险分析有机合成的产物。

  1988年,巴利·玻姆Barry Boehm正式发表了软件系统开发的“螺旋模型”,(螺旋图例)

螺旋模型的优缺点_系统开发_软件工程_螺旋模型_课课家

      它将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。图中的四个象限代表了以下活动:

图中的四个象限代表了以下活动:    (1) 制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件;    (2) 风险分析:分析评估所选方案,考虑如何识别和消除风险;    (3) 实施工程:实施软件开发和验证;    (4) 客户评估:评价开发工作,提出修正建议,制定下一步计划。

  (1) 制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件;

  (2) 风险分析:分析评估所选方案,考虑如何识别和消除风险;

  (3) 实施工程:实施软件开发和验证;

  (4) 客户评估:评价开发工作,提出修正建议,制定下一步计划。

  螺旋模型采用一种周期性的方法来进行系统开发。这会导致开发出众多的中间版本。使用它,项目经理在早期就能够为客户实证某些概念。该模型是快速原型法,以进化的开发方式为中心,在每个项目阶段使用瀑布模型法。这种模型的每一个周期都包括需求定义、风险分析、工程实现和评审4个阶段,由这4个阶段进行迭代。软件开发过程每迭代一次,软件开发又前进一个层次。采用螺旋模型的软件过程如下图所示:

该模型是快速原型法,以进化的开发方式为中心,在每个项目阶段使用瀑布模型法。这种模型的每一个周期都包括需求定义、风险分析、工程实现和评审4个阶段,由这4个阶段进行迭代。软件开发过程每迭代一次,软件开发又前进一个层次。采用螺旋模型的软件过程如下图所示:

  螺旋模型由风险驱动,强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。但是,螺旋模型也有一定的限制条件,具体如下:

  (1) 螺旋模型强调风险分析,但要求许多客户接受和相信这种分析,并做出相关反应是不容易的,因此,这种模型往往适应于内部的大规模软件开发。

  (2) 如果执行风险分析将大大影响项目的利润,那么进行风险分析毫无意义,因此,螺旋模型只适合于大规模软件项目。

  (3) 软件开发人员应该擅长寻找可能的风险,准确地分析风险,否则将会带来更大的风险

  一个阶段首先是确定该阶段的目标,完成这些目标的选择方案及其约束条件,然后从风险角度分析方案的开发策略,努力排除各种潜在的风险,有时需要通过建造原型来完成。如果某些风险不能排除,该方案立即终止,否则启动下一个开发步骤。最后,评价该阶段的结果,并设计下一个阶段。

  螺旋模型的优缺点

  1、螺旋模型的优势包括:

  1)设计上的灵活性,可以在项目的各个阶段进行变更。

  2)以小的分段来构建大型系统,使成本计算变得简单容易。

  3)客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。

  4)随着项目推进,客户始终掌握项目的最新信息 , 从而他或她能够和管理层有效地交互。

  5)客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品。

  螺旋模型很大程度上是一种风险驱动的方法体系,因为在每个阶段之前及经常发生的循环之前,都必须首先进行风险评估。在实践中,螺旋法技术和流程变得更为简单。迭代方法体系更倾向于按照开发/设计人员的方式工作,而不是项目经理的方式。螺旋模型中存在众多变量,并且在将来会有更大幅度的增长,该方法体系正良好运作着。下表是螺旋法能够解决的各种问题:

  经常遇到的问题螺旋模型的解决方案

  用户需求不够充分允许并鼓励用户反馈信息

  沟通不明在项目早期就消除严重的曲解

  刚性的体系(Overwhelming architectures)开发首先关注重要的业务和问题

  主观臆断通过测试和质量保证,作出客观的评估

  潜在的不一致在项目早期就发现不一致问题

  糟糕的测试和质量保证从第一次迭代就开始测试

  采用瀑布法开发在早期就找出并关注风险

  2、但是,螺旋模型并不是比其他模型拥有绝对优越,事实上,这种模型也有其自身的如下缺点。

  1)采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失。

  2)过多的迭代次数会增加开发成本,延迟提交时间。

  对于螺旋模型,不知道大家掌握了多少呢?如果,还想继续学习,那就来课课家吧,等着你哟~

赞(33)
踩(1)
分享到:
华为认证网络工程师 HCIE直播课视频教程