软件复用与软件构.ppt
《软件复用与软件构.ppt》由会员分享,可在线阅读,更多相关《软件复用与软件构.ppt(39页珍藏版)》请在三一办公上搜索。
1、软件复用与软件构件,李健东 李东 杜俊博 王涵杨 许博谦,概 述,-软件复用是在软件开发中避免重复劳动的解决方案。通过软件复用,可以提高软件开发的效率和质量。-当前软件构件技术被视为实现成功复用的关键因素之一。-软件复用技术的广泛应用将促进软件产业的变革,这种变革对软件产业的发展将起到极大的推动作用。,软件复用的概念软件复用的分类软件复用的意义软件复用的关键技术软件复用的研究与实践构件模型的实例青鸟构件模型,软件复用的概念,-软件复用是指重复使用“为了复用而设计的软件”的过程。相应地,可复用软件是指为了复用目的而设计的软件。-与软件复用的概念相关,重复使用软件的行为还可能是重复使用“并非为了复
2、用目的而设计的软件”的过程,或在一个应用系统的不同版本间重复使用代码的过程。,-在软件演化的过程中,重复使用的行为可能发生在三个维上:1、时间维:2、平台维:3、应用维:-这三种行为中都重复使用了现有的软件。-它的基本思想非常简单,即放弃那种原始的、一切从头开始的软件开发方式,而是利用复用技术,由公共的可复用构件来组装新的系统,这些可复用构件包括对象类、框架或者软件体系结构等。,软件复用的分类,-软件复用可以从多个角度进行考察。-依据复用的对象,可以将软件复用分为两类:1、产品复用:产品复用指复用已有的软件构件,通过构件集成(组装)得到新系统。2、过程复用:过程复用指复用已有的软件开发过程,使
3、用可复用的应用生成器来自动或半自动地生成所需系统。,-依据对可复用信息进行复用的方式分类,可以将软件复用区分为:、黑盒(Black-box)复用:黑盒复用指对已有构件不需作任何修改,直接进行复用。、白盒(White-box)复用:白盒复用指已有构件并不能完全符合用户需求,需要根据用户需求进行适应性修改后才可使用。,-依据抽象程度的高低,我们将软件的复用划分为以下几类:1、代码的复用 包括目标代码和源代码的复用,其中目标代码的复用级别最低。源代码的复用级别略高于目标代码的复用,程序员在编程时把一些想复用的代码段复制到自己的程序中,但这样往往会产生一些新旧代码不匹配的错误。2、设计的复用 这种复用
4、有三种途径;、途径是从现有系统的设计结果中提取一些可复用的设计构件,并把这些构件应用于新系统的设计。、途径是把一个现有系统的全部设计文档在新的软硬件平台上重新实现,也就是把一个设计运用于多个具体的实现。、途径是独立于任何具体的应用,有计划地开发一些可复用的设计构件。,3、分析的复用 复用的途径也有三种:、从现有系统的分析结果中提取可复用构件用于新系统的分析。、用一份完整的分析文档作输入产生针对不同软硬件平台和其它实现条件的多项设计。、独立于具体应用,专门开发一些可复用的分析构件。4、测试信息的复用 主要包括测试用例的复用和测试过程信息的复用。前者是把一个软件的测试用例在新的软件测试中使用。后者
5、是在测试过程中通过软件工具自动地记录测试的过程信息。,软件复用的意义,-通常情况下,应用软件系统的开发过程包含以下几个阶段:需求分析、设计、编码、测试、维护等。-当每个应用系统的开发都是从头开始时,在系统开发过程中就必然存在大量的重复劳动。软件复用是在软件开发中避免重复劳动的解决方案,充分利用过去应用系统开发中积累的知识和经验,从而将开发的重点集中于应用的特有构成成分。,-软件复用的意义主要有以下几点:、提高生产率:软件复用最明显的好处在于提高生产率,从而减少开发代价。、减少维护代价:使用经过检验的构件,减少了可能的错误,同时软件中需要维护的部分也减少了。、提高互操作性:通过使用同一个接口的实
6、现,系统将更为有效地实现与其它系统之间的互操作。,、支持快速原型:软件复用另一个好处在于对快速原型的支持,即可以快速构造出系统可操作的模型,以获得用户对系统功能的反馈。5、减少培训开销:软件工程师将使用一个可复用构件库,其中的构件都是他们所熟悉和精通的。-通过软件复用,在应用系统开发中可以充分地利用已有的开发成果,消除了包括分析、设计、编码、测试等在内的许多重复劳动,从而提高了软件开发的效率,同时,通过复用高质量的已有开发成果,避免了重新开发可能引入的错误,从而提高了软件的质量。,软件复用的关键技术,1、软件构件技术 构件(Component)是指应用系统中可以明确辨识的构成成分。包括需求、系
7、统和软件的需求规则约、系统和软件的构架、文档、测试计划、测试案例和数据以及其他对开发活动有用的信息。软件构件技术是支持软件复用的核心技术。广义上讲,构件可以是数据,也可以是被封装的对象类、软件构架、文档、测试用例等。一个构件可以小到只有一个过程,也可以大到包含一个应用程序。它可以包括函数、例程、对象、二迸制对象、类库、数据包等。,-构件具有以下特点:(1)构件是一个独立的可部署单位,它能很好地从环境和其它构件中分离出来。(2)作为一个部署单位,一个构件不会被部分地部署,第三方也不应该涉及构件的内部实现细节。(3)构件是可替换的,构件通过接口与外界进行交互,明确定义的接口是构件之间唯一可视的部分
8、。,-软件构件的主要研究内容包括:(1)构件获取:(2)构件模型:(3)构件描述语言:(4)构件分类与检索:(5)构件复合组装:(6)标准化:,2、软件构架 软件构架是对软件系统的系统组织,是对构成系统的构件的接口、行为模式、协作关系等体系问题的决策总和。在基于复用的软件开发中,为复用而开发的软件构架可以作为一种大粒度的、抽象级别较高的软件构件进行复用,而且软件构架还为构件的组装提供了基础和上下文,对于成功的复用具有非常重要的意义。,-软件构架研究如何快速、可靠地从可复用构件构造系统的方式,着重于软件系统自身的整体结构和构件间的互联。其中主要包括:(1)软件构架原理和风格;(2)软件构架的描述
9、和规约;(3)特定领域软件构架;(4)构件向软件构架的集成机制。,3、领域工程 领域工程是为一组相似或相近系统的应用工程建立基本能力和必备基础的过程,它覆盖了建立可复用软件构件的所有活动。其中“领域”是指一组具有公共属性的系统。领域工程可以从已经存在的系统中提取可复用的信息,把关于领域的知识转化为领域中系统共同的规约、设计和构架,使得可以被复用的信息的范围扩大到了抽象级别较高的分析和设计阶段。,领域工程包括三个阶段:、领域分析:识别和捕捉特定领域中相似系统的有关信息,通过挖掘其内在规律及其特征,并对信息进行有效的整理和组织形成模型的活动。、领域设计:通过对领域模型的分析来获取领域架构DSSA(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件

链接地址:https://www.31ppt.com/p-5387064.html