面向组件的软件重用技术_第1页
面向组件的软件重用技术_第2页
面向组件的软件重用技术_第3页
面向组件的软件重用技术_第4页
面向组件的软件重用技术_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、面向组件的软件重用技术1 引言软件开发的最佳方法是不进行任何开发。重用就是实现上述目标的一种方法。在软件工程的范围内,重用已不是一个新名词了。自从1968年提出重用这一概念,人们已经围绕这个问题进行了大量的实践研究。大多数有丰富经验的程序员都拥有自己的私人开发库,可以使他们使用大约30%的重用代码来开发软件。随着面向对象技术的出现,面向组件的软件技术已成为当前的研究热点。这种技术正改变着大型软件系统得开发方式,它强调使用软件组件(可重用的、向第三方购买的、新开发的)来设计和构造软件系统。虽然很多研究者对这项技术做了研究和实践,但仍没有达到人们所期待的或要求的全部效果。本文介绍了重用技术、组件技

2、术和组件模型。2 软件重用软件重用(SoftwareReuse,又称软件复用或软件再用)。软件重用的定义也很多,比较权威和通用的一种是:软件重用是利用事先建立好的软部品创建新软件系统的过程。这个定义蕴含着软件重用所必须包含的两个方面:1 1)系统地开发可重用的软部品。这些软部品可以是代码,但不应该仅仅局限在代码。我们必须从更广泛和更高层次来理解,这样才会带来更大的重用收益。比如软部品还可以是:分析,设计,测试数据,原型,计划,文档,模板,框架等等。2 2)系统地使用这些软部品作为构筑模块,来建立新的系统。软件重用的基本思想是放弃那种原始的、一切从头开始的软件开发方式,而利用重用,由公共的可重用

3、组件来组装新的系统。软件重用可以从多个角度进行考察。依据重用的对象,可以将软件重用分为产品重用和过程重用。产品重用指重用已有的软件组件,通过组件集成(组装)得到新系统。过程重用指重用已有的软件开发过程,使用可重用的应用生成器来自动或半自动地生成所需系统。过程重用依赖于软件自动化技术的发展,目前只适应于一些特殊的应用领域。产品重用是目前现实的、主流的途径。依据对可重用信息进行重用的方式,可以将软件重用区分为黑盒(Black-box)重用和白盒(White-box)重用。黑盒重用指对已有组件不需作任何修改,直接进行重用。这是理想的重用方式。白盒重用指已有组件并不能完全符合用户的需求,需要根据用户需

4、求进行适应性修改后才使用。而在大多数应用的组装过程中,组件适应性修改是必需的。分析传统产业的发展,其基本模式均是符合标准的零部件(组件)生产以及基于标准组件的产品生产(组装),其中,组件是核心和基础,重用是必需的手段。实践表明,这种模式是产业工程化、工业化的必由之路。标准零部件生产业的独立存在和发展是产业形成规模经济的前提。机械、建筑等传统行业以及年轻的计算机硬件产业的成功发展均是基于这种模式并充分证明了这种模式的可行性和正确性。这种模式是软件产业发展的良好借鉴,软件产业要发展并形成规模经济,标准组件的生产和组件的重用是关键因素。这正是软件重用受到高度重视的根本原因。3 组件的概述软件构件(C

5、omponent,也常被理解为“组件”)的概念共生于软件重用。早在1968年,在北大西洋公约组织(NATO)会议上就提出了软件重用的概念,后来还为此制定了一整套软件重用的指导性标准,其中包含了利用标准组件实现软件重用的基本思路。也就是在这次会议上,McIlroy提出了软件组件、组件工厂等概念。1基于组件的软件重用是产品重用的主要形式,软件组件技术是当前重用研究的焦点。组件技术的基本思想在于,创建和利用可重用的软件组件来解决应用软件的开发问题。与面向对象编程语言不同,组件技术是一种更高层次的对象技术。它独立于语言,面向应用程序,只规定组件的外在表现形式,而不关心其实现方法。普通意义上的组件应从以

6、下几个方面来理解:(1) 组件应是抽象的系统特征单元,具有封装性和信息隐蔽,其功能由它的接口定义。(2) 组件可以是原子的,也可以是复合的。因此它可以是函数,过程或对象类,也可以是更大规模的单元。一个子系统是包含其它组件的组件。(3) 组件是可配置和共享的,这是基于组件开发的基石,且组件之间能相互提供服务。3.1 组件的定义关于组件还没有一个统一的定义,下面是一些关于组件的有代表性的观点:(1) 组件是一个独立的可传递的操作的集合;(2) 组件是由对象类组合起来的物理意义上的包;(3) 组件是软件开发中一个可替换的软件单元,它封装了设计决策,并作为一个大单元的一部分和其它组件组合起来;(4)

7、组件是具有特定功能,能够跨越进程的边界实现网络、语言、应用程序、开发工具和操作系统的“即插即用”的独立的对象;(5) 组件是指应用系统中可以明确辨识的构成成分。而可重用组件是指具有相对独立的功能和可重用价值的组件。根据组件的定义,应该先弄清的一个要点究竟什么是组件而什么称不上是组件。作为一个术语,它的概念相当清晰,即组件是一个系统的一个组成部件,但这个概念因为太含糊而对理解起来没什么用处。本论文在研究过程中采用了下面的定义:广义定义:组件是计算机软件组件的简称,是在软件生命周期各阶段可以被重用的软件实体,它可以是设计、代码或软件开发过程的其它产品。如可组装的软件、程序模板、程序的源代码或目标模

8、块和软件需求说明、规格说明、程序说明、数据说明、测试说明和测试案例等软件成分。狭义定义:软件组件是具有公开接口和确定意义的可被组装的软件制品。它可以不加修改或者基本不加修改地作为一个部件和其它组件一起组装成更大的软件或软件成分。2总之,组件最重要的特征是具有独立于应用的接口。4组件模型组件模型(componentmodel)定义了组件的本质属性,规定了组件接口的结构以及组件与软件体系结构、组件与组件之间的交互机制。组件模型通常还提供创建和实现组件的指导原则。符合统一组件模型的组件可以进行组装。一个被所有组件生产者和组件重用者接受的组件模型实际上起到了组件标准化的作用。在学术界和产业界已经出现了多种组件模型,其中3c模型是学术界普遍认同的一个具备指导性作用的组件模型。该模型从概念(concept)、内容(content)和语境(context)三个不同方面来描述组件。(1) 概念:关于“组件做什么”的抽象描述,可以通过概念去理解组件的功能。概念包括接口规约和语义描述两个部分。(2) 内容:概念的具体表现,描述组件如何完成概念所刻画的功能。(3) 语境:组件和外围环境在概念级和内容级的关系。语境刻画组件的应用环境,为组件的选用和适应性修改提供指导。现有的组件模型一般认为组件由组件接口(对应于3c模型中的概念和概念级语境)和组件内容两部分组成。组件接口就是为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论