网站大量收购独家精品文档,联系QQ:2885784924

软件工程 (第二版)第7章增量模型.ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 增量模型 7.1 概述 7.1.1 瀑布模型的局限性 传统的瀑布模型给软件产业带来了巨大的进步,部分地缓解了软件危机,但这种模型本质上是一种线性顺序模型,存在着比较明显的缺点,各阶段之间存在着严格的顺序性和依赖性,特别是强调预先定义需求的重要性,在着手进行具体的开发工作之前,必须通过需求分析预先定义并“冻结”软件需求,然后再一步一步的实现这些需求。但是实际项目很少是遵循着这种线性顺序进行的。虽然瀑布模型也允许迭代,但这种改变往往对项目开发带来混乱。在系统建立之前很难只依靠分析就确定出一套完整、准确、一致和有效的用户需求,这种预先定义需求的方法更不能适应用户需求不断变化的情况。 1. 需求是可变的 某些应用软件的需求与外部环境、公司经营策略或经营内容等密切相关,因此需求是随时变化的,在不同时间用户的需求可能有较大的不同,采用预先定义整体不变的需求的策略,在一年或数年之前预先指定对需求随时间变化的软件的需求,显然是不切实际的。按照这样预先指定的需求开发软件,当软件开发出来的时候就已经过时了,不符合那时的用户需要了。然而按照瀑布模型开发,在开发后期修改需求要付出很高的代价,甚至根本不可能修改。 2. 需求是模糊的 对于某些类型的软件系统,如操作系统、编译系统等系统软件,人们对它们比较熟悉,有长期使用它们的经验,其需求经过仔细的分析之后可以预先指定。但是,对于大多数经常使用的应用系统,例如管理信息系统,其需求往往很难预先准确的指定,也就是说,预先定义需求的策略所做出的假设,只对某些软件成立,对多数软件并不成立。许多用户对他们的需求最初只有模糊的概念,想要求一个对需求只有初步设想的人准确无误地说出全部需求,显然是不切实际的。人们为了充实和细化他们的初步设想,通常需要经过在某个能运行的系统上进行实践的过程。 3. 用户和开发者难于沟通 大型软件的开发需要系统分析员、软件工程师、程序员、用户和领域专家等各类人员的协同配合。因此良好的通信和相互理解对于保证工程成功是至关重要的。大多数用户和领域专家不熟悉计算机和软件技术,软件开发人员也往往不熟悉用户的专业领域,特别在涉及各种不同领域的知识时,情况更是如此。因此,开发人员和用户之间很难做到完全沟通和相互理解,在需求分析阶段做出的用户需求常常是不完整、不准确的。因此,即使用户签字同意了的需求说明书,也并不能保证根据这份说明书开发出来的软件系统就能真正满足用户的需要。 从以上论述可知,传统的瀑布模型很难适应需求可变、模糊不定的软件系统的开发,而且在开发过程中,用户很难参与进去,只有到开发结束才能看到整个软件系统。这种理想的、线性的开发过程,缺乏灵活性,不适合实际的开发过程。 7.1.2 增量模型的基本思想 为了克服瀑布模型的局限性,使开发过程具有一定的灵活性和可修改性,于是产生了增量模型。它是在瀑布模型的基础上加以修改而形成的。 增量模型和瀑布模型之间的本质区别是:瀑布模型属于整体开发模型,它规定在开始下一个阶段的工作之前,必须完成前一阶段的所有细节。而增量模型属于非整体开发模型,它推迟某些阶段或所有阶段中的细节,从而较早地产生工作软件。 增量模型是在项目的开发过程中以一系列的增量方式开发系统。增量方式包括增量开发和增量提交。增量开发是指在项目开发周期内,以一定的时间间隔开发部分工作软件;增量提交是指在项目开发周期内,以一定的时间间隔增量方式向用户提交工作软件及相应文档。增量开发和增量提交可以同时使用,也可单独使用。 7.1.3 增量模型的分类 有多种增量模型,根据增量的方式和形式的不同,分为渐增模型和原型模型。 1. 渐增模型 这种模型是瀑布模型的变种,有两类渐增模型: (1) 增量构造模型:是在瀑布模型的基础上,对一些阶段进行整体开发,对另一些阶段进行增量开发。也就是说,在前面的开发阶段按瀑布模型进行整体开发,后面的开发阶段按增量方式开发。 (2) 演化提交模型:是在瀑布模型的基础上,所有阶段都进行增量开发,即不仅是增量开发,也是增量提交。 2. 原型模型 这种开发模型又称快速原型模型,它是增量模型的另一种形式。它是在开发真实系统之前,构造一个原型,在该原型的基础上,逐渐完成整个系统的开发工作。根据原型的不同作用,有以下三类原型模型: (1) 探索型原型:其原型模型是把原型用于开发的需求分析阶段,目的是要弄清用户的需求,确定所期望的特性,并探索各种方案的可行性。它主要针对开发目标模糊,用户与开发者对项目都缺乏经验的情况,通过对原型的开发来明确用户的需求。 (2) 实验型原型:主要用于设计阶段,考核实现方案是否合适,能否实现。对于一个大型系统,若对设计方案心中没有把握,可通过这种原型来证实设计方

文档评论(0)

autohhh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档