喷泉模型

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

浅析喷泉模型

【摘要】本文从软件生命周期出发,介绍喷泉模型的过程、特点、优缺点及适用范围。

【关键词】喷泉模型;软件生命周期模型

1.引言

作为一种产品,软件同其他产品一样,存在着从产生直到报废的

过程,这个过程就是软件生命周期。软件生命周期内阶段的划分要受软件的规模、性质、种类、开发方法等影响,阶段划分过细还会增加阶段之间联系的复杂性和软件工作量,在实际软件工程项目较难操作。一般认为,软件周期内可包含可行性分析、需求分析、概要设计、详细设计、编码、测试和维护等阶段。也有提出软件生命周期内划分成四个活动时期:软件分析时期、软件设计时期、编码与测试时期以及软件运行与维护时期。软件生命周期解释如何演绎软件过程的思想,是软件生命周期模型化技术的基础,也是建立软

件开发环境的核心。

2.软件生命周期模型

在既定的投资规模和时间限制内,生产出符合用户需求的高质量软件是软件开发的目标,为实现这一目标,人们根据软件开发的特点,提出了多种软件开发策略。通过不同的软件开发模型阐明从问题提出到最终的软件实现,软件开发工作过程的阶段性任务分解,

并规定了每一个阶段的目标、任务以及工作结果的表达形式。对软件生命周期建立的模型称为软件生命周期模型,每一种软件生命周

期模型都将系统需求作为输入,将要交付的软件产品作为输出。软件生命周期模型指出了开发软件的总体过程思路,会为软件开发提供支持,为软件开发过程中所有活动提供政策保证,为参与软件开发的所有成员提供帮助和指导。软件生命周期模型的适用与否,对于软件开发的成功、用户的满意影响巨大。常见的软件设计模型有瀑布模型、迭代模型、螺旋模型、喷泉模型、原型模型等。在众多的软件生命周期模型中,喷泉模型是目前较流行的一种实用的面向对象的软件开发方法。

3.喷泉模型

喷泉模型是一种以用户需求为动力,以对象为驱动的模型,主要用于采用对象技术的软件开发项目,主要用于描述面向对象的软件开发过程。该模型如下图所示。

软件生命周期模型都包含分析和设计,有的软件生命周期模型先进行分析后进行设计,有的软件生命周期模型交替地进行分析和设计,而喷泉模型充分地体现了分析和设计之间的关系特点。喷泉模型认为软件开发过程自下而上周期的各阶段是相互重叠和多次反复的,各个开发阶段没有特定的次序要求,并且可以交互进行,可以在某个开发阶段中随时补充其他任何开发阶段中的遗漏。喷泉模型分析和设计没有严格的边界,允许有一定的相交,也允许从设计回到分析。

喷泉模型认为软件开发过程自下而上周期的各阶段是相互迭代和无间隙,体现了面向对象方法的迭代和无间隙特性。迭代是指开

发活动需要多次重复。软件的某个部分常常被重复工作多次,相关对象在每次迭代中随之加入渐进的软件成分。无间隙实质开发活动之间不存在明显的边界。如分析和设计活动之间没有明显的界限,由于对象概念的引入,表达分析、设计、实现等活动只用对象类和关系,从而可以较为容易地实现活动的迭代和无间隙,使其开发自然地包括复用。正是因为喷泉模型的各个阶段没有明显的界限,开发人员可以同步进行开发。其优点是可以提高软件项目开发效率,节省开发时间。由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。

喷泉模型主要有以下的一些特点:

(1)模型规定软件开发过程有5个阶段,即分析、设计、实现、测试与集成。

(2)模型从高层返回低层无资源消耗,反映了软件过程迭代的自然特性。

(3)以分析为基础,资源消耗呈塔型,在分析阶段消耗的资源最多。

(4)各阶段相互重叠反映了软件过程并行性。

(5)模型强调增量开发,它依据分析一点,设计一点的原则,并不要求一个阶段的彻底完成,整个过程是一个迭代的逐步提炼的过程。

(6)模型是对象驱动的过程,对象是所有活动作用的主体和项目

管理的基本内容。

(7)模型在实现时,由于活动不同,可分为系统实现和对象实现,

这既反映了全系统的开发过程,也反映了对象的开发和重用过程。喷泉模型使用的面向对象技术导致其局限性,这种模型在除面向对象的开发方法之外其它开发方法中都不适用。

4.结束语

没有任何一种软件生命周期模型是完美的,每种软件生命周期模型都有其适用范围。并且随着各种各样新的技术和方法在软件工程领域的应用,人们会不断对已有的软件生命周期模型进行改进和产生新的软件生命周期模型。对于喷泉模型来说也一样,人们会对它不断进行改进和完善,使得该模型适用范围更大、适用面更广。

对于软件开发组织来说,在开发具体软件项目时,都需要为它的

组织、管理、员工和软件过程确定合适的生命周期模型,而且还要根据当前开发的具体的软件产品的特点适当地改变模型,也就是量体裁衣,一般最终得到的模型会结合各种生命周期模型的适当特点,扬长避短,帮助软件开发组织实现生产出具有正确性、可用性及开销合宜的软件产品这个目标。

参考文献

[1]张海藩,软件工程导论。清华大学出版社,2005

[2]李代平,软件工程。清华大学出版社,2010

[3]齐治昌,谭庆平,宁洪,软件工程。高等教育出版社,2001

相关文档
最新文档