目录

什么是螺旋模型

螺旋模型的特点

螺旋模型的优缺点

限制条件


什么是螺旋模型

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

螺旋模型是快速原型模型以进化的开发方式为中心,在每个项目阶段使用瀑布模型法。该模型的每一个周期都包括需求定义、风险分析、工程实现和评审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

软件工程——螺旋模型相关推荐

  1. 104. 软件工程的开发过程几种模型(瀑布模型、快速原型开发模型、增量模型、迭代模型、螺旋模型)

    文章目录 1.前言 2.瀑布模型--按阶段严格完成 (1)瀑布模型把整个项目过程分成了六个主要阶段: (2)举个例子来理解瀑布模型 (3)优缺点 (4)解决的重要问题 3.快速原型模型--低成本快速的 ...

  2. 软件工程(4)--螺旋模型

    前言 这是基于我所学习的软件工程课程总结的第四篇文章. 在软件开发过程中必须及时识别和分析风险,并且采取适当措施以消除或减少风险的危害.构建原型是一种能使某些类型的风险降至最低的方法.为了降低交付给用 ...

  3. 【软件工程】几种常见的软件开发模型:(瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型)模型的概念特点优点缺点和不同。

    (瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型)各种模型的概念特点优点缺点和不同. (张海藩,吕云翔)著-软件工程 复习记录 文章目录 一.瀑布模型 二.快速原型模型 三.增量模型 四.螺旋模 ...

  4. 【软件工程】软件生命周期模型 --- 瀑布模型、快速原型模型、增量模型、螺旋模型及喷泉模型

    软件生命周期模型是跨越整个生存期的系统开发.运作和维护所实施的全部过程.活动和任务的结构框架. 下面介绍几种常见的软件生命周期模型: 瀑布模型 瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接 ...

  5. 【软件工程】瀑布模型 原型模型 增量模型 螺旋模型 喷泉模型 RUP过程模型 敏捷过程

    Content 瀑布模型(生命周期模型) 原型模型 增量模型 综合瀑布模型与原型模型 螺旋模型 喷泉模型 RUP过程模型 敏捷过程 详细内容 参考链接 1.瀑布模型.快速原型模型.增量模型.螺旋模型 ...

  6. 读书笔记:软件工程(7) - 软件过程模型:螺旋模型、迭代开发

    螺旋模型 螺旋模型是一种演进式软件过程模型.它结合了原型的迭代性质和瀑布模型的可控制性和系统性特点.它具有快速开发越来越完善的软件版本的潜力. 螺旋模型的基本思想是,使用原型及其他方法来尽量降低风险. ...

  7. 【软件工程】软件过程各种模型的理解[ 瀑布模型 快速原型模型 增量模型 螺旋模型 喷泉模型 ]

    什么是软件过程? 软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤. 软件生命周期 瀑布模型 瀑布模型优点 : 1.为项目提供了按阶段划分的检查点 2.当前活动 ...

  8. 软件工程 – 开发模型

    软件工程 – 开发模型 为了指导软件开发,可以用不同的方式将软件生命周期中的所有开发活动组织组织起来从而形成不同的开发模型. 瀑布模式 瀑布模型严格遵守软件生命周期各阶段的固定顺序:计划.分析.设计. ...

  9. 瀑布模型,快速原模型,螺旋模型,喷泉模型

    瀑布模型 思想: 把问题化简 将功能实现和制作分开便于分工协作 优点: 每个阶段的相互依赖性强, 推迟性 每个阶段严格都要形成相应的文档,推迟物理实现 质量保证 缺点: 用户界面比较晚成功率低 改写困 ...

  10. 软件测试、测试用例、开发模型和测试模型、瀑布模型和螺旋模型

    什么是测试用例? 王婆的九步连环计 通过重重方式测试潘金莲是否能上钩. 有具体步骤, 有预期结果, 有真实结果 步骤一:让潘金莲答应给王婆做寿衣.这是整个局的开始,不过这个步骤看似简单,用意却不小,让 ...

最新文章

  1. 单个晶体管形成的奇怪振荡电路
  2. HBase 6、用Phoenix Java api操作HBase
  3. centos65安装RabbitMQ3.6.5
  4. (error) ERR wrong number of arguments for 'hmget' command
  5. freebsd linux目录,FreeBSD和Linux如何互相访问文件系统
  6. java String对象转Base64
  7. java生产订单号_java 生成订单号
  8. 到退休单位没有通知,半年后通知退休,这半年是否算工龄?
  9. IPython系统相关内容及其配置信息
  10. 除了国内红海拼刀,移动 App 在海外能否挖到新机会?
  11. Zookeeper选举算法原理
  12. pytreebank︱情感分析可视化——情感结构树
  13. rman一致性备份oracle数据库可以在非归档模式下么,探索ORACLE之RMAN_03一致性备份...
  14. 百叶窗式的幻灯片切换效果原理
  15. ubuntu 本地源搭建
  16. 【python快速入门】—唐宇迪课程笔记
  17. excel函数去重_【Excel VBA】使用字典快速对数据去重
  18. Captcha Cracker
  19. 163 VIP邮箱如何群发邮件?注册电子邮箱哪家发信效果好?
  20. 使用ffmpeg将mp4格式视频元数据信息转到视频第一帧、转换mp4为ts格式视频

热门文章

  1. 转换vcf文件到csv文件的python脚本
  2. smarty手册阅读笔记——变量调节器
  3. CAD 2014 删除 Autodesk 360
  4. lisp visual 开根号_分享Visual Lisp程序第二波|文件的读与写-lsp文件
  5. .Net·使用ILSpy反编译exe或dll文件保存为项目结构
  6. 读《我的成功为什么可以复制》——唐骏
  7. 关于财务BI系统-报表分析(全)
  8. 通过TXT文件批量生成PDF417码
  9. tomcat 内存溢出配置
  10. python身份证验证程序_python 身份证验证