螺旋模型
核心思想
结合迭代模型和瀑布模型的特点,同时增加风险分析
开发过程中,首先实现关键功能,然后周期性的进行其他功能的开发。每个开发周期划分为需求定义、风险分析、工程实现和评审共4个阶段
在需求定义阶段,分解项目需求,确定需求等级
通过风险分析,将软件项目分解成一个个小项目,确定每个项目的主要风险,以及采取哪种策略来规避风险
通过客户评审来进一步修正计划,进行下一个周期的开发
优缺点
优点:
- 能够及时获知市场或客户对于产品的反馈
- 能够灵活的调整开发步骤
- 能够规避开发风险
缺点:
- 提高开发成本
- 开发周期长
适用场景
- 高成本复杂项目,通过风险分析,一步步分解项目,进一步规避开发风险
- 需求不明确项目,能够及时反馈客户需求进行灵活调整
注意事项
- 需要客户积极的反馈和参与
- 需要开发人员拥有足够经验来识别和规避风险