软件工程——螺旋模型

目录

什么是螺旋模型

螺旋模型的特点

螺旋模型的优缺点

限制条件


什么是螺旋模型

螺旋模型是一种演化软件开发过程模型,它兼顾了快速原型迭代特征以及瀑布模型的系统化与严格监控。螺旋模型最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。同时,在每个迭代阶段构建原型是螺旋模型用以减小风险的途径

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

 

简化的螺旋模型

完整的数据模型

 

图中带箭头的点划线的长度代表当前累计的开发费用,螺旋线的角度值代表开发进度,螺旋线的每个周期对应于一个开发阶段

图中的四个象限代表了以下活动

  1. 制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件
  2. 风险分析:分析评估所选方案,考虑如何识别和消除风险
  3. 实施工程:实施软件开发和验证
  4. 客户评估:评价开发工作,提出修正建议,制定下一步计划

 

螺旋模型的特点

螺旋模型在“瀑布模型”的每一个开发阶段前引入一个非常严格的风险识别、风险分析和风险控制,它把软件项目分解成一个个小项目。每个小项目都标识一个或多个主要风险,直到所有的主要风险因素都被确定

螺旋模型强调风险分析,使得开发人员和用户对每个演化层出现的风险有所了解,继而做出应有的反应,因此特别适用于庞大、复杂并具有高风险的系统

 

螺旋模型的优缺点

优点

  1. 对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标
  2. 减少了过多测试(浪费资金)或测试不足(产品故障多)所带来的风险
  3. 在螺旋模型中维护只是模型的另一个周期,在维护和开发之间并没有本质区别

缺点

  1. 采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失
  2. 过多的迭代次数会增加开发成本,延迟提交时间

 

限制条件

  1. 螺旋模型强调风险分析,但要求许多客户接受和相信这种分析,并做出相关反应是不容易的,因此,这种模型往往适应于内部的大规模软件开发
  2. 如果执行风险分析将大大影响项目的利润,那么进行风险分析毫无意义,因此,螺旋模型只适合于大规模软件项目
  3. 软件开发人员应该擅长寻找可能的风险,准确地分析风险,否则将会带来更大的风险

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

 

参考:https://baike.baidu.com/item/%E8%9E%BA%E6%97%8B%E6%A8%A1%E5%9E%8B#3

你可能感兴趣的:(软件过程)