螺旋模型 (Spiral Model)
软件风险是任何软件开发项目中都存在的实际问题,而且项目越大,软件越复杂,风险就越大,这些风险在不同程度上损害项目产品的质量。所以,在项目研发过程中需要及时识别并分析风险,并采取适当措施以消除或减少风险的危害。
螺旋模型是在快速原型模型和瀑布模型的基础上,增加风险分析策略,结合多种方法尽量降低风险,保证项目的产品质量。当产品交付出去以后,在定制新需求前,评估之前的工作成果,然后进行新需求的风险分析,接着瀑布模型方式开发,直到交付出去产品,螺旋模型沿着螺线进行若干次迭代,图中的四个象限代表了以下活动:
1. 功能计划:确定软件功能,理清限制条件,制定研发方案
2. 风险分析:评估研发方案,考虑如何识别和消除风险
3. 项目生产:软件开发、测试和部署
4. 客户反馈:工作复盘,提出修正建议,制定下一步计划。
优势:
以进化的开发方式为中心,在每个项目阶段结合使用瀑布模型与快速原型模型。
强调了其他模型所忽视的风险分析劣势:
强调风险分析,但要求许多客户接受并相信这种分析,是不容易的场景:
特别适合于大型复杂的系统