




已阅读5页,还剩60页未读, 继续免费阅读
(计算机软件与理论专业论文)基于struts框架的领域构件存储管理系统研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于s t r u t s 框架的领域构件存储管理系统研究 摘要 随着软件系统复杂度的增加,软件的规模日益庞大。软件的开发时间长, 维护费用高。如何提高软件生产率、改善软件质量、降低开发成本和缩短开发 周期受到越来越广泛的关注。随着领域开发的深入,在软件开发组织内部己经 积累了大量可使用的领域构件,人们强烈地希望能够尽量复用该领域现有的软 件构件措建新系统。研究如何表示存储现有的可复用领域构件,为领域应用系 统的开发人员提供良好的丌发基础,使可复用的领域构件能够得到有效的管理 和利用,变得非常的有意义。 本文研究了建立面向复用的领域构件存储管理系统涉及的主要问题。首先 介绍了领域构件存储管理系统的背景和作用,介绍了构件的表示方法和检索匹 配模型。然后提出了一种领域构件表示模型来储存领域构件,并在该模型基础 二给出了领域构件的存储方案。接着介绍了s t r u t s 框架及其实现机制,并基于 s t r u t s 给出了领域构件存储管理系统的架构设计。最后以煤矿安全领域构件存 储管理系统为例,介绍了基于s t r u t s 框架的领域构件存储管理系统的实现。 关键词:领域构件存储,s t r u t s 框架,领域构件库,构件复用,领域构件 r e s e a r c ho nd o m a i nc o m p o n e n ts t o r a g ea n d m a n a g e m e n ts y s t e m b a s e do ns t r u t sf r a m e w o r k a b s t r a c t a st h es o f t w a r es y s t e m sb e c o m em o r ec o m p l e x ,t h es c a l eo fs o f t w a r es y s t e m e x t e n d s t h et i m et h a td e v e l o p e r ss p e n do nd e v e l o p m e n ti sl o n g e rt h a nb e f o r e t h e m a i n t e n a n c ee x p e n s eo fs o f t w a r es y s t e m sb e c o m e sh i g h e ra n dh i g h e r n o w a d a y s , p e o p l ep a ym o r ea t t e n t i o n s o ns o m ep r o b l e m s t h e ya r eh o wt oi m p r o v et h e p r o d u c t i v i t yo fs o f t w a r ei n d u s t r y ,h o wt oi m p r o v et h eq u a l i t yo fs o f t w a r e ,h o wt o t a k ed o w nt h ec o s to fd e v e l o p m e n ta n dh o wt os h o r t e nt h ed e v e l o p m e n tt i m e a s t h en u m b e ro fs o f t w a r es y s t e mi nt h es a m ed o m a i nb e c o m e sl a r g e ,t h es o , w a r e d e v e l o p e r sl e a r nm o r ea b o u tt h ed o m a i n t h e r ea r el a r g eq u a n t i t i e s o fr e u s a b l e d o m a i nc o m p o n e n t si nd e v e l o p m e n to r g a n i z a t i o n s p e o p l eh o p et oc o n s t r u c tn e w s o f t w a r es y s t e m sb yr e u s i n gt h e s er e u s a b l ed o m a i nc o m p o n e n t s i no r d e rt op r o v i d e ab a s ef o rs o f t w a r ed e v e l o p e ri nt h es a m ed o m a i n ,i tb e c o m e sv a l u a b l et or e s e a r c h h o wt or e p r e s e n ta n ds t o r et h e s er e u s a b l ed o m a i nc o m p o n e n t s t h i sd i s s e r t a t i o n i n v e s t i g a t e s s o m e m a i n p r o b l e m s o f b u i l d i n g d o m a i n c o m p o n e n ts t o r a g ea n dm a n a g e m e n ts y s t e m f i r s t l yi t i n t r o d u c e st h eb a c k g r o u n do f d o m a i nc o m p o n e n ts t o r a g ea n dm a n a g e m e n ts y s t e m i td i s c u s s e ss o m er e p r e s e n t m e t h o d sa n ds o m em a t c h i n gm o d e l so fc o m p o n e n t a f t e rt h a ti t p r e s e n t s a p r e s e n t a t i o nm o d e lt os t o r ed o m a i nc o m p o n e n t sa n dam e t h o do fs t o r a g eb a s e do n t h em o d e l t h e ni ti n t r o d u c e st h es t r u t sf r a m e w o r ka n dp r e s e n t st h ed e s i g no f d o m a i nc o m p o n e n ts t o r a g ea n dm a n a g e m e n ts y s t e mb a s e do ns t r u t s f i n a l l yi t p r e s e n t st h ei m p l e m e n to fad o m a i nc o m p o n e n ts t o r a g ea n dm a n a g e m e n ts y s t e m , w h i c hs t o r e sd o m a i nc o m p o n e n t so fc o a lm i n es a f e t y k e y w o r d s :d o m a i nc o m p o n e n ts t o r a g e a n d m a n a g e m e n ts y s t e m ,s t r u t s f r a m e w o r k ,d o m a i nc o m p o n e n tl i b r a r nc o m p o n e n tr e u s e ,d o m a i nc o m p o n e n t 图表清单 图1 1 领域构件存储管理系统在领域工程和应用工程间的桥梁作用。5 图2 - 1x m l 构件树1 2 图2 - 2 子树嵌入匹配1 4 图2 3 树包含匹配1 4 图2 - 4 树包涵匹配1 5 图3 - i 用关系模型表示刻面和子刻面1 9 图3 2 对构件的数据库操作分层2 1 圈3 - 3 构件存储的数据模型2 1 表3 一l 构件属性c a 的数据内容2 2 表3 - 2 构件的刻面描述c f 的数据内容2 2 表3 3 构件的接口集合c i 的数据内容2 3 图4 - 1 领域构件存储管理系统功能模块划分2 6 图4 - 2j s pm o d e l1 2 8 巨4 - 一3j s pm o d e l2 ,2 8 图4 - 4s t r u t s 的实现机制- 3 1 图4 - 5 基于s t r u t s 框架的领域构件存储管理系统架构3 3 图4 - 6 构件添加子系统设计3 4 图4 7 构件检索子系统设计3 5 陶4 - 8 用户管理子系统设计3 7 图4 - 9 构件评价子系统设计3 8 刚4 1 0 系统维护子系统设计4 0 图5 - 1 煤矿安全领域构件存储管理系统结构4 6 图5 2 构件添加的实现4 9 图5 - 3 构件评价输入的实现5 1 图5 - 4 构件评价得分情况5 2 图5 5 属性一值检索方法实现5 3 图5 - 6 刻面描述检索方法实现5 4 图5 7 检索结果5 5 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成 果a 据我所知,除了文中特别加以标志和致谢的地方外,论文中不包含其他人已经发 表或撰写过的研究成果,也不包含为获得盒壁王些太堂或其他教育机构的学位 或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示谢意。 靴敝储辩叶辩醐渺卵舭 学位论文版权使用授权书 本学位论文作者完全了解金艘王! 竖太堂有关保留、使用学位论文的规定,有 权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许沦文被查阅或借阅。 本人授权金目巴兰些去茎可以将学位论文的全部或部分论文内容编入有关数据库 进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 靴敝糍辄叫 签字日期:加眨舞胡g 日 导师虢菇施弓 v 签字日期:p o 年r 月万日 致谢 本文是在我的导师袁兆山教授的悉心指导和关怀下完成的,袁老师在这近 三年的研究生学习阶段中对我的关心和帮助,使我受益匪浅。袁老师为我提供 了良好的学习环境的同时,更为我创造了在理论和实践两个方面都得到锻炼的 机会。袁老师认真严谨的治学态度和工作作风将令我终身难忘。谨对导师多年 的辛勤培养和关心表示衷心的感谢,并表示深深的敬意。 同时,感谢同研究室的同学们,在这几年的学习过程中,我们结下了深厚 的友谊,他们为我展开工作和学习提供了融洽的环境和交流的平台。 感谢合肥工业大学研究生院及计算机与信息学院的各位领导和老师给予的 帮助。 最后,感谢我的父母和家人在我求学期间对我的鼓励和支持,他们的关心 和支持在我求学的路上一直伴随着我。 王玮 2 0 0 5 年5 月 1 1 软件构件技术 第一章概述 自从软件复用的概念被提出以来,就受到了广泛的重视,并被认为是解决 软件危机的有效手段。然而,随着软件产业的飞速发展,软件复用却并没有像 硬件复用一样取得令人满意的效果。究其原因,是因为软件产品并未能像硬件 产品一样的模块化和集成化组装。软件构件技术的目标就是实现计算机软件的 构件化和模块化,因此,软件构件技术成为了近年来的研究热点之一。 软件复用是重复使用“为了复用目的而设计的软件”的过程【“,在面向对 象技术基础上发展起来的软件构件技术则大大加快了软件复用的发展进程。软 件构件技术的研究主要包括以下内容: n 1 构件接口的标准化和构件模型 r 2 ) 构件描述语言 ( 3 1 领域工程与构件的开发 r 4 、构件的存储和检索 f 5 1 构件库系统 r 6 ) 基于构件的软件开发 对于软件构件的定义,存在很多表述,没有一个严格的统一定义,北京大 学杨芙蓉清院士等认为,软件构件是指系统中可以被明确辨识的构成成分,可 复用软件构件是指具有相对独立的功能和有复用价值的构件。【2j 本文所讨论的 软件构件是针对可复用构件而言,为了叙述简略,下文将可复用的软件构件简 称构件。构件的范围不仅仅包括公用组件、类库和代码文件,而且还包含规约 文档、测试方案、设计模型等。 为了能够用于复用,构件必须满足些要求,构件设计和实现应该具有较 高的可复用度,应易于组装和集成,还应该具有可检索性、较高韵健壮性。对 构件进行的复用按照对构件是否修改可分为白盒复用、黑盒复用和灰盒复用。 构件模型是对构件实现的拙象和标准化,它主要研究构件的本质特征和构 件之间的关系。目前,主要的构件模型有c o m d c o m 、c o r b a 和j a v a b e a n e j b 。 ( 1 ) c o m d c o m 技术 c o m 是m i c r o s o f t 公司的一个二进制代码标准,是一种简单的分布式组件 对象模型,它的编程模型非常简洁明了。c o m d c o m 以最简单的方法规范了 组件之间的交互,使用该模型可以方便地将处于不同组件中的功能组合起来。 c o m d c o m 模型主要包括三方面的内容:程序编写的模式、程序交互时遵循 的二进制规范和程序运行的辅助环境。i 3 1 d c o m 扩展了组件对象模型技术 c o m ,使其能够支持在局域网、广域网甚至i n t e r n e t 上不同计算机的对象之间 的通信。 ( 2 ) c o r b a 对象建模组织o m g 的c o r b a ( c o m m o n0 b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ) 是分布式计算技术的发展结果。c o r b a 模型主要包括抽象构件模型、构件容 器结构、构件的配置和打包规范。c o r b a 扩展了客户服务器的模式,使系统 具有良好的可伸缩性,便于系统的开发与升级。c o r b a 体系主要包括对象请 求代理o r b ( o b j e c tr e q u e s tb r o k e r ) 、对象服务( o b j e c ts e r v i c e s ) 、公共设施 ( c o m m o nf a c i l i t i e s ) 、应用接口( a p p l i c a t i o ni n t e r f a c e s ) 、领域接口( d o m a i n i n t e r f a c e s ) 等。1 4 1 ( 3 ) j a v a b e a n e j b 1 9 9 6 年s u n 公司制定了i a v a 的构件模型:j a v a b e a n 。j a v a b e a n 是能够在构 造工具巾进行可视化操作的可重用软件。j a v a b e a n 具有属性、方法、事件、自 我检查、定制和永久性等特征。e j b 是s u n 于1 9 9 7 年发布的服务器端企业 j a v a b e a n 构件模型。e j b 通过使用r m l 支持远程的客户端存取,通过使用i i o p 协议( i n t e r n e t i n t e r o r b p r o t o c 0 1 ) ,e j b 也可以和其他的非j a v a 客户机进行通信。 随着软件构件技术的发展和逐步走向成熟,基于构件的软件开发 ( c o m p o n e n t b a s e ds o f t w a r ed e v e l o p m e n t ,c b s d ) 因其对软件复用的有效支持而 逐渐得到认可,c b s d 在现有构件的基础上,通过组装的方式,在开发过程中 复用相关构件,构建形成大型软件系统。该方法可以降低开发成本,缩短开发 周期,改善软件质量、提高系统的可维护性。c b s d 的基础是存在大量的可供 复用的构件,以及有效存储和管理这些构件的构件库系统。【】 c b s d 开发方法以构件库系统为中心。构件库系统是为了存储、管理和维 护构件的系统。构件库系统为构件的开发者和构件的使用者提供一个沟通的中 介。构件的开发者通过构件库管理系统存储和发布构件,积累可供复用的构件, 构件的使用者通过构件库系统寻找和理解构件,在新应用系统的开发中将其进 行复用。构件库系统必须解决以下一些问题: ( 1 ) 构件的表示和语义描述 对于诸多可复用的软件构件,构件的形态各异,功能干差万别,构件库系 统必须制定有效的表示模型,使各种类型的构件都能有效的进行存储和分类。 构件还可能包含领域相关的规约和语义信息,研究如何能让基于构件的开发人 员理解相关的语义也是非常重要的。 ( 2 1 构件的描述模型与存储方案 构件的存储不仅仅涉及到构件本身的存储,还涉及到构件相关元数据的表 示与存储,构件库系统的构件元数据存储方案是构件库系统实现的基础。在指 定存储方案之前需给出相应的构件描述模型。 f 3 ) 构件的评价、版本管理和信息维护 2 伴随构件的状态信息如版本、用户评价信息、使用记录跟踪和统计、构件 存取控制等需要构件库系统使用专门的管理工具来完成相应的维护工作。 f 4 1 构件的检索和匹配 构件的检索不同于一般的数据库检索,构件的检索结果是不确定的。可能 存在一个构件或构件集合满足检索条件的要求,也可能不存在对应条件的构件 信息。由于检索条件含有语义信息,匹配时需要返回与用户的查询条件相近或 相似的构件,构件检索工具应提供一定的模糊匹配功能。 f 5 1 构件的添加删除和构件库的维护 构件加入构件库时需要进行测试和信息完整性验证,构件添加工具需要只 让合格的构件添加到构件库之中。构件从构件库中删除时,构件删除工具需要 删除相应的构件属性描述信息和检索信息。 1 2 领域构件存储管理系统 领域是指一组具有相似或相近软件需求的应用系统所覆盖的功能区域。由 于相同领域的系统间存在着共性,这些共性为该领域中构件的复用提供了的良 好的基础。软件复用的实践表明,在特定领域中的进行的软件复用更易取得成 功。 领域构件存储管理系统是针对特定领域的构件存储和管理系统,它对某 特定领域的构件进行集中管理,以期能在相同领域的新系统中得到复用。 相比通用构件库系统而言,领域构件存储管理系统的研究起步较晚,技术 还未成熟。通用构件库系统和领域构件存储管理系统之间存在着相似之处,但 是技术上存在许多差异。f6 】领域件存储管理系统和通用构件库系统的主要区别 如下: f 1 1 领域构件存储管理系统和通用构件库系统中存储的构件范围不同。通用 构件库系统中存储的构件范围是不限制的,存储构件的数量庞大,构件的结构 复杂。通用构件库所存储的某一特定领域的构件也会由于构件库的存储机制而 使得领域术语难以准确表达,构件难以理解。领域构件存储管理系统由于范围 仅限于特定领域,术语在该领域的语境下,构件的表示和理解变得简单。 f 2 1 由于通用构件库系统的构件来源于不同的领域,系统中的构件的通用性 往往较高。但是,开发通用构件时往往为了增强其通用性,去除了其领域特性, 从而导致构件的适用性差。领域构件存储管理系统中的构件大部分是特定领域 下的构件,是构件的开发人员和领域专家经历领域分析之后,开发出特定领域 的可复用成分,其针对性和适用性强。 r 3 ) 通用构件库为了存储来自不同领域的构件及其描述信息,术语空间的维 护工作量较大,若采用刻面描述法进行构件表示,当新领域的构件加入构件库 时需要扩展刻面分类模式。而领域构件存储管理系统中的构件局限于某一特定 领域,分类模式不需扩展。 1 3 面向领域的软件生产 面向领域的软件生产包括领域工程和应用工程,领域构件存储管理系统构 建了领域工程和应用工程之间交流的桥梁。 领域工程是针对一个应用领域中的若干系统进行分析,并识别这些系统共 享的领域需求,设计出能够满足这些需求的构架,并在此基础上开发和组织该领 域的可复用构件的过程。1 7 】领域工程为一组相似或相近系统的应用工程建立基 本能力和必备的基础。 领域工程包括领域分析、领域设计和领域实现三个阶段:1 2 1 f 1 ) 领域分析 领域分析是领域系统的开发人员和领域专家对领域需求进行分析建模抽取 出可复用的共同特征的过程。领域分析不是针对某一特定的软件丽进行的,它 是针对领域中一类软件的共同特征和共同需求。 领域分析从领域属主的需求中抽取出领域概念模型,将领域内的概念和术 语转化为领域软件系统的知识。领域分析的输出内容包括:领域术语词汇表、 领域复用标准、领域功能行为规范、领域分析模型等。开发人员和领域专家分 析领域需求和领域原有解系统,在领域共识的基础上抽取出领域中具有共性的 需求,形成领域分析模型,领域分析模型描述了领域中应用系统的共同需求。 领域分析人员和领域专家通过对领域需求的抽象和深化,对领域分析模型不断 修改和完善。 ( 2 ) 领域设计 在领域设计阶段,开发人员根据确立的领域需求模型构建满足领域需求的 设计架构。w i l l t r a c z 【8 j 提出了一种d s s a 领域工程方法,使用d s s a ( d o m a i n s p e c i f i cs o f t w a r ea r c h i t e c t u r e ) 来描述在领域模型中表示的需求的解决方案。领 域设计的目标就是根据领域分析模型,构建领域分析模型解决方案的体系结构 d s s a 。 ( 3 1 领域实现 领域实现以领域分析模型和d s s a 为基础,识别、开发和组织可复用构件。 领域实现有以下三种方式:依据详细设计重新实现构件和d s s a ,从现有的系 统中利用再工程技术提取出可复用成分进行改造,对现有的构件进行修改和重 新包装。领域实现根据领域环境要求选择具体实现形式来实现和组织,并对其 进行测试和修改,包装和成为可复用构件。 领域工程进行的各个阶段中都有可能存在着可以复用的构件成分,将其存 储到构件存储管理系统中进行集中管理,可以为应用工程的开发积累丰富的领 域知识。 应用工程是在某一领域开发新的应用系统的工程。在应用工程过程中,开 发活动基本都是为当前系统服务的,它根据一组特定需求产生一组特定设计和 实现。应用工程包括系统分析、系统设计、系统实现等步骤。在没有领域工程 提供基础支持的应用工程的开发过程中,系统的开发从零开始,软件复用度低, 开发过程存在大量的重复劳动。 领域工程 图1 - 1 领域构件存储管理系统在领域1 :程和应用工程间的桥梁作用 在面向领域的软件生产过程中,领域工程和领域构件存储管理系统为领域 系统开发提供了基础支持。应用工程为领域工程提供领域信息来源,领域工程 通过对现有系统的分析和理解,获取对领域的深刻认识。通过对现有系统的架 构设计和模块实现进行改造,将其转变为领域构件和可复用的资源。通过领域 工程的开发,产生了大量有关领域的知识和设计实现成果,将这些成果存储和 进行有效复用,可以大大加快应用工程中新应用系统的开发。 应用工程从领域工程中获取领域开发成果,以指导新应用系统的开发,其 中领域构件存储管理系统起着重要的作用,如图1 1 所示。在领域工程的支持 下,应用工程中一个新应用系统的开发不再是从零开始。应用工程可以从领域 构件存储管理系统中获取领域分析模型,和领域业务舰约,领域词汇表等,根 据它们确定新系统的应用需求,再根据领域中的d s s a 来制定特定系统的软件 构架,形成新的设计。按照系统构架确定本系统需要哪些可复用构件,从领域 构件存储管理系统中获取所需要的构件和知识,同时根据新系统的特殊性,开 5 发相应的专用模块,通过系统框架将其组装成为一个完整的新应用系统。 1 4 本文主要工作及组织结构 本文主要研究构建一个领域构件存储管理系统的涉及的主要问题,并给出 了领域构件存储管理系统的设计实现方案。 本文首先叙述了软件构件技术研究的主要内容和面向领域的软件开发以及 领域构件存储管理系统的作用;介绍分析了构建领域构件存储管理系统的两个 关键问题:构件的表示和检索。然后提出了一种领域构件描述模型和基于该模 型的领域构件存储方案。最后介绍了基于s t r u t s 框架构建领域构件存储管理系 统的设计实现方案。 本文的主要工作如下: 阐述了领域构件存储管理系统的背景及意义,分析了领域构件存储管理系 统在面向领域的软件生产过程中的作用。 讨论了构件的表示问题。着重讨论了基于x m l 的刻面描述法。 讨论了构件的检索匹配问题,介绍了树包涵匹配模型。 提出了一种领域构件描述模型,并在此基础上给出了其相应的储存方案。 介绍了s t r u t s 框架,提出了基于s t r u t s 框架的领域构件存储管理系统设计 方案。 以煤矿安全领域构件存储管理系统为例介绍了基于s t r u t s 框架的构件存储 管理系统的实现。 本文的组织结构如下: 第一章:概述,就软件构件技术和领域构件存储管理系统进行综述;阐述 领域构件存储管理系统的背景及其在面向领域的软件开发过程中的作用。 第二章:构件的表示和检索,介绍了实现构件存储管理系统的两个关键技 术问题:构件的表示方法和构件的检索匹配模型:着重介绍了基于x m l 的刻 面分类法和构件的检索匹配模型。 第三章:领域构件描述模型与存储机制,分析了领域构件的特点和形态, 针对领域构件的特点提出了一种领域构件的描述模型,并给出了基于该描述模 型的领域构件存储方案。 第四章:基于s t r u t s 框架的领域构件存储管理系统设计,分析了领域构件 存储管理系统的功能需求,对其进行了功能分解,并基于s t r u t s 框架对领域构 件存储管理系统进行了系统架构设计和模块设计。 第五章:煤矿安全领域构件存储管理系统实现,介绍了煤矿安全领域背景 和淮北煤矿安全管理信息系统,以煤矿安全领域构件存储管理系统为例,介绍 了领域构件存储管理系统的实现。 第六章:总结和展望。 1 5 小结 本章首先介绍了软件构件技术研究的主要内容,主要的构件对象模型,构 件库系统的意义及构件库系统要解决的主要问题;接着介绍了领域及领域构件 存储管理系统的概念,分析了领域构件存储管理系统与通用构件库系统的主要 区别;然后叙述了面向领域的软件生产过程和领域构件存储管理系统在面向领 域的软件生产过程中的作用。 最后介绍了本文研究的主要内容想和本文的组织结构。 2 1 构件的表示 2 1 1 构件表示方法 第二章构件的表示与检索 构件的表示和检索方法,决定了构件库的组织、管理,以及构件库的查询 和用户对构件的理解,是构件库系统研究的基础性问题,也是近年来构件复 用研究的一个热点。 w f r a k e s 9 】将现有的构件表示方法分为人工智能方法、超文本方法、和 基于库科学信息科学的方法。 人工智能方法采用人:【智能的学习和推理机制,来维护一个表示构件的知 识库。该方法采用构件知识表示语言,来描述构件的属性及其特征和用于检索 构件的知识。将构件的功能和行为转化为知识库的实例进行表示,推理机根据 用户请求产生一个个问题,利用构件库的知识内容和推理规则库进行推理,找 到满足要求的目标构件。超文本方法使用超文本技术,通过基于属性的元模型 链接为开发人员提供一个有用的功能集合,从而找到可重用的构件。【”】在超文 本表示方法中,构件信息根据信息单元之间的关系被组织成网络中的节点,通 过节点之间的链接被发现和浏览。在实际的构件库系统中,往往采用基于库科 学信息科学的表示方法。 2 1 2 构件的分类方法 构件的分类方法是构件表示和检索机制的基础。使用基于库科学信息 科学的构件表示方法对构件进行表示时,存在几种不同的分类方法。较常用 的有枚举方法、属性一值方法、关键词方法、刻面分类法等。 ( 1 ) 枚举方法 枚举分类方法按照关注的构件的特性对构件进彳亍类别划分。将构件按照特 性的范围划分成几个类别,各类别又根据构件特性的区别划分为子类别。在经 过这样的多次划分之后,构件被组织成一个分层的树形结构。构件位于树的底 层。在对构件进行分类时,各构件的特性取值都是明确的、完整的,从而把构 件划分为某个具体类别。该分类方法由于在日常生活中被广泛用于信息分类, 例如图书馆的图书分类,因而具有清晰和易于理解的特点。采用该分类方法必 须先确定对于构件的合适的特性,再对该特性进行分类,一旦确定用于分类的 特性,分类角度就固定了。因此枚举分类法是从单个侧面对构件进行分类的方 案。 f 2 ) 属性一值方法 使用属性一值分类方法时,根据构件的特征,给出一组用于描述构件特征 的属性,各个构件对每个属性确定一个特定取值。这样,每个构件的信息被表 示为一系列的属性一值对,根据这些属性一值对,可以对构件进行检索。 f 3 1 关键词方法 软件构件用一组关键词来描述,关键词是由自然语言中抽取的短语,系统 从构件文档中自动抽取关键词。套询构件时,用户给出关键词,系统根据包含 的关键词进行检索找到相应的构件。该方法的难点在于关键词的抽取,准确的 匹配还应考虑到构件描述的语义信息。 r 4 1 刻面分类法 刻面分类法是基于构件的刻面描述机制的分类方案,该方法在现有的构件 库系统中得到了广泛的使用。 刻面分类法可以看作是枚举分类方法对分类角度的扩充。使用刻面分类法 对构件进行表示时,首先应确定一组描述构件本质特性的刻而,每个刻面对构 件从不同角度进行描述,根据各刻面的重要性,可以对其设置优先极。对刻面 根据构件的领域特征,给出刻面的取值即术语空间和同义词。被刻面分类法分 类的构件,对每个刻面都要给出所对应的刻面值或值的集合。检索构件时,需 要指定构件对应刻面的刻面值术语,目标构件就存在于这些刻面值所描述的构 件集合的交集中。刻面描述法的刻面一般限制在7 8 个以内,而属性值分类 法中的属性的个数是不限制数量的。【1 1 】【1 2 】 刻面分类法通过一些正交的刻而来对构件进行描述,每个刻面的改变不影 响其它刻面对构件的描述。因此,刻面分类法对构件的描述更充分更精确,而 且具有可扩展性。 2 1 3 现有的构件库的构件分类方法 目前,国内外对构件库中构件的表示和检索机制进行了深入的研究,许多 国际组织和大型的公用构件库系统提出了一套自己的构件描述模型,并在系统 中得到了成功的应用。【l 3 j n a t o ( n o r t ha t l a n t i ct r e a t yo r g a n i z a t i o n ) 审0 定了一套软件复用的指导标 准,它为可复用软件构件库的组织和管理,制订了一个管理指南。 1 4 n a t o 推 荐采用刻面分类模式对构件进行分类,对构件的分类使用一组 对可复用构件进行描述。n a t o 还给出了一个参考的刻面集合:对象 ( o b j e c t ) 、功能( f u n c t i o n ) 、算法( a l g o r i t h m ) 、构件类型( r s ct y p e ) 、语言( 1 a n g u a g e ) 、 环境( e n v i r o n m e n t ) 。通过对构件每个适用的刻面赋予适当的刻面术语即可完成 对构件的分类,这样用户可以根据刻面术语来检索构件。【”】 r e b o o t ( r e u s eb a s e do no b e c t o r i e n t e dt e c h n i q u e s ) 是一个国际著名的 构件库系统,它包括储存可复用构件的数据库和一组产生、认证、插入、提取、 评价和适配可复用构件的工具的环境。 1 6 r e b o o t 采用刻面分类法对构件进行 分类,它使用以下一组刻面集合来描述构件:抽象( a b s t r a c t i o n ) 、操作 ( o p e r a t i o n s ) 、操作对象( o p e r a t e so n ) 、依赖( d e p e n d e n c i e s ) 。 美国军方的s t a r t s ( s o f t w a r et e c h n o l o g yf o ra d a p t a b l e ,r e l i a b l es y s t e m s ) 项目提出了一个开放体系结构的构件框架a l o a f ( a s s e tl i b r a r yo p e n a r c h i t e c t u r ef r a m e w o r k ) ,该框架解决了构件库之间共享资源和无缝互操作的问 题。【1 7 】 北大青鸟构件库管理系统( j a d eb i r dc o m p o n e n tl i b r a r ym a n a g i n gs y s t e m 、 是国内的大型公用构件库系统。青鸟构件库采用了刻面分类为主、多种分类策 略相结合的分类检索机制。 1 8 】青鸟构件库系统定义了:使用环境、功能、层次、 表示方法5 个刻面。青鸟构件库系统采用层次结构关联相应的术语空间,构件 的术语仅限在给定的术语空间中进行选取,用来表示的刻面将在构件的检索和 匹配中使用。 2 2 基于x m l 的刻面描述 2 2 1x m l x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) 是w 3 c ( w o r l dw i d ew e bc o n s o r t i u m ) 定 义的一种可扩展的标记语言。【”】使用x m l 可以定制自己的标记语言,当对某 种标记语言达成了一致,人们就可以为处理这种标记语言编制相应的处理机制 和应用程序。在x m l 文档中,数据和标记都以可配置的文本格式保存,编写 x m l 文档时,不仅可以指定数据还可以指定数据的结构。因此x m l 便于处理 结构化和综合性的数据。 x m l 提供了一种定义文档结构和元素的机制来支持词汇表,它就是 d t d ( d o c u m e n tt y p ed e f i n i t i o n ) 。d t d 定义了x m l 文档的结构和语法规则。 当解析器接收到一个附有d t d 的x m l 文档时,它就会检查文档结构是否符合 d t d 中的类型定义。但是d t d 不能定义元素的数据类型。x m ls c h e m a 是比 d t d 更为强大和精确的文档定义机制,它不仅可以和d t d 一样定义文档的语 法,还可以定义每个元素的实际数据类型及元素取值空间。x m ls c h e m a 本身 也是x m l 文档,它遵守x m l 的语法。【2 0 】 2 2 2x m l 构件树 1 0 构件的刻面描述法使用刻面及术语对构件进行描述,构件被描述为一组描 述构件本质特性的刻面及其取值,可采用b n f 范式描述如下: := := i := := f u n c t i o nj e n v i r o n m e n t f a c e t v a l u e := 其中,构件的刻面是根据描述构件的各种特性中取出最能体现其本质的特 性,将其组织成层次关系,形成刻面和子刻面,并对每个刻面定义相应的词汇 表和同义词,而形成用于描述构件的刻面树。 由于x m l 语言是可扩展的标记语言,x m l 描述文档具有树形结构本质特 征,因此,采用x m l 作为构件的刻面描述语言是很合适的选择。例如,一个 使用j a v a 开发的生成统计图形的构件可用x m l 文档表示如下: 2 0 0 5 0 5 0 0 1 c h a r tg e n e r a t o r w a r r e n 2 0 0 5 - 5 - 1 0 v 1 0 t og e n e r a t es t a t i cc h a r tu s i n gj f r e e c h a r tl i b r a r y l e n v i o r n m e n t j 2 e e 2 f u n c f i o n c h a r tg e n e r a t o r 3 1 l a n g u a g e j a v a 使用x m l 语言来表示构件,可以将构件通过刻面进行描述,而刻面映 射为x m l 文档的节点和属性,构件表示为一棵x m l 构件树,如图2 - 1 所示: 2 3 构件的检索和匹配 2 3 1 构件的检索 图2 - 1x m l 构件树 构件的检索问题是构件复用的另一个关键问题。 2 0 1 与传统的在数据库中检 索一条记录不同的是,对构件进行检索具有一些特殊之处: ( 1 ) 构件检索条件中包含有用户的语义信息。用户提交的查询条件往往需 要经过分析处理才能用于构件匹配,例如同义词和近义词的处理。因此,对描 述构件的属性取值应该建立同义词和近义词词汇表,检索构件时通过查询属性 值的同义词和近义词对照表,检索出最能符合用户查询条件的构件,形成构件 结果集合。 ( 2 ) 构件检索的结果的不确定性。构件检索的结果可能是一个集合也可能 是一个单独的构件,还可能为空。有可能经过检索得到的构件集合并没有包含 所需要的构件,也有可能构件检索的结果是一个较大的构件集合,从其中找到 所需要的构件仍然是困难的。因此,应该尽可能的准确匹配用户的查询条件, 结果构件集合应尽可能不包括对用户无用的构件。 构件检索的核心问题就是如何通过分析用户查询构件的信息来查询构件库 中的构件描述信息,找到与其相匹配的构件或构件集合。由于采用基于x m l 的刻面描述方法表示构件后,构件被表示为一棵x m l 构件树。同时,可以将 用户的查询构件时给定的刻面属性及其取值也表示为树的形式,这样,构件的 检索问题就转化为构件树的匹配问题。 2 3 2 匹配模型 对于构件匹配问题,国内外对它做了大量的研究。树匹配模型是种构 件匹配方法。t o r s t e n 在文献 2 1 】中提出的x m l 查询模型和算法中应用了无 序树近似匹配的思想,但是算法的时间复杂度为指数级,构件的查询效率不 高。1 2 2 】传统的树匹配模型有予树嵌入匹配、树包含匹配等。首先给出树映 射的相关定义如下:【2 2 】【2 3 2 4 】 定义2 1 树: 树是一个无环连通图,表示为t = ( v ,e ,r o o t ( t ) ) ;其中:v 表示树的顶 点集合:e 表示树的边集合,边是v 中顶点的一个二元关系,它是自反的、 对称的、可传递的;r o o t ( t ) 是树的根节点。 如果棵树的每个节点对应一个标签,这样的树称为标签树,用l a b e l f v l 表示节点v 上的标签。 如果( u ,v ) e e ,称1 1 为v 的父节点,记为:u = p a r e n t ( v ) 。 如果有两个节点u ,v ,有( u ,v ) e + ( 其中,e + 为e 的传递闭包1 ,则 称u 是v 的祖先节点,记为:u = a n c e s t o r ( v ) 或v = d e s c e n d a n t ( u 、。 树映射的定义如f : 定义2 2 树映射: 设t 1 2 ( v 1 ,e 1 ,r o o t ( t 1 ) ) ,t 2 = ( v 2 ,e 2 ,r o o t ( t 2 ) ) 为两棵无序的标签树。 如果t 1 到t 2 上的映射m e v l v 2 对所有的( u l ,u 2 ) ,( v 1 ,v 2 ) m 满足: ( 1 ) u l - - v l u 2 = v 2 ; ( 2 ) u l = a n c e s t o r ( v 1 ) u 2 = a n c e s t o r ( v 2 ) ; 则称m 为从t 1 到t 2 的树映射。 称d o m a i n ( m ) = v l v 1j j v 2 v 2 :( v l ,v 2 ) m ) - - v 1 为树映射m 的定义 域。 称r a n g e ( m ) = v 2 v 2 1 3 v l v 1 :( v l ,v 2 ) m - - v 2 树映射m 的值域。 称t 1 为原树,称t 2 为映射树。 定义2 3 子树嵌入: 设q = ( v 1 ,e 1 ,r o o t ( o ) ) ,c = ( v 2 ,e 2 ,r o o t ( c ) ) 为两棵无序的标签树。存在q 到c 的树映射f 满足: ( 1 ) n - v 。“u ) = f ( v ) ,u ,v d o m a i n ( f ) = v l ; ( 2 ) l a b e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025重庆巫溪燃气有限责任公司外包岗位招聘2人考试参考试题及答案解析
- 水库水质监测与管理方案
- 2025年合肥十一中编外聘用教师招聘备考练习题库及答案解析
- 2025江西吉安市遂川县城控人力资源管理有限公司招聘园林绿化人员25人考试参考试题及答案解析
- 2025重庆市万州区铁峰乡人民政府招聘公益性岗位3人备考练习题库及答案解析
- 雇羊馆的合同6篇
- 全钒液流储能电池研发与技术提升方案
- 挖机租赁合同书3篇
- 2025中国人民大学哲学院招聘1人备考练习试题及答案解析
- 2025日语高考真题及答案
- 初高中衔接数学教学的心得
- 2023-2024学年湖南省耒阳市小学语文六年级下册期末自测测试题
- 12YJ4-1 常用门窗标准图集
- GB/T 12190-1990高性能屏蔽室屏蔽效能的测量方法
- 高血压的危害-课件
- ISO15189医学实验室认可概况课件
- 轻钢龙骨、双层石膏板吊顶施工方案
- 安全网(平网)张挂安全技术要求
- 危险品管理台帐
- 政务云收费标准 云托管收费标准
- 计算机辅助翻译实用教程ppt课件(完整版)
评论
0/150
提交评论