一种支持构件关系描述的构件库信息模型
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一种支持构件关系描述的构件库信息模型
摘要:随着软件复用技术研究的深入和软件构件库应用规模的扩大,构件库中构件的种类日益增多,构件间关系日渐复杂。这就需要对传统的构件库信息模型进行扩展,在完整描述构件自身信息的基础上,增加对构件间关系信息描述的支持。为了有效地发挥构件库的作用,提出的软件构件库信息模型在已有模型的基础上采用刻面描述机制并增加了对构件间关系的描述,利用该模型不仅可以有效地描述构件的各种信息,还使得用户可以根据构件之间的关系检索构件。
关键词:构件库;构件库数据模型;构件关系;刻面分类
中图分类号:
TN911-34; TP311
文献标识码:A
文章编号:1004-373X(2011)19
-0140
-04
Design of Component Library Information Model Supporting
Component Relationship Description
ZHANG Jing-guo, GUO Min
(College of Electronic and Control Engineering, Beijing University of Technology, Beijing 100124, China)
Abstract:With the deepening of the research on software reuse technique and the development of component library scale, the categories of components stored in the library are growing rapidly, and the relations among components become more and more complex. Thus, the traditional component library information model needs to be expanded. Based on a complete component information description, the description of relations among components is added. In order to effectively play the role of library, a component library information model is presented. On the basis of the existing model, it adopts facet classification mechanism and adds relations among components. This model can be used to describe all kinds of component information effectively, and allow users to retrieve components according to the relations among the components.
Keywords:component library; component library information model; component relation; facet classification
收稿日期:2011-05-21
0 引言
软件复用对于提高开发效率和软件质量有着巨大的潜力。从某种意义上讲,软件复用可以通过恰当地使用构件库得以实现。在构件库支持下,软件工程师可以“取众家之长”,避免重复开发已有的软件。软件构件库是软件复用中管理可复用构件的基础设施,它为基于构件的软件开发(CBSD)中的构件生产和构件复用两方面工作之间建立了桥梁。要减小复用成本,使用者能够正确理解构件,更好地复用软件构件,就需要对构件进行描述和分类[1]。此外,构件之间的关系对于构件库而言是非常重要的资源[2],因此,构件库的信息模型不仅能够描述构件的基本信息,还应该能够明确地表示构件之间的关系。然而现有的模型缺乏对分类、关系信息相应的描述机制[3]。例如:作为Web Services注册和发现机制的UDDI,定义了其核心数据结构以及所有的应用程序接口,使用同步复制技术在各个节点之间复制信息。但是,UDDI面向电子商务应用的性质使其不能很好地对其他类型的构件进行描述和管理,也不能描述构件间关系,很难满足作为构件库数据模型的需要[4]。目前,构件的刻面分类描述是一种正逐步得到重视与应用的描述方法。例如,REBOOT,NATO提出的构件分类方法是采用了基于刻面的描述机制;而青鸟构件库中的构件则是采用刻面分类为主、多种分类模式结合的方法对构件进行分类描述[5]。
1 软件构件库信息模型
软件构件库系统是一类数据库管理系统,它不仅具备数据库的基本特征和功能,还具备存储构件和构件相关信息的能力[6]。因此,构件库中的数据主要包括构件实体本身、描述性信息和构件库的使用信息。描述性信息包括以下几方面[7]:
(1) 构件的语义描述。描述构件功能和用途,精确定义构件语义。
(2) 构件分类。对构件相同特征的聚类。
(3) 构件技术环境。包括开发工具、配置方法和部署环境等。
(4) 构件的状态。包括版本、历史等时间相关构件的属性。
模型总体由3部分组成,即基本描述部分、分类描述部分和关系描述部分,如图1所示。
图1 模型总体结构图
本文设计的软件构件库信息模型在以上信息的基础上,还包括了构件间关系的描述,从而丰富了以往的信息模型,也为构件库的使用增添了一种基于构件关系导航的查询方式。
1.1 基本描述部分
基本描述包括构件的语义描述、技术环境、构件的状态以及构件库的使用信息。其中构件库的使用信息包括用户对