软件生存周期模型及特点

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

6有哪些生存周期模型?各有什么特点?

(1)瀑布模型

瀑布模型(Waterfall Model)是1970年由著名软件工程专家Winston Royce提出的,直到20世纪80年代早期,它一直视为已被广泛采用的软件开发模型。瀑布模型将软件生存周期中各活动(制定计划、需求分析、系统设计、编码、测试和维护)规定为依线性顺序的若干阶段,各项活动自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。

瀑布模型的特点:

<1>瀑布模型具有顺序性和依赖性,即后一阶段工作必须在前一阶段工作完成后才能开始。

<2>推迟实现的观点;把逻辑设计与物理设计清楚地划分开,尽可能推迟物理模型的实现,这是瀑布模型的重要指导思想。

<3>质量保证的观点。瀑布模型强调的是优质,即每一步都循序渐进,及早消除隐患,从而保证软件质量。

<4>致命缺点是只有做出精确的需求分析,才能取得预期的结果。由于各种客观、主观的原因,需求分析往往不很精确,常常给日后的开发带来隐患。

(2)原型模型

原型模型(Prototype Model)又称为演化模型,主要针对实现不能完整定义需求的软件项目开发而言。它是以一个“样品”为雏形,通过不断改进、完善样品,使得最后得到的产品就是客户所需要的。主要思想:先借用已有系统作为原型模型,通过“样品”不断改进,使得最后的产品就是用户所需要的。

原形模型的特点:

<1>开发人员和用户在“原型”上达成一致。这样可以减少设计中的错误和开发中的风险,以及对用户培训的时间,而提高了系统的实用、正确性以及用户的满意程度。

<2>缩短开发周期,加快工程进度。

<3>降低成本。

<4>原型模型的缺点:当告诉用户,还必须重新生产该产品时,用户是很难接受的。这往往给工程继续开展带来不利因素。

(3)增量模型

在增量模型(Incremental Model)中,软件被视为一系列的增量构建来设计、实现、集成和测试。增量模型是把整个软件系统分解为若干个软件构件,开发过程中,逐个实现每个构件,实现一个构件,展示一个构件。如果发现问题可以及早进行修正,逐步进行完善,最终获得满意的软件产品。

增量模型特点:

<1>增量模型是一种非整体开发的模型。软件在该模型中是“逐渐”开发出来的,开发出一部分,向用户展示一部分,让用户及早看到部分软件,及早发现问题。或者先开发一个“原型”软件,完成部分主要功能,展示给用户征求意见,然后逐步完善,最终后的满意的软件产品。

<2>该模型具有较大的灵活性,适合于软件需求不明确、设计方案有一定风险的软件项目。

<3>缺点:要求软件具有开放的结构是这种模型固有的困难,可能会导致设计差、效率低、维护难。

(4)螺旋模型

1998年,Barry Boehm发表了“螺旋模型(Spiral Model)”,它将瀑布模型和快速原型模型集合起来,强调其他模型所忽视的风险,特别适合于大型复杂系统。该模型分为4个环

节:制定计划、风险分析、开发实施和用户评价。4个活动螺旋式地重复执行,直到最终得到用户认可的产品。

螺旋模型的特点:

<1>风险驱动,有利于软件重用

<2>建立在风险分析的基础上:需要有一个非常有经验的小组来准确地分析和检测风险;绝对依赖人的素质

<3>不适合新手:开发中的每一层都很有弹性,并不是很明确的界限;每一层的目标和计划都是由小组本身来制定。要求有经验的人来组成。

<4>螺旋模型的缺点:很难让用户确信这种演化方法的结果是可以控制的。

(5)智能模型

该模型在实施过程中要建立知识库,将模型本身、软件工程知识与特定领域的知识分别存入数据库。以软件工程知识为基础的生成规则构成的专家系统与应用领域知识规则的其他专家系统相结合,构成这一应用领域的软件开发系统。

(6)面向对象的开发模型

主导思想:在整个软件开发过程中将面向对象技术贯穿于整个生存周期。当然,还要结合传统开发模式中好的、已被无数成功开发活动证明是可行的经验和技术。

实施步骤:面向对象分析、面向对象设计、面向对象编程、面向对象测试、面向对象的软件维护。

面向对象开发的优点:与人类的思维方法一致、稳定性好、可重用性好、可维护性好。

面向对象开发的缺陷:不成熟、晚期的测试、结构上的死板。

相关文档
最新文档