(精品)螺旋模型.ppt
螺螺 旋旋 模模 型型Spiral Model11110842190 王萍简介简介 1988年,Barry Boehm正式发表了软件系统开发的螺旋模型,它将瀑布模型和原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。螺旋模型的原理螺旋模型的原理螺旋模型沿着螺线进行若干次迭代,图中的四个象限代表了以下活动:l(1)制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件;l(2)风险分析:分析评估所选方案,考虑如何识别和消除风险;l(3)实施工程:实施软件开发和验证;l(4)客户评估:评价开发工作,提出修正建议,制定下一步计划。存在问题存在问题l螺旋模型强调风险分析,但要求许多客户接受和相信这种分析,并做出相关反应是不容易的,因此,这种模型往往适应于内部的大规模软件开发。l如果执行风险分析将大大影响项目的利润,那么进行风险分析毫无意义,因此,螺旋模型只适合于大规模软件项目。l软件开发人员应该擅长寻找可能的风险,准确地分析风险,否则将会带来更大的风险 能解决的问题能解决的问题经常遇到的问题螺旋模型的解决方案 用户需求不够充分用户需求不够充分允许并鼓励用户反馈信息允许并鼓励用户反馈信息 沟通不明沟通不明在项目早期就消除严重的曲解在项目早期就消除严重的曲解 刚性的体系刚性的体系(Overwhelming architectures)开发首先关注重要的业务和问开发首先关注重要的业务和问题题 主观臆断主观臆断通过测试和质量保证通过测试和质量保证,作出客观作出客观的评估的评估 潜在的不一致潜在的不一致在项目早期就发现不一致问题在项目早期就发现不一致问题 糟糕的测试和质量保证糟糕的测试和质量保证从第一次迭代就开始测试从第一次迭代就开始测试 采用瀑布法开发采用瀑布法开发在早期就找出并关注风险在早期就找出并关注风险 优点优点l设计上的灵活性,可以在项目的各个阶段进行变更。l以小的分段来构建大型系统,使成本计算变得简单容易。l客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。l随着项目推进,客户始终掌握项目的最新信息,从而他或她能够和管理层有效地交互。l客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品。缺点缺点l采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失。l过多的迭代次数会增加开发成本,延迟提交时间。l缺乏灵活性:因为瀑布模型确定了需求分析的绝对重要性,但是在实践中要想获得完善的需求说明是非常困难的,导致“阻塞状态”。反馈信息慢,开发周期长。适用于哪里适用于哪里l瀑布式开发方法适合软件需求非常明确、设计方案确定、编码环境熟悉等所有阶段都有较大把握的软件开发活动。