




已阅读5页,还剩65页未读, 继续免费阅读
(计算机软件与理论专业论文)基于语义的软构件的表示和检索技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
哈尔滨t 稃大学硕十学位论文 摘要 基于构件的软件开发是解决软件危机的有效途径。在基于构件 复用的软件丌发过程中,构件库管理系统扮演了重要角色。在构件 库管理系统中构件的表示及其检索是最基本也是最核心的功能之 一。传统的构件描述与检索方式,由于缺乏构件的语义信息描述, 用户难以精确检索到与需求匹配的构件资源,所以不能很好地实现 资源共享和复用的目的。 针对上述问题,本文在刻面分类描述的基础上引入本体,建立 基于语义的构件分类和描述结构,将本体与刻面相结合,使刻面描 述具有语义信息,使本体很好地为构件库服务,应用本体可以对用 户提交的检索请求进行语义扩展。 基于语义的软构件分类方法从五个刻面对软构件进行描述,并 将构件的刻面通过术语空间与构件本体和领域本体相结合,对本体 的组成、描述方法以及如何构建本体进行了研究,在基于软件工程 的领域本体构建方法的基础上构建构件本体。将构件之间以及构件 的刻面术语之间的关系体现于本体中,为用户的检索请求提供语义 扩展的技术支持。通过对传统构件检索的基本原理、技术及发展现 状等方面的分析研究,提出了一种基于本体与刻面相结合的构件检 索模型,详细描述了本体与刻面相结合的构件检索系统的设计思想 和检索流程。在该系统中,用户使用自然语言描述需求,以提高使 用的方便性,利用领域本体中的领域知识对检索条件进行扩充和求 精,并且研究了构件检索时构件描述树与查询树的语义匹配,有效 地提高了构件检索的查全率和查准率。 关键词:软构件库;检索;刻面;本体;树匹配 哈尔滨t 程人学硕十学何论文 a b s tr a c t 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 ti sa ne f f e c t i v ew a yt o s o l v et h es o f t w a r ec r i s i s i nt h ed e v e l o p m e n to fr e u s i n gt h ec o m p o n e n t , t h e c o m p o n e n tm a n a g e m e n ts y s t e mp l a y s a n i m p o r t a n t r o l e t h e c o m p o n e n tc l a s s i f i e dm e t h o da n dt h er e t r i e v a li soneo ft h em o s tb a s i c a n dt h em o s tc o r ef u n c t i o n si nt h ec o m p o n e n tm a n a g e m e n ts y s t e m t h e t r a d i t i o nc o m p o n e n td e s c r i b e sar e t r i e v a lm e t h o dl a c k so fs e m a n t i c d e s c r i p t i o no ft h ei n f o r m a t i o n ,i ti sh a r dt of i n dt h ee x a c tc o m p o n e n t m a t c h i n gt o t h e r e q u i r e m e n t s ,a n dt h e r e f o r e i sh a r dt oa c h i e v et h e p u r p o s eo fs h a r i n gt h er e s o u r c ea n dr e u s e a c c o r d i n gt ot h ea b o v ep r o b l e m ,t h eo n t o l o g yt e c h n o l o g yb a s e do n t h ef a c e tc l a s s i f yd e s c r i p t i o ni sb r o u g h tt ot h i sp a p e r ,a n dt h es t r u c t u r e b a s e do nt h es e m a n t i cc o m p o n e n tc l a s s i f i c a t i o na n dt h ed e s c r i p t i o ni s e s t a b l i s h e d t h ec o m b i n a t i o no ft h e f a c e ta n dt h eo n t o l o g ya d d st h e s e m a n t i ci n f o r m a t i o nt ot h ef a c e td e s c r i p t i o n a n do n t o l o g yt e c h n o l o g y c a ne x t e n du s e r sr e t r i e v a l q u e r i e ss e m a n t i c a l l y ,a n di m p r o v et h e p r e c i s i o na n dt h er e c a l l c o m p o n e n tc l a s s i f i e d a n dt h er e t r i e v a lm e t h o dd e s c r i b e st h e c o m p o n e n tw i t hf i v ef a c e t s ,a n dc o m b i n e st h e f a c e tt e c h n o l o g yw i t h c o m p o n e n to n t o l o g ya n dd o m a i no n t o l o g yt h r o u g ht h et e r ms p a c e i t r e s e a r c h e so nt h ed e s c r i p t i o na n dt h er e t r i e v a lo ft h ec o m p o n e n ta n dt h e c o n s t r u c t i o no ft h eo n t o l o g y a n di tc o n s t r u c t st h ec o m p o n e n to n t o l o g y b a s e do nt h ec o n s t r u c t i o nm e t h o do ft h ed o m a i n o n t o l o g y t h e r e l a t i o n s h i p so ft h ec o m p o n e n t sa n dt h er e l a t i o n s h i p so ft h ef a c e tt e r m s a r ed e s c r i b e db yo n t o l o g y ,w h i c hp r o v i d e st h es e m a n t i ce x t e n s i o nt ot h e u s e r 7s r e t r i e v a lq u e r i e s h a v i n ga n a l y z e dt h e p r i n c i p l e ,t e c h n o l o g ya n dt h e s t a t u so ft h et r a d i t i o n a lc o m p o n e n tr e t r i e v a l ,t h e p a p e rp r o p o s e sam o d e lo f 哈尔滨i :稗人学硕十学位论文 c o m p o n e n tr e t r i e v a lb a s e do no n t o l o g ya n df a c e t i ta l s od e s c r i b e st h ed e s i g n i d e aa n dt h ep r o c e s so fs e a r c h i n go ft h es y s t e mi nd e t a i l i nt h es y s t e m ,u s e rc a n s p e c i f yq u e r yi n n a t u r a l l a n g u a g e ,w h i c hy i e l d s af l e x i b l ea n dr e f i n e db y u t i l i z i n gt h ed o m a i nk n o w l e d g ee m b e d d e di nd o m a i no n t o l o g y k e yw o r d s :c o m p o n e n tr e p o s i t o r y ;r e t r i e v a l ;f a c e t ;o n t o l o g y ;t r e e m a t c h i n g 哈尔滨工程大学 学位论文原创性声明 本人郑重声明:本论文的所有工作,是在导师的指导 下,由作者本人独立完成的。有关观点、方法、数据和文 献的引用己在文中指出,并与参考文献相对应。除文中己 注明引用的内容外,本论文不包含任何其他个人或集体已 经公开发表的作品成果。对本文的研究做出重要贡献的个 人和集体,均己在文中以明确方式标明。本人完全意识到 本声明的法律结果由本人承担。 作者( 签字) :越豳: 日期:洲年乡月陀日 哈尔滨i :程大学硕十学位论文 1 1 研究背景 第1 章绪论 目前,软件业中,软件复用技术为软件工程提供了一条提高软 件生产效率和软件质量的解决方案,其出发点是应用系统的开发以 已有的工作为基础,充分利用已有系统的开发中所积累的知识和经 验进行新的开发。 软件复用是指应用已有的、为重用目的而开发的软件构件构造 新的软件系统;软件构件技术被视为支持软件复用的核心技术之一; 围绕软件复用出现了许多软件开发技术,比如软构件开发技术、软 件框架技术、构件库技术和构件组装技术等,这些已经成为当前软 件复用研究的重点。 软件行业的工业化生产的快速发展,促进了软件构件技术的产 生和发展,软件构件只有在数量上达到了一定的规模才能真正满足 软件复用和基于构件的软件开发( c b s d ) 的需求,因而,软构件库作 为一种支持软件复用的工具应运而生了,它是对这些数量庞大的软 构件进行管理的一个强有力的工具,提供对软件构件进行描述、分 类、存储和检索等功能。当前,软件构件技术已成为软件工程领域 的研究热点,其研究内容包括构件的标准和模型、构件的生产和获 取、构件的规约与描述、构件的分类与组织、构件的检索与组装、 软件体系结构、软件复用工具与管理手段、基于复用的软件开发过 程等方面,这些研究工作取得了很大进展和众多成果,而且还出现 了一些产业构件标准,如,c o m d c o m c o m + 、s u n 的e j b 和o m g 的c c m 。 构件被存储在如此庞大的构件库中,必须找到此构件以后才能 使用,构件的检索技术是必不可少的。而对构件库的检索一直是影 响软件复用的瓶颈,研究人员对此做了大量的研究,并出现了多种 构件库检索方法,如基于关键字的检索、刻面检索、基于神经网的 检索等等。 哈尔滨l :稃人学硕+ 学位论文 1 2 国内具代表性的软构件库及采取的检索方法 构件库作为软件复用的基础设施,成为近十几年来软件复用的 研究热点和重点,国内外学术界对其进行了比较深入的研究。当前, 已经出现了不少构件库系统和原型。 1 2 1r e b o o t 构件库系统 r e b o o t ( r e u s eb a s e do no b j e c to r i e n t e dt e c h n i q u e s ) 是欧盟 信息技术计划e s p r i t 中的一个项目,目标是研究、开发以及推广复 用驱动的和面向对象的软件技术。r e b o o t 系统是9 0 年代初期国际上 比较著名的构件库系统,有下列技术特色: ( 1 ) 采用刻面分类作为主要分类方法。定义了a b s t r a c t io 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 四个刻面来描述系统所存 储的面向对象的源代码构件。 ( 2 ) 提供构件的详细描述和测试信息,用户可以通过这些信息来 理解构件。此外,对每一个构件设置一个开放论坛,提供给用户报 告他们的复用经验和遇到的问题。 ( 3 ) 开发了一个基于“要素一标准一度量”模型标准的度量体系, 定义了两个质量与可复用性的模型来评估构件的质量和可复用性。 复用者可以通过主观评估与模型的静态计算相结合来评估构件。 ( 4 ) 要求用户在使用适配工具提取构件时,提供构件的复用历 史,包括用户的满意程度、提取代价、修改代价、节省的努力、批 评意见、构件的修改需求等方面的反馈。 1 2 2 青鸟构件库管理系统 青鸟构件库管理系统( j b c l m s ) 是国家“九五 重点科技攻关项 目一一“软件工程环境( 青鸟c a s e ) 工业化生产技术及系统( j b s e i m s ) 的研究开发”中的核心组成部分之一。j b c l m s 是一个基于i n t e r n e t 的软件资产库管理系统,具有如下特点: 2 哈尔滨t 程大学硕十学侮论文 ( 1 ) 可以存储和管理。义的构件,采用数据库管理系统存储构件 描述信息,文件系统存储构件实体。 ( 2 ) 提供关键词、刻面、规约等多种检索方式。j b c l m s 选取使用 环境、应用领域、功能、层次、表示方法等作为基本刻面,以满足 宽谱系构件的描述需求。 ( 3 ) 采用“用户一人员组一构件子库一构件 四级模式来实现用户 在构件库中的职责和权限。 ( 4 ) 提供基于数据仓库技术的构件反馈机制,为用户选取构件提 供辅助分析。 1 2 3a g ora 构件搜索引擎 a g o r a 是c m us e i 开发的一个构件搜索引擎。s e i 的一些研究人员 认为传统的构件库是一种大型的集中式系统,库的可访问性和可扩 展性都有限。随着j a v a b e a n s 、a c t iv e x 、c o r b a 等商业构件标准的建 立与发展,在i n t e r n e t 的各个节点上分布着大量可复用的标准构件, 因此,应该研究一种在i n t e r n e t 上搜索这些构件的工具。a g o r a 通过 对w e b 页面的搜索来获取构件u r l 等相关信息,采用和普通搜索引擎 相同的方式管理构件信息。除了利用s p id e r 技术在w e b 页面上搜索构 件外,a g o r a 也允许构件丌发者将他们开发的构件直接在a g o r a h 艮务 器上注册。相对于传统的构件库,a g o r a 系统有如下特点: ( 1 ) 节省了构件验证和构件库管理的成本,构件开发者无需提交 构件,构件库的用户能够相对及时地得到构件的最新版本。 ( 2 ) 搜索的构件种类有限,由于构件模型的差异。对j a v a a p p l e t 和a c tiv e x 的搜索效果比较好,而对其它种类的构件( 如c o r b a 、e j b ) 搜索效果较差。 ( 3 ) 构件的描述信息和分类信息不够充分。缺乏构件功能的语义 描述信息,用户只能通过方法、事件或属性名称进行查询,不便于 用户准确定位查询和使用构件。 ( 4 ) 库中构件的唯一性和存在性得不到保证。 哈尔滨t 稃人学硕十学何论文 1 2 4c o d e bro k e r c o d e b r o k e r 是美国c o l o r a d o 大学开发的一个构件库原型,其 特色是构件库与源程序编辑工具实现无缝集成,为用户提供主动查 询服务。c o d e b r o k e r 存储的构件是j a v a 的类和方法,辅助j a v a 程 序员的开发系统通过三个a g e n t ( l is t e n e r 、f e t c h e r 、p r e s e n t e r ) 实现构件的主动查询。l is t e n e r 在后台实时监控用户在编辑器中的 输入,通过对输入文本( 注释、类名或方法名) 的分析获得查询条件, 交给f e t c h e r 处理。f e t c h e r 在构件库中检索满足条件的构件通过 p r e s e n t e r 在编辑器中动态显示出来,这样编程人员就可以及时而自 动地获取所需要的构件。c o d e b r o k e r 的查询条件完全依赖于用户在 编写程序过程中的文本输入,因此查准率较低,为此c o d e b r o k e r 提 供了一套构件过滤机制帮助用户快速删除不相关的构件。 1 3 现已应用到构件检索中的技术 1 3 1 树匹配方法 目前,对于刻面描述的构件检索主要采用的还是以传统的数据 库检索技术为主并结合利用同义词词典和刻面术语空间的层次结构 来实现构件的松弛匹配。但是,构件库的检索与一般的数据库或文 献库中的检索不同。首先,构件的检索需要一定的松弛匹配的能力, 在保证一定查准率的情况下提高查全率。另外,构件的检索需要兼 顾对查询的构件的不完全描述,对查询的匹配应有一定的模糊能力, 不仅要求能给用户返回匹配的结果,还要求能返回相应的匹配程度, 为用户复用构件提供有意义的参考。另外,各个构件库的刻面分类 方案可能完全不一样。有时,为了查到合适的构件,用户查询可能 需要跨越多个构件库,如何在匹配时有效地屏蔽不同的构件刻面分 类方案问的差异。这也是刻面匹配所需要解决的问题。 采用目前的刻面描述匹配技术来解决这些要求还存在许多值得 改进的方面。f o r b e sg ib b 在他们的可复用软件构件研究项目中引进 4 哈尔滨r r 稃大学硕+ 学伉论文 了x m l 作为构件刻面描述的标记语言,并应用x m l 检索语言x m l s q l 米 完成构件检索的任务。但是,在对构件刻面描述的匹配技术的设计 上还存在着一定的改进空间。从而,王渊峰等人将树匹配的方法结 合进构件刻面描述的匹配,提出了一个包含3 个层次、5 种匹配类型 的可复用构件刻面描述的匹配模型n 9 。 树匹配方法即对一个刻面分类方案,将其中的刻面、子刻面分 别映射为树中对应的父节点、子节点,对采用某个刻面分类方案描 述的构件,可以将其对应的描述术语映射为对应的叶子节点。对于 构件的查询也可相应地表示为一棵查询树。将查询中出现的刻面名、 子刻面名转化为相应层次的父子节点,并将待查询的刻面术语值映 射为叶节点。于是,构件的检索可以转化为查询树与库中每个构件 的刻面描述树之间的匹配。两棵树之间的匹配本质上是两棵树的节 点之间的一个映射。根据对该映射所施加的约束条件的不同,可以 得到不同类型的匹配。 1 3 2 基于关联挖掘的自适应构件检索方法 一个构件库检索系统的检索质量通常通过查全率、查准率和检 索效率进行衡量。在实际的应用过程中,构件的复用者并不是构件 的生产者或构件库的管理员,故在对构件进行检索时,常常对构件 库中描述构件的刻面和术语理解不充分,因而难以给出完整和精确 的检索需求,从而对检索的查准率造成影响。但实际上可以根据用 户最终选取的结果反映出其真实需求。如果能够从用户的检索行为 及用户对检索结果的反馈中,推断出用户的检索特点即反映用户给 出的非精确检索条件与用户实际需要的精确检索条件之间内在联系 的模式,则利用这些模式可以对新的不完整的检索需求进行补充, 从而提高系统的查准率。 薛云皎等人的带有用户反馈的自适应构件检索模型以及基于关 联挖掘的自适应学习算法,在研究构件检索特点的基础上,针对基 于刻面描述的构件,借鉴数据挖掘中关联规则挖掘的理论,将数据 哈尔滨t 程人学硕十学何论文 挖掘方法引入构件检索,从用户检索行为及反馈中,挖掘出非精确 检索条件与精确检索结果之间的关联规则,从而调整检索机制,提 高构件检索的查准率旺叫。 在基于刻面描述的构件的检索中,用户结合复用需求和构件库 提供的刻面以及术语集提出检索关键词,提交检索系统。用户对检 索需求描述的完整性和精确性取决于用户对构件库所采用的刻面及 术语的熟悉程度。由于用户并非构件生产者或构件库管理员,难以 完全理解刻面和术语的含义,故常可能在提出检索需求时遗漏部分 刻面或术语,这称为用户的隐含需求。在构件库检索系统返回检索 结果后,用户可以根据实际需要在结果集中进行进一步筛选。从而 可以根据用户在筛选过程中表现出的行为特点,挖掘出用户的隐含 需求,从而在检索中自动加入隐含需求的约束,在一定程度上提高 构件库检索系统的查准率。 1 3 3 数据挖掘技术与决策树分类方法 数据挖掘就是从大量的、不完全的、有噪声的、模糊的、随机 的数据中,提取隐含在其中的、潜在的有用信息和知识的过程它 的发现过程主要有3 个步骤:定义要发现的问题;根据问题进行数据 搜索及模式抽取;评价所发现的知识的好坏。在三者之中,核心技 术是数据搜索及模式抽取方法。 数据挖掘的核心技术算法主要有统计分析方法、神经元网络、 决策树方法、遗传算法等,其中决策树是常用于预测模型的算法, 它将大量数据有目的地分类,从中找到一些具有价值的、潜在的信 息,以其易于提取显式规则、计算量相对较小、可以显示重要的决 策属性和较高的分类准确率等优点而得到广泛的应用。决策树分类 方法可在软构件检索中起到辅助决策支持的作用。 决策树的基本思想:决策树的结构就像一棵树。它利用树的结 构将数据记录进行分类,树的一个结点就代表某个条件下的一个记 录集,根据记录字段的不同取值建立树的分支;在每个分支子集中 6 哈尔滨i :稗人学硕+ 学位论文 建立f 层结点和分支,便可生成一棵决策树。 决策树构建过程心:决策树是通过一系列规则对数据进行分类 的过程。它提供一种在什么条件下会得到什么值的类似规则的方法。 决策树分为分类树和回归树两种,分类树对离散变量做决策树,回 归树对连续变量做决策树。一般的数据挖掘工具,允许选择分裂条 件和修剪规则,以及控制参数( 最小节点的大小,最大树的深度等 等) ,来限制决策树的。决策树作为一棵树,树的根节点是整个数据 集合空间,每个分节点是对一个单一变量的测试,该测试将数据集 合空间分割成两个或更多块。每个叶节点是属于单一类别的记录。 构造决策树的过程为:首先寻找初始分裂。整个训练集作为产生决 策树的集合,训练集每个记录必须是已经分好类的。决定哪个属性 ( f ie 1d ) 域作为目f j i 最好的分类指标。一般的做法是穷尽所有的属性 域,对每个属性域分裂的好坏做出量化,计算出最好的一个分裂。 量化的标准是计算每个分裂的多样性( d iv e r sit y ) 指标基尼( g i n i ) 指标。其次,重复第一步,直至每个叶节点内的记录都属于同一类。 增长到一棵完整的树。 决策树建树的基本原理可以用i d 3 算法来说明。i d 3 算法是决策 树算法的代表,绝大多数决策树算法都是在它的基础上加以改进而 实现的。它采用分治策略,决策树的构造过程中,在树的各个节点 上利用特征属性的信息增益大小作为分支属性选择的启发式函数, 选择信息增益最大的特征作为分支的属性心2 1 。 决策树的技术难点:决策树算法的技术难点也就是选择一个好 的分支取值。利用一个好的取值来产生分支,不仅可以加快决策树 的生长,最重要的是产生的决策树结构好,可以找到较好的规则信 息。相反,如果根据一个差的取值来产生分支,不但减慢决策树的 生长速度,而且会使产生的决策树分支过细,结构性差,从而难以 发现一些本来可以找到的有用的规则信息。 数据挖掘技术及决策树方法在软构件库中的使用:r e b o o t 、n a t o 提出的构件分类方法都是基于刻面的;青鸟构件库的构件也是采用 以刻面分类为主、多种分类模式相结合的方法对构件进行分类描述 7 哈尔滨t 程大学硕十学位论文 的。这些方法,都足针对检索构件本身的。而在实际的软构件复用 过程中,构件的检索不仅应该能够高效检索出相关的构件集,关键 是如何使复用者快速地理解所检索到的构件,从而在这个构件集中 找到自己的真正所需,这是一个复杂的决策过程,一般都依赖于复 用者的复用经验以及通过浏览构件描述信息对构件的理解和主观评 判。数据挖掘技术可以从构件库的大量数据中获得决策支持所需的 多种知识,尝试采用数据挖掘技术,从构件的复用历史信息和复用 者复用构件的反馈信息出发建立挖掘数据集,采用相应的数据挖掘 方法挖掘出构件复用的若干规律,最大限度地排除人为的因素,变 盲目的、凭印象或凭经验的复用为建立在数据分析基础上的科学量 化分析;变孤立的、分散的复用为在科学计算分析基础上对规律性 和趋势性的判断乜纠。 1 。4 工作内容及论文结构 本文主要按照用户的需求,查询合适的构件,采用相关技术及 理论提高构件的查准率和查全率。本文的主要工作及所用的相关技 术用图1 1 形象化的描述。 本文所做的工作主要有以下几点: ( 1 ) 根据刻面的制定原则,制定软构件的刻面以及子刻面,生成 刻面描述树。 ( 2 ) 根据刻面的术语空间,构建领域本体和构件本体,将构件的 刻面和子刻面与构件本体相对应,将领域本体以带语义信息的概念 连通图的形式表示。 ( 3 ) 对用户用自然语言来表示的查询条件进行分词后运用本体 技术,对查询条件进行扩展,描述扩展算法,生成概念扩展后的构 件查询树。 ( 4 ) 对刻面描述树和构件查询树进行匹配,查找合适的构件,提 供匹配算法。 8 哈尔滨i :稃人硕十学位论文 型纠 1 1 一 ,j 2 _嗣r 曝 ,_ 语义扩展l ,。_ _ _ l 型查询l查询树_ 、 、n c = ,o 一划一1 i ! ; , 刻面描述卜一 _ 一 :刻面| :_ ;| ;。i琵z = j 五= 崮 件树 隆 图1 1 主要下作及相关技术图示 全文共分5 章。第1 章是绪论,第2 章是相关知识,第3 章是 基于语义的软构件的刻面描述,第4 章是领域本体的构建,第5 章 是基于语义的构件检索方法,具体的内容为: 第1 章介绍课题来源、研究意义、现状、主要内容及结构组织。 第2 章介绍相关知识,先软构件的由来及多年来学者们对软构 件的定义;接着列举了现有的软构件检索的方法;最后介绍在软构 件检索领域已经采用到的方法和取得的成果,以及本文将要采取的 技术和方法,为以后章节铺开思路。 第3 章介绍了刻面的相关知识,刻面及子刻面制定的原则和步 骤,以及按照本文需求所制定的刻面和子刻面,然后,为构件以刻 面描述树的形式展现,为以后构件描述树和查询树的匹配提供条件。 第4 章介绍了本体的相关知识,以及本体的形式化表示;然后 详细介绍了领域本体和构件本体及其构建过程,以及领域本体和构 件本体的定义、公理的描述形式;最后给出领域本体的本体概念连 通图。 9 哈尔滨t 稗人学硕十学位论文 第5 章构造了一个构件检索的体系架构,然后详细研究了此架 构中用户查询条件的语义扩展,形成扩展查询树,与构件描述树进 行匹配,从而找到合适的构件,提供了构件描述树和查询树之间的 匹配算法。 l o 哈尔滨t 程大学硕十学位论文 第2 章软构件检索方法概述 2 1 软构件的定义 构件的概念来源于软件复用。早在l9 8 6 年,在n a t o ( 北大西 洋公约组织) 会议上就提出了软件复用的概念,后来还为此制定了一 整套软件复用的指导性标准,其中包含了利用标准构件实现软件复 用的基本思路。也就是在这次会议上,m c l l r o y 在题为m a s s p r o d u c e d s o f t w a r ec o m p o n e n t ) ) 的论文中首次提出了构件的概念。构件技术作 为支持软件复用的核心技术,正越来越受到人们的重视。构件的定 义也随着时间的推移及其它相关软件开发技术的发展而逐渐演化。 构件的发展经历了以下三个阶段: 二十世纪六十年代末到八十年代初,结构化的软件开发思想开 始占主导地位。构件指的就是一些定义良好的方法包或者是功能模 块。 八十年代起,面向对象的丌发思想开始发展起来,构件指的就 是类库。这时候的类虽然具备了一定的封装、多态和继承性,但是 还需要依赖具体的编程语言,因此不能完全表达到可移植性和互操 作性的要求。 九十年代后,构件的内涵开始得到加强,聚合性、独立性和复 用性得到进一步提高。此时构件的定义得到了进一步完善。 目前主要的构件定义有: s a m e t i n g e r 认为构件是自包含、可清晰标识的片断,执行特定 的功能,有着清楚的接口、恰当的文档和己定义的复用状态。 o m g 组织在制定规范时认为构件是系统的一个物理的、可替换 的部分,它包装实现并且提供了一组接口的实现。一个构件表示系 统实现的一个物理部件,包括软件代码或者其等价物,如脚本或命 令文件等。 哈尔滨t :程大学硕 学何论文 著名软件构件学者s z y p e r s k i 认为:构件是一个带有契约化接口 规约和显示上下文依赖的组装单元,构件可以被独立发布并且可以 被第三方组装。该定义已被广泛的接受。 g a r n e g i em e l l o n 大学软件工程研究所的认为构件是非透明的功 能实现,可供第三方组装,并遵循一个构件模型。 h e i n e m a n 认为:构件是这样的构件元素,它符合一种构件模型, 能被独立地部署,且可未经修改地依据一种合成规范被组装。 北京大学杨芙清认为:构件是可以被复用的软件实体,由构件 规约与构件实现两部分组成。其中,构件规约主要由构件模型进行 描述。 计算机科学技术百科全书对软件构件的定义为:软件系统 中具有相对独立功能,可以明确辨识,接口由规约指定,与语境有 明显依赖关系,可独立部署,且多由第三方提供的可组装软件实体 软件构件需承载有用的功能,并遵循某种构件模型。 综上所述,可以知道,构件是具有特定功能的、可重用的并能 够独立工作或能同其它构件一起组装构造其它软件的独立的软件单 元。或者况,构件作为一种软件单元是可以独立的制造、分发、销 售、装配的。 2 2 现有的检索方法及优缺点 经过多年的研究,研究人员将软件构件检索方法归结为三类: 基于外部索引的检索、基于内部静态索引的检索和基于内部动态索 引的检索。基于外部索引的检索如常见的关键词检索、刻面检索和 基于属性值的检索、全文检索等。这类检索大多采用控制词典、属 性等外部索引对软件构件进行检索。基于内部静态索引的检索根据 软件构件自身的结构元素进行检索软件构件,器重软件构件规约的 语法和语义匹配、结构匹配技术等是主要方法。基于内部动态索引 的检索利用软件构件的可执行特性( 如:软件构件的输入与输出空间) 进行检索,基于行为的检索是目前这类检索中较常见的方法。以下 1 2 哈尔滨i :稃人学硕十学位论文 小节将介绍几种检索方法,并分析它们的优缺点。皑。j 。 2 2 1 基于知识的检索 基于知识的检索,其基本思想是:该方法对软件构件的自然语 言描述进行一些词法、句法和语义的分析。这种方法需要一个知识 库来存放应用领域以及自然语言本身的语义信息。优点是:由于抽 取了软件构件的语义信息,所以较之传统的基于关键词的检索方法 更加准确、有效。缺点是:知识库的构造通常是手工实现的,因此, 这种方法的代价是很大的。 2 2 2 基于关键词的检索 基于关键词的检索,其基本思想是:在该方法中,软件构件是 用一组关键词来描述,这些关键词是系统从软件构件的自然语言描 述中自动抽取的。用户的构件请求也是以自然语言给出,然后,由 系统翻译成另一组关键词,构件检索也就是这两组关键词之间的匹 配。其优点是:较之前一种方法,由于自动索引方法是自动进行的, 所以分类代价小得多,另外,允许用户输入自然语言,对用户的限 制较少。其局限性是:这种方法必须有大量的软件描述信息作基础, 才能得到较好的检索效率。然而,这一要求并不总能得到满足。因 此,在有些系统中,源代码本身也作为关键词抽取的对象。 2 2 3 刻面检索 刻面检索是最常用的软件构件检索方法。该方法是由 p rie t o - d ia z 等人首次提出的。后来,该方法又被其他人作了改进。 其基本思想是:该方法抽取软件构件的某些属性( 即刻面) 来作为软 件构件的描述符,如软件构件的动作以及构件操纵的对象等。构件 的分类和检索是通过对构件按刻面赋值( 关键字) 来实现的。改进后 引入了关键词和同义词典以提高刻面方法的分类和查询效率。这种 方法按属性分类符合人们的抽取习惯。 哈尔滨t 程大学硕十学何论文 基于刻面的方法相比传统的基于关键字的方法有了很大进步, 它从若干不同的维度描述复杂对象,提高了描述的精确性;用户的 检索请求被表示成一棵查询树,从而使构件检索转化为查询树与库 中构件的刻面描述树之间的匹配问题。但这种方法是建立在领域分 析产生的限制词汇表之上的,因为构件按刻面赋值需要手工完成, 领域词汇也需要手工产生,因此,这种方法代价较大。另外,由于 限制词汇表的使用会为不熟练用户带来不便。基于刻面的方法还存 在着其他的局限性: ( 1 ) 需求或产品描述的不完全是构件复用的主要问题,在基于刻 面的构件检索中,用户查询树代表了用户的复用需求,但在很多情 况下都是不完整、不精确的。这一方面是由于用户自身复用需求的 不明确,另一方面也是由于提供给用户的查询请求手段有限; ( 2 ) 从构件描述的角度看,刻面方案能够较为全面地描述一个构 件,但刻面树和术语空间的表达能力有限,例如术语间主要是一般 特殊关系且无法表达术语间的交叉分类; ( 3 ) 构件库的检索与一般的数据库或文献库中的检索不同,构件 的检索需要一定的模糊匹配能力,在保证一定查准率的情况下提高 查全率。传统的刻面检索方法只是将树匹配转化成了字符串匹配, 青鸟构件库虽然在刻面分类基础上增加了同义词词典,但由于缺乏 术语之间丰富的语义关系,查全率仍然不够理想。 由此可见,单纯使用基于刻面的描述方案无法让用户充分表述 自己的查询请求,同时构件的描述信息也不够完整。比钊 2 2 4 基于词法描述字的检索 ,1 基于词法描述字的基本思想 在构件检索系统中,软件构件被表示成规范说明,同样用户需 求也被表示成规范说明的形式,再由一个定理证明程序决定需求与 软件构件是否匹配。m “i 等人描述了一种使用程序的关系型规格说 哈尔滨t 程大学硕十学位论文 明以及这些规格说明之间的细化排序来组织和检索软件构件的方 法;c h e n 等人提出了一种相似途径,使用抽象数据类型的代数规格 说明以及它们之间偏序关系的一种实现方法。 2 优点 基于此法描述字的优点在于它注重软件构件的行为特征,而不 是它的外观描述;它有较高的查准率,能适应大型软件构件库的要 求。 3 局限性 ( 1 ) 具有规格说明的软件在可被重用的软件中所占比例不大; ( 2 ) 检索时间很强地依赖于所用的方法; ( 3 ) 比关键词检索方法代价大; ( 4 ) 依据接近度的匹配较难控制,因这类方法多数采用精确匹 配; ( 5 ) 定理证明技术的现状,使这种方法还不实用。即便如此,只 要形式化软件开发方法得到普及,此法会成为主要的构件表示和检 索方法。这不仅是因为规格说明直接来源于对象本身,还在于它是 决定需求和软件构件之间的异同的最自然的途径。 2 2 5 基于神经网的检索 1 基本思想 该方法使用神经元网络技术,依据软件构件的功能相似度来构 造构件库,例如,功能相似的构件被安置在相邻的位置。这样,构 件之间的相似度就变得清楚了,因为它受构件间的地理相近度决定。 神经元网络为依据用户的适当评价递增地改变概念距离权值提供了 理想的框架。 2 优点 解决了组合爆炸问题。在基于分类方法的检索系统中,相似度 计算通常用一个概念距离图来实现,该图建立了分类方法中限制词 汇表中术语的相似度。当软件构件库很大的时候,对该图的手工调 哈尔滨t 程大学硕十学位论文 整是不切实际的,因为在概念图上的关系数被认为是组合爆炸。 3 局限性 依赖于神经元网络技术的发展而完善,处于理论研究阶段。 2 2 6 构件库的模糊查询 模糊查询的思想就是利用隶属度来衡量用户输入的术语与各构 件的关键字之间的匹配程度,这要借助于领域字典,具体说就是通 过领域字典来定义和限制领域术语的语义,建立领域术语之间的语 义关系,并在此基础上计算隶属度,进而表示它们之间的语义相似 度。 在构件库查询中应用模糊查询理论的优点:有效地解决了基于 关键字查询方式中字集交叉,术语与内涵匹配等问题,提供了一定 的智能推理能力或模糊识别能力。 2 3 本章小结 本章首先介绍了软构件的定义,然后列举了现有的构件检索方 法,及它们存在的优缺点,相对重点介绍了刻面分类方法,并指出 在语义查询时,刻面所存在的缺点,为引出本体作铺挚。 1 6 哈尔滨t 秤大学硕十学何论文 第3 章基于语义的软构件刻面表示方法 3 1 基于刻面的软构件的表示 刻面( f a c e t ) 这个术语最早使用是在5 0 年代,现代构件库系统 的刻面分类检索法是p r ie t o - d ia z 和f r e e m a n 在l9 8 7 年提出的,这 种方法将关键词置于一定语境中,从构件本质特性的视角( 刻面) 对 构件进行精确的分类。一个刻面分类模式( f a c e t e ds c h e m e ) 由一组 描述构件本质特征的刻面组成,每个刻面从不同的侧面对构件库中 的构件进行分类。 定义3 1用来描述构件c 的刻面集合用f = f l ,f 2 ,f 3 ,) 表示, 其中,f i ( i = 1 ,2 ,) 是描述构件的一个刻面。如,f = a t t r ,s t a t u s , f u n ,a e ,a d ) ,即构件c 是通过构件属性( a t t r ib u t e ) 、构件形态 ( s t a t u s ) 、功能( f u n c tio n ) 、应用环境( a p p lic a tio n e n v ir o n m e n t ) 和应用领域( a p p lic a t io n d o m a in ) 五个刻面来描述的。 定义3 2构件c 在刻面f 下定义为一个多元组:c = w 1 ,w 2 , w 3 ,) ,w i ( i = l ,2 ,) 是刻面f 下的描述术语。如在构件属性刻 面下,c = 评教模块,项目组,2 0 0 7 0 8 i2 ,2 0 0 7 10 2 2 , 0 7 0 8 0 2 ) ,其中,“评教模块”是构件名称,“项目组”是构 件提供商或提供者,“2 0 0 7 0 8 i2 ”是构件完成时间,“2 0 0 7 10 2 2 是构件入库时间,“0 7 0 8 0 2 是构件的版本号。 3 2 刻面的制定原则和步骤 3 2 1 刻面分类模式的一般原则 1 一致性原则 透彻地理解构件应用的领域,明确构件分类领域的范围,借鉴 领域专家的建议,选取领域中特定的专业词汇,从而保持词汇的含 1 7 哈尔滨t 程大学硕十学何论文 义和用户的理解相一致,对于一个概念对应多个词汇的情况,可选 取其中一个最准确,专业的词汇作为术语,其他词汇作为同义词。 2 精简的原则 要求刻面和术语尽可能的简练、精确。在定制刻面分类模式时, 这是一条非常重要的原则。首先,刻面的数目不能太多,一般五到 十个。虽然增加刻面的数目有利于确定符合条件的构件,但同样会 增加刻面管理上的难度。其次,每个刻面中术语的数目也不能杂而 多。刻面是有限的不定集合,每当有新的构件入库,都有可能向术 语空间中添加术语。管理者应该消除有歧义的术语,控制同义词, 保持术语的增加趋于递减趋势。 3 刻面正交的原则 要求刻面彼此之间完全相互隔离。这样当改变某一刻面或刻面 中的术语时,不会影响到其它的刻面及其术语空间。同时也便利了 刻面的维护,使刻面能更好地适应构件库的变化。 4 全面性原则 要求刻面是构件库中所有构件的一个侧面,同时存在某一个刻 面适合构件的各种粒度和丌发过程的各个阶段。构件的每一个刻面 便是构件库中构件的一种划分,库中构件按照这种划分,必须明确 地隶属于某一个术语。 5 易于理解的原则 选取的刻面不应生僻、晦涩、而应是构件库的复用者最关心和 最感兴趣的构件属性,同时也是构件本身最相关的属性,这样才能 够提高刻面分类模式可理解性和易用性。 6 技术的复杂性和检索效率平衡的原则 考虑技术上的实现和检索效果的平默思衡。较少的刻面易于实 现和维护,但会影响构件的检索效果,而过多的刻面可以更精确的 描述构件,提高构件检索的效果,但会加剧刻面维护的工作量。同 时,属于空间的维护以及术语同义词的维护与检索效果也应该有个 平衡点。应该针对领域的大小和构件的复杂程度,确定合适的刻面 数目,并确定术语和术语同义词的处理方案。 1 8 哈尔滨t 程大学硕十学何论文 7 充分考虑具体的特定领域软件结构特定的原则 不同领域中的软构件各有自己的特点,例如构件处理领域的对 象、构件的功能集、构件之间关系等等。所以,在制定本领域的刻 面分类模式时,应充分考虑领域特点,有效地提炼、简化刻面和术 语,提高检索效率。 3 2 2 制定刻面分类模式的步骤 1 确定刻面分类模式的范围 它是对什么对象进行分类,分类的范围是什么,分类的对象是 什么( 软件构件,包括系统开发过程中各种粒度和层次的可重用资 源) 。 2 确定刻面分类的目的 确定构件库的角色是谁、复用者的需求是什么、返回怎样的信 息才令人满意,等等。 3 确定刻面 刻面数目多少最合适,即选择多少刻面后,才能较全面准确的 表示领域的所有构件。选择刻面还要遵循一定的原则,其中包括: ( 1 ) 一致性原则:选择领域中特定的专业词汇,保持词汇的含义 和用户的理解相一致; ( 2 ) 精简原则:要求刻面和术语尽可能的简练、准确; ( 3 ) 刻面正交原则:要求刻面彼此之间完全相互隔离,这样当改 变某一刻面或可面中的术语时,不会影响到其它的刻面及其术语空 问; (
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025贵州丹寨县人民检察院招聘聘用制检察辅助人员模拟试卷及答案详解(历年真题)
- 2025河北雄安新区雄县卫健系统招聘专业技术人员71名考前自测高频考点模拟试题及完整答案详解一套
- 2025年山东文旅集团科技发展有限公司招聘模拟试卷及一套参考答案详解
- 2025年甘肃省平凉华亭市策底镇招聘专业化管理的村文书考前自测高频考点模拟试题有答案详解
- 2025广东医科大学附属医院第二批住院医师规范化培训学员招生19人模拟试卷及答案详解(全优)
- 2025贵州金沙县城乡建设发展集团有限公司招聘经理层高级管理人员(财务总监)1人模拟试卷及答案详解(典优)
- 2025安徽黄山市黄山区磐基砂石料经营有限公司招聘工作人员考前自测高频考点模拟试题完整答案详解
- 2025安徽宿州市立医院招聘编外人员42人模拟试卷(含答案详解)
- 2025湖南湘潭市岳塘区事业单位急需紧缺专业人才引进55人考前自测高频考点模拟试题及答案详解参考
- 2025年温岭市公开选调公务员32人模拟试卷完整答案详解
- 路灯施工安全责任协议书
- 沪科版七年级上册初一数学全册教案(教学设计)
- 防止电力生产事故25项反措地重点要求最终版
- 第2章-信息可视化设计的概念、原则与类型60课件
- 日本蜡烛图技术完整版
- 崇义县凌志矿冶有限责任公司过埠铁木里铁矿(新增资源)采矿权出让收益评估报告
- 大学学生违纪处罚办法
- 癌痛规范化治疗课件资料
- 牛津9AU3-Head-to-head名师制作优质教学课件
- 深信服SDWAN产品介绍
- 雨露计划职业教育补助-学籍证明-模板四川优秀资料
评论
0/150
提交评论