计算机科学

首页 > 计算机科学

螺旋模型

2018-07-27 10:54:31     所属分类:软件工程
螺旋模型(巴里·勃姆,1988)

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

目录

  • 1 历史
  • 2 步骤
  • 3 优势
  • 4 缺陷
  • 5 参见
  • 6 相关文献

历史

螺旋模型由美国软件工程师巴里·勃姆于1988年5月在他的文章《一种螺旋式的软件开发与强化模型》[1]提出。事实上,螺旋模型并不是第一个讨论迭代过程的模型。而它却是第一个解释迭代的重要作用的模型。

软件开发
核心行动
  • 过程
  • 需求
  • 设计
  • 工程
  • 构造英语Software construction
  • 测试
  • 调试
  • 部署
  • 维护
范式与模式
  • 原型设计英语Software prototyping
  • 净室英语Cleanroom software engineering
  • 增量建模英语Incremental build model
  • 瀑布模型
  • 敏捷软件开发
  • 螺旋模型
方法论与框架
  • 快速应用程序开发
  • DevOps
  • 极限编程
  • 团队软件流程英语Team software process
  • 个人软件程序
  • 动态系统开发方法英语Dynamic systems development method
  • MSF英语Microsoft Solutions Framework
  • Scrum
  • 看板
  • V模型英语V-Model (software development)
  • FDD英语Feature-driven development
  • MDD英语Model-driven_development
  • 迭代式开发
  • 精益开发
  • 开发运维一体化
  • 统一流程英语Unified Process
支持行为
  • 配置管理
  • 文档
  • 质量保证
  • 项目管理英语Software project management
  • 用户体验
实践
  • ATDD英语Acceptance test–driven development
  • 行为驱动开发
  • 持续集成
  • 持续交付
  • 域驱动开发
  • 结对编程
  • 站会
  • 测试驱动开发
工具
  • 编译器
  • 调试工具
  • 性能分析
  • GUI设计器英语Graphical user interface builder
  • 建模英语UML tools
  • 集成开发环境
  • 组建自动化
  • 发布自动化英语Application release automation
  • 测试
标准与知识体系
  • 能力成熟度模型集成
  • IEEE标准
  • ISO 9001
  • ISO/IEC标准英语ISO/IEC JTC 1/SC 7
  • SWEBOK英语SWEBOK
  • 项目管理知识体系
  • BABOK英语BABOK

步骤

一个典型的螺旋模型应该由以下的步骤构成:

  1. 明确本迭代阶段的目标、备选方案以及应用备选方案的限制;
  2. 对备选方案进行评估,明确并解决存在的风险,创建原型;
  3. 当风险得到很好的分析与解决后,应用瀑布模型进行本阶段的开发与测试;
  4. 对下一阶段进行计划与部署;
  5. 与客户一起对本阶段进行评审;

优势

  • 通过原型的创建,使软件开发在每个迭代的最初明确方向;
  • 通过风险分析,最大程度地降低软件彻底失败造成损失的可能性;
  • 在每个迭代阶段植入软件测试,使每个阶段的质量得到保证;
  • 整体过程具备很高的灵活性,在开发过程的任何阶段自由应对变化;
  • 每个迭代阶段累计开发成本,使支出状况容易掌握;
  • 通过对用户反馈的采集,与用户沟通,以保证用户需求的最大实现;

缺陷

  • 过分依赖风险分析经验与技术,一旦在风险分析过程中出现偏差将造成重大损失;
  • 过于灵活的开发过程不利于已经签署合同的客户与开发者之间的协调;
  • 由于只适用大型软件,过大的风险管理支出会影响客户的最终收益;

参见

  • 软件工程
  • 需求分析
  • 瀑布模型
  • 软件测试
  • 项目管理

相关文献

  1. ^ 《一种螺旋式的软件开发与强化模型》(英文原文)
版权声明:本文由北城百科网创作,转载请联系管理获取授权,未经容许转载必究。https://www.beichengjiu.com/computerscience/339051.html

相关推荐