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