软件复用与构件技术.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《软件复用与构件技术.pptx》由会员分享,可在线阅读,更多相关《软件复用与构件技术.pptx(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、10.1软件复用10.1.1 软件复用的定义10.1.2 软件复用的重要性10.1.3软件复用的过程第1页/共25页10.1.1 软件复用的定义 软件复用(software reusesoftware reuse)是指通过对已有软件的各种有关知识来建立新的软件,这些知识包括:领域知识、开发经验、设计经验、设计决定、体系结构、需求、设计、编码、测试和文档等。软件复用的目的是降低软件开发和维护的成本,提高软件开发效率,提高软件的质量。n nCaper JonesCaper JonesCaper JonesCaper Jones定义了可作为复用候选的定义了可作为复用候选的10101010种软件制品种
2、软件制品:(1)(1)(1)(1)项目计划:软件项目计划的基本结构和许多内容(如进度项目计划:软件项目计划的基本结构和许多内容(如进度表、风险分析)都可以跨项目复用,以减少用于制定计划的表、风险分析)都可以跨项目复用,以减少用于制定计划的时间。时间。第2页/共25页10.1.1 软件复用的定义 (2)(2)(2)(2)成本估计:由于不同的项目中经常含有类似的功能,所成本估计:由于不同的项目中经常含有类似的功能,所以有可能在极少修改或不修改的情况下,复用对该功能的成以有可能在极少修改或不修改的情况下,复用对该功能的成本估计。本估计。(3)(3)(3)(3)体系结构:某些应用软件的体系结构往往非常
3、相似,因此体系结构:某些应用软件的体系结构往往非常相似,因此有可能创建一组公共的体系结构模板(如,事务处理体系结有可能创建一组公共的体系结构模板(如,事务处理体系结构),并将那些模板作为可复用的设计框架。构),并将那些模板作为可复用的设计框架。(4)需求模型和规约:类和对象模型及其规约是明显的复用候选者,此外,用传统软件工程方法开发的分析模型(如数据流图)也是可复用的。第3页/共25页10.1.1 软件复用的定义 (5)(5)(5)(5)设计:用传统方法开发的体系结构、数据、接口和过程设计:用传统方法开发的体系结构、数据、接口和过程化设计都是复用的候选者,系统设计和对象设计也是可复用化设计都是
4、复用的候选者,系统设计和对象设计也是可复用的。的。(6)(6)(6)(6)源代码:经验证的程序代码是复用的候选者。源代码:经验证的程序代码是复用的候选者。(7)用户文档和技术文档:即使特定的应用有所不同,但经常可复用部分用户文档和技术文档。(8)用户界面:这是最广泛被复用的软件制品,如图形用户界面(GUI)软件经常被复用。由于用户界面部分约占一个应用软件的60的代码量,因此其复用效主极高。第4页/共25页10.1.1 软件复用的定义(9)(9)(9)(9)数据:在大多数经常被复用的软件制品中,可复用的数数据:在大多数经常被复用的软件制品中,可复用的数据包括:内部表、记录结构以及文件和完整的数据
5、库。据包括:内部表、记录结构以及文件和完整的数据库。(10)测试案例(test case):一旦设计或代码被复用,则其相应的测试案例也应被复用。第5页/共25页10.1.2 软件复用的重要性n n 一一般般以以为为,要要在在企企业业内内部部充充分分地地实实现现软软件件复复用用,应应优优先先解解决决好以下一些问题:好以下一些问题:(1)(1)(1)(1)在充分认识软件复用的重要性的基础上,尽快建立支持软在充分认识软件复用的重要性的基础上,尽快建立支持软件复用的基础设施件复用的基础设施(2)(2)(2)(2)建立相应的培训计划以帮助软件工程师和管理者理解和应建立相应的培训计划以帮助软件工程师和管理
6、者理解和应用软件复用用软件复用(3)(3)(3)(3)采用更先进的,可以促进软件复用的软件开发方法采用更先进的,可以促进软件复用的软件开发方法(4)(4)(4)(4)采取相应的激励措施采取相应的激励措施软件复用的目的是能更快、更好、成本更低地生产软件产品。一般地说,在软件开发中采用复用构件可以比从头开发这个软件更加容易。第6页/共25页10.1.3软件复用的过程(1)(1)(1)(1)抽象:即对已有软件制品的简要描述,从中抽取该制品的抽象:即对已有软件制品的简要描述,从中抽取该制品的本质信息(即可复用部分),摒弃那些细节;本质信息(即可复用部分),摒弃那些细节;(2)(2)(2)(2)选取:即
7、用户根据已有软件制品的抽象,寻找、比较和选选取:即用户根据已有软件制品的抽象,寻找、比较和选择最适合他需要的那个制品(可复用件);择最适合他需要的那个制品(可复用件);(3)(3)(3)(3)特化:即对已有制品(可复用件)的修改或形成它的一个特化:即对已有制品(可复用件)的修改或形成它的一个实例(例化后的复用件);实例(例化后的复用件);(4)(4)(4)(4)集成:将例化后的复用件集成为应用系统。集成:将例化后的复用件集成为应用系统。软件复用的一般过程如下:第7页/共25页10.2基于构件的软件开发10.2.1开发可复用的软件构件10.2.2 软件构件的组织10.2.3分类和检索软件构件第8
8、页/共25页10.2.1开发可复用的软件构件n n 当开发一个新软件时,应该对描述需求的分析模型进行分析,当开发一个新软件时,应该对描述需求的分析模型进行分析,以发现模型中那些指向现有的可重用的软件成分的元素。为以发现模型中那些指向现有的可重用的软件成分的元素。为此,应该使用能够导致此,应该使用能够导致“规格说明匹配规格说明匹配”的方式从需求模型的方式从需求模型中抽取信息。中抽取信息。为了重用的设计同样要求软件工程师应用已有的设计概念和原理,但是,也必须考虑应用领域的特征,特别是应该考虑下述的一系列关键问题。(1)标准数据。(2)标准接口协议。(3)程序模板。第9页/共25页10.2.1开发可
9、复用的软件构件n n当重用在应用系统开发中占据主导地位时,就把这样的开发方当重用在应用系统开发中占据主导地位时,就把这样的开发方法称为基于构件的开发或构件软件。领域工程为基于构件的法称为基于构件的开发或构件软件。领域工程为基于构件的开发提供了所需要的可重用构件库,这些可重用的构件中的开发提供了所需要的可重用构件库,这些可重用的构件中的一部分是内部开发的,另一部分是从现有的应用系统中抽取一部分是内部开发的,另一部分是从现有的应用系统中抽取出来的,还有一部分是从第三方获取的。出来的,还有一部分是从第三方获取的。为了实现基于构件的开发,应该使用下述4 4个“体系结构要素”。(1)数据交换模型(2)自
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 构件 技术
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内