欢迎来到天天文库
浏览记录
ID:48743980
大小:852.50 KB
页数:34页
时间:2020-01-26
《第9章 软件开发增量模型.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、9.1概述9.1.1.瀑布模型的局限性在20世纪80年代之前,瀑布模型一直是唯一被广泛采用的生命周期模型。传统的瀑布模型如图所示。瀑布模型的特点阶段间具有顺序性和依赖性。其中包含两重含义:①必须等前一阶段的工作完成之后,才能开始后一阶段的工作;②前一阶段的输出文档就是后一阶段的输入文档。9.1概述9.1概述瀑布模型的特点推迟实现的观点①瀑布模型在编码之前设置了系统分析和系统设计的各个阶段,分析与设计阶段的基本任务规定,在这两个阶段主要考虑目标系统的逻辑模型,不涉及软件的物理实现。②清楚地区分逻辑设计与物理设计,尽可能推迟程序的物理实现,是按照瀑布模型开发软件的一条重要的指导思想。9.1概述瀑
2、布模型的特点质量保证的观点①每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务。②每个阶段结束前都要对所完成的文档进行评审,以便尽早发现问题,改正错误。9.1概述实际的瀑布模型实际的瀑布模型是带“反馈环”的,如图所示。9.1概述瀑布模型的优点可强迫开发人员采用规范化的方法。严格地规定了每个阶段必须提交的文档。要求每个阶段交出的所有产品都必须是经过验证的。9.1概述瀑布模型的缺点由于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。如果需求规格说明与用户需求之间有差异,就会发生这种情况。瀑布模型只适用于项目开始时需求已确定的情况。很
3、难适应需求可变、模糊不定的软件系统的开发,而且再开发过程中,用户很难参与进去,只有到开发结束才能看到整个软件系统。9.1概述9.1.2增量模型的基本思想增量模型属于非整体开发模型,它推迟某些阶段或所有阶段的细节,从而较早的产生工作软件增量方式包括增量开发和增量提交增量开发指在项目开发周期内,以一定的时间间隔开发部分工作软件增量提交指在项目开发周期内,以一定的时间间隔向用户提交工作软件及相应文档。9.1概述9.1.3增量模型的分类渐增模型增量构造模型:在瀑布模型基础上,对一些阶段进行整体开发,对另一些阶段进行增量开发演化提交模型:所有阶段都进行增量开发。2.原型模型探索型原型实验型原型演化型原型
4、9.1概述1、探索型原理这种类型的原型是把原型用于开发的需求分析阶段,目的是要型清用户的需求,确定所期望的特性,并探索各种方案的可行性。它主要针对开发目标模糊,用户与开发都对项目都缺乏经验的情况,通过对原型的开发来明确用户的需求。2、实验型原型这种原型主要用于设计阶段,考核;实现方案是否合适,能否实陋。对于一个大型系统,若对设计方案心中没有把握时,可通过这种原型来证实设计方案的正确性。3、演化型原型这种原型主要用于及早向用户提交一个原型系统,该原型系统或者包含系统的框架,或者包含系统的主要功能,在得到用户的认可后,将原型系统不断扩充演变为最终的软件系统。它将原型的思想扩展到软件开发的全过程。9
5、.2渐增模型9.2.1增量构造模型增量模型也称为渐增模型,是Mills等于1980年提出来的。使用增量模型开发软件时,把软件产品作为一系列的增量构件来设计、编码、集成和测试。每个构件由多个相互作用的模块构成,并且能够完成特定的功能。9.2渐增模型增量构造模型增量构造模型如图所示。9.2渐增模型增量模型的优点(1)能在较短时间内向用户提交可完成一些有用的工作产品,即从第1个构件交付之日起,用户就能做一些有用的工作。(2)逐步增加产品的功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给用户组织带来的冲击。(3)项目失败的风险较低,虽然在某些增量构件中可能遇到一些问题,但其他
6、增量构件将能够成功地交付给客户。(4)优先级最高的服务首先交付,然后再将其他增量构件逐次集成进来。因此,最重要的系统服务将接受最多的测试。9.2渐增模型9.2.2演化提交模型每个增量构件应当实现某种系统功能,因此增量构件的开发可以采用瀑布模型的方式,如图所示。9.2渐增模型采用增量模型需注意的问题(1)在把每个新的增量构件集成到现有软件体系结构中时,必须不破坏原来已经开发出的产品。(2)软件体系结构必须是开放的,即向现有产品中加入新构件的过程必须简单、方便。9.3快速原型模型9.3.1基本思想原型:原型是指模拟某种产品的原始模型,在其他产业中经常使用。软件开发中的原型是软件的一个早期可运行的版
7、本,它反映了最终系统的重要特性。快速原型模型又称原型模型,它是增量模型的另一种形式;它是在开发真实系统之前,构造一个原型,在该原型的基础上,逐渐完成整个系统的开发工作。快速原型模型的第一步是建造一个快速原型,实现客户或未来的用户与系统的交互,用户或客户对原型进行评价,进一步细化待开发软件的需求。通过逐步调整原型使其满足客户的要求,开发人员可以确定客户的真正需求是什么;第二步则在第一步的基础上开发客
此文档下载收益归作者所有