




已阅读5页,还剩61页未读, 继续免费阅读
(计算机应用技术专业论文)基于框架的软件开发体系中专用组件库的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
东北大学硕士学位论文 摘要 基于框架的软件开发体系中专用组件库的研究与实现 摘要 软件复用能有效地解决软件危机,提高软件开发的效率和质量,降低开发和维护成 本。基于组件的软件开发方法是软件复用的一种实践方法,其中的组件技术是支持复用 的核心技术。为了能够在软件开发过程中复用已有的软件组件,必须在此之前不断地进 行可复用组件的积累,并且将它们组织成可复用组件库。在领域软件的开发过程中应用 组件技术,可重用的资源更多,复用层次更高,复用粒度更大,复用的关键是领域业务 框架。复用过程通常包括领域业务框架设计、基于业务框架进行组件的描述、检索和装 配、生成系统。在组件数量很大并且组件间相互关系也比较复杂的情况下,如何在组件 库中进行高效的面向业务框架的组件检索就成为一个很重要的问题,必须考虑如何组织 组件库的结构,使组件能被准确地描述,保持较高的检索效率,以利于复用。 本文将基于框架和组件的开发方法加以改进,提出f c b d 开发方法。为使针对特定 框架的组件检索和复用更方便,本文提出在分布式通用组件库的基础上构造面向框架的 专用组件库的概念。专用库主要解决两个问题:第一,把分布的、异构的、通用的组件 库信息用统一的描述模型进行组织,将特定框架的专用组件信息集中管理;第二,提高 面向框架的组件检索效率,实现组件关联检索和关联选取。 本文在研究了通用组件库的描述和分类方法的基础之上,设计了专用组件库的总体 结构。专用库采用多维方式对组件进行分类,在专用库中构造了组件本体,使分布组件 库的组件在专用库这个层次上有一个统一的语义描述模型,消除组件描述和检索的语义 异构问题。同时构建专用组件库关联检索策略集,并实现基于策略集和组件本体的查询 扩展,实现了组件的关联检索和关联选取,使基于组件的框架复用更为方便。 关键词:软件重用;基于组件的开发;组件库:组件关联检索:多维:本体 一一 东北大学硕士学位论文 a b s t r a c t t h er e s e a r c ho fr e a l i z a t i o nf r a m e w o r k - o r i e n t e ds p e c i a l r e p o s i t o r yi nf r a m e w o r k - b a s e dd e v e l o p m e n ts y s t e m a b s t r a c t s o f t w a r er e u s ec a l le f f e c t i v e l ys o l v et h es o f t w a r ec r i s i s ,e n h a n c ee f f i c i e n c ya n dq u a l i t y o fs o f t w a r ed e v e l o p m e n t ,r e d u c et h ed e v e l o p m e n ta n dt h em a i n t e n a n c ec o s 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 tm e t h o di so n ep r a c t i c em e t h o dw h i c hs o f t w a r er e u s e , c o m p o n e n tt e c h n o l o g yi st h ec o r et e c h n o l o g yw h i c hs u p p o r t ss o f t w a r er e u s e ,i no r d e rt o r e u s ec o m p o n e n t ,w em u s tu n c e a s i n g l yc a r r yo nt h ec o m p o n e n ta c c u m u l a t i o nb e f o r et h o s e m a yr e u s e ,a n do r g a n i z et h e mi nr e p o s i t o r y a p p l y i n gt h ec o m p o n e n tt e c h n o l o g yt ot h e d e v e l o p m e n to fd o m a i ns o f t w a r ec a nr e u s em o r er e s o u r c e s ,r e u s eh i g h e rl e v e la n db i g g e r g r a n u l a r i t yr e u s a b l er e s o u r c e s t h e r e u s ek e yi st h ed o m a i nf r a m e w o r k r e u s eu s u a l l y i n c l u d e st h ef r a m e w o r kd e s i g n ,f r a m e w o r kb a s e dt h ec o m p o n e n td e s c r i p t i o n ,r e t r i e v a l , a s s e m b l ya n db u i l d i n gs y s t e m u n d e rs i t u a t i o nt h a tt h ec o m p o n e n t sa r ev e r yg r e a ta n d r e l a t i o n sb e t w e e nt h e ma r eq u i t ec o m p l e x ,h o wt oc a r r yo nc o m p o n e n tr e t r i e v a lb a s e d f r a m e w o r kh i g h l ye f f e c t i v ei nr e p o s i t o r yb e c o m e so n ev e r yi m p o r t a n tq u e s t i o n w em u s t c o n s i d e rh o wt oo r g a n i z et h er e p o s i t o r ys t r u c t u r e ,t oe n a b l et h ec o m p o n e n ta c c u r a t e l yt ob e d e s c r i b e d ,t om a i n t a i nt h eh i 曲e rr e t r i e v a la n dr e u s ee f f i c i e n c y t h i sa r t i c l ew i l lp e r f o r mb a s e do nt h ef r a m e w o r ka n dt h ec o m p o n e n td e v e l o p m e n t m e t h o dt oi m p r o v e ,p r o p o s e sc o m p o n e n tb a s e df r a m e w o r kd e v e l o p m e n tm e t h o di no r d e rt o m a k ec o m p o n e n tr e t r i e v a la n dr e u s eb a s e do nt h es p e c i f i cf r a m e w o r km o r ec o n v e n i e n t ,t h i s a r t i c l ep r o p o s e st oc o n s t r u c tf r a m e w o r ko r i e n t e ds p e e i a lr e p o s i t o r y ( f o s r ) ,b a s e do nt h e d i s t r i b u t e d ,u n i v e r s a lr e p o s i t o r y f o s rm a i n l ys o l v e st w op r o b l e m s :f i r s t l y ,o r g a n i z e st h e d i s t r i b u t e d ,i s o m e r o u sa n du n i v e r s a lr e p o s r o r yi n f o r m a t i o nw i t ht h eu n i f i c a t i o nd e s c r i p t i o n m o d e l ,a n dm a n a g e st h es p e c i f i cf r a m e w o r kc o m p o n e n ti n f o r m a t i o nc e n t r a l i z e d s e c o n d l y , e n h a n c e sf r a m e w o r ko r i e n t e dc o m p o n e n tr e t r i e v a l e f f i c i e n c y ,r e a l i z e st h ec o m p o n e n t r e l a t i v er e t r i e v e sa n dc o m p o n e n tr e l a t i v es e l e c t i o n t h i sa r t i c l ei n t r o d u c e da r c h i t e c t u r eo ff o s r ,d i s c u s s e dt h ed e s c r i p t i o na n dc l a s s i f i e d i i i 叁苎垄主堡主堂堡垒叁 些! 竺! ! ! m e t h o do fu n i v e r s a lr e p o s i t o r y f o s rc l a s s i f i e st h ec o m p o n e n tw i t ht h em u l t i d i m e n s i o n a i m e t h o dt h i sa r t i c l ec o n s t r u c t s c o m p o n e n td e s c r i p t i o no n t o l o g yi nf o s r ,e n a b l et h e d i s t r i b u t e d c o m p o n e n t t oh a v eo n eu n i f i e d d e s c r i p t i o nm o d e li nf o s r ,e l i m i n a t i o n 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 ls e m a n t i ci s o m e r i s mq u e s t i o n ,s i m u l t a n e o u s l yc o n s t r u c t s r e l a t i v er e t r i e v a ls t r a t e g yc o l l e c t i o ni nf o s r ,a n d s u p p o r t st h er e t r i e v a le x t e n s i o nb a s e do n t h es t r a t e g yc o l l e c t i o na n dc o m p o n e n to n t o l o g y ,r e a l i z e st h ec o m p o n e n tr e l a t i v er e t r i e v e s a n ds e l e c t i o n ,c a u s e dt oc o m p o n e n tb a s e df r a m e w o r kr e u s ec o n v e n i e n t l y k e y w o r d ss o f t w a r er e u s e ,c b d ,c o m p o n e n tr e p o s i t o r y ( c o m p o n e n tl i b r a r y ) ,c o m p o n e n t r e l a t i v er e t r i e v a l ,m u l t i d i m e n s i o n ,o n t o l o g y 一一 独创性声明 本人声明,所呈交的学位论文是在导师的指导下完成的。论文中取得 的研究成果除加以标注和致谢的地方外,不包含其他人己经发表或撰写过 的研究成果,也不包括本人为获得其他学位而使用过的材料。与我一同工 作的同志对本研究所做的任何贡献均己在论文中作了明确的说明并表示 谢意。 学位论文作者签名: 阀印 日期:) 钟i 学位论文版权使用授权书 本学位论文作者和指导教师完全了解东北大学有关保留、使用学位论 文的规定:即学校有权保留并向国家有关部门或机构送交论文的复印件和 磁盘,允许论文被查阅和借阅。本人同意东北大学可以将学位论文的全部 或部分内容编入有关数据库进行检索、交流。 ( 如作者和导师不同意网上交流,请在下方签名;否则视为同意。) 文作毖2 虱劫聊始7 签字日期: k f 签字日期:“,7 东北大学硕士学位论文第一章引言 第一章引言弟一早j 丁i甬 1 1 课题的背景及意义 软件产业的发展趋势是软件规模越来越大,软件应用领域越来越广,领域软件成为 软件企业新的利润增长点,领域软件的开发方法也备受关注。 根据著名的软件工程案例s t a r s 项目的观点:“软件系统的开发将演化成一种过程 驱动的、特定于领域的和基于复用的技术支持范型” 1 】。软件框架是实现大粒度复用的 重要途径,它往往针对特定领域,同时支持设计复用和代码复用。基于框架的开发可以 大幅度降低软件开发的成本和周期,显著提高软件产品的质量和开发效率。近些年来, 基于框架的开发方法的研究在软件工程领域受到重视。相关研究和应用中的一个难点就 是,和框架相关的两类组件框架组件( 体现领域共性,用于实现框架基本控制功能) 和应用组件( 体现领域变化性,用于实现基于框架的应用) 的获取( 包括组件需求 描述、组件检索和组件选取) 和组装受到现有组件库的限制: 第一,组件库物理位置的分布性。 为提高检索的查全率和查准率,检索时往往面对的是多个组件库,而多个组件库在 物理上往往是分布的,比如分别位于公司的不同部门,甚至是i n t e r n e t 的不同节点。 第二,组件库中组件组织结构和表示模型的不一致性。 现有的多种组件表示方法包括:基于刻面的表示方法、基于规约和编码的表示方法、 人工智能方法、超文本方法等。最常见的是基于刻面的表示方法。即使同是采用刻面方 法表示的组件,不同组件库采用的刻面也不相同。 第三,组件描述信息的通用性。 现有组件库是面向多个框架或者多个领域的,组件描述也多是针对通用组件的,对 于某个特定框架所关注的关联信息和重用信息的描述不充分,导致面向框架的组件检索 查全率和查准率不高。 第四,多次复用的不便性。 同一框架多次复用,组件检索和组装过程也多次重复,以往的复用信息和经验不能 得到很好的重用。 为解决以上问题,我们觉得有必要在应用、框架和组件库之间构建一个服务层 东北大学硕士学位论文 第一章引言 面向特定框架的专用组件库来更好地支持基于框架的开发过程。 1 2 研究的主要问题与论文的组织 为了解决前面小节中提出的现有基于框架的开发过程中存在的问题,本文主要研究 了面向特定框架的专用组件库对组件的组织和管理方式,主要包括以下几方面内容: 第一,为解决组件库多源、分布问题,设计了面向框架的专用组件库的组件集成模 式。 第二,为解决分布式通用组件库中组件刻面描述模型之间的语义异构问题,以及组 件检索过程中的语义差异问题,研究了组件本体和建立组件本体的方法。 第三,为提高组件检索的效率和智能性,研究了面向框架的专用组件库对特定框架 内组件关联关系的管理问题,并设计构造了组件关联检索策略集。 第四,介绍了面向框架的专用组件库中,基于组件本体和关联检索策略集的组件查 询扩展问题。 本文是按照下面的结构来组织的: 第一章简要介绍本研究课题的背景和意义,以及本文研究的主要问题。 第二章介绍了论文所涉及到的相关基础知识、相关研究内容和研究现状。 第三章允绍了基于框架的软件开发过程以及面向特定框架的组件库的概念和关键 技术。 第四章详细介绍了面向框架的专用组件库的组件集成模式,包括多维组件表示模型 和组件本体,以及组件本体的构建过程。 第五章是面向框架的专用组件库实现组件关联管理的方式,包括关键功能模块的工 作原理、设计与实现。 第六章对本文进行总结。 2 东北大学硕士学住论文 第= 章研究基础 第二章研究基础 本文的研究是建立在以下软件复用领域的知识和研究基础之上的包括:组件技术 和基于组件的开发方法( c b d ) ;组件库技术;框架技术和基于框架的开发方法等。现将 以上相关基础知识和当前研究现状做以介绍。 2 1 组件和基于组件的开发 2 1 1 组件的定义 最初的软件复用是建立在源代码的概念基础上的,但组件的概念要广泛得多。在组 件技术的发展过程中出现了多种软件组件的定义,以下是一些有代表性的定义: “组件是已被封装的、可分布的具有良好接口定义的软件包,封装了设计和实现的 内容,并向外提供接口,通过接口与其它组件组装成更大的整体 2 3 。” “组件是具有符合特定协议的接口的组合单元,它的上下文依赖性是完全显式的组 件可以被独立的部署,并由第三方来组合 2 3 】。” “组件是自包含的、清晰标识的模块,描述和执行特定的功能,具有清晰的接口和 文档,并定义了复用的隋景。” “一个组件由一个动态变化的对象集组成,这些对象既可以在组件的内部也可能是 其接口的一部分。组件之间既可以直接交互,也可以通过独立的对象进行耦合畔】。”这 是从对象实现技术的角度给出的组件定义。 分析和总结以上几种典型定义,结合本文所研究的组件特点,在此给出我们对组件 的概括性定义: 定义2 1 组件。组件是一+ 个可独立开发和部署的软件单元,封装了设计和实现,并 可由第三方进行组合,通过接口向外界提供服务。 2 1 2 组件的刻面描述方法 组件的描述方法,决定了组件的检索方法,也决定了组件库对组件的管理方法。组 件的描述方法很多,但以刻面法最为常用,这里对刻面法进行介绍。 一个刻面分类模式由一组描述构件本质特征的刻面所组成,每个刻面从不同的侧面 一个刻面分类模式由一组描述构件本质特征的刻面所组成,每个刻面从不同的侧面 东北大学硕士学位论文第二章研究基础 第二章研究基础 本文的研究是建立在以下软件复用领域的知识和研究基础之上的,包括:组件技术 和基于组件的开发方法( c b d ) 组件库技术;框架技术和基于框架的开发方法等。现将 以上相关基础知识和当前研究现状做以介绍。 2 1 组件和基于组件的开发 2 1 1 组件的定义 最初的软件复用是建立在源代码的概念基础上的,但组件的概念要广泛得多。在组 件技术的发展过程中,出现了多种软件组件的定义,以下是一些有代表性的定义: “组件是已被封装的、可分布的具有良好接口定义的软件包,封装了设计和实现的 内容,并向外提供接口,通过接口与其它组件组装成更大的整体2 3 1 。” “组件是具有符合特定协议的接口的组合单元,它的上下文依赖性是完全显式的组 件可以被独立的部署,并由第三方来组合。” “组件是自包含的、清晰标识的模块,描述和执行特定的功能,具有清晰的接口和 文档,并定义了复用的情景 2 4 。” “一个组件由一个动态变化的对象集组成,这些对象既可以在组件的内部也可能是 其接口的一部分。组件之间既可以直接交互,也可以通过独立的对象进行耦合 2 4 】。”这 是从对象实现技术的角度给出的组件定义。 分析和总结以上几种典型定义,结合本文所研究的组件特点,在此给出我们对组件 的概括性定义: 定义2 1 组件。组件是一个可独立开发和部署的软件单元,封装了设计和实现,并 可由第三方进行组合,通过接口向外界提供服务。 2 1 2 组件的刻面描述方法 组件的描述方法,决定了组件的检索方法,也决定了组件库对组件的管理方法。组 件的描述方法很多,但以刻面法最为常用,这里对刻面法进行介绍。 一个刻面分类模式由一组描述构件本质特征的刻面所组成,每个刻面从不同的侧面 一3 东北大学硕士学位论文第二章研究基础 对组件进行描述。一个组件在每个刻面上由一个或多个术语描述,每个刻面中的术语将 组件进行适当的划分,用户可以从不同的角度检索组件,也有利于用户对组件的理解。 每一个刻面与一个术语空间相关联,术语空间由一组基本的术语组成。任意两个刻面的 术语空间是正交的,一个刻面的术语发生变化不会影响到另一个刻面的术语空间。刻面 是组件的复用者在查询组件时最关心的组件属性。在查询组件时复用者通过选择刻面的 术语,可以明确地限定组件的范畴。 2 1 3 基于组件的开发方法 组件的出现改变了传统的软件开发方法。c b d 建立在结构化方法和面向对象方法 基础之上,是“以复用为目的,并得益于复用”的一种开发方法。“以复用为目的”是 指组件设计者设计组件的目的就是为了使组件被复用,易于复用。“得益于复用”是指 通过复用现有的组件,大大提高了软件的开发质量和效率。基于组件的开发方法( c b d ) 的出现引导软件开发从应用系统开发转变为应用系统集成。 建立一个应用系统需要重用很多已有的组件模块,这些组件模块可能是在不同的时 间、由不同的人员开发的,并有各种不同的用途。在这种情况下,应用系统的开发过程 就变成对组件接口、组件上下文以及框架环境一致性的逐渐探索过程。与传统开发方式 相比,c b d 的开发将应用与实现分离,使用标准接口,将软件开发变成符合标准的组 件生产和基于组件的组装过程,传统的软件开发过程是串行瀑布式、流水线的过程;而 c b d 是并发进化式,不断升级完善的过程。图2 ,1 中显示了二者的不同。 图2 1 传统开发方式与c b d 的比较 f i g 2 ,1t h ec o m p a r i s o nb e t w e e nt r a d i t i o n a ld e v e l o p m e n tm e t h o da n dc b d 一4 一 东北大学硕士学位论文第二章研究基础 一直以来在软件领域都存在着高层次上的重用、分布式异构互操作的难题没有解 决。c b d 发展到今天,才在软件开发方法上为解决这个难题提供了机会。c b d 与传统 的软件开发过程在重用元素、开发方法上都有很大的不同。c b d 把应用业务和实现分 离,即逻辑与数据的分离,提供标准接口和框架,使软件开发方法变成组件的组合。c b d 的软件开发方法是以接口为中心,面向行为的设计。c b d 实现了分析、设计、类等多 层次上的重用。图2 ,2 是其开发过程。 归纳起来,c b d 的软件开发方法学应包括以下几个方面: 第一,对组件有明确的定义。 第二,基于组件的概念需要有组件的描述技术和规范,如u i v i l 、j a v a b e a n 、e j b 、 s e r v l e t 规范等。 第三,开发应用系统必须按组件裁剪划分组织,包括分配不同的角色。 第四,有支持检验组件特性和生成文档的工具,确保组件规范的实现和质量测试。 总之,传统的软件开发方法从草稿自顶向下进行,对重用没有提供更多的辅助。c b d 的软件方法学要丰富得多,它是即插即用,基于体系结构,以接口为中心,将组件有和 组合,它把自顶向下和自底向上方法结合起来进行开发。 组件开发 应用领域 域分析建模 组件设计和实现 域组件库 组件应用开发工具 组件1 分配 组件仓库 应用开发 应用领域 基于组件设计方法学 图2 2 c b d 的开发过程 f i g 2 2t h ed e v e l o p m e n tp r o c e s so f c b d 一5 组件合成 网络互操作性 应用系统 东北大学硕士学位论文 第二章研究基础 2 2 组件库 组件技术以及基于组件的开发方法( c b d ) 的发展,使软件开发部门逐渐积累了大量 的可复用组件,对这些组件的高效管理和检索成为学术界和工业界需要解决的新问题, 组件库技术应运而生。 2 2 1 现有组件库概况 近些年来,国内外各种组件库系统层出不穷。具有代表性的有国外的s t a r s 、 r e b o o t 等,国内的青鸟系统等。这里简要介绍s t a r s 和青鸟系统。 ( 1 ) s t a r s 组件库系统 s t a r s 计划3 2 】最初是在1 9 8 8 年发起的。计划涉及单个主要集团:波音公司、洛克 希德- 马丁联合系统公( l m f s ) 和洛克希德吗丁战术防务系统公司( l m t d s ) 。s t a r s 计 划集成现代软件开发过程,并重用软件工程环境技术中德概念,以提高软件生产率、可 靠性和质量。s t a r s 研究德重点是加速美国国防部内部软件开发方式德转变。这种变化 代表相重用和产品线工程技术的转移,向过程驱动、与具体领域有关和由技术支持的方 向转移。 图2 3 是s t a r s 构件库系统的参考模型的基本示意图 9 】。图中最外层方框表示构件 库,构件库是一种组织、收集、访问与管理若干构件的手段。构件库由构件库数据和构 件库系统组成,图中以横线分隔二者,构件库数据包括构件本身及其描述性信息和组织 性信息,这些信息总称为构件目录( 图中阴影的下半部分) 。其中描述性信息成为构件描 述,组织性信息称为库数据模型。 构件库系统由构件库框架和构件库工具组成,它提供了一组面向库的定义和操纵构 件库中数据的机制。构件库框架a l f 提供了基本的面向库的操作( 图中“框架服务”) , 这些操作是按照由元模型定义的某种数据组织技术来定义、创建、操纵和管理构件目录 所必须的。库工具提供了若干有结构的操作,高层工具和用户通过框架服务来访问构件 目录并间接访问构件。a l o a _ f 主要关心构件库框架和构件目录,并不关心构件本身和 建立在框架服务上的库工具。 在图2 3 中,元模型用于定义和界定库中数据模型被创建的方式。图中的白色双箭 头表示出元模型语数据模型间的直接关系。一旦给定了数据模型,构件描述将反映由它 所定义的构件目录的结构,构件目录决定了如何描述构件以及构件描述信息的格式。 6 东北大学硕士学位论文第二章研究基础 静i 羹# l ;a l o 所关注的地方 图2 3s t a r s 构件库系统框架参考模型 f i g 2 3f r a m e w o r kr e f e r e n c em o d e lo fs t a r sr e p o s i t o r ys y s t e m ( 2 ) 青鸟系统 国内的北大青鸟系统2 5 1 经过将近十年的研究,取得了很多研究成果,目前在国内的 软件工程研究领域处于先进地位。至今,青鸟系统已经发展到青鸟i i i 阶段。 青鸟i i i 型系统以构件、构架库为核一t 3 ,支持基于复用的软件开发技术和过程。运 行于异构平台之上,支持在异构网络环境下的群组式软件开发工作及不同平台上工具的 互操作。具有多数据库接口,支持多信息源访问、面向多种数据库系统的应用系统集成 及数据仓库管理。支持更灵活的环境剪裁、组装机制,使得环境可以容易地剪裁为专用 应用开发平台。青鸟i i i 型系统的体系结构如图2 4 所示。 j b 3 系统以青鸟构件模型和青鸟构件描述语言为基础,其应用系统部分主要由以下 几部分构成:青乌异构平台;多数据库、多信息源接口;青鸟构件库系统一j b c l ;青 鸟程序理解及构件获取工具集;青鸟面向对象系列开发工具集;青鸟构件组装工具等。 这些平台、系统和工具紧密结合,支持以复用为核心的开发方法。 j b 3 作为一个支持复用的软件开发环境,构件的有效管理和查询是关键,其核心是 7 东北大学硕士学位论文 第二章研究基础 一个构件库系统j b c l 。青鸟构件库系统用于对可复用构件进行描述、管理、存储和检 索,以满足基于“构件一构架”复用的软件开发过程的需要。它以青鸟构件模型为基础, 建立青鸟构件库数据模型,并语其它c a s e 工具相结合,支持凑见的生产、描述( 使用 青鸟构架描述语言) 、分类、存储、查询和复合。 青乌构件库提供一系列的支持工具来协助构件库的使用者和管理者共同用好构件 库,发挥出构件库应有的价值。青鸟构件库系统的整体结构如图2 3 所示。 o l e 集戒 图2 4 青鸟构件库系统总体结构 f i g 2 4a r c h i t e c t u r eo f j b 3r e p o s i t o r ys y s t e m j b c l 以构件库为核心,它用于储存构件及相关信息。数据库服务器直接对数据库 进行操作。构件库的相关工具分为三个工具集,它们通过网络和数据库服务器通信,支 持用户对构件库的使用。 构件入库工具集 由构件库管理员使用,其中包括构件分类工具,主要功能是将新构件加入构件库及 修改已有构件信息。 构件查询工具集 由构件库用户使用,其中包括构件查询工具和构件使用意见反馈工具,协助构件库 用户浏览、查询、提取构件,反馈用户对构件的使用意见。 构件库维护工具集 8 东北大学硕士学位论文 第二章研究基础 由构件库管理员使用,其中包括用户数据库维护工具、构件制作者数据库维护工具、 构件库管理员数据库维护工具、用户反馈意见处理工具、刻面术语空间维护工具和构件 库信息统计工具,对构件库的各部分内容进行维护。 2 2 2 组件库的组件描述模型 目前国内外研究界已经提出了数个构件描述模型 2 6 1 ,包括3 c 、r e b o o t 、n a t o 、 s t a r s 、青鸟构件模型等。多数的组件描述模型都是基于刻面描述方法的。 3 c 模型认为一个理想的构件描述应当涵盖三个方而的内容:概念( c o n c e p 0 ,内容 ( c o n t e n t ) - 1 语境( c o n t e x t ) 。 r e b o o t 是一个包括存储可复用构件的数据库和一组生产、认证、插入、提取、评 价和适配可复用构件的工具的环境。它对构件采用了刻面分类策略,包括抽象、操作、 操作对象、依赖四个刻面,主要针对源代码级别的构件。 从本质上来讲,无论是3 c 、r e b o o t ,还是青鸟构件模型,都是基于刻面的描述 模型。 ( 1 ) 3 c 构件模型 3 c 构件模型是在1 9 8 9 年的“r e u s e i n p r a c t i c e w o r k s h o p ”中由一些系统工程领域的 专家( ll a t o u r 等) 提出的,它是关于构件的一个指导性模型。该模型由构件的三个不同 方面的描述组成: 概念( c o n c e p t ) :关于“构件做什么”的抽象描述,可以通过概念去理解构件的功能。 概念包括接口规约和语义描述两个部分,语义描述和每个操作相关联。 内容( c o n t e n t ) :概念的具体实现,描述构件如何完成概念所刻画的内容。在本质上, 内容是对一般用户隐蔽的信息,只有那些要修改构件的人才需要了解这些信息。 语境( c o n t e x t ) :描述构件和外围环境在概念级和内容级的关系。语境刻画构件的应 用环境,为构件的选用和适应性修改提供指导信息。 语境可进一步分为: 概念语境( c o n c e p t u a lc o m e x t ) :描述构件间接口和语义方面的关系。 操作语境( o p e r a t i o n a lc o n t e x t ) :刻画构件中被操作数据的特征( 如类型和操作) 。 实现语境( i m p l e m e n t a t i o nc o n t e x t ) :描述构件间在实现方面的依赖关系。 f 2 ) r 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 t o r i e n t e dt e c h n o l o g y ) 是e v e n a n d r ek a r l s s o n 9 东北大学硕士学位论文 第二章研究基础 等人在r e b o o t 项目总结中提出的,它实质上是一个刻面分类模型。在描述构件时, 首先对领域进行分析,并得到一组基本的描述特征,这些特征称为刻面。刻面可以描述 构件执行的功能、被操作的数据、构件应用的语境或任何其它特征。描述构件的一组刻 而称为刻面描述子( f a c e td e s c r i p t o r ) 。通常刻面描述限制在不超过7 或8 个刻面。该模 型认为可以用有限维信息空间的术语组合,从若干个刻面的综合角度来刻画一个构件, 每个刻面描述构件在某个论域内的一些特征。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 ) 对构件所提供的操作的描述。 操作对象( o p c r a t e0 1 1 1 ) :描述构件操作的对象。 依g 负( d e p e n d e n c y ) :描述构件与外界的依赖关系。 3 c 与r e b o o t 侧重角度不用,不应截然分开。3 c 模型是一个高抽象层次的、可 裁减的、可扩展的一个构件描述的指导性模板,它主要用于对构件的可复用信息的描述。 而r e b o o t 模型则主要用于对可复用构件进行分类及检索。因此,可复用构件的3 c 模 型描述主要由构件生产者提供,而其r e b o o t 的描述则应由构件库的管理者提供。 ( 3 ) 青鸟构件模型 青鸟构件模型是一个与具体实现和实用性紧密联系的描述系统。青鸟构件模型从九 个方面来描述构件,更多地关心构件的易理解性、封装性及构件间关系,通过给构件提 供明确的对外接口实现服务提供者和其服务请求者的分离,该模型更多地关心构件及其 使用者间的交互,特别是对构件使用者有意义的部分。 概念 对构件功能的抽象描述,多采用名词来表示,这类名词应尽可能采用领域内的公认 词汇,以便于直观地了解和相互交流。 操作规约 用来指称构件对外提供的可被请求的服务。 接口 接口给出了构件的对外行为描述,分入接口和出接口两种。 类型 类型用于定义可作为操作参数的值的特征和范围。 实现体 是构件的具体实现部分,是实际完成被请求服务的系统。不同层次的构件有不同的 1 0 一 东北大学硕士学位论文 第二章研究基础 实现方式,具有不同实现体的构件可能具有相同的接口和操作规约。 构件复合 构件通过复合组成系统。模型中的复合关系仅限于可表示为程序代码的构件,复合 的方式是服务请求( 消息传递) ,构件间出、入接口的关联建立起构件的复合关系。 构件性质 指明构件的形态、层次和表示。 构件注释 描述和构件库相关的其他性质,这些性质是构件库管理所必需的信息,如构件作者、 制作时间、修改限制、修改影响等。 构件语境 描述构件的软、硬件使用环境和实现依赖。 2 2 3 组件库中组件检索的研究现状 有效的组件检索机制能够大大降低组件检索和理解的成本。针对不同的组件描述形 式,研究人员已提出了不同的检索方法。包括:基于正文的组件检索、基于行为采样的 组件检索、基于词法描述符的组件检索、基于规约的组件检索和基于语义的组件检索等。 其中,基于词法描述符的组件检索又有若干变种和细化,主要分为关键词、枚举、刻面 和属性值几类,而尤以基于刻面的组件检索应用最为广泛。 在基于词法描述符的组件检索中,组件的描述方法是基于受控词汇的表示方法,即 信息科学中的编目分类方法。一般来说,一个组件由一组领域专家详细审查的关键字( 即 术语1 来描述,这些关键字来源于一个反映领域概念的预定义的词汇表【3 “。用户检索时, 先输入若干个与要查找的组件相关的关键字,并将其组成布尔表达式,记为q 。将q 与 组件库中的每一个组件描述进行匹配,如果返回值为真,则认为该组件与查询相关,这 种检索方法称为布尔检索,即基于偏序关系的检索。如果在用户查询中仅单纯使用关键 字,而不使用其布尔表达式,那么返回值将是一个数值,表示两者之间的匹配程度,这 种检索方法称为相似检索,即基于距离的检索。可以利用带权语义网、模糊逻辑触发器 或带权的术语空间等技术计算组件之间的语义距离,实现近似查询。 基于刻面的组件检索主要采用以传统数据库检索技术为主,并结合利用同义词词典 和刻面术语空间的层次结构来实现组件的松弛匹配 3 5 ,但许多学者还将神经网络【3 6 】、模 糊数学【3 7 、关联传动 3 8 】等方法应用于组件检索。 东北大学硕士学拉论文 第二章研究基础 2 2 4 组件库中组件关联关系的研究现状 在以往的c b d 开发过程实践中,开发人员深切体会到,从组件库中检索组件的查 全率和查准率往往不高。造成这种结果的原因是多方面的,其中组件库中对组件的关联 描述和关联检索的支持不足就是其中一个方面。关联检索是根据组件之间的各种关联关 系例如,对运行环境的共同依赖、多次复用总结出的匹配复用等为组件的检索 提供更准确、更适合复用和组装的结果集。 目前关于组件库中组件关联关系的研究较少。 在文献 4 j 中,将组件之间的关系归结为三种: ( 1 ) 调用关系 设c 1 和c 2 是软件系统s 中的两个不同组件,若组件c 1 使用了组件c 2 所提供的服 务,就称组件c 1 和c 2 是调用关系。 ( 2 ) 条件关系 设c 1 和c 2 是软件系统s 中的两个不同的组件,若组件c 1 的执行是以组件c 2 的执 行为前提的,即组件c 2 的输出是组件c l 的输入,就称组件c l 和c 2 是条件关系。 ( 3 ) 协作关系 设c 1 和c 2 是软件系统s 中的两个不同的组件,若c l 和c 2 互相协作完成同一功能, 就称c 1 和c 2 是协作关系。 文献 8 】中主要介绍青鸟系统的组件表示方法,提到的组件间关系包括以下几种:继 承关系、精化关系、版本关系、包含关系、协作关系。 文献 2 8 1 0 0 主要介绍基于语义的组件检索,其中利用本体描述术语之间的关联信息, 从而从语义层来描述组件之间的关联关系。 但是,现有各个组件库系统中均未见有专门管理组件关联关系的相关功能模块,也 没有关于利用组件关联关系进行关联检索的详细阐述。本文在综合研究分析现有的组件 关联关系的基础之上,提出在面向框架的专用组件库中构建组件关联检索策略集的思 想。与现有组件库系统最大的不同是,关联检索策略集是目前第一个专门用来管理组件 关联关系的组件库系统功能模块,在后面章节将详细阐述策略集的作用和原理。 2 3 框架 组件技术在软件开发过程中属于实现层的技术。基于组件的开发属于实现层的复用 一1 2 一 东北大学硕士学位论文 第二章研究基础 方法。但是在软件开发过程中,开发者往往追求更高层次的复用一一设计层的复用,尤 其是在面向特定领域的软件开发过程中,这种需求更迫切。框架技术就是支持设计层复 用的一项技术。 2 3 ,1 框架定义 对于应用框架,一直以来没有一个统一的定义,下面给出两个最常用的定义: “框架是一个系统全部或者部分的可复用设计,通常由一组抽象类和类之间的协作 组成【1 7 1 ”。 “框架是一个能够被开发人员实例化的系统骨架1 8 】”。 这两个定义是相互补充的,前者从复用的角度描述了框架,而后者给出了框架的目 的。根据以上两个定义可知:第一,框架既分割了应用领域中的类、定义了各部分的主 要责任和类与对象的协作关系,还规定了控制流程;第二,框架记录并实现了其应用领域 的主要公共设计决策。由此可以认为,框架是一个“部分实现”的软件体系结构,是支持 软件设计复用和实现复用的技术。 人们最常开发和使用的框架有两种:面向对象框架( o b j e c t o r i e n t e df r a m e w o r k ,简称 o o f ) 1 9 和基于组件的框架( c o m p o n e n tb a s e df r a m e w o r k ,简称c b f ) 。o o f 的复用是通 过对框架中的抽象类进行特殊化的方式来定义框架行为的,每一个抽象类派生一个子 类,并在子类中给定所有纯虚方法的具体实现,然后就可以复用这些具体的子类来开发 特定应用系统。因此,o o f 是基于继承的框架,也称为白盒框架。随着2 0 世纪9 0 年代 组件技术的兴起,出现了基于组件的框架( c b f ) ,即将基于继承的面向对象框架通过用 组件接口中方法的调用来替代对象类中方法的重载,转换成为基于组件的框架。基于组 件的框架由互相协作的组件组成,一个框架内部包含了多个组件,它们体现了领域的共 性,称之为框架组件( f r a m e w o r kc o m p o n e n t s ) ,丽框架外部的、体现领域变化性的组件称 为应用组件( a p p l i c a t i o n c o m p o n e n t s ) ,通过对组件接口的扩展来实现应用系统。相对于基 于继承的框架,c b f 又被称为基于组装的框架。由以上简单分析可知,o o f 和c b f 之 间的主要区别在于实现技术和提供扩展点的机制不同。 目前有许多框架系统,例如用户界面方面的框架有m v c 、e t + + 等,针对其他领域 的则有f o i b l e 、m a c a p p 、f a c e ( f r a m e w o r k a d a p t i v ec o m p o s i t i o ne n v i r o n m e n t ) 等。 一1 3 东北大学硕士学位论文 第二章研究基础 2 3 2 框架
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 病人转运合同范本
- 土耳其移民合同范本
- 沙石料订购合同范本
- 手工承包劳务合同范本
- 吊车使用合同范本
- 土地流转分红合同范本
- 防排烟施工合同范本
- 店铺物品转卖合同范本
- 承揽制作安装合同范本
- 红皮病型银屑病皮肤护理查房
- 2024年全国网络安全行业职业技能大赛(数据安全管理员)考试题库-下(多选、判断题)
- DL∕T 1878-2018 燃煤电厂储煤场盘点导则
- 储藏室买卖协议模板
- 知识题库-人社练兵比武竞赛测试题及答案(九)
- 麦冬(浙麦冬)规范化生产技术规程
- 2024-2029年N-甲基吗啉N-氧化物(NMMO)行业市场现状供需分析及市场深度研究发展前景及规划投资研究报告
- 技术交底记录(通风)
- 2024年浙江温州乐清市公安局警务辅助人员招聘笔试参考题库附带答案详解
- (高清版)TDT 1055-2019 第三次全国国土调查技术规程
- 中国茶文化英文
- 钳工中级理论知识试卷与答案
评论
0/150
提交评论