【软件测试基础理论知识】1.2.常见的软件开发模型之———增量模型(渐增模型)、螺旋模型

增量模型(渐增模型)、螺旋模型

  • 一. 增量模型
    • 1.1 增量模型的基本思想
    • 1.2 增量模型的特点
    • 1.3 增量模型的优点
    • 1.3 增量模型的缺点
    • 1.4 增量模型的适用范围
  • 二. 螺旋模型
    • 2.1 螺旋模型的基本思想
    • 2.2 螺旋模型的特点
    • 2.3 螺旋模型的优点
    • 2.4 螺旋模型的缺点
    • 2.5 螺旋模型的适用范围

《软件工程》—陈永、《软件工程》(第四版)—张海藩、《软件测试教程》—贺平

一. 增量模型

采用瀑布模型或快速原型模型开发软件时,目标都是一次就把一个满足所有需求的完整产品提交给用户。而增量模型恰恰相反。

1.1 增量模型的基本思想

增量模型也称为渐增模型,是瀑布模型的顺序特征和快速原型发的迭代特征相结合的产物,它是一种非整体开发模型。
使用增量模型开发软件时,把软件产品作为一系列的增量构件来设计、编码、集成和测试。每个构件由多个交互作用的模块构成,并且能够完成特定的功能。它分批地逐步向用户提交作品,从第一个构件交付之日起,用户就能做一些有用的工作。第一个增量构件往往是实现软件基本需求的核心产品。早期的增量是最终产品的“可拆卸”版本,但提供了为用户服务的功能,并为用户提供了评估平台。

增量模型示意图:

把软件产品分解为增量构件时,构件的规模要适中。另外,特别注意与新增量构件集成到现在软件中时,所形成的产品必须是可测试的。

1.2 增量模型的特点

增量模型的特点是引进了增量包的概念,无须等到所有需求都出现,只要某个需求的增量包出现即可进行开发。虽然某个增量包可能还需要进一步适应客户的需求并且更改,但只要这个增量包足够小,其影响对整个项目来说是可以承受的。

1.3 增量模型的优点

使用增量模型进行软件开发主要的优点有:

  • (1)由于能够在较短的时间内向用户提交一些有用的工作产品,因此能够解决用户的一些急需功能
  • (2)由于每次只提交用户部分功能,用户有较充分的时间学习和适应新的产品,从而提高最终软件产品的用户可接受性。
  • (3)对系统的可维护性是一个极大的提高,因为整个系统是由一个个构件集成在一起的,当需求变更时只变更部分部件,而不必影响整个系统。

1.3 增量模型的缺点

从某种意义上说,增量模型本身是自相矛盾的。它一方面要求开发人员把软件看作一个整体,另一方面又要求开发人员把软件看作构件序列,每个构件本质上都独立于另一构件。除非开发人员有足够的技术能力协调好这一明显的矛盾,否则用增量模型开发出的产品可能并不令人满意。所以,增量模型存在以下缺陷:

  • (1)由于各个构件是逐渐并入已有的软件体系结构中的,所以采用增量模型设计时构件集成难度较大
  • (2)在开发过程中,需求的变化是不可避免的。增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而使软件过程的控制失去整体性。
  • (3)要求项目管理人员把握全局的水平较高。

1.4 增量模型的适用范围

增量模型适用于具有以下特征的软件开发项目:
(1)软件产品可以分批次地进行交付。
(2)待开发的软件系统能够被模块化。
(3)软件开发人员对应用领域不熟悉,难以一次性地进行系统开发。
(4)项目管理人员把握全局的水平较高。
(5)具有较大的灵活性,适合软件需求不明确,设计方案有一定风险的软件项目。

二. 螺旋模型

2.1 螺旋模型的基本思想

螺旋模型的基本思想是:在开始时不必详细定义所有细节,而是从小的规模开始,定义重要功能,尽量实现,然后探测风险,进入下一个阶段并重复上述过程,然后进行下一个螺旋的反复,缺点下一步项目是否还要继续,直到获得最终产品。每一个螺旋周期均包含了风险分析,可以把它看作是在每一个阶段之前都增加了风险分析的快速原型模型。
螺旋模型将开发过程分为几个螺旋周期,每个螺旋周期可分为4个步骤来进行:

  1. 确定目标:确定该阶段的目标,选择方案并设定这些方案的约束条件;
  2. 风险分析:对方案进行评估,并能解决风险,通常用建造原型的方法来消除风险;
  3. 实施工程:如果成功地消除了所有风险,则实施本周期的软件开发和测试;
  4. 客户评估:评价该阶段的开发工作,并计划下一阶段的工作。

这四个阶段进行迭代,软件开发过程每迭代一次,软件开发又前进一个层次。
下图为螺旋周期的简单迭代过程:

2.2 螺旋模型的特点

螺旋开发模式兼顾了快速原型的迭代特征以及瀑布模型的系统化与严格监控,该开发模式具有发现问题早、产品的来龙去脉清晰、成本相对低、测试从最开始就参与各项工作的特点。
最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。

2.3 螺旋模型的优点

  • (1)严格的全过程风险管理,软件设计过程中进行风险控制。
  • (2)以小的分段来构建大型系统,使成本计算变得简单容易。
  • (3)客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。
  • (4)强调个开发阶段的质量。

2.4 螺旋模型的缺点

  • (1)该模式由于引入了非常严格的风险识别、风险分析和风险控制 ,因此对风险管理的技能水平提出了很高的要求。如果未能及时标识风险,势必造成重大损失。
  • (2)需要较多的人员、资金上的投入,过多的迭代次数会增加开发成本,延迟提交时间。

2.5 螺旋模型的适用范围

螺旋模型强调风险分析,主要适用于开发大规模软件项目。

如果进行风险分析的费用接近整个项目的经费预算,则风险分析是不可行的。事实上,项目越大,风险也越大,因此,进行风险分析的必要性也越大。此外,只有内部开发的项目,才能在风险过大时方便地终止项目。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年3月14日
下一篇 2020年3月14日

相关推荐