软件开发过程模型
分为三个模型分别为:瀑布模型、快速原型模型、螺旋模型
瀑布模型
1、瀑布模型是线性模型的一种,在所 有模型中占有重要地位,是所 有其他模型的一个基础。
2、每一个阶段执行一次,按 线性顺序进行软件开发。
测试的切入点:
测试阶段处于软件实现后,必 须在代码完成后留出足够的时 间给测试活动,否则将导致测 试不充分,很多问题到项目后 期才暴露
优点:
开发的各个阶段比较清 晰。
强调早期计划及需求调 查。
适合需求稳定的产品开 发。
缺点:
开发的各个阶段比较清晰。
强调早期计划及需求调查。
适合需求稳定的产品开发。
依赖于早期的需求调查,不 适应需求的变化。
单一流程不可逆。
风险往往延至后期才显露, 失去及早纠正的机会。
问题在项目后期才开始暴露。
前面未发现的错误会传递并扩散 到后面的阶段,可能导致项目失败。
改良:
沿用瀑布模型的线性思想,细化了各个阶段,在某些重要关注的阶段之间 掺入迭代的思想。
快熟原型模型
在开发真实系统之前,构造一个原型,在该原型的基础上,逐渐完成整个系 统的开发工作。
第一步是建造一个快速原型,实现用户与系统的交互,用户对原型进行评 价,进一步细化待开发软件的需求。通过逐步调整原型使其满足用户的要 求,开发人员可以确定用户的真正需求是什么。
第二步是在第一步的基础上开发出用户满意的软件产品。
优点:
克服瀑布模型的缺点,更好地
满足用户的需求并减少由于软
件需求不明确带来的项目开发
风险。适合预先不能确切定义
需求的软件系统的开发。
缺点:
不适合大型系统的开发(适合 开发小型的、灵活性高的系 统)。前提要有一个展示性的 产品原型,因此在一定程度上 可能会限制开发人员的创新
螺旋模型螺旋模型
螺旋模型螺旋模型将开发过程分为几个螺旋周期,每个螺旋周期大致和瀑布模型相 符合,螺旋模型沿着螺旋线旋转,即在坐标的4个象限上分别表示了4个方 面的活动,如图所示:
制定计划、风险分析、实施开发、客户评估
优点:
螺旋模型很大程度上是一种风
险驱动的方法体系,因为在每
个阶段之前及经常发生的循环
之前,都必须首先进行风险评
估。
缺点:
采用螺旋模型需要具有相当丰
富的风险评估经验和专门知识,
在风险较大的项目开发中, 如
果未能够及时标识风险,势必
造成重大损失。过多的迭代次
数会增加开发成本,延迟提交
时间