一、软件开发过程模型
简介:在软件开发的几十年实践中,人们总结了很多软件开发模型用来描述和表示一个复杂的开发过程,如:
1.瀑布模型
2.快速原型模型
3.螺旋模型
软件测试与软件的开发有这紧密的联系,作为一名测试人员,应该充分理解软件的开发模型,以便找准自己在其中的位置,从而发挥自身的价值。
瀑布模型 Waterfall Model
瀑布模型介绍
最早出现的软件开发模型是1970年罗伊斯W.Royce提出的瀑布模型。该模型给出了固定的顺序,将生存期活动从上一个阶段向下一个阶段逐级过度,如同流水下泻,最终得到所开发的软件产品,投入使用。
瀑布模型定义
瀑布模型是将软件生存周期的各项活动规定按照固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到软件产品。
1.是线性模型的一种,在所有模型中占有重要地位,是所有其他模型的一个基础。
2.每一个阶段执行一次,按线性顺序进行软件开发。
3.测试的切入点:测试阶段处于软件实现后,必须在代码完成后留出足够的时间给测试活动,否则将导致测试不充分,很多问题到项目后期才暴露。
瀑布模型的优缺点
优点
1.开发的各个阶段比较清晰;
2.强调早期计划及需求调查;
3.适合需求稳定的产品开发。
缺点
1.依赖于早期的需求调查,不适应需求变化;
2.单一流程不可逆;
3.风险往往延至后期才显露,失去及早纠正的机会;
4.问题在项目后期才开始暴露;
5.前面未发现的错误会传递并扩散到后面的阶段,可能导致项目失败。
快速原型模型
简介:在开发真实系统之前,构造一个原型,在该原型的基础上,逐渐完成整个系统的开发工作。
1.第一步是建造一个快速原型,实现用户与系统的交互,用户对原型进行评价,进一步细化待开发软件的需求。通过逐步调整原型使其满足用户的要求,开发人员可以确定用户的真正需求是什么。
2.第二步是在第一步的基础上开发出用户满意的软件产品
快速原型模型的优缺点
优点:克服瀑布模型的缺点,更好的满足用户需求并减少由于软件需求不明确带来的项目开发风险。适合预先不能确切定义需求的软件开发系统。
缺点:不适合大型系统的开发(适合开发小型的、灵活性高的系统)。前提要有一个展示性的产品原型,因此在一定程度上会限制开发人员的创新。
螺旋模型
简介:螺旋模型将开发过程分为几个螺旋周期,每个螺旋周期大致和瀑布模型相符,螺旋模型沿着螺旋线旋转,即在坐标的四个象限上分别表示了四个方面的活动,如图所示:
(a)制定计划
(b)风险分析
(c)实施开发
(d)客户评估
螺旋模型的优缺点
优点:螺旋模型很大程度上是一种风险驱动的方法体系,因为在每个阶段之前及经常发生的循环之前,都必须首先进行 风险评估。