已阅读5页,还剩75页未读, 继续免费阅读
(计算机软件与理论专业论文)基于本体语义的构件检索.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 软件复用是近年来国内外软件界研究的热点之一,它能大幅度提高软件质 量和生产率,降低软件开发和维护的成本。而如何有效地检索到用户所需要的 软件构件是实现软件复用的一项关键技术。 现有的构件描述和检索技术要求其匹配过程完全一致、刚性一致。并没有 考虑一个意思用多个词语来表达的情况。只要表达同一个意思的两个词不一致, 就认为不匹配。具有很大的机械性。大多没考虑语义描述能力,其查全率和查 准率往往无法令人满意,不能很好地实现软件复用的目的。针对上述问题,本 文通过引入本体语义来弥补现有构件描述和检索技术中的语义缺失方面的问 题。 本文的主要研究内容有以下几个方面: 1 研究本体模型建立方法,提出利用叙词表来建立本体模型,叙词表一般 包括相对比较完整的术语( 叙词) ,这些术语( 叙词) 可以为本领域本体中的概念 的创建提供指导。另外,叙词表中的限义词、涵义注释、等级关系、词间关系, 为领域本体中概念的属性、实例以及关系的创建提供指导。 2 自然语言解释,在这运用到本体语义实例库。先把用户查询要求自然语 言描述划分并转换成若干语义代码,再和实例库中的语义代码进行匹配,若匹 配成功,则可把自然语言描述转换成本体语义描述。 3 查询描述语义扩展,领域本体中含有完整的概念信息及概念间的丰富联 系,本文中的语义扩展就利用到这些信息并借鉴一些常用的逻辑推理规则进行 语义扩展,挖掘描述中的隐含信息。使用户要求描述更为完整。 4 构件匹配:通过从构件的功能属性、非功能属性、操作对象三方面的要 求,采用基于本体语义的检索机制对构件库中的构件进行检索匹配,对于这些 内容本文在第五章进行阐述。 关键词:软件复用;构件检索;本体语义 a b s t r a c t a bs t r a c t s o f t w a r er e u s ei sar e s e a r c hh o t s p o ti nr e c e n ty e a r sa th o m ea n da b r o a d i tc a l l d r a m a t i c a l l yi m p r o v e s o f t w a r e q u a l i t y a n d p r o d u c t i v i t y r e d u c i n g s o f t w a r e d e v e l o p m e n ta n dm a i n t e n a n c ec o s t s h o wt oe f f e c t i v e l yr e t r i e v eo ft h es o f t w a r e c o m p o n e n t st h et h eu s e rn e e d n l i s i st oa c h i e v eak e yt e c h n o l o g yo fs o f t w a r er e u s e c o m p o n e n td e s c r i p t i o na n dr e t r i e v a lo fe x i a i n gt e c h n o l o g yr e q u i r i n gt h em a t c h i n g p r o c e s se x a c t l yt h es a m e d o e sn o tt a k ei n t oa c c o u n tan u m b e ro fw o r d su s e dt o e x p r e s st h em e a n i n go ft h es i t u a t i o n a sl o n ga st oe x p r e s st h es a m em e a n i n gi nt h e t w ow o r d si n c o n s i s t e n t w r o u l dt a k ei tt h a td on o tm a t c h h a sg r e a tm e c h a n i c a l m o s t d i dn o tc o n s i d e rt h es e m a n t i cd e s c r i p t i o no fc a p a b i l i t i e s , t h er e c a l lr a t ea n dp r e c i s i o n r a t ei so f t e nn o ts a t i s f a c t o r y , n o ts e r v et h ep u r p o s eo fs o f t w a r er e u s e i nr e s p o n s et o t h e s ep r o b l e m s ,i nt h i sp a p e r , i n t r o d u c t i o n i n go fo n t o l o g yt ot of i l lt h ee x i s t i n g c o m p o n e n td e s c r i p t i o n sa n d r e t r i e v a lo fs e m a n t i cm i s s i n gi s s u e s m a i nc o n t e n t so ft h i sa r t i c l ei n c l u d et h ef o l l o w i n gm a i na s p e c t s : 1 r e s e a r c ho n t o l o g ym o d e l i n gm e t h o d ,p r o p o s et h eu s eo ft h e s a u r it ob u i l d o n t o l o g ym o d e l ,t h e s a u r ig e n e r a l l yi n c l u d e ar e l a t i v e l yc o m p l e t et e r m s ( t h e s a u r i ) , 1 1 1 e s et e r m s ( t h e s a u r i ) c a nb ec e n t e r e di nt h ec o n e e p to fd o m a i no n t o l o g yc r e a t i o n t op r o v i d eg u i d a n c e i na d d i t i o n , n l e s a u r ii nl i m i t e dm e a n i n gw o r d s ,t h em e a n i n g o fa n n o t a t i o n s ,h i e r a r c h i c a lr e l a t i o n s h i p s ,i n t e r - w o r dr e l a t i o n s ,c a r lp r o v i d e g u i d a n c ef o rt h ed o m a i no n t o l o g yi nt h ec o n c e p to fp r o p e r t y , n l ec r e a t i o no f i n s t a n c e sa n dr e l a t i o n s h i p st op r o v i d eg u i d a n c e 2 n a t u r a ll a n g u a g ei n t e r p r e t a t i o n , i nt h i sa p p l ya p p l i e dt h eo n t o l o g yl i b r a r y s h o u l d f i r s td i v i s i s eo fan a t u r a ll a n g u a g ed e s c r i p t i o no fu s e rq u e r yr e q u e s t sa n d c o n v e r t e di n t oan u m b e ro fs e m a n t i cc o d e t h e nt h es e m a n t i c so ft h ec o d e m a t c h i n gi ne x a m p l e so ft h el i b r a r y i ft h em a t c hs u c c e s s f u l l y , t h en a t u r a l l a n g u a g ed e s c r i p t i o nc a nb ec o n v e n e di n t os e m a n t i cd e s c r i p t i o n 3 e x p a n s i o no ft h es e m a n t i cq u e r y , d o m a i no n t o l o g yc o n t a i n st h ec o n c e p to f c o m p l e t ei n f o r m a t i o na n de x t e n s i v el i n k sb e t w e e nc o n c e p t s n l es e m a n t i c so ft h i s e x t e n s i o nu s et h e s ei n f o r m a t i o na n du s es o m ec o m m o r lr u l e so fl o g i cf o rs e m a n t i c e x t e n s i o n ,m i n i n gt h ei n f o r m a t i o nd e s c r i p t i o ni m p l i e d s ot h ed e s c r i p t i o no f u s e r r e q u i r e m e n t sw i l lb em o r ec o m p l e t e 4 c o m p o n e n tm a t c h :t h r o u g ht h ec o m p o n e n t so ft h ef u n c t i o n a lp r o p e r t i e s , n o n f u n c t i o n a la t t r i b u t e s ,o p e r a t i o no b j e c td e m a n d s ,r i s eo n t o l o g y b a s e ds e m a n t i c r e t r i e v a lm e c h a n i s mt om a t c ht h ec o m p o n e n t si nt h ec o m p o n e n tl i b r a r y n l ec o n t e n to f t h i sa r t i c l ea r ed e s c r i b e di nt h ef i f t hc h a p t e r c h a p t e rvi sa l s oak e ys e c t i o no ft h i s a r t i c l e i i a b s t r a c t k e yw o r d s :s o f t w a r er e u s e ;c o m p o n e n tr e t r i e v a l ;o n t o l o g ys e m a n t i c s ; i i i 学位论文独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得直昌太堂或其他教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确 的说明并表示谢意。 学位论文作者签名( 手写) 赴朗碉签字日期彩研年2 月2 乙日 j 学位论文版权使用授权书 本学位论文作者完全了解直昌盔堂有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权直昌太堂可以将学位论文的全 部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编本学位论文。同时授权中国科学技术信息研究 所将本学位论文收录到中国学位论文全文数据库,并通过网络向 社会公众提供信息服务。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名趣瓤阳 导师签名:撕吖 签字日期枷刀钾2 月见日签字日期:矽d 年月沙日 学位论文独创性声明 学位论文独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含为获得直昌盍堂或其他教育 机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何 贡献均己在论文中作了明确的说明并表示谢意。 学位论文作者签名( 手写) :签字日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解直昌太堂有关保留、使用学位论文的规定,有权 保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借 阅。本人授权直昌太堂可以将学位论文的全部或部分内容编入有关数据库进行 检索,可以采用影印、缩印或扫描等复制手段保存、汇编本学位论文。同时授 权中国科学技术信息研究所将本学位论文收录到中国学位论文全文数据库, 并通过网络向社会公众提供信息服务。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名( 手写) : 签字日期:年月日 导师签名c 掏:磊删 签字日期:年月 第l 章引论 1 1 研究的背景 第1 章引论 当今随着经济和社会的快速发展,人们在不断追求更高的生产率,工作效 率。这也使得人类对计算机的依赖以及软件开发的要求越来越高。同时对软件 开发产生了一定的影响。传统的软件开发方式速度慢。开发出的软件质量也不 高。软件开发与维护过程中出现了一系列严重的问题。已经不能满足人们对它 的高需求。与人们的需求出现了较大的矛盾,这即为“软件危机。六十年代出 现的这个“软件危机 的现象导致了有关软件复用的研究。1 9 6 8 年秋季,n a t o 的科技委员会召集了近5 0 名一流的编程人员、计算机科学家和工业界巨头,讨 论和制定摆脱“软件危机 的对策。在那次会议上有人首次提出了可重用软件 构件库的思想以及形式化软件复用的概念哺。 软件复用是在软件开发中为了避免重复劳动的一种解决方案,其根本目标 是改变以前系统的设计与开发采用一切“从零开始 的模式,以己有的工作为 基础,充分利用过去应用系统开发中积累的经验和知识,如需求设计方案、分 析结果、源代码、测试计划及测试用例等,从而将开发的重点集中在应用的特 有构成成分。通过软件复用,应用软件系统开发中可以充分地利用现有的开发 成果,消除了包括分析、测试、编码、设计等在内的许多重复劳动,从而提高 了软件开发的效率,同时,通过复用高质量的已有开发成果,避免了在重新开 发可能引入的缺陷和错误,从而较大程度上提高了软件的质量。在n a t o 召开会 议后的三十多年中,软件复用引起了学术界和工程界广泛的关注。人们进行了 许多探索性的、实践性的复用活动。在软件开发过程中如何缩短软件的研发周 期,提高软件的质量,增加可维护性,降低开发成本,成为一个重要的问题。 软件复用被普遍认为是解决这一问题的关键技术。 软件复用过程中有一重要环节一软件构件的检索。在这一环节中是否能找 到符合要求的构件,决定着软件复用的成败。构件检索作为软件复用中的一环 节,它的检索效率在很大程度上决定着软件复用的效率。所以软件复用作为一 种新的软件生产方式,应努力研究和探索一种高效的构件检索机制。评价一种 第1 章引论 构件检索机制的性能应包含以下两个方面: 第一较高的检索性能指标。一个好的构件描述和检索方法需要有足够的 分辨度,即能够区分出构件库所有构件中具有本质不同的构件。检索工作是使 用软件构件的前提,它直接影响到软件复用后续、相关等步骤。对于一个复用 者来说,如果他无法定位到满足需求的软件构件,那软件复用也就无从谈起。 可以用查全率和查准率来定义检索效果: 查全率= 检索到的满足需求的构件个数构件库中所有的满足需求的构件个 数 查准率= 检索到的满足需求的构件个数检索到的所有构件个数 查全率保证了构件的复用率。举例来说,当用户在构件库中检索构件时, 他可能得到了一个较小的结果集合,并且这些结果都不满足他的需求。然而, 构件库中还有其他的相关构件能满足需求,但用户却无从知晓,这就降低了构 件被复用的频率。查准率降低了用户的理解成本。如果用户需要在一大堆检索 结果中,逐一理解并排除掉和需求无关的构件,那么即便构件库中确实存在着 解决问题的高质量构件,用户也只会退而求其次来自己重新开发该功能,因为 他们认识到查找和理解构件的时间和精力成本过于巨大。 第二构件描述方面的性能指标:首先这种描述机制能够清晰,准确地描 述构件,否则用户在检索过程中难以识别所要查找构件。使查找效率大大降低。 增加检索成本。其次这种描述机制应该灵活、方便。用户在对查询构件描述时, 不应受太多特定语言与语法方面的限制。否则会增加太多理解成本。 在现有的构件检索方法当中,这两个方面的性能指标有着或多或少的欠缺。 常常出现在构件库中区分不出两个具有本质不同的构件情况。检索指标较低。 对构件的理解也不灵活。在构件匹配检索中具有机械性。当描述两个构件的同 一本质属性为不同表述时,则认为不匹配。只有在用户与构件描述在表述相同 的情况下才认为匹配。为了提高构件检索在这两方面的性能指标,本文提出了 基于本体语义的构件检索方法。 1 2 相关工作 1 2 1 研究现状 2 第1 章引论 目前比较有代表性构件描述和检索技术的方法包括传统的信息科学编目查 询技术、基于框架、基于演绎和基于刻面的构件描述与检索方法n 。 1 传统的信息科学编目查询技术 早期比较具有代表性的是使用基于关键字匹配的传统图书馆及信息科学编 目信息查询技术,这类检索方法主要是计算查询关键字与构件描述关键字之间 的匹配程度,在应用中也比较容易实现。但基于关键字匹配的查询无法体现出 所查询的关键字之间的逻辑联系,使得构件的查准率受到限制。目前己提出多 种改进方法,如s o c t th e n n i n g e r 提出利用传统的图书馆和信息科学中的激活 扩散思想( s p r e a d i n ga c t i v a t i o n ) ,在构件检索中进行了有益的尝 试:m a g w o l d f i e t e rm e r k l 提出将所有构件在逻辑上组织成一个神经网络,将查 询术语集转化为输入矢量,利用神经网络的竞争算法获得结果:e d a m i a n i 则提 出了基于模糊数学的、能够根据用户反馈信息对模糊匹配值的计算参数进行自 适应调节的方法。 然而,上述方法在提高构件查准率方面的效果都不够理想,而且忽略了某 些与查询关键字在描述句法上完全不同但语义上等价的构件,导致查全率的降 低。虽然通过使用s e m a n t i cn e t s ( 比如w o r d n e t ) 捕获术语间的语义联系( 同义 词、反义词等) 可以扩大检索的范围,从而提高查全率,但这种方法会降低查准 率,因为这些网络关注的是纯语言学方面的联系。大部分的基于文本的搜索引 擎都允许通过非精确匹配来提高查全率,但它们都是以牺牲查准率为代价的。 因而基于关键字的方法在构件描述和检索方面尚有较大的局限性。 2 基于框架( f r a m e - b a s e d ) 的构件描述与检索 在软件代理和分布式计算领域提出的基于框架( f r a m e - b a s e d ) 的构件描述 和检索方法中,要求所有的构件和检索查询都用相同的预先定义好的词汇来描 述,即使用“属性一值对( a t t r i b u t e v a l u ep a i r s ) 来对构件进行分类描述。 目前大部分商业化的构件服务搜索技术( 例如j i n i ,e s p e a k ,s a l u a ti o n ,u d d i ) 都使用基于框架的方法。这种方法通过构件描述和检索查询都使用相同术语的 方法来提高查全率和查准率,但它是以要求所有的构件服务都用框架进行建模 为代价的,使其灵活性受到制约,在实践中比较难以推广应用。 3 基于演绎的构件描述与检索 b f i s c h e r 等人提出的基于演绎的检索方法将基于框架的方法向前推进了 一步。它首先使用逻辑方法形式化地说明构件服务的属性( 例如输入、输出、功 第l 章引论 能 前置、后置条件,不变量 、性能等) ,然后通过证明某个构件是否实现了检 索查询所描述的服务属性来进行构件检索。这种方法要求预先定义的逻辑谓词 不存在冗余,并且对所有的构件服务和检索查询都进行了完全形式化的规约, 才能获得比较理想的查全率和查准率。 与此类似的有a m ym o o r m a n n 等人针对构件的形式化规格说明提出的签名 ( s i g n a t u r e ) 匹配( 接口规约) 和规约匹配( 功能规约) ,对构件的行为特征作形式 化说明以排除自然语言描述的二义性和不准确性,并且还可以利用规约说明之 间的偏序关系来组织构件库中的构件存储。基于规约匹配的构件检索能够提供 层次丰富的规约匹配类型,所以能够较好的满足用户对构件检索查准率和查全 率的综合要求。 但是,这些方法面临两个十分严峻的现实困难:( 1 ) 用形式逻辑对所有构件 服务语义进行建模的代价十分高昂:( 2 ) 这种方法中的证明过程的计算复杂度很 高,从而导致系统性能难以提高。尤其是第一方面的问题限制了基于演绎的检 索方法的可扩展性,使得它很难成为实用的构件服务检索方法。 4 基于刻面的构件描述与检索 基于刻面的描述是一种目前正逐步得到重视和应用的描述方法。r e b o o t 、 n a t o 提出的构件分类方法都是基于刻面的,北京大学青鸟构件库中也采用了以 刻面分类为主、多种分类模式相结合的方法对构件进行分类描述。上海构件库 也采用了基于刻面的构件库管理系统。基于刻面的描述方法中,一个构件可以 用多个刻面以及每个刻面中的多个术语来刻画,不同的刻面从不同的角度对构 件进行描述。这些特征使刻面方法能够从多个角度、多个方面对构件做出更为 全面的描述,在应用中取得了良好的效果。r u b e np r i e t o d i a z 等人提出了以传 统的数据库检索技术为主的刻面检索方法,并结合同义词匹配和术语的一般一 特殊关系匹配来改进检索性能。 构件的刻面描述能够表达丰富的构件信息、方便管理和查询,因此被目前 大多数企业的构件库采用。r e b o o t 、n a t o 提出的构件分类方法都是基于刻面的, 北京大学青鸟构件库也采用了以刻面分类为主,多种分类模式相结合的方法对 构件进行分类描述。上海构件库也采用了基于刻面的构件库管理系统。 刻面分类法主要的弊端在于:建立和维护构件库中所有构件的刻面分类 的代价十分高昂;术语空间的一般一特殊关系可以支持构件检索的模糊匹配, 但其表达能力仍然十分有限。术语之间的关系过于单一,导致匹配过程中无法 4 第1 章引论 运用语义进行推理;刻面及术语方案往往只能满足构件一般的描述需要,而 无法体现特定领域及特定功能的描述内容,这也是刻面分类方法最大的缺点。 1 2 2 本文提出的构件检索方法 以上方法由于缺少特定领域的语义信息,匹配有赖于用户要求与资源描述 之间的“刚性”一致,资源重用的机会大大降低。因此在查准率和查全率上存 在不足。针对这些问题,本文提出了基于本体语义的构件检索方法。领域本体 为领域内的概念以及概念问广泛存在的各种关系提供了共享的描述,因此可以 作为领域内资源描述的知识基础。基于领域本体一方面可以引导用户更加准确、 灵活地、完整地描述自己的检索要求,并且查询过程也可以基于本体进行联想 和扩展,从而更好地满足用户的资源需求。另一方面可以为资源描述提供丰富 的语义注解,从而更好地弥合用户资源需求与资源描述之间的“鸿沟 。概括 来说基于语义的构件描述和检索方法应该包含以下三方面的优势:将软件构 件视为领域本体基础上的语义描述体;允许用户使用自然语言表达检索请求, 然后将其自动转化为语义描述框架。由于构件描述和检索请求使用相同的语义 描述框架,因此可以提高检索的查准率和查全率;在领域本体基础上通过用 户查询语义表示与构件语义描述之间的语义匹配来改进检索效果。 通过以上分析可知,基于本体领域的构件检索方法比其它构件检索方法具 有较大的优越性。但是任何一种提出的方式、方法,它所具有的优越性是在特 定环境下,一定范围内的。超过这个界限,就不具有这种优势。这里提出的基 于本体语义的构件检索方法同样如此。具体来说,基于本体语义的构件检索方 法具有的优势及劣势如下:本文提出的这种检索方法在描述构件功能时,基于 本体的语义可以发挥突出的作用。通过把构件功能划分为若干单位功能项,每 个功能项用基于本体语义的构件功能描述框架进行描述。构件的功能项描述与 用户的查询功能项描述方法是相同的,使功能项匹配转化为语义概念的匹配。 所以对构件功能描述匹配全面,准确,灵活。在操作对象名称匹配中,通过语 义概念( 操作对象名) 在领域本体层次关系中所处的位置来分析计算。本体中 的语义距离可在一定程度可判断用户操作对象与构件操作对象的匹配度。克服 了传统匹配方法中匹配过程的机械性。所以基于本体的语义方法在操作对象匹 配中也具有一定的优势。构件功能要求匹配与操作对象要求通常是用户最为关 第1 章引论 心的匹配过程。在这两个过程的匹配中引入基于本体语义的方法。较传统检索 方法在很大程度上提高了检索效率。 构件非功能要求检索也是构件检索过程中一重要部分。然而构件的非功能属 性不依赖于特定的领域本体2 ,所以基于本体语义的方法在这个匹配过程中 具有较大的劣势。一般来说,构件的非功能属性( 如使用环境,开发工具等) , 其刻面术语空间较为稳定,容易预先进行分类和描述。且其刻面对于所有构件 含义相同。所以基于刻面描述的方法在构件非功能属性描述这一方面具有一定 的优势。本文对于构件非功能属性的匹配采用的也是基于刻面描述的方法。( 值 得注意的是,不同领域构件具有的功能不同。所以基于刻面描述的方法不适合 于功能匹配。) 综上所述,本文提出的构件检索方法是在继承传统检索方法的基础上而提出 的一种构件检索方法。 1 。3 本文的组织结构 论文的章节安排如下: 第一章:介绍了论文的研究背景。包括历史背景和研究现状。历史背景是软 件危机下的软件复用。而软件复用的关键是在库中找到符合用户要求的软件构 件。从而突出了本文的研究内容重要性。研究现状对现有的构件检索机制进行 分析,并指出不足。在此基础上引入本文的研究内容。 第二章:首先对软件复用的优势、概念及基于软件复用的软件开发模式等这 几个方面对软件复进行介绍。再从构件的概念、主要特征、分类这几个角度对 构件进行阐述。软件复用及构件是本文的概念基础。 第三章:对本体的定义、本体的功能、本体的表示和储存等方面进行了概述。 为基于本体语义描述的构件检索方案提出作了理论基础。 第四章:首先引入了叙词表,对基于叙词表的领域本体建模作了概述。再在 此基础上介绍了基于领域本体的自然语言查询解释、扩展。 第五章:介绍构件检索过程中三个重要的匹配过程。功能要求匹配、操作对 象匹配、非功能要求匹配。这三个过程的匹配决定着从构件库中选取哪些构件 返回给用户。这一章是本文的重点章节。 第六章:介绍了基于本体语义构件检索系统的系统框架设计、实现工具等, 6 第1 章引论 在实验中分别采用基于刻面的构件检索机制和基于本体语义的构件检索机制对 同一构件库的构件进行了检索。并对每次检索结果作相关记录、对比分析了两 种检索方法的检索效率。 第七章:总结与展望,对全文作了一概要性总结并提出了下一步所要做的工 作。 7 第2 章软件复用与构件概述 2 1 软件复用 第2 章软件复用与构件概述 复用是成熟的工程领域的一个基本特征,例如,土木工程、化学工程、 计算机硬件工程等,通过大量复用经过实践检验的系统体系结构和标准化的 构件,使得对于常规的设计问题都可以直接利用现成的解决方案,避免了系 统开发时不断地重复设计,从而可以大幅度地降低开发成木、提高生产效率 和产品质量。同样,复用也是软件工程走向成熟的必由之路,将为软件危机 的解决提供一条现实可行的途径。 软件复用是指重复使用“为了复用目的而设计的软件的过程,通过软 件复用,在应用系统开发中可以充分地利用己有的开发成果,消除了在分析、 设计、编码、测试等方而的许多重复劳动,可以提高软件开发的效率:同时, 通过复用高质量的己有的开发成果,避免了重新开发可能引入的错误,可以 提高软件的质量。因此,软件复用可以大大降低软件开发的费用,显著地提 高生产率和产品质量。如图2 1 是基于复用的软件开发模式畸,。 图2 1 基于复用的软件开发模式 软件开发技术的一个重要进展就是构件化分析传统产业的发展,功能再复 杂的产品也可以由大量标准的零部件组装而成。构件技术就是一种类似于“零 部件组装的集成组装式软件生产方式,把零件、生产线和装配的概念运用在 软件产业中,打破手工作坊式的软件开发模式。 。与软件复用相关的两个基木开发活动是面向复用的开发畸1 ( d e v e l o p m e n t f o rr e u s e ) ,和基于复用的开发( d e v e l o p m e n tw i t hr e u s e ) ,前者是生产可复 8 第2 章软件复用与构件概述 用构件的过程,后者是利用现有的可复用构件组装新系统的过程。构件复用是 软件复用的核心问题,构件技术是影响整个软件产业的关键技术之一。可复用 构件为有计划地、系统地进行复用提供了手段,是实现软件复用的基石。在库 中找到符合用户要求的,可以复用的软件构件。这是本文研究的主要内容。 2 2 构件的基本概述 2 2 1 构件的简介 构件是软件的构成元素,具有一定的功能和结构,并符合一定的标准,可 完成一个或多个特定的服务。构件隐藏了具体的实现,通过接口对外提供服务。 软件构件的概念从提出到在业界形成一定的共识,经历了几十年的演化。人们 对构件的认识是随着时间的推移及其他相关软件开发技术的发展而逐渐演化 的。在深化过程中较为重要的对构件的认识有口1 : b r o w n 和w a l l n a u 将构件描述为“一个非平凡的、几乎独立的、可替换的系 统组成部分,它在定义完善的体系结构环境中实现某一清晰的功能”。同时他们 进一步认为软件构件只能是“一个说明了契约( c o n t r a c t ) 并且明显地与周境 ( c o n t e x t ) 无关的组合单元 。 c l e m e n ss z y p e r s k i 认为:“软件构件是一个仅带特定契约接口和显式周境 ( c o n i e x t ) 依赖的结构单元,同时他还写道:“软件构件可以独立部署,易于第 三方整合 。这个定义指出了构件的独立性和可组装性。根据这个观点,可以认 为构件由一方定义其规格说明,被另一方实现,然后供给第三方使用。接口 ( in t e r f a e e ) 是用户与构件发生交互的连接渠道,第三方只能通过构件接口的规 格说明理解和复用构件,接口规格说明也是一种“契约”( c o n t r a c t ) ,它足够 精确地描述构件实现的功能,同时又不把构件限定于唯一的实现方法,这种不 确定性带来多解决方案的灵活性。另一方面,虽然构件可以独立部署的,但是 个构件可能会用到其它构件或平台提供的服务,或者说基于构件的软件系统 中通常是多个构件协作完成一定功能,所以构件依赖于组装环境或称为周境。 o m g 的定义更通俗详细些,它们认为:“构件是一个物理的、可替换的系 统组成部分,它包装了实现体且提供了对一组接口的实现方法。构件表示了系 统实现体的一个物理片段,包括软件代码( 源代码、二进制代码或可执行代码) , 9 第2 章软件复用与构件概述 或者等同体,例如脚本或命令文件。因此,构件自身必须相容于接口且实现接 口,接口表示了驻留在构件内的成分所实现的服务。这些服务定义了一个整合 的行为,包含一些构件实例可供提供给其它客户端。u m l 中,构件是一个类元 ( c f a s s i f i e r ) ,是一个建模成分的聚集,它实现了接口,有着可执行行为和状 态,在执行时驻留在一个节点上。 杨芙清院士认为: 构件是软件的构成元素,具有一定的功能和结构,并符 合一定的标准,可以完成一个或多个特定的服务。构件隐藏了具体的实现,通 过接口对外提供服务。一般而言,构件是软件系统中具有相对独立功能、可以 明确辨识、接口由契约指定、和语境有明显依赖关系、可独立部署、可组装的 软件实体。 按照构件的定义要求,构件应包含以下几个要素n 1 i : 1 规格说明。它建立在接口概念之上,构件要求有一个关于它所提供的服 务的抽象描述,以作为客户方和提供方之间的契约。 2 一个或多个实现。构件必须被一个或多个实现所支持。这些实现必须符 合规格说明。 3 受约束的构件标准。软件构件存在于一个定义好的环境中,或称为构件 模型( o c m p o n e n tm o d e l ) 。构件模型是一套支持软件的服务,加上为了使构件利 用这些服务而必须遵守的一套规则。已有的构件模型包括m c i o r o s t f 的c o m 十、 s u n 的a j v ab e n a s 和e j b ,以及o m g 的c o r b a 构件标准。这些构件模型中的每 一种都解决了诸如一个构件怎样使其他构件可以获得它的服务、构件怎样被命 名以及怎样在运行时发现新构件和它们的服务这样的问题。 4 包装方法。构件可以按不同的方式分组来提供一套可以替换的服务。这 个分组就称为包。一般地,当从第三方获取构件的时候买卖的就是这些包。它 们代表了必须安装在系统中的功能单元。为了使这个包可以使用,在构件模型 中要有某种对包的注册机制。例如在m c i r o s o t f 环境中,这是通过一种特殊的 已安装构件的目录来实现的,这个目录称为注册表。 5 部署方法。一旦成品构件安装在一个运行环境中,它们就将被部署。这 是通过创建构件的可执行实例并且允许与它发生交互来实现的。一个构件可以 部署很多实例。每一个实例都独立的并且在它自己的进程中执行。 此外,在软件复用过程中,用来组装成新的应用系统的一个软件构件还应 该具备以下特征口 : l o 第2 章软件复用与构件概述 独立性:构件可独立开发( 需求分析、设计、编码、测试) 、部署和发布。定 义良好的接口:构件通过一组接口对外完成其功能,接口可分为对外服务的接口 和请求服务的接口。 封装性:构件是一个高内聚的软件包,通过接口对外交互,屏蔽了内部实现 细节,构件可通过独立开发封装为符合业界认可的模型标准的二进制代码。构 件的封装性有两层含义:( 1 ) 指数据和操作的封装。( 2 ) 指没有操作下的数据属性 的封装。( 这种封装可以认为是数据和操作封装的一种特例,即操作为空的特殊 封装) 。 可替换性:构件被组装到软件系统中后,可以用具有相同接口和相同标准 的其它构件将其替换下来,替换中无需任何编码工作,替换后该软件系统仍能 运行。 可组装和调整性:构件可在定义良好的体系结构下方便的组装到软件系统 中,也可与其它构件组装成为粒度更大的构件。一般情况下,构件要有方便的 可调整机制以便复用,即提供了多个可变点有利于用户化。 2 2 2 构件分类 构件的分类方法有很多,如青鸟工程开发的m i s 构件库中将构件分为三级: 零级、一级、二级类库。其中,零级类库是由基本数据结构和其相关的算法封 装在一起而形成的基本的数据结构类:一级类库包括应用软件常用的、具有通用 功能的一些构件类,二级类库是针对不同应用行业的专用构件类库。这种分类 方法基本上是按照自底向上的方法分类的。 下面将详细的按照自顶向下、自底向上组装的思想对构件进行分类。它将 构件分为四类隋1 :系统构件、组织构件、分子构件和原子构件。 ( 1 ) 系统构件和组织构件。 系统构件是指系统总体框架构件,类似于微机中的主板。系统构件的开 发必须在一定规范下进行,这种规范类似于硬件中总线的概念,因此可称其 为软件总线。软件总线规范不仅是系统构件的开发规范。而且包括嵌入到系 统构件中的子构件的开发规范。对每一应用领域一般需要开发一个系统构 件,并将系统构件存放到系统构件库中,系统构件应主要由软件制造商在一 定的软件总线规范下开发。系统构件属于软件体系结构层次上的抽象,属于 第2 章软件复用与构件概述 最高层次上的软件复用抽象,因此其复用性最好。 组织构件是嵌入到系统构件中的子构件,类似于微机主板上的插板。一 个和几个组织构件可完成一个特定的任务。系统构件负责协调各个组织构件 的工作,从而构成整个应用系统。组织构件一般是一个已调试成功的软件子 系统,它是按一定的软件总线规范开发的,不同构件制造商开发的组织构件 可兼容在一种系统构件下工作。随着加入软件总线规范的构件制造商的增 加,开发人员可选择的组织构件资源也会大大增加。每个系统构件对应一个 组织构件库,而所有系统构件所公用的组织构件构成公共组织构件库,如图 形界面组织构件库就是一种公用组织库。系统构件和组织构件一般都具有可 继承性。通过系统构件和组织构件这两类构件的合理组装,就可形成新的应 用系统。 ( 2 ) 分子构件和原子构件。 分子构件和原子构件是构成系统构件、组织构件的子构件,它们可类比 于微机硬件结构中的集成电路芯片( i c ) 。其中,分子构件又可复用原子构件, 通过原子构件组装而成。原子构件是最小粒度的构件,它不能通过复用方式 构造,一般包括一些最基本的数据结构以及与相关算法封装在一起的基本 类。 系统构件和组织构件可复用分子构件、构件只能参与系统构件、组织构 件的组装,原子构件构造自己,而分子构件和原子构件只能参与系统构件、 组织构件的组装,但不参与最后新的应用系统的组装。 从不同的角度出发,还可以将构件分为如下几类: ( 1 ) 根据构件重用方式,分为黑盒构件和白盒构件。前者可以即插即用,后 者经修改方可使用。还有介于黑盒和白盒构件之间的灰盒构件。 ( 2 ) 根据使用范围,分为通用构件和专用构件。 ( 3 ) 根据构件粒度大小,分为小、中、大型构件。小型构件包括窗口、按钮 控件等基本构件:中型构件包括录入、查询、插入、删除等功能构件:大型构 件包括子系统级构件,如档案管理、财务管理等子系统级构件。 ( 4 ) 根据构件复用时状态,分为动态构件和静态构件。如o l e 和d l l 属于动 态构件,源代码属于静态构件。 ( 5 ) 根据构件功能用途,分为系统构件、支撑构件和领域构件。系统构件运 行于整个构件集成环境和运行环境,支撑构件在构件集成环境和构件库管理 1 2 第2 章软件复用与构件概述 中使用,领域构件则是为专用领域而开发的构件。 ( 6 ) 根据构件的来源,可将构件分为自开发构件和第三方构件。 第3 章领域本体的简介 第3 章领域本体的简介 本体作为一种能在语义和知识层次上描述信息的概念模型。自提出以来就 引起国内外众多科研人员的关注。目前研究表明,本体能为信息检索提供更好 方式。构件领域本体是基于本体的构件描述基石。本章主要就本体的定义、本 体的功能、本体的描述等方面的内容作了阐述。 3 1 本体的概述 本体最早是一个哲学上的概念,后来被人工智能界赋予新的定义。1 9 9 3 年, t o mg r u b e r 将本体定义为:“本体是概念模型的明确的规范说明”。后来b o r s t 在此基础上给出了本体的另一种定义:“本体是共享概念模型的形式化规范说 明”。s t u d e r 等对上述两个定义进行了深入的研究,给出了目前较通用的定义为: “本体是共享概念模型的明确的形式化规范说明”。这包含了4 层含义:概念化、 明确、形式化和共享u 6 1 。“概念化 指通过抽象出客观世界中一些现象的相关概 念而得到的概念模型,其表示的含义独立于具体的环境状态。概念化定义 为:c = 其中d 是一个领域,w 是该领域中相关的事务状态的集合,r 是 领域空间上的概念关系的集合,本体论是采用某种语言对概念的描述。“明确” 指所使用的概念及使用这些概念的约束都有明确的定义。“形式化 指本体是计 算机可识别的( 即能被计算机处理) 。共享”指本体中体现的是共同认可的知识, 反映的是相关领域中公认的概念集,它所针对的是团体而不是个体。 从本体定义可以看出,本体中最重要的是术语和术语中的关系,以及对于 组合这些术语和关系的规则。这就为解决传统信息检索的语义问题和通用问题 提出了解决方法:在本体的支持下,机器也可以“理解 语义,而不是单纯的 进行关健词匹配。本体规范化了本体域内词语的语义,从而避免了出现一词多 义,多个词语表达一个语义困难。 本体的目标是获取、描述和表示相关领域的知识,提供对该领域知识的共 同理解,确定该领域内同认可的词汇,并从不同层次的形式化模式上给出这些 词汇( 术语) 和词汇之间相互关系的明确定义。 1 4 第3 章领域本体的简介 因此,本文限定于主要从以下几个方面刻画领域本体n 妇:( 1 ) 概念:由业务功 能、资源、角色组成:( 2 ) 关系:概念之间的关系。( 3 ) 基本原理或假设:( 4 ) 实例。领域本体框架图如下所示。具体描述如下: 1 概念: a ) 业务功能:描述领域中需要完成的工作或者任务是什么。业务功能可自顶向下 进行分解形成层次结构,包括不能进行进一步分解的原子业务功能以及可以进 行分解的复合业务功能。在本文中,特定领域的业务功能分为:目标 ( o b j e c t i v e ) 、过程( p r o c e s s ) 、动作( a c t i o n ) 三个层次。 b ) 资源:指业务功能执
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 最佳职业规划书
- 《大跨木结构设计规范》
- 钢结构焊接变形矫正方法
- (正式版)DB32∕T 5384-2026 城市道路塌陷隐患排查治理技术标准
- 南航物联网就业方向
- 2026蜀道(四川)保险代理有限公司招聘1人考试备考试题及答案解析
- 2026天津天狮学院博士及高层次人才招聘考试备考题库及答案解析
- 2026年度宿州市灵璧县消防救援局公开招聘政府24名专职消防队员笔试备考题库及答案解析
- 2026江西新余市社会保障卡一卡通中心招聘见习生2人考试备考试题及答案解析
- 2026新疆兵团兴新职业技术学院面向高校毕业生招聘37人笔试模拟试题及答案解析
- 房屋建筑统一编码与基本属性数据标准JGJ-T496-2022
- 2023年湖北卷化学高考试卷(含答案)
- 2023年初中语文升学考试历年各地满分作文参考(17篇)
- 设备报价方案
- 农村继续承包 授权委托书
- 电气仪表安装工程专项施工方案
- 纺织结构复合材料第一讲
- 部编道德与法治九年级下册教材培训
- 2014年清华大学五道口金融学院431金融硕士考研真题
- GB/T 19571-2004海洋自然保护区管理技术规范
- FZ/T 07016-2021纺织企业能效评估导则
评论
0/150
提交评论