(计算机应用技术专业论文)教学评测与评估领域构件库系统的分类检索技术及工具支持.pdf_第1页
(计算机应用技术专业论文)教学评测与评估领域构件库系统的分类检索技术及工具支持.pdf_第2页
(计算机应用技术专业论文)教学评测与评估领域构件库系统的分类检索技术及工具支持.pdf_第3页
(计算机应用技术专业论文)教学评测与评估领域构件库系统的分类检索技术及工具支持.pdf_第4页
(计算机应用技术专业论文)教学评测与评估领域构件库系统的分类检索技术及工具支持.pdf_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

构件的分类检索技术是构件库系统中的核心技术,它已经成为有效管理软件 构什、更好促进软件复用的重要方面,成为近年来构件库系统研究的热点。尤其 是针列非成熟的、基于特定领域的构件库系统,如何改进和创新适合特定领域的 分类检索技术,这是必须要考虑的问题。本文丰要面向教学评测、评估领域构件 库系统,提出相应的分类检索机制进行研究。 本文苒先介绍了软件复用技术的发展现状利研究成果,以及构件库系统在软 什复用中的作用和地位,之后是简介构件库系统中构件的分类检索技术;其次详 细介绍现有的构什分类检索技术,分析了各自的优势利劣势,并得到构件的检索 模型和评价准则;再次根据研究领域的特点,制定了相应的构件分类检索机制, 丰要包括:基于特定领域的刻面分类检索技术、以d s s a 和构件关系分类以及超 又本方式检索技术,还有组合检索技术,在此基础上建立了该领域构什库系统的 分类模型和检索模型:最后完成了教学评测、评估领域构件库系统构件检索工具 的设计与具体实现。 关键词软件复用;领域构件库;分类;检索;演化 a b s t r a c t t h ec l a s s i f i c a t i o na n dr e t r i e v i n go f c o m p o n e n ta r ev e r yi m p o r t a n tt e c h n o l o g yi na r e p o s i t o r yo fl _ e u s a b l es o n w a r ec o m p o n e n t s ,a n dt h e ya l r e a d yb e c o m ea ni m p o r t a n t b a s i so fm a n a g i n gs o f t w a r ec o m p o n e n t sa n dr e u s i n gs o f t w a r ec o m p o n e n t s t h e yh a v e b e e nah o t s p o to fc o m p o n e n t sr e p o s i t o r yr e c e n t l y e s p e c i a l l yf o ra ni m m a t u r ea n d s p e c i f i cd o m a i n ,t h e yn e e db ec o n s i d e r e dh o wt oi m p r o v eo na n di n n o v a t ei nt h e c l a s s i f i c a t i o na n dr e t r i e v i n go f c o m p o n e n t t h i sa r t i c l er e s e a r c ht h ec l a s s i f i c a t i o na n d r e t r i e v i n go fc o m p o n e n tb a s e do nt e a c h i n ge v a l u a t i o nd o m a i n f i r s t l y ,ii n t l 。n d u c ed e v e l o p m e n t a lc o n d i t i o na n dr e s o u r c e f u lr e s u l to fs o f t w a r e r e u s e ,a n dt h ef u n c t i o na n ds t a t u so fc o m p o n e n t sr e p o s i t o r yi ns o f t w a r er e u s e ,a n dt h e c l a s s i f i c a t i o na n dr e t r i e v i n gi nc o m p o n e n t sr e p o s i t o r ys e c o n d l y is t u d yt h ec u r r e n t c l a s s i f i c a t i o na n dr e t r i e v i n gi nd e t a i l ,a n da n a l y z et h e i ra d v a n t a g ea n dd i s a d v a n t a g e ,a n d g e tac o m m o nr e t r i e v i n gm o d e la n dv a l u i n gs t a n d a r dt h i r d l y ,ia c c o r d i n gt ot h ef e a t u r e o ft h es p e c i f i cd o m a i ne s t a b l i s h i n gt h ea p p r o p r i a t ec l a s s i f i c a t i o na n dr e t r i e v i n go f c o m p o n e n t ,w h i c ha r ef a c e t e dc l a s s i f i c a t i o na n dr e t r i e v i n g ,a n dc l a s s i f i c a t i o nw i t h d s s aa n dc o m p o n e n t sr e l a t i o n s h i pa n dh y p e rt e x t sr e t r i e v i n g ,a n dc o m b i n e d r e t r i e v i n gie s t a b l i s ht h ec l a s s i f y i n gm o d e la n dr e t r i e v i n gm o d e lo ft h ed o m a i n s c o m p o n e n t sr e p o s i t o r ya c c o r d i n gt ot h a t l a s t l yia c c o m p l i s ht h ed e s i g na n di m p l e m e n t 州c o m p o n e n t s lc l a s s i f i c a t i o na n dr e t r i e v i n gt o o l si nt h et e a c h i n ge v a l u a t i o nd o m a i n k e yw o r d ss o f t w a r er e u s e ,r e p o s i t o r yo f r e u s a b l es o f t w a r ec o m p o n e n t s ,c l a s s i f i c a t i o n , r e t r i e v i n g ,e v o l v e m e n t 第l 章绪论 随着训算机技术的e 速发展,i n t e r n e t i n t r a n e t 的迅速普及,以及相应新技术 的:不断涌现,各行各业列软件外发的速度、质量以及开发成水提出了更高的要 求。传统的“手r 作坊”,号式的软件丌发技术已经不能满足软件”发的需求,成 为软件技术进步的瓶颈。九l 年代“基于构件的软件工程”( c o m p o n e n tb a s e d s o f t w a r ee n g i n e e r i n g ) 发展起来,从根本上改变了软件丌发方式,成为现代软件 i _ i 二稃进步中的个里程碑 1 】。它促使了软件火粒度的复用,提帛了软件丌发速度 和质量,降低了丌发成本,同时提高了软什的可维护性和可扩展性,“软件复 用”思想逐渐进入箨行各业的信息系统的丌发中。软件构件技术作为支持复用的 核心技术,也迅速发展起来。为了充分利用叮复用构件,完成大量构件的生产、 验证、分类、检索、集成和维护工作,对构件库及其相关技术的研究已经成为近 年来软件r 程的重点和热点。构件的分类检索技术是构什库系统管理的关键技 术,成为构件库研究的重点旧】。 1 1 软件复用及软件构件技术 软仆复用技术是当日f 解决“软件危机”的一条切实可行的途径。其概念是, 住两次或多次不同的软f l 开发过程巾重复使用相同或相似软件元素的过程pj 。软 件复用技术能有效的减少软件开发中的重复劳动,增强软件的可维护性,从而达 到降低软件丌发成本、提高软件质量、缩短丌发周期、延长软件生命周期的目 的。软件元素包括程序代码、测试用例、设计文档、设计过程、需求分析文档甚 至领域知识等等。通过复用已有的、高质量的开发成果,既消除了重复劳动,又 避免了重新州:发可能引入的错误,从而提高了软件生产效率和质量。 软件复用包括两个相关过程:口j 复用构什的软件开发( d e v e l o p m e r i tf o r r e u s e ) :用可复用构件组装应用系统( d e v e l o p m e n tw i t hr e u s e ) 。 软件复用的分类。按照复用方法分类,可分为组合式复用和生成式复用4 : 1 纲台式复用技术就是划构件小作修改或作部分修改,就将构f i :组装在一 起,构造出新的日标系统。其主要研究l 容为构什的验证、分类、检索 和组装等构仆库相关的内容。 列北大学f 学坝t 芋何论卫 2 生成式复用技术利用可复用的模式,通过应用生成器广。生新的程序或程 序段。其研究的重点是如何形式化的表示特定领域的规格说明语言、系 统处理过程及冗生成器。 按照复用活动跨越的应用领域分类,可分为横向复用和纵向复州口j : 1 横向复用技术是指复用小同应刖领域的软件构件。 2 纵向复用技术指在类具有相似性的应用领域之间进行的软件构件的复 用,其研究的覃点就是领域分析。 实现软什复用的关键因素主要包括:软件构件技术、领域工程、软件构架、 软件再:i 。程、丌i 放系统、软件过程、c a s e 技术等以及非技术因素。而软件构件 技术是支持软什复用的核心技术,成为近年来软件技术的研究热点。 同时,基于领域的构件复用技术因为其复用潜力巨大,而广受瞩目,成为软 件复用技术的真f 希望所在。其主要刊f 究内容包括:构件获取、构件模型、构件 描述语言、构件的分类检索、构件的复合组装以及构件技术的标准化 5 】。其叶 , 构件的分类检索技术是软什构件技术的关键。图1 1 给出了各个关键技术是如何 影响软件复用的。 圃阿 王r 一王厂一 领域惭 l 软什再【:程lf 软件构架技术i jr 放系统技术l i 1 l c a s e 技水 图1 - 1 :软件构件技术及其相关技术 1 2 构件库的相关研究 随着软件复用技术应用到各个领域,软件组织内部将会积累大量自主开发的 构件、购买的商、【lc o t s ( c o r m n e r c i a l l y - o f f - t h e s h e l f ) 构件和其他组织开发的 笫i 蕈绪论 n d i ( n o nd e v e l o p m e n t a li t e m ) 构件,这些可复川构件构成r 庞大的企业资产。 而构件库作为支持构件分类、组织、存储和检索的基石j i | 设施就变的非常重要。领 域中的构件数量会随着领域实践而不断增大,构件也会随着技术和领域的演化而 更新,在构f l 库中检索符合用户需求的构什必须借助于高效的分类检索工具的支 持。另方面,从构件的认证、构, f , l :f f , j 存储到应用程序的集成、构什的复用效果 等各个方面,都需要一个功能强大的构件库的支持。 因此,以构件库为巾心,对软件构件进行有效的管理,j 能达到更好复崩软 件构什,支持应用程序集成的目的。剀1 2 给m 了构件库在软什复用中的角色 【6 】一 图1 - 2 :构件库与软件复用技术 在美国车方与政府资助的项目中,己建立了若r 构件库系统,如1c a r d s 、 a s s e t 、d s r s 等。1 9 9 2 年,d a r p a 、美国军方、s e i 和m i t r e 提交了 a l o a e i ”( a s s e tl i b r a r ya r c h i t e c t u r ef r a m e w o r k ,丌放体系结构的构件库框架) v e r s i o n12 版奉。这1 报告是在s t a r s 基础上充分考虑了丌放体系结构的构件库 之间共享资源和无缝互操作的问题,并给出了一个构件库框架的参考模型。 a l o a f 参考模7 毪如图1 3 。 复用库瓦操作c r t 纱t ( r e u s el i b r a r y l n t e r o p e r a b i l i t yg r o u p 缩写为r i g ) 足一 个志愿的基于一致意见的组织,由来i g 政府、学校和私人企业的成员组成。r i g 的目标是致力于丌发呵i 操作性的解决方案,即复用库之间软件构件的共享,会 在短期内提高效率、增加复川库的价值和影响,并在长期中避免不兼容协议的增 i j = = 。r i g 的成果包括b i d m 和u d m 。u d m ( u n i f o m ld a t am o d e lf o rr e u s e l i b r a r i e s ) 是基于a l o a f 的三层数据模型的统一数据模型,其中定义了在支持可 正噪作性的库之问交换软件构什所需要的信息。b i d m 是u d m 的个子集,定 河北大学工学硕士学位论文 义了为了实现互操作,复用库交换软件构件时所需要的信息的最小集。b i d m 己 被i e e e 采纳为标准”。 图1 - 3 :a l o a f 参考模型 n a t o ( 北大西洋公约组织) 针对n a t o 、n a t o 参与国和承包商制定了一 套关于软件复用的标准,其中包括可复用软件构件开发指南、可复用软件 构件库管理指南和软件复用过程指南,分别对应于软件生命周期的不同开 发过程。制定这些标准的目标是供n a t o 及其参与国的项目管理部门使用它们来 建立复用计划需求和向承包商提供指导。承包商则将它们用于特定项目的开发实 践 9 1 。 r - e b o o t ( r e u s eb a s e do b j e c t o r i e n t e dt e c h n i q u e s ) 是一个包括存储可复用 构件的数据库和一组产生、认证、插入、提取、评价、和适配可复用构件的工具 的环境。主要针对的是源代码级的构件【j 。 在国内,领先的构件库管理系统是北大青鸟i i i 型系统p 】。它对基于构件 构架复用的软件工业化生产技术进行全面的支持,其中,构件的有效管理和检索 是关键,其核心就是青鸟构件库系统j b c l 。青鸟构件库系统用于对可复用构件 进行描述、管理、存储和检索,以满足基于“构件构架”复用的软件开发过 程的需要。它以青鸟构件模型为基础,建立青鸟构件库数据模型,并与其它 c a s e 工具相结合,支持构件的生产、描述、分类、存储、查询和复合。 鲔l 章绪论 1 3 分类检索技术的研究背景和现状 构什的分类检索技术包括构件的分类技术和构件的检索技术,是构件库系统 的核心技术。冈此,在以构件库为巾一心的软件复用技术中,构件的分类检索技术 决定r 能否进行成功的软件复用。如剀1 2 ,可以看到构件的分类检索技术在软 件复剧中所处的地位。 刈构件的分类检索方式不论如何划分,我们最终将得到以下1 方式:基于关键 同的分类检索、基于刻而的分类检索、基于构件属性值的分类检索、利用构 件关系分类和基于超文本的检索、基于构件规约的分类检索、基于摘要的分类检 索、基于范例的分类检索,还有组合分类检索等等旧。 其叶1 ,刻面的分类检索法是当6 日通用构件库分类检索方法中研究的最深入, 应用的最普遍,同时也是在检索代价、复杂性、和检索质量这三者最为均衡的方 法。属性值利关键词榆索方法简单易用、检索成本低,但检索质量不高,只 能作为 种辅助的检索方法。构件规约检索方法属于一种高级的检索方法,查找 具有指定规约的构件时,往往查准率非常高,但它对规约语言、用户和廊用领域 邵有要求,应用还没有成熟。超义本检索力法简单并日检索质量较好,适合应用 到叶叫、规模的构件库系统。 1 4 研究主要内容 本文以非成熟的教学评测、评估领域构件库系统为研究背景,分析现有的分 类检索技术,根据领域的特殊性选择合适的分类检索方式以及对现有分类检索方 式进行改进。具内容包括以下几个方丽: 1 ,根据教学评洲、评估领域特 :l ,研究领域构件库系统的刻面分类技术, 其重点是刻面分类模式的定制,以及刻面厂r | 术语的初始化和演化问题。 2 探讨刻面检索技术的实现,包括刻面的检索算法利术语的编码机制。 3 根据教学评测、评估领域的体系结构和构件之间的关系,研究基于d s s a ( d o m a i n s p e c if i cs o f t w a r ea r c h i t e c t u r e ) 和构件关系的分类技术。 4 ,探讨超文本检索技术的实现。 5 探讨组合检索技术的实现。 河北大学1 学倾十学位论文 1 5 本章小结 本章简介了软件复用技术、构件库系统、构件的分类检索技术的发展背景和 研究现状,以及它们之间的密切关系。同时,依托特定的应用领域,提出本文将 要研究的土要内容。 一,! ,竺鎏些墅丝些鬯鍪墼窒垒一一! 一一一,。 第2 章构件库系统中的分类检索技术 2 1 构件的分类检索技术介绍 构件的分类检索技术是构件库系统的核,心技术,它直接影响到构件的复用效 果。目前关于构件的分类检索有很多方法,如关键词的分类检索、构件属性 值的分类检索、攮丁二摘要的分类检索和基于范例的分类检索等等,但各种分类检 索方法都是代价、复杂性干u 检索质量之问的折衷。 构件的分类检索技术包括构件的分类技术和构件的检索技术,两者密切相 关。分类足列构什进行的一种预处理,它通过为构件添加其在分类过程中所产生 的分类信息,为构件的检索提供支持l 。即每个构什在入库时被赋予了分类信 息,具有相刷分类信息的构件属于同一分类。构件的检索技术i f 是廊用了构件的 分类信息,将构件区分为不同的构件类来进行查找、匹配的,所以好的分类机制 可阻大大提高检索效率。 一股来说,建奇构件的分类检索机制与一个组织内部的复用成熟度和规模有 关。丁1 :始实行的复用,是在组织内部局部、小范围的进行,此时可复用构件的数 量! p ,分类检索的需求十分有限。随着经验的积累和技术的成熟,可复用构件数 量增氏,复用的规模便会涉及到整个领域,剥先进的分类检索机制的需求就迫在 眉睫。凶而确定分类检索机制时,要根据应用的领域范围和成熟度,以及建立专 门的策略,保证分类检索机制总能适应构件库的应用,并能够自然的从一个相对 简单的分类检索机制演化为。个先进的复杂的分类检索机制。 无论采用何种分类检索机制,我们可以将构件的分类检索分为三个活动m j , 如图2 1 摧交 图2 - 1 :构件的分类检索过程 提交 吾髦五颧挈 y “j 北丈学丁学坝士学位沦文 构件分类,即为构件添加分类信息 将检索用广的需求转化为系统的查询语句 构件检索,即构件分类信息与查询语句进行匹配的过程 图2 - i 右边部分显示了构件的分类过程。这个过程我们分为以下三个步骤: 1 向构1 7 t - 库提交新的软件构件,包括构仲实体利构件描述信息 2 验i 吲j 件信息,规范化构件描述 3 根据提交的构件描述信息,为构件添加分类信息 阁2 - l 的左边部分显示了构件的形式化检索需求的过程。这个过程我们分为 以f 三个步骤: 1 用户向检索系统提交需求信息 2 将用户的需求信息转化为高层抽象的基本检索语句 3 由基本检索语句演化成检索系统能实际执行的检索语句 圈2 - 】的下边部分便是查询语句与分类信息的匹配,即构件的检索过程。不 同的分类检索方式其具体形式并不相i 叫,但都要经历以上i 个活动,才能最终完 成构 l :的检索。 2 2 现有的构件分类检索技术与评价 已经有多种的构件分类检索技术应用到了现有的构件库管理系统中,它们在 司靠| ,土、完整性利提高检索效率等方晰各有于秋。当使用的分类模式足够丰富且 表达能力足够强时,它一,j _ 以支持非常复杂的检索,会有很好的检索效果。但在实 践l _ l ,构件的分类模式和榆索机制的设计的复杂度是有限制的。凶为复杂度越高 构件的检索成本就越高,也就会导致构件复用成年的提高,使构件复用得不偿 失。所以,仟伺一种分类检索方法都足代价、复杂度和检索质量三者之i u j 的折 衷。f 面,我们对软件界曾经提出的各种构件分类检索方式进行介绍: 2 2 1 根据构件的表示划分 从构件的表示卅发,w f r a k e s 将现有的构件分类检索方法划分为信息科学方 法州、超文小方法和人工智能方法二类。其中,信息科学方法是现阶段软件 界研究的主要方法。它主要来源于图书馆科学的某些原则,但已成功的应用到许 多实际项目中。如图2 - 2 分类示意图: ,一 兰:茎! ! 竺窒至丝:竺:鍪丝童垫查,。,! ,。,。 倒2 - 2 :信息科学的分类 在信息乖t 学分类方式中,基于受控的词汇表方法为研究的再点,它的主要特 _ i 就是用来进行分类检索的刊汇表为有限集合,主要包括枚举分类_ 厅式、刻面分 类力式利关键词分类方式。基于不受控的词汇表方法一般是对构件描述信息的 全文进行处理的方式,如从正文抽取术语,词汇表是一个无限集合。这里,只介 绍构件库系统常用的几种分类检索方式。 1 关键词分类检索 关键词的分类检索方法是构件分类检索方法中最简单且是最为人熟悉的一种 方式n 首先,通过分析构件的功能和行为,找到组最合适的原子级的关键词赋 予每个构件。然后,复用者给出关键词来描述所需的构件,通过关键词的匹配关 系来检索构件。 这种方_ i = 的优点足简曾、易f 实现,但存某些场合没有应用的价值,因为复 用肯往往无法用构件库中已有的关键字描述期望的构件功能和行为,丰要是由于 :天键词缺少上下文语境,而不够准确,让用户无法理解。解决这个问题需要对应 用领域进行领域分析,并且还涉及到一个关键词标准的制定,这样繁重的工作影 响了构件分类检索的效率。所以关键词的检索方式只能作为一种辅助的构件分类 利检索方法。 2 枚举分类检索 枚举分类方式义称为按层次分类力式,是一种被广泛采用的信息分类方法。 这种分类方式的特点是将受关注的领域分割成若干个严格不相交的子集,而这些 了二集的并又要1 1 一好等于全集。如此层层递归,形成树状结构。比如经常用到的 m f c 类库f 是枚举分类的典范。这种模式可以有效的对构件进行分类,一些早期 的构件库系统就采用了这种方法。 这种方法的优点在于本身结构清晰,划分高度的结构化,所以容易理解和使 用,同时也会对整个领域有完整、清晰的认识。复用者在构件检索时,可以沿着 河北人学工学碗l 学位论文 捌型结构上下的移动,非常自然。但是,这种方法也1 竽在着一些缺点。主要归纳 为: 1 ) 构件库系统难于演化。树型结构的顶层类别一丌始就要确定,缺乏了必 要的灵活性,新的类别只能加入到较低的层次,整个结构很难发生改 变。如果构件库经过一段时间的发展,需要对先前的分类方法进行少许 的合并或细化时,整个构件库都要重建。 2 ) 这种分类需要人量的领域知识,对构件库系统的创建者有较高的要求。 这种方法是一种严格的分类方法,要求被分类的集合有。个明确而突出 的划分主线。所以构件库的创建者! 必须对所有构件的各种可能性有预见 的令面认识,又爱找各个被划分的集合的显著的、重要的属性。这对 构件库的臼j 建者提出了很高的要求,一般具体的、小型的领域尚可能做 到,旦构件库范围拓宽,这种力法就无法胜任。 3 ) 描述上存在不可避免的二义性。这就导致各个子集之i 训存在模糊概念的 重叠使某些概念无法定位。 3 刻晌】分类检索 刻面( f a c e t ) 这个术语最早使用是在5 0 年代,分别出现在r a n g a n a t h a n 的图 书馆分类系统中和g u t t m a n 的一项社会调查巾。但那时刻面概念还比较模糊,刻 面之间也存在着语义上的交迭等渚多不合理因素1 2 。 现代构件库系统的刻面分类检索法足p r i e t o d i a z 和f r e e m m l 在1 9 8 7 年提出 的。其主要思想植根于图书馆学。这种方式通过反映构什本质特性的视角( 刻 丽) 对构件进行精确的分类。一个刻面分类模式( f a c e t e ds c h e m e ) 由一组描述构 件本质特征的刻面组成,每个刻面从不同的侧面对构件库中的构件进行分类。每 个刻面由一组术语( t e r n l ) 构成,称为术语空间( t e r ms p a c e ) 。 f 1f 。f t 1 l t 1 2 t i 3 t 1 m t a j r 2 2 t z 3 t 2 n t i l t i 2 t i 3 _ b 图2 - 3 :刻面及其术语空间 甬2 苹构件厍系统中的竹凳检索技术 描述子( d e s c r i p t o r ) 由4 :同的刻1 卵 j 小同术语构成,用来捎述构件库中的特 定构件。通过用户构造描述子形成查咖条件,在构件库中检索符合条件的构件。 见公式,其中( d 为捕述子,f 为刻面,t 为术语) d 一( t i m ,t 2 n ,一,t 1 j ( 1j 刻面分类模式可以比较客观、全面的反映构件本身的特性,被各个构件复用 组织广泛采用。比较著名的有:n a t o ( 北人西洋公约组织) 的刻面分类方法、 r e b o o t ( r e u s eb a s e do no b j e c t o r i e n t e dt e c l m i q u e s ) 的刻面分类方法,还有国 内北大青鸟采用的刻而分类方法等等。以青鸟构件库采用的刻而分类方法为例, 介绍刻面分类模式。见表2 。4 : 表2 - 4 :青鸟构件库的刻面分类模式 刻丽刻面晚明术语 a p p l i c a t i o n使用该构件必须提供的硬件和1 软件平台 u n i x ,w i n d o w s e n v i r o n m e n t a p p l i c a t i o n构件原来的或可能被使用到的应用领域 e c o m m e r c e d o m a i n f u n c t i o n a l i t v 构件在原有或可能的软件系统中所提供的软件q u e r y 功能集 l e v e lo f 构件相对于软件开发过程1 i 同阶段的抽象层次c o d e ,d e s i g n a b s t r a c t i o n r e p r e s e n t a t i o n指用来描述构件内容的语言形式或媒体c + + g r 印n c 在刻而分类策略中,构件库管理者通过将刻面与对应的术语相联接,可以在 构件和刻面分类模式之间建立起复杂的联系。与一般的层次分类策略相比,刻面 分类策略更容易修改,更富有弹性,因为对个刻向的修改不会影响到其他的刻 面。同时,每个刻面对应个结构化的术语宅间,避免了般的关键词分类策略 的杂孔无章,使得对关键词的管理更为方便和有序。 刻面分类策略是。种比较理想的构什库系统分类策略,但也存在着不少困 难,主要体现在以卜两个方面: 1 ) 刻面分类模式的定义。构件的属性很多,要从中挑选出刻面是件很棘 于的工作。要满足许多苛刻的条件,比如:刻面足用户最感兴趣的构件 属性、刻面要精简、刻面要e 交等等,这对管理者的要求很高。 2 ) 术语窄问的建立和维护。这主要体现在术语的制定上没有确定的、大家 公认的标准可以遵循;领域本身处在不断的演化中,所以术语会不断的 演化,术语需要不断的维扩r ;构件的描述和检索因人而异,术语本身应 河北人学工学硕士学位论文 用到系统是否成功没有可衡量的方法。刻面术语的差异已经成为影响软 什复用发展的重要因素之一”。 4 属性一值分类检索 在这种方式l l | ,构件库中的构件是根据一纽属性和对应的值来描述的。例 如,可以选定这样的属性,如构件功能、构件应用环境、构件标识等等。属性可 以包含任何的山管理人员所规定的属性值,来分类和检索构件。这种方法与刻面 分类方法很类似,但二者还是存在一些区别: 1 ) 刻面是经过严格筛选的,并且有数量的限制,但属性则没有限制。 2 ) 刻面之间正交,且一个刻面分类模式表达了构件的一个完备的描述,属 性值方法i j - 以随意选择属性来检索构件。 3 ) 刻面的术语空间是有限不定空唰,而属性的值域是无限空问h 。 4 ) 术语之间存在各种关系,而属一眺值之间是一种线性的关系。 2 2 2 根据构件检索的复杂度划分 还有一种划分构件分类检索的方法,就是按照构件检索的复杂度来划分。 h m i l i 将其分为基于正文的方式”1 、基 二同法描述子的方式脚1 和基于规约的方式 三类。 j 基丁i f 文的分类检索 在这种分类检索方式中,构件的正文被当作一种隐含的描述符 ( d e s c r i p t o r ) ,l f 文本身不需要任何分类处理,检索时可以采用任意复杂的字符 串当作描述符与构件正义匹配。这种方式的优势在于分类检索的代价很低,容易 实现。它的缺点是检索效率低,检索的结果不完备也不可靠,需要人为的筛选才 可能找到相应的构件。 2 基于羽法描述符的分类检索 这种分类检索方式就是在构件分类时,划构什赋予一组关键词短浯,即添加 分类信息给每个构件? 检索时利用这些分类信息来检索构件。这是现阶段构件库 管理系统常用的分类检索方式,关键词方式、枚举方式、刻面方式和属性值 方式都属于此方式。其优点就在于分类时添加了分类信息,而提高了构件的检索 效率;敏点也存在于分类信息的制定和维护,以及用户的理解等等方面。这种方 法直是分类检索技术研究的重点和热点,新技术的补充使其r _ 1 趋完善,已经能 自效的处理绝大多数常用的查询了。 笫2 币构件库系坑巾的分类检索技术 3 基于规约的分类检索 这种分类检索方法实现的足构件的功能和它的分类( 编码) 的完全等价。规 约浯言具有自身的语义,可以形式化的建立构件与查询之间的匹配关系。a m i l l 等人使用关系规约和“精华”偏序关系米组织和检索构件;c h e n 等人提出了使用 抽象数据类型的代数规约及其之间的“实现”偏序关系,通过从代码中自2 接抽取 基调( s i g n a t u r e ) 和行为公理( b e h a v i o r a la x i o m ) 来进行构件检索,并设想了相 应的构件证明系统 1 引;青鸟构件库系统也使用了构件规约的检索方法,它采用的 规约语言是构件描述语言c d l ( c o m p o n e n t d e s c r i p t i o nl a n g u a g e ) 。 基于规约的检索方法往往有很高的奄准率,但当选用的舰约语言不当或规约 语苦的能力使用不完仝时,会降低查准率。所以对f 特殊领域中的构件进行捕 述,选择一种合适的规约语言很重要。基于规约的检索方法目前仍处于理论研究 阶段,应用到的领域也基本限制在实时系统和交互系统领域。 2 3 构件检索模型和评价准则 构件分类是构件检索的预处理我们虽终的日的是实现构件的检索。构件检 索可以形式化的分别用问题空间和解空间来表达,问题宅间可以进一步划分为实 际问题、复用者删解的问题空间和查询空间部分。解空间也可以划分为索引空 刚、类字问和实例空问三部分 ”j 。如图2 - 5 : 问题卒问 复用者理解的 查嘲空间 问题卒问 p 斗 斗o ,p 口 编i 冯 占睛f 条件 f 酣原理分类 图2 5 :构件的检索模型 根据构件的检索模型,检索过程我们可以进行如下的叙述 删北人学工学预t 学位纶史 1 实际问题字问中存在需要复用的机会,经过复用者的理解就会转化为其 理解中的构件需求和构件描述。这个过程会受复用者本身技能和熟练程 度,还有实际问题空间和理解空问的相似程度的影响,造成的误差不可 避免。 2 用户选择不同的检索方式构造查询条件,某个查询条件会因为检索方式 的不同,而存在多个索引。这个过程主要研究构件的检索算法。 3 对每个索引执行查询,会得到小同的构件类。每个构件类代表具有相同 条件的类构件,他们满足相同的检索条件。提取类中的构件,便会得 到最终的构件实例。 刺不同白,j 检索方法进行评价,其方法就是比较实现代价及检索质量、效率。 。史现代价包括编码机制和分类索引的建立、部署和维护代价”1 。检索质量、效率 的评价标准是查全率( r e c a l l ) 和查准率( p r e c i s i o n ) 。针对不同的检索方法,还 要考虑交迭率( o v e r l a p s ) 。备名词定义如下: 查全率= j 检索到的相关构件集合 “库中所有相关构件集合 查准率= 检索到的相关构件集合f “检索到的所有构件f 交迭率= l r n n m 2 i i r a lu r n 2 l ! xj 表示集合x 中的元素个数,m 1 和m 2 分别为两种检索方式查到的构件集 合。 2 4 本章小结 本章首先对构件库系统的核心技术一一构件的分类检索进行了简要的介绍, 包括分类技术和检索技术之间的关系以及构件一般的分类检索过程;其次是介绍 了构件库系统l j j 常用的儿种分类检索技术,指出了它们在应用:的优势和劣势: 最后归纳出通用的构件检索模型。 第3 章教学评测、评什领域构件库系统简介 第3 章教学评测、评估领域构件库系统简介 3 1 构件库系统的特点 教学评测、评估领域构件库系统不同于通用构件库和般的领域构件库,它 具自以f 一些特点: 1 选择了非成熟的特定领域作为研究背景 目前,我国采用软件构件复用的方法开发应用系统还处于起步阶段,大部分 的团体面对的领域是非成熟领域,其特点就是,在这个阶段没有足够的可供领域 分析的实际应用系统,或者很难得到其它组织丌发的系统文档、代码,更没有足 够的领域知u 和j j 复用资源。如何从非成熟领域中逐步获得可复用资源,利用构 件库系统的有效管理并使其不断演化 究的热点。教学评测、评估领域满足以 状。 达到更有效的复用,l ! l 经成为国内外研 的研究条件,电符合国内外的研究现 2 以构什库为中心,联系领域工程和应用程序工程,支持了构件的软件开 发 以领域构件库为中心,联系领域:【:程和应用程序jj 程。即通过构件库系统将 可复用构件的软件开发( d e v e l o p m e n tf o rr e u s e ) 和用可复用构件组装应用系统 ( d e v e l o p m e n tw i t h r e u s e ) 联系起来。构件库存在于构件的整个生命周期,更 好的支持了构件的软件了f 发过程。这其中,构件库提供功能强大的管理工具,对 构件进行有效的管理,同时也促进了应用领域的演化。 3 多样化的分类检索机制 此构件序系统充分考虑了特定领域的特点,制定了具有领域特点的分类检索 机制。同时根据不同层次的用户,提供了多样化的构件检索机制,既可以满足领 域专家的复杂需求,也川以满足普通用户的一股需求。 3 2 构件库系统的体系结构 教学评测、评估领域构件库支持多用,。、多任务的构件管理操作,它基于局 域网络,所以我们采用了w i n d o w s d n a 的结构框架来搭建。它的体系结构( 如 j 到3 1 ) l _ j 丁以戈0 分为以下阴层: 表 功 构 构 图3 - 1 :教学评测评估领域构件库系统的体系结构 l 表示层。指用户和构件库系统的交互界面,主要包括w w w 浏览器和客 户端管理软什。用户可以通过它向构件库系统提交渚如构件提交、构件 检索等等的请求,再由服务器将处理的结果以h t m l 文件的格式返回给 浏览器,或是以说明文档的形式显示给用户。 2 功能层。指实现构件库系统所提供的所有业务逻辑功能,主要涉及到了 系统本身的管理工具的实现,如维护构件库的各项功能、构件入库功能 以及构件检索功能。它负责处理用户的访问请求,同时反馈执行的结 果。 3 构件信息层。这一层是数据库服务器,负责存储领域中构件相关的各种 信息,为实现、业务逻辑的功能模块提供数据,同时根据对数据库的访问 请求,生成特定的s q l 语句,执行厉的结果转换为构件库系统标准的数 据格式,返回给功能层。 4 构件实体层。这一层是文件服务器,存放的是构件实体。 s ! ! ! 篓i 兰鍪三:! 型:錾篁至塑垒些窒耋兰塑尘 构件库的管理工具简介 此构件库系统的工具乇要包括:构仆库维护工具、构件入库_ 厂具和构件检 索l 具j 大部分( 见3 - 1 圈) 。本文在此简要介绍( 洋细内容清见娄建同学的毕 业论文) : 1 、构件入库工具 1 ) 构件库提交:提交构件基本捕述信息以及构件实体。 2 ) 构件队证:在构件正式入库前检验构件的正确性、合法性、合理性 等,确保构件可以被本领域使用。 3 ) 构件分类:按照不同的分类规则,为构件添加分类信息,完成构件 的合理分类。 2 、构件检索工具: 【) 构件检索:完成的主要功能足帮助用户按自己的需求检索、浏览、 选取和提取构件库中的构仆。这个部分提供了多样化的检索方式, 帮助用户逐步求精。 2 ) 用户反馈:使用户可以对检索结果、所用构件是否满意,构件分类 策略是否合理等进行反馈,并能对自己所需的构件提出开发或修改 的要求。 3 、构件库维护 具 1 ) 构件维护:埘构件进行修改、删除等操作。 2 ) 基础设施维护:对领域描述、构件推荐度、分类标准等进行维护。 3 ) 构件评测:根据反馈信息,对构件的可用性、可靠性、使用频度、 安全性等进行评测。 4 ) 系统工具:管理j h 户、用户反馈意见的收集、整理、处理,统计已 有构件。 3 3 构件库系统的人员 此构件库系统有三类人员,他们列构件库系统分别有不同的职责和权限。这 i 类人员分别是:一般用户、构件提交者利构件库系统管理员。如图3 - 2 是构件 库系统的罔例图: 河北大学工学硕忙学位沱文 处埋川尸j 又馈儒思 图3 2 :教学评测、评估领域构件库系统的用例图 】 一般用户 这是构件库系统最广泛的使用人员,其职责和权限主要包括: 1 ) 调整刻面分类模式 2 ) 检索和浏览构件信息 3 ) 提取构件实体 4 - ) 对构件库的分类检索机制,以及:r 具的发计提出反馈 5 ) 向构件库系统提交构件信息和构件实体使用的反馈意见 2 构件提交者 构件提交者足构什库系统中可复用资源的主要提供者,其划构件信息的组织 和构件实体的质量控制起到决定性的作用。其职责和权限主要包括: 1 ) 检索和浏览构件信息 2 ) 浏览领域描述树和刻而的术语空间 3 ) 向构件库系统提交构件信息和构件实体 4 ) 完成属性值的构件分类 5 ) 提交新术语,以及原术语的修改意见 第3 章教学评测、i :l 1 亓领域构件库系统简彳r 6 ) 对构件库的管理工具提出反馈意见 3 系统管理员 其主要负责构件库各个方面的管理和 常维护,指责利权限包括: 1 ) 系统用户的维护,包括用户的增加、权限的修改等等 2 ) 构件的维护和基础没施的维护 3 1 领域拙述树的维护 4 ) 维护刻面及其术语空问,包括刻面信息的维护和术语的修改、删除、增 加等等 s ) 构件库中构件关系的维护 6 ) 负责构件的分类和构件的认证 7 ) 用户反馈信息的处理,如构件的可用性、可靠性、使用频率等等 3 4 构件库系统的基本工作过程 这部分主要由娄建同学深入研究,本文只是根据构什库系统的工作机制简 要的介绍一f 工作流程: 1 ) 创建构件库,主要的工作是获得领域描述树、确定构件模型和选择合适 的分类方式。 2 ) 构件入库,主要涉及到领域描述树的更新、构件信息和实体的提交、构 件的认证、构件的分类和构件的j e 式入库。 3 ) 构件检索,采用不同的方式进行构件的浏览和检索,以及检索结果的处 理。 4 ) 构件库维护,由系统管理员完成的各项任务。 5 ) 组装应用系统,采用的是一种迭代的、增量的软件构件丌发技术。 3 5 本章小结 本章从总体上简介了教学评测、订估领域构什库系统,包括系统的特点、系 统的体系结构、系统的管理工具、系统中的人员,以及构件库系统的基本工作过 程。从整体把握了构件库系统在本领域的应用系统,i :发中的作用和地位。 y 训e 大学丁学颁卜学位论文 第4 章教学评测、评估领域构件库系统的分类检索技术 4 1 教学评测、评估领域构件库系统的分类模型 教学泮删、计估钡域构件厍糸统o p 泶剧t 以刻向分荚万式、d s s a 和构件关 系分类方式为主,属性值方式为辅的分类模式,实现对构件准确全面的分 类。图4 - 1 是此构件库系统的构件分类流程,我们将依次详细介绍各种分类方 式。 臣圜 臣曼 上 0 1 ,则: d 2 d i d 属于k ,并且a b s ( d i s t ( q ( d ) ,t ( d ) ) ) e ) 其中,a b s ( x ) 表示对x 取绝对值。 以下是前提假设和检索算法: 假设刻而分类模式有n = 4 个刻面分别为f 1 、f 2 、f 3 、f 4 ;权重依次为1 、3 n 、 2 n 、i 小递减:同义词术语定为m = 3 个等级分别为、$ 、i 权重依次为l 、2 m 、 l ,m ;父亲术语的权重为i x 。n 、m 、x 的取值可以根据不同的系统而定。 术语空间的深度为y ,则构造的c o d e 序列为: t ,捍t ,s t ,t ,f ( 1 ) ,捍f ( 1 ) ,$ f ( 1 ) f ( 1 ) ,f ( y - 2 ) ,捍f ( y 一2 ) ,$ f ( y - 2 ) ,f ( y 一2 ) 其中,f ( y ) n 勺表示术语t 的第y 层父亲术语 刻面

温馨提示

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

评论

0/150

提交评论