第9章 软件开发增量模型.ppt
《第9章 软件开发增量模型.ppt》由会员分享,可在线阅读,更多相关《第9章 软件开发增量模型.ppt(34页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、9.1 概述 9.1.1.瀑布模型的局限性瀑布模型的局限性在在2020世纪世纪8080年代之前,瀑年代之前,瀑布模型一直是唯一被广泛布模型一直是唯一被广泛采用的生命周期模型。采用的生命周期模型。传统的瀑布模型如图所示。传统的瀑布模型如图所示。瀑布模型的特点瀑布模型的特点阶段间具有顺序性和依赖性。其中包含两重含义:阶段间具有顺序性和依赖性。其中包含两重含义:必须等前一阶段的工作完成之后,才能开始后一必须等前一阶段的工作完成之后,才能开始后一阶段的工作;阶段的工作;前一阶段的输出文档就是后一阶段的输入文档。前一阶段的输出文档就是后一阶段的输入文档。9.1 概述9.1 概述瀑布模型的特点瀑布模型的特
2、点推迟实现的观点推迟实现的观点 瀑布模型在编码之前设置了系统分析和系统设计瀑布模型在编码之前设置了系统分析和系统设计的各个阶段,分析与设计阶段的基本任务规定,的各个阶段,分析与设计阶段的基本任务规定,在这两个阶段主要考虑目标系统的逻辑模型,不在这两个阶段主要考虑目标系统的逻辑模型,不涉及软件的物理实现。涉及软件的物理实现。清楚地区分逻辑设计与物理设计,尽可能推迟程清楚地区分逻辑设计与物理设计,尽可能推迟程序的物理实现,是按照瀑布模型开发软件的一条序的物理实现,是按照瀑布模型开发软件的一条重要的指导思想。重要的指导思想。9.1 概述瀑布模型的特点瀑布模型的特点质量保证的观点质量保证的观点 每个阶
3、段都必须完成规定的文档,没有交出合格每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务。的文档就是没有完成该阶段的任务。每个阶段结束前都要对所完成的文档进行评审,每个阶段结束前都要对所完成的文档进行评审,以便尽早发现问题,改正错误。以便尽早发现问题,改正错误。9.1 概述实际的瀑布模型实际的瀑布模型实际的瀑布模型是带实际的瀑布模型是带“反馈环反馈环”的,如图所示。的,如图所示。9.1 概述瀑布模型的优点瀑布模型的优点可强迫开发人员采用规范化的方法。可强迫开发人员采用规范化的方法。严格地规定了每个阶段必须提交的文档。严格地规定了每个阶段必须提交的文档。要求每个阶段交出的所有
4、产品都必须是经过验证要求每个阶段交出的所有产品都必须是经过验证的。的。9.1 概述瀑布模型的缺点瀑布模型的缺点由于瀑布模型几乎完全依赖于书面的规格说明,由于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足很可能导致最终开发出的软件产品不能真正满足用户的需要。如果需求规格说明与用户需求之间用户的需要。如果需求规格说明与用户需求之间有差异,就会发生这种情况。有差异,就会发生这种情况。瀑布模型只适用于项目开始时需求已确定的情况。瀑布模型只适用于项目开始时需求已确定的情况。很难适应需求可变、模糊不定的软件系统的开发,很难适应需求可变、模糊不定的软件系统的开发,而且再开发
5、过程中,用户很难参与进去,只有到而且再开发过程中,用户很难参与进去,只有到开发结束才能看到整个软件系统。开发结束才能看到整个软件系统。9.1 概述9.1.2增量模型的基本思想增量模型的基本思想增量模型属于非整体开发模型,它推迟某些阶段增量模型属于非整体开发模型,它推迟某些阶段或所有阶段的细节,从而较早的产生工作软件或所有阶段的细节,从而较早的产生工作软件增量方式包括增量开发和增量提交增量方式包括增量开发和增量提交增量开发指在项目开发周期内,以一定的时间间增量开发指在项目开发周期内,以一定的时间间隔开发部分工作软件隔开发部分工作软件增量提交指在项目开发周期内,以一定的时间间增量提交指在项目开发周
6、期内,以一定的时间间隔向用户提交工作软件及相应文档。隔向用户提交工作软件及相应文档。9.1 概述9.1.3增量模型的分类增量模型的分类1.渐增模型渐增模型增量构造模型增量构造模型:在瀑布模型基础上,对一些阶段在瀑布模型基础上,对一些阶段进行整体开发,对另一些阶段进行增量开发进行整体开发,对另一些阶段进行增量开发演化提交模型:所有阶段都进行增量开发。演化提交模型:所有阶段都进行增量开发。2.原型模型原型模型探索型原型探索型原型实验型原型实验型原型演化型原型演化型原型9.1 概述1、探索型原理、探索型原理这种种类型的原型是把原型用于开型的原型是把原型用于开发的需求分析的需求分析阶段,目的段,目的是
7、要型清用是要型清用户的需求,确定所期望的特性,并探索各种方案的需求,确定所期望的特性,并探索各种方案的可行性。它主要的可行性。它主要针对开开发目目标模糊,用模糊,用户与开与开发都都对项目目都缺乏都缺乏经验的情况,通的情况,通过对原型的开原型的开发来明确用来明确用户的需求。的需求。2、实验型原型型原型这种原型主要用于种原型主要用于设计阶段,考核;段,考核;实现方案是否合适,方案是否合适,能否能否实陋。陋。对于一个大型系于一个大型系统,若,若对设计方案心中没有把握方案心中没有把握时,可通,可通过这种原型来种原型来证实设计方案的正确性。方案的正确性。3、演化型原型、演化型原型这种原型主要用于及早向用
8、种原型主要用于及早向用户提交一个原型系提交一个原型系统,该原型原型系系统或者包含系或者包含系统的框架,或者包含系的框架,或者包含系统的主要功能,在得的主要功能,在得到用到用户的的认可后,将原型系可后,将原型系统不断不断扩充演充演变为最最终的的软件系件系统。它将原型的思想。它将原型的思想扩展到展到软件开件开发的全的全过程。程。9.2 渐增模型 9.2.1增量构造模型增量构造模型增量模型也称为渐增模型,是增量模型也称为渐增模型,是MillsMills等于等于19801980年提年提出来的。出来的。使用增量模型开发软件时,把软件产品作为一系使用增量模型开发软件时,把软件产品作为一系列的增量构件来设计
9、、编码、集成和测试。列的增量构件来设计、编码、集成和测试。每个构件由多个相互作用的模块构成,并且能够每个构件由多个相互作用的模块构成,并且能够完成特定的功能。完成特定的功能。9.2 渐增模型增量构造模型增量构造模型增量构造模型如图所示。增量构造模型如图所示。9.2 渐增模型增量模型的优点增量模型的优点(1)(1)能在较短时间内向用户提交可完成一些有用的工作产品,能在较短时间内向用户提交可完成一些有用的工作产品,即从第即从第1 1个构件交付之日起,用户就能做一些有用的工作。个构件交付之日起,用户就能做一些有用的工作。(2)(2)逐步增加产品的功能可以使用户有较充裕的时间学习和适逐步增加产品的功能
10、可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给用户组织带来应新产品,从而减少一个全新的软件可能给用户组织带来的冲击。的冲击。(3)(3)项目失败的风险较低,虽然在某些增量构件中可能遇到一项目失败的风险较低,虽然在某些增量构件中可能遇到一些问题,但其他增量构件将能够成功地交付给客户。些问题,但其他增量构件将能够成功地交付给客户。(4)(4)优先级最高的服务首先交付,然后再将其他增量构件逐次优先级最高的服务首先交付,然后再将其他增量构件逐次集成进来。因此,最重要的系统服务将接受最多的测试。集成进来。因此,最重要的系统服务将接受最多的测试。9.2 渐增模型9.2.2演化提交模
11、型演化提交模型每个增量构件应当实现某种系统功能,因此增量构件的开发每个增量构件应当实现某种系统功能,因此增量构件的开发可以采用瀑布模型的方式,如图所示。可以采用瀑布模型的方式,如图所示。9.2 渐增模型采用增量模型需注意的问题采用增量模型需注意的问题(1)(1)在把每个新的增量构件集成到现有软件体系结构在把每个新的增量构件集成到现有软件体系结构中时,必须不破坏原来已经开发出的产品。中时,必须不破坏原来已经开发出的产品。(2)(2)软件体系结构必须是开放的,即向现有产品中加软件体系结构必须是开放的,即向现有产品中加入新构件的过程必须简单、方便。入新构件的过程必须简单、方便。9.3 快速原型模型9
12、.3.1基本思想基本思想1.原型:原型:原型是指模拟某种产品的原始模型,在其他产业中原型是指模拟某种产品的原始模型,在其他产业中经常使用。软件开发中的原型是软件的一个早期可运行的经常使用。软件开发中的原型是软件的一个早期可运行的版本,它反映了最终系统的重要特性。版本,它反映了最终系统的重要特性。快速原型模型又称原型模型,它是快速原型模型又称原型模型,它是增量模型增量模型的另一种形式;的另一种形式;它是在开发真实系统之前,构造一个原型,在该原型的基它是在开发真实系统之前,构造一个原型,在该原型的基础上,逐渐完成整个系统的开发工作。快速原型模型的第础上,逐渐完成整个系统的开发工作。快速原型模型的第
13、一步是建造一个快速原型,实现客户或未来的用户与系统一步是建造一个快速原型,实现客户或未来的用户与系统的交互,用户或客户对原型进行评价,进一步细化待开发的交互,用户或客户对原型进行评价,进一步细化待开发软件的需求。通过逐步调整原型使其满足客户的要求,开软件的需求。通过逐步调整原型使其满足客户的要求,开发人员可以确定客户的真正需求是什么;第二步则在第一发人员可以确定客户的真正需求是什么;第二步则在第一步的基础上开发客户满意的软件产品。步的基础上开发客户满意的软件产品。2。快速原型思想的。快速原型思想的产生生9.3 快速原型模型由于种种原因,在需求分析阶段得到完全、一致、准确、合由于种种原因,在需求
14、分析阶段得到完全、一致、准确、合理的需求说明是很困难的,在获得一组基本需求说明后,就理的需求说明是很困难的,在获得一组基本需求说明后,就快速地使其快速地使其“实现实现”,通过原型反馈,加深对系统的理解,通过原型反馈,加深对系统的理解,并满足用户基本要求,使用户在试用过程中受到启发,对需并满足用户基本要求,使用户在试用过程中受到启发,对需求说明进行补充和精确化,消除不协调的系统需求,逐步确求说明进行补充和精确化,消除不协调的系统需求,逐步确定各种需求,从而获得合理、协调一致、无歧义的、完整的、定各种需求,从而获得合理、协调一致、无歧义的、完整的、现实可行的需求说明。又把快速原型思想用到软件开发的
15、其现实可行的需求说明。又把快速原型思想用到软件开发的其他阶段,向软件开发的全过程扩展。即先用相对少的成本,他阶段,向软件开发的全过程扩展。即先用相对少的成本,较短的周期开发一个简单的、但可以运行的系统原型向用户较短的周期开发一个简单的、但可以运行的系统原型向用户演示或让用户试用,以便及早澄清并检验一些主要设计策略,演示或让用户试用,以便及早澄清并检验一些主要设计策略,在此基础上再开发实际的软件系统。在此基础上再开发实际的软件系统。9.3 快速原型模型由于在项目开发的初始阶段人们对软件的由于在项目开发的初始阶段人们对软件的需求认识常常不够清晰,因而使得开发项需求认识常常不够清晰,因而使得开发项目
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第9章 软件开发增量模型 软件 开发 增量 模型
限制150内