软件生命周期的增量模型(渐增模型):优点缺点

增量模型也称为渐增模型,是对瀑布模型的又一种改进模型。一个软件系统往往是功能比较复杂的,一次性将全部功能按阶段往前推进比较困难,一种行之有效的办法是先分解系统,以用户看得见的功能为增量单位实现迭代式开发,一次完成一个增量。

使用增量模型开发软件时,把软件产品作为一系列的增量构件来设计、编码、集成和测试。每个增量构件是系统的一个子集,能够完成特定的功能。把软件产品分解成增量构件时,应该使构件的规模适中,规模过大或过小都不好。分解方法因软件产品特点和开发人员的习惯而异。分解时唯一必须遵守的约束条件是,当把新构件集成到现有软件中时,所形成的产品必须是可测试的。

实践中,增量模型分为增量开发和增量提交两个类型。增量开发对每一个增量构件都经历一次瀑布模型的开发过程,如图2-5所示。增量开发模型是一种风险较大的增量模型,一旦确定了用户需求之后,就着手拟定第一个构件的规格说明文档,完成后规格说明组将转向第二个构件的规格说明,与此同时设计组开始设计第一个构件……用这种方式开发软件,不同的构件能并行地构建,因此可以加快工程进度。但是,使用这种方法将存在构件无法集成到一起的风险,除非密切地监控整个开发过程,否则整个工程可能毁于一旦。而增量提交模型风险相对小很多,它是在开始实现各个构件之前就全部完成需求分析、规格说明和概要设计的工作,由于在开始构建第一个构件之前已经有了总体设计,因此风险较小。增量提交模型如图2-6所示。

图2-5 增量开发模型

图2-6 增量提交模型

增量模型是一种渐增式模式,它的优点是:

●问题渐增完成。采用瀑布模型或快速原型模型开发软件时,目标都是一次就把一个满足所有需求的产品提交给用户。增量模型则与之相反,它分批地逐步向用户提交产品,整个软件产品被分解成许多个增量构件,开发人员是一个构件接一个构件地向用户提交产品。从第一个构件交付之日起,用户就能做一些有用的工作。显然,能在较短时间内向用户提交可完成部分工作的产品,是增量模型的一个优点。

●用户更能学习和适应。逐步增加产品功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击,是增量模型的另一个优点。

当然,增量模型也会存在一些缺点,如下:

●对软件的体系结构要求高。在把每个新的增量构件集成到现有软件体系结构中时,必须不破坏原来已经开发出的产品。此外,必须把软件的体系结构设计得便于按这种方式进行扩充,向现有产品中加入新构件的过程必须简单、方便,也就是说,要求软件体系结构必须是开放的。

●容易退化成边做边改模型。在开发过程中,需求的变化是不可避免的。增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而使软件过程的控制失去整体性。

版权声明:本篇文章(包括图片)来自网络,由程序自动采集,著作权(版权)归原作者所有,如有侵权联系我们删除,联系方式(QQ:452038415)。http://www.apmygs.com/440.html
返回顶部