📜  螺旋模型(软件工程)

📅  最后修改于: 2021-01-09 14:42:24             🧑  作者: Mango

螺旋模型

Boehm最初提出的螺旋模型是一种演化软件过程模型,该模型将原型的迭代功能与线性顺序模型的受控和系统方面结合在一起。它实现了快速开发软件新版本的潜力。使用螺旋模型,该软件以一系列增量版本开发。在早期迭代中,其他版本可能是纸质模型或原型。在以后的迭代中,将产生越来越多的完整版本的工程系统。

螺旋模型如图所示:

螺旋中的每个循环分为四个部分:

目标设定:螺旋式的每个循环都始于确定该循环的目的,实现目标的各种替代方案以及存在的限制。

风险评估和降低:周期的下一个阶段是根据目标和约束条件来计算这些替代方案。在此阶段,评估的重点在于项目的风险感知。

开发和验证:下一阶段是制定解决不确定性和风险的策略。此过程可能包括基准测试,模拟和原型制作等活动。

规划:最后,计划下一步。对该项目进行了审查,并做出了是否继续进行进一步螺旋式发展的选择。如果确定保留,则为项目的下一步制定计划。

开发阶段取决于剩余的风险。例如,如果将性能或用户界面风险比程序开发风险更为重要,则下一阶段可能是演进式开发,其中包括开发用于解决风险的更详细的原型。

螺旋模型的风险驱动功能使其能够适应面向规范,面向原型,面向仿真或其他方法的任何混合形式。该模型的一个基本要素是,螺旋的每个周期都由评审完成,评审包括该周期内开发的所有产品,包括下一周期的计划。螺旋模型适用于开发和增强项目。

何时使用螺旋模型?

  • 需要经常分娩时。
  • 当项目很大时
  • 当需求不清楚和复杂时
  • 随时可能需要进行更改
  • 大型和高预算项目

优点

  • 高风险分析
  • 对于大型和关键任务项目有用。

缺点

  • 可能是昂贵的模型。
  • 风险分析需要高度专业的知识
  • 对于较小的项目而言效果不佳。