(计算机应用技术专业论文)对领域构件库分类模式的研究——领域构件库的功能集模型.pdf_第1页
(计算机应用技术专业论文)对领域构件库分类模式的研究——领域构件库的功能集模型.pdf_第2页
(计算机应用技术专业论文)对领域构件库分类模式的研究——领域构件库的功能集模型.pdf_第3页
(计算机应用技术专业论文)对领域构件库分类模式的研究——领域构件库的功能集模型.pdf_第4页
(计算机应用技术专业论文)对领域构件库分类模式的研究——领域构件库的功能集模型.pdf_第5页
已阅读5页,还剩55页未读 继续免费阅读

(计算机应用技术专业论文)对领域构件库分类模式的研究——领域构件库的功能集模型.pdf.pdf 免费下载

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

文档简介

河海大学硕士研究生毕业论文对领域构件库分类模式的研究 摘要 随着计算机技术的广泛应用,各领域对软件的需求不断增长,软件的复杂程度也 不断提高,软件危机日益严重,如何更好的在缩短软件开发周期的同时提高软件质量 就成为软件产业的当务之急,软件复用为这一问题提供了可行的方案。构件库作为一 种支持软件复用的基础设施,它提供对软件构件进行描述、分类、存储和检索等功能, 是近十几年来国内外学术界研究软件复用的热点和重点。 本文根据国内外构件库系统的研究现状,论述了现有构件库系统存在的主要问 题,发现了建立领域构件库的优越性和必要性,由此构造了一个适用于领域构件库的 功能集模型,它利用领域的特点,一定程度上解决了现有通用构件库在查询和维护方 面存在的主要问题,并将该模型具体应用到了水利领域构件库系统的构建中。本文的 创新点主要体现在以下几个方面: 1 利用领域构件和领域构件库功能的特点,通过一个合理简便的算法建立了一个针 对领域构件库的支持多元决策的功能集模型- - d t m ( d e c i s i o nt r e em o d e l ,决策 树模型) ,使用户可以方便地查询到满意的构件; 2 通过采取有效的方法更新和繁荣已经长成的d t m 树来反映构件库的变化情况以 及领域的演化情况,大大方便了构件库的管理和维护; 3 结合该模型建立了一个水利领域构件库系统,并在此过程中对d t m 模型的主要功 能构件查询、构件添加、构件删除、构件版本更新,进行了具体的实现。 关键词:软件复用、基于构件的软件开发、领域构件库系统、领域决策树模型 河海大学硕士研究生毕业论文 对领域构件库分类模式的研究 a b s t r a c t w i t ht h ee x t e n s i v ea p p l i c a t i o no fc o m p u t e rt e c h n o l o g y , t h ed e r a a n df o rs o f t w a r ei n v a r i o u sf i e l d si so nt h ec o n t i n u o u si n c r e a s e ,t h ec o m p l e x i t yo ft h es o f t w a r ei sa l s or i s i n g , a n dt h es o r w a r ec r i s i si sb e c o m i n gi n c r e a s i n g l ys e r i o u s ,s oh o wt ob e t t e rs h o r t e nt h e s o f t w a r ed e v e l o p m e n tc y c l ea tt h es a m et i m et oi m p r o v es o f t w a r eq u a l i t yh a sb e c o m ea p r e s s i n gt a s ki nt h es o r w a r ei n d u s t r y , a n ds o f t w a r er e u s ep r o v i d e sav i a b l eo p t i o nf o rt h i s i s s u e a sab a s i cs u p p o r tf o rs o f t w a r er e u s e , c o m p o n e n tl i b r a r yp r o v i d e sf u n c t i o n so ft h e d e s c r i p t i o n 、c l a s s i f i c a t i o n 、s t o r a g e 、r e t r i e v a la n do t h e r so f t h es o f t w a r ec o m p o n e n t s ,w h i c h h a sb 咖t h eh o ta n df o c u $ o fd o m e s t i ca n di n t e r n a t i o n a la c a d e m i cr e s e a r c ho ns o f t w a r e r q g u s ei nt h el a s t1 0s e v e r a ly e a r s b a s e do l lt h ed o m e s t i ca n di n t e r n a t i o n a lr e s e a r c hs t a t u sq u oo nc o m p o n e n tl i b r a r y s y s t e m s ,t h i sp a p e rd i s c u s s e dt h em a i np r o b l e m so f t h ee x i s t i n gc o m p o n e n tl i b r a r ys y s t e m s , a n df o u n dt h es u p e r i o r i t ya n dn e c e s s i t yo ft h ee s t a b l i s h m e n to ft h ed o m a i nc o m p o n e n t l i b r a r y , t h e ni th a sc o n s t r u c t e daf u n c t i o n a ls e tm o d e lf o rd o m a i nc o m p o n e n tl i b r a r y u s i n gt h ec h a r a c t e r i s t i c so fd o m a i n , t h em o d e l ,t os o m ee x t e n t , s o l v e dt h em a i np r o b l e m s o ft h ee x i s t i n gc o m m o nc o m p o n e n tl i b r a r yo nt h ei n q u i r ya n dm a i n t e n a n c e , a n di tw a s a p p l i e dc o n e r c t e l yt ot h ec o n s t r u c t i o no ft h ew a t e rl e s o u r c ed o m a i nc o m p o n e n tl i b r a r y s y s t e m i nt h i sp a p e r , t h ei n n o v a t i o np o i n t sa r ei nt h ef o l l o w i n g 盯e e s : 1 u s i n gt h ef u n c t i o n a lc h a r a c t e r i s t i c so fd o m a i nc o m p o n e n ta n dd o m a i nc o m p o n e n t l i b r a r y , w eh a v ee s t a b l i s h e daf u n c t i o n a ls e tm o d e l d t m ( d e c i s i o nt r e em o d e l ) f o r d o m a i nc o m p o n e n tl i b r a r yw h i c hs u p p o r tt h em u l t i p l ed e c i s i o n m a k i n gt h r o u g has i m p l e a n dr e a s o n a b l ea l g o r i t h m s ot h a tu s e f sc a ne a s i l yf i n dt h es a t i s f i e dc o m p o n e n t s ; 2 b ya d o p t i n ge f f e c t i v ew a y st ou p d a t et h eg r o w nd t m , t h ec h a n g e si nt h e c o m p o n e n tl i b r a r ya n dt h ee v o l u t i o no ft h ed o m a i nc a nb er e f l e c t e d , w h i c hc a ng r e a t l y f a c i l i t a t e dt h em a n a g e m e n ta n dm a i n t e n a n c eo f t h ec o m p o n e n tl i b r a r y 3 i nc o m b i n a t i o nw i t ht h i sm o d e l 。aw a t e rr e s o u r c ed o m a i nc o m p o n e n tl i b r a r y s y s t e mh a sb e e ne s t a b l i s h e d , a n di nt h i sp r o c e s s ,t h em a i nf u n c t i o n so ft h ed t mm o d e l , i n c l u d i n gc o m p o n e n ti n q u i r y , c o m p o n e n ta d d i t i o n , c o m p o n e n td e l c t i o n , c o m p o n e n tv e r s i o n u p d a t e ,h a v eb e e nr e a l i z e d 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 t - b a s e ds o f t w a r ed e v e l o p m e n t 、d o m a i nc o m p o n e n t l i b r a r ys y s t e m 、d o m a i nd e c i s i o nt r e em o d e l 学位论文独创性声明: 本人所呈交的学位论文是我个人在导师指导下进行的研究工作及取 得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论 文中不包含其他人已经发表或撰写过的研究成果。与我一同工作的同事 对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 如不实,本人负全部责任。 论文作者( 签名) :奎重2 0 订年5 月2 2 日 学位论文使用授权说明 中国科学技术信息研究所、国家图书馆、中国学术期刊( 光盘版) 电子杂志社有权保留本人所送交学位论文的复印件或电子文档,可以采 用影印、缩印或其他复制手段保存论文。本人电子文档的内容和纸质论 文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅。 论文全部或部分内容的公布( 包括刊登) 授权大学研究生院办理。 论文作者( 签名) :盔重弘1 年3 月四日 河海大学硕士研究生毕业论文 对顿域构件库分类模式的研究 1 1 选题的背景和意义 第1 章绪论 软件工程的目标是致力于提高软件生产效率和软件质量,而软件重用是提高软件 生产效率和软件质量的切实可行的途径之一,其出发点是,软件系统的开发以已有的 工作为基础,充分利用已有系统开发中所积累的知识和经验进行新的开发,这样,软 件开发的重点就可以集中于软件系统中的特有构成成分上。软件构件只有在数量上达 到一定的规模才能真正满足软件重用和基于构件的软件开发c b s d 的需求,因此必须 有一个强有力的工具对这些数量庞大的软件构件进行管理。在1 9 6 8 年北约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 ) 举行的一次会议上,m c u r o y 在论文中首 次提出可重用软件构件库的思想以及形式化软件重用的概念“1 。构件库作为一种支持 软件重用的必备基础设施,它提供对软件构件进行描述、分类、存储和检索等功能。 在基于构件重用的软件开发过程中,构件库系统扮演了重要角色。 对任何一个应用领域来说,生产出高复用性的构件并不是一蹴而就的事情,这需 要领域的不断演化,也就是使某个领域从缺少高复用性构件的非成熟阶段逐渐转化为 有大量高复用性构件的成熟阶段的过程。1 。实际经验告诉我们,每个开发团队面对某 个应用领域进行开发都会经历一个初始阶段,在这个阶段没有足够的可供领域分析的 实际应用系统,或者很难得到其它组织开发的系统的文档、代码,更没有足够的领域 知识和可复用资源,这些从非成熟领域中逐步获取、积累可复用资源,并对这些资源 进行合理的管理,以促进非成熟领域演化为成熟领域,是急待解决的问题。 综上所述,无论从基于构件的软件生产,还是从领域演化的角度讲,都需要一个 合理的构件库系统进行支持。然而无论是软件生产还是其他各种产品的生产,对许多 领域都通用的可重用构件实际上是较为难得的,而针对一个具体的领域,系统开发往 往具有一定程度上的共性,这意味着开发人员有可能提取出领域内相对稳定的成分, 组装成构件,这样所生成的构件成为领域中相对通用的产品,实现领域内的软件重用, 因此领域构件库的建立更具优越性和可行性。 河海大学硕士研究生毕业论文对领域构件库分类模式的研究 1 2 国内外研究现状 1 2 1 构件库系统的标准 目前,国内外学术界对构件库系统及其相关问题进行了一系列深入的研究,提出 了一些复用标准: ( 1 ) 由d a r p a 发起,由美国军方、s e i 和m i t r e 支持的s t a r s ( s o f t w a r et e c h n o l o g y f o ra d a p t a b l er e li a b l es y s t e m ) 项目考虑了开放体系结构的构件库之间共享资源和 实现无缝互操作的问题,并于1 9 9 2 年提交了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 2 版本9 ”。这一报告体现了 s t a t s 对可复用构件库系统的认识,给出了一个构件库框架的参考模型,并就此实现 了a l o a f 规约作为该参考模型的实例,由此证明以公共元模型为基础,在构件库之间 交换信息和创建易于移植的复用工具是可能的和必要的。 a l o a f 的短期目标是尽快实现不同复用库间的构件共享,长期目标是实现异质构 件库问的无缝互操作,包括构件及其描述的共享及丰富的构件库工具集的易移植性。 其基本观点是软件系统的开发将演化成一种过程驱动的、特定于领域的和基于复用的 技术支持范型。s t a r s 认为构件库是软件工程环境( s e e ) 的子系统之一,其提供的功 能应与s e e 框架的参考模型一致构件库系统利用s e e 提供的服务,并向上层提供服 务a l o a f 更关注构件库框架而非更广泛的s e e 框架。a l o a f 包括构件库参考模型及其 服务规约和数据描述规约a l o a f 在构件库和复用服务方面对s e e 参考模型进行补充。 ( 2 ) 可复用库互操作组织( r e u s el i b r a r yi n t e r o p e r a b i l i t yg r o u p ,缩写为r i g ) 是一个志愿的基于一致意见的组织,由来自政府、学校和私人企业的成员组成r i g 认为,软件复用中理解问题被认为是影响复用成功的一个关键问题,而现存的构件库 使用各种不同的数据模型、分类模型和术语,当前几乎没有有效的方法在众多的政府 和企业界软件复用库间共享软件构件,其结果是低效和不必要的冗余可互操作性, 即复用库问软件构件的共享,可能是在短期内提高效率、增加复用库的价值和影响, 并在长期中避免不兼容协议的爆炸性增长的关键因此,r i g 的目标是致力于开发可 互操作性的解决方案r i g 的成果包括b i d m 和u d m 峨u d m 是基于a l o a f 的三层数据模 型的统一数据模型,定义了支持可互操作性的库之间交换软件包构件信息,u d m 提供 2 河海大学硕士研究生毕业论文 对领域构件库分类模式的研究 了一个可能的解决方案。但u d m 并没有最终定义互操作数据模型的结果,它还需要提 供更加强大的软件构件交换能力b i d m 是u d m 的一个子集,定义了为了实现互操作, 复用库交换软件构件时所需的信息的最小集b i d m 已被i e e e 采纳为标准 ( 3 ) 北大西洋公约组织( n a t o ) 针对n a t 0 、n a t 0 参与国和承包商制定了一组关于 软件复用的标准,其中包括“可复用构件开发标准”、“可复用软件构件库管理标 准”、“软件复用过程标准”。制订这些标准的目标是供n a t o 及其参与国的项目 管理部门使用它们来建立复用计划需求和向承包商提供指导承包商则将它们用于特 定项目的开发实践 n a t o “可复用构件开发标准”为创建具有最大复用潜力的软件提供指南。该标准 面向n a t o 的项目管理者和项目承包商,针对软件生存周期中的需求分析、设计、 详细设计与实现、质量保证与测试以及文档等方面分别论述,帮助用户组织一个 可复用软件构件的开发过程。标准的大部分内容是独立于编程语言的,在实现时 采用特定语言的编码标准作为该标准的补充。 n a t o “可复用软件构件库管理标准”包括构件的入库、构件库的分类模式、构件 的配置管理和构件库工具的需求四个方面。它指出构件库系统,应对每一个推荐 入库的可复用构架进行定性和定量的评价。在对构件进行配置管理时,应记录下 复用者的复用历史,改进构件库的查询机制,使用户更好地选取构件,并作为构 件进行配置管理和维护的依据,同时对构件库性能的改进也有帮助。构件小组还 应追踪以各种方式从构件库中提取过构件的复用者,并坚持用构件库工具追踪对 构件的复用。复用者需要提供一个“反馈”日期的协议,表明自己将何时反馈 回该构件的使用意见,以及复用的经验。它还指出复用者应能访问候选构件的摘 要、质量评价、软件度量等相关信息,从而找出与需求最匹配的构件。 n a t o 。软件复用过程标准”为希望使用复用库中的可复用构件进行复用实践的软 件项目提供指南。复用库提供了复用的基础,但构件库本身不能实现复用,这时 还需要一个特定的过程来指导软件项目有效地使用构件库。这个过程与前面可复 用构件的开发过程非常相似,正好是一个生产一消费的关系。 河海大学硕士研究生毕业论文对领域构件库分类模式的研究 1 2 2 构件模型的规范及标准 构件模型( c o m p o n e n tm o d e l ) 是为了研究构件的本质特征和构件之间的关系, 是对实际构件的抽象。目前,国内外制定的比较有影响的构件模型的规范主要有以下 三种:微软公司的c o m d c o m ,s u n 公司的j a v a b e a n e j b 模型,o m g 起草与颁布 的c o r b a c c m 。 ( 1 ) c o m d c o m 微软公司在1 9 9 3 年和1 9 9 6 年分别提出了构件对象模型( c o m ) 和分布式构件对 象模型( d c o m ) ,这个构件互操作标准,有很强的扩充和扩展能力。c o m 的核心是 一组应用程序调用接口( a p i ) 。该接口提供了创建构件、组装构件的功能。为了支 持网络环境,微软对c o m 进行了扩充,这就是d c o m 。 c o m 规范具有以下特点: 构件间的互操作基于指针进行,依赖于操作系统的a p i 。 对w i n d o w s 的依赖性强,对其他操作系统的支持相对不足。 对构件运行环境的提供者仅限于微软,但支持c o m 规范的开发工具比较多, 例如:v c + + 、v b 、c + + 等。 ( 2 ) j a v a b e a n 1 9 9 8 年s u n 公司推出的j 2 e e 平台是用于开发基于构件软件的一种基础结构, 该平台已成为以b s 模式为代表的多层应用结构体系的事实标准,j a v a b e a n 是在j a v a 语言的基础上提出。由于j 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 构件的标准 接口实现的。在j a v a b e a n 中根据属性的使用类型将其分为:一般属性、索引属性、 依附属性和约束属性。通过一些标准的命名约定定义它们相应的访问方法,是 j a v a b e a n a p i 能用统一的方式对属性进行管理。内省功能是构件的内部结构( 属性、 方法和事件) 展现给外部的机制,开发者只要对构件的属性、方法和事件的命名和类 型符合遵守一个约定,通过标准的j a v a b e a n a p i 就可以了解到b e a n 的任何内部信息。 j a v a b e a n 的事件处理模型是基于现存的a w t 事件处理模型的。它决定b e a n 如何对 它自身状态的变化做出反应,以及决定如何将这些变化传递给应用程序和其他b e a n 。 4 河海大学硕t 研究生毕业论文 对领域构件库分类模式的研究 通过j a v a b e a na p i 将一个事件接收器( 处理某个事件的应用程序或其他b e a n ) 注册 到该事件上,完成外部对事件的控制,这是将b e a n 组合起来的有效方法。j a v a b e a n 的其它服务主要是利用j a v a b e a n 提供的这些标准接口实现的。 j a v a b e a n 具有以下几方面的特点: 构件模型比较完备 仅支持j a v a 语言 构件运行环境主要由s u n 支持,其他厂商也可以提供运行环境,支持该模型 的开发工具较多,例如v i s u a l c a 硌,v i s u a l a g e f o r j a v a 等。 ( 3 ) c o r b a ( c o m m o n o b j e c t r e q u e s t b r o k e r a r c h i t e c t u r e ) 公共对象管理组织的 缩写,是为了解决分布式、异构软硬件环境下对象之间的互操作问题由o m g ( o b j e c t m a n a g e m e n tg r o u p ,对象管理组织) 1 9 9 0 年提出的基于中间件的构件技术,包括一 系列基于面向对象技术的中间件技术标准和规范,其中与构件实现规范相关的内容包 括i d l 、i r 和c o m p o n e n t m o d e l 。 c o r b a 具有两个重要的特点即面向对象技术与分布式计算的结合以及代理机制 的中间件技术。其核心是o r b ( o b j e c t r e q u e s t b r o k e r ) ,构件间的复用以o r b 为互 操作中介,对处理机、操作系统、语言的异构性支持较强。o r b 将客户对象( c l i e n t ) 的请求发送给目标对象( o b j e e t i m p l e m e n t a t i o n ) ,并将相应的回应返回至发出请求的 客户对象。不同于c o m d c o m 技术,c o r b a 利用o r b 的代理机制,将构件的接 口与构件的实现分离开来。服务对象实现后,就将其接口登记在c o r b a 的代理中, 客户对象按照代理中的接口描述访问服务对象,而不关心服务对象使用什么语言、在 什么地方、在什么软硬件环境下实现,这些工作由代理自动地、透明地为客户对象完 成。它充分借鉴了j a v a b e a n 的构件模型,但在构件的l i f e c y e l e 等方面具有特有的规 定。 目前提供构架运行环境( o r b 产品) 的产商较多,例如i n o a 公司的o r b i x 1 n p r i s e 公司的v i s i b r o k e r 、i b m 公司的c o m p o n e n t b r o k e r 等,对开发支持的工具则相对较少, 通常需要传统开发工具的支持。 河海大学硕士研究生毕业论文 对领域构件库分类模式的研究 1 2 3 构件库体系结构的简介与分析 传统构件库的体系结构主要有仓储型( 图1 1 ) 和层次型( 图1 2 ) 两种体系结构 i i e 它们主要的设计依据是一种静态的库结构,即将可复用构件及其相关文档作为存 储资源,从构件相关文档中提炼出各个构件的特征轮廓( 这一过程可手工也可自动 化) ,并在此基础上构建起相应构件库的索引体系及检索系统“。综合来说,整个体 系结构主要包括一个复用构件库和查询、检索、管理、评价四个子系统“”。这两种体 系结构的主要区别在于各子系统功能的划分及连接器的通信机制“。在构件库中每个 构件的存储数据主要包括:构件、构件描述信息和有关的规格说明文档、测试与演示 实例等三个主要部分“。在这些构件数据中可通过自动化析取或领域专家的经验分析 提取出相应构件的特征轮廓,进而构筑起分类方案、刻面和索引库。查询子系统和检 索子系统主要负责给用户提供个性友好的查询手段以及快速正确的检索技术,如:超 文本链接浏览、关键字描述检索、层次聚类检索等技术“”。管理子系统主要负责构件 库数据日常的管理与维护工作,如:用户授权、构件数据增减等“”,评价子系统主要 根据各构件的日常检索、查询的情况,并结合用户对构件的反馈信息适时统计构件的 评价因数,以协助构件库的管理与查询。 从实践效果看,这种静态的库结构便于控制与管理,但是由于它是建立在一种静 态的组织、调度结构上,而忽视了对可复用构件本身的可复用性、复用率等动态复用 性能的适时监控与管理,使得构件库的覆盖率与检索率随着时自j 的发展而逐渐衰减, 从而并不能为软件的开发提供真正意义上的面向复用的服务,失去了其作为复用构件 库本身的意义“”。 再有静态的库结构对领域演化的支持不够充分,虽然系统管理人员可以根据用户 反馈子系统中构件使用的反馈信息定期通过手工配置对构件库的内容进行调整,但这 种调整往往是盲目的、滞后的。例如,当删去一个构件后,也许并没有更合适的构件 可以适时填补上,从而使复用库的覆盖率被降低,有时填补上的也许是可复用性更低 的构件,从而降低了复用库的检索率“”。实际上,在每一次构件库中的构件被提取、 或新系统开发完成后都会有构件复用性变化的情况,反映在领域中,就是领域发生了 变化。领域演化是一个漫长的过程,在这个过程中及时记录并反映其变化情况是促使 领域向正确方向演化的依据。静态库没有及时记录领域的变化情况,反映构件可复用 6 河海大学硕上研究生毕业论文 对领域构件库分类模式的研究 性、复用率的变化,这样一方面,用户在选择可复用构件时,不能及时察觉哪些构件 才是真正复用性较高的构件,所以具有一定的盲目性,所选择的构件可能不利于复用; 另一方面,由于用户选取构件的盲目性,致使构件库的管理者不能依据构件的复用率 变化情况积累正确的领域知识,使领域演化的方向发生偏差,从而增长领域演化的时 间。 索引 图1 1 可复用构件库的仓储型体系结构 管理子系统i 查询子系统 、: 、 管理子系统 评价子系统检索子系统 i 图1 2 可复用构件库的层次型体系结构 1 2 4 构件库原型系统 当前,已经出现了不少构件库原型系统,他们都基于一些共同的观念,同时,他 们之间存在一定的差异,主要表现在各个构件库采用的技术、系统的侧重目标,以及 处理的构件类型和形态等方面。为了进一步理解构件库技术的研究现状,以下简要介 绍几种典型的构件库系统。 7 河海大学硕士研究生毕业论文 对领域构件库分类模式的研究 ( 1 ) r e b o o t ( r c u b a s e d o bo b j e c to r i e n t e dt e c h n i q u e s ) 构件库系统 r e b o o t 是欧盟信息技术计划e s p r i t 中的一个项目,目标是研究、开发以及推 广复用驱动的和面向对象的软件技术。r e b o o t 系统是9 0 年代初期国际上比较著名 的构件库系统,是一个存储可复用构件的复用库和一组支持构件生产、考查、分类、 选择、评估和适配的复用工具组成“”。有下列技术特色: ( 1 ) 采用刻面分类作为主要分类方法,定义了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 “”四个刻面来描述系统所存储的面向对象的源代码构 件。 ( 2 ) 提供构件的详细描述和测试信息,用户可以通过这些信息来理解构件。此 外,对每一个构件设置一个开放论坛,提供用户报告他们的复用经验和碰到的问题。 ( 3 ) 开发了一个基于“要素一标准一度量”模型标准的度量体系“”,定义了两 个质量与可复用性的模型来评估构件的质量和可复用性,评估的因素是通过静态计算 构件代码得到。r e b o o t 指出这些统计仅仅是一种信息来源,另一个重要的来源是其 他用户的经验和他们对构件可复用性的主观评估。复用者可以通过主观评估与模型的 静态计算相结合来评估构件。 ( 4 ) 要求用户在使用适配工具提取构件时,提供构件的复用历史,包括用户的 满意程度、提取代价、节省的努力、批评意见、构件的修改需求等方面的反馈。 目前,r e b o o t 中对构件的描述仅针对单个构件,且都是文本类型。当用户检索到 一组候选构件时,如何提供量化的比较信息,使用户快速选取最能满足需求的构件, r e b o o t 中尚未提供有效地技术支持。如何有效地组织用户反馈信息,改进构件度量, 需进一步研究。 ( 2 ) c a r d s ( c e n t r a l a r c h i v e f o r r e u s a b l e d e f e n s e s o f t w a r e ) 啪1 领域构件库系统 它是美国国防部( d e p a r t m e n to fd e f e n s e ) 的一个项目,目的是将领域库支持 下的面向特定领域的复用技术应用到国防部中所涉及的软件过程和项目中。 ( 3 ) c o d e b r o k e r 构件库系统1 它是美国c o l a r a d o 大学开发的第一个构件库原型系统,其最大的特点在于将构 件库与源程序编辑工具进行无缝的集成,为用户提供主动查询服务。在c o d e b r o k e r 中,存储的构件是各种j a v a 的类和方法,旨在辅助j a v a 程序员进行软件系统的开发。 它能够推断对构件的需求,并借助与预测相匹配的实例主动推荐构件。 8 河海大学硕士研究生毕业论文 对领域构件库分类模式的研究 ( 4 ) 青鸟构件库管理系统( j b c l m s ) 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 m e t 的软件资产库管理系统,用于对可复用构件进行描述、管理、存 储和检索,以满足基于“构件一构架”复用的软件开发过程的需要,它以青鸟构件模 型为基础,建立青鸟构件库数据模型,并与其它c a s e 工具相结合,支持构件的生产、 描述( 使用青鸟构件描述语言) 、分类、存储、查询和复合。 j b c l m s 作为企业级的构件管理工具,它可以管理软件开发过程中的不同阶段 ( 分析、设计、编码、测试等) 、不同形态( 如分析设计文档、源代码、二进制代码、 测试报告等) 、不同表示( 如文本、图形等) 的构件,提供多种检索途径,以便用户 快速检索所需的构件。青鸟构件库管理系统主要包括构件提交、构件检索等7 大功能: 构件提交:系统允许软件开发人员将在项目开发中定制的软件构件通过网络 提交到构件库中。构件库管理员将对所提交的构件进行验证,验证后的构件 才能提供给用户使用,以保证构件库中构件的质量。 构件检索:系统提供简单查询、组合查询、刻面浏览、规约浏览四种检索 浏览界面,允许用户通过关键词、刻面术语、构件属性、构件规约等多种途 径进行检索。采用独特的构件夹技术,用以保留用户的查询结果,提高系统 使用效率。此外,系统还支持用户对检索出的构件进行评估,以决定是否提 取。 构件管理:这部分功能包括添加正式构件、构件实体入库、构件信息修改、 验证候选构件、删除构件以及构件规约的增加、删除和修改等。同时,系统 还提供系统日志,以记录用户对构件库的操作,帮助系统管理员维护系统。 构件库定n - 目的是为了满足不同企业的不同需求。包括对构件库刻面、构 件关系类型和构件形态的增加、删除和修改。 反馈处理:收集构件库用户的反馈意见,并对反馈意见进行整理,以便用户 在检索时更好地选取构件,同时对库中已有构件的不足之处进行弥补。 人员管理:j b c l m s 将系统的使用人员分为五类一超级管理员、系统管理员、 普通用户、构件提交者和访客。系统只有一个超级管理员,他对系统拥有最 高控制权。系统提供用户账户的申请、用户权限的设置、人员的增n 删除 9 河海大学硕士研究生毕业论文对领域构件库分类模式的研究 修改等功能。 构件库统计:包括对系统信息、构件信息、分类统计信息及各类人员信息的 统计。 j b c l m s 具有以下主要特点: ( 1 ) 可以存储和管理广义的构件,采用数据库管理系统存储构件描述信息,文 件系统存储构件实体。 ( 2 ) 支持软件生命周期所有环节的软件复用,不仅仅局限于源代码。 ( 3 ) 通过w w w 浏览器进行访问和使用系统,不需要安装客户端软件。 ( 4 ) 提供关键词、刻面、规约等多种检索方式。j b c l m s 选取使用环境、应用 领域、功能、层次、表示方法等作为基本刻面,以满足宽谱系构件的描述需求。 ( 5 ) 允许用户对构件库管理系统的分类机制进行全面的剪裁和定制,以满足自 己的特定要求: ( 6 ) 采用“用户一人员组一构件字库一构件”四级模式来实现用户在构件库中 的职责和权限。 ( 7 ) 提供基于数据仓库技术的构件反馈机制,为用户选取构件提供辅助分析。 j b c l m s 的体系结构如图1 3 所示。 基于w e b 的用户界面 i j 构件管理工具| | 构件检索工具ii 系统定制工具l i 决策支持工具i j 【 i n t e m e t i n 数据访问系统 w e b 服务器应用程序接口 系l i o 理层 河海大学硕士研究生毕业论文对领域构件库分类模式的研究 除了上述所介绍的几种典型的构件库系统之外,还有+ 1 r e u s er e p o s i t o r y 、 s a l m s ( 软件资产库管理系统) 、a s r r ( 自动软件复用库) 、mu n i v e r s a lr e p o s i t o r y ( 通用库) 、a i r s ( 基于a i 的软件复用库) 、r l t ( 复用库工具集) 、h s t x 复用库、 d s r s ( 美国国防部软件库系统) ,l i d ( 构件库互操作示范工程) 、i - c a s e ( - - 计算机辅 助软件工程继承环境1 、m o r e ( 面向多媒体的构件库、s a i c a s s e t 面向软件工程的 软件资产复用技术) 、p a l ( 公共a d a 库) 、c a p s ( 软件可复用构件库) 和d i s a ( a d a 库暨 美国国防部信息系统代理复用库) 等构件库系统嘲。 此外,对构件库的研究也有了一些新的尝试。例如,s t a n g s r i p a i r o j 等人啪1 将 s o m ( s e l f - o r g a n i z i n gm a p ) 的概念应用于构件库的构造。f r a n k 等人将基于协同过滤 ( c o l l a b o r a t i v ef i l t e r i n g ) 的方法引入构件检索,提出了一个推荐系统m 1 ,实现了即时学 习以支持开发者快速发现所需要的构件。该研究针对开源软件库s o u r e e f o r g e 呻1 进行 挖掘,搜集构件使用历史,以更好地向用户提出建议。 1 2 5 现有构件库系统存在的问题 基于对大量关于构件库系统研究文献的综合分析,发现现有构件库系统多为通用 构件库系统,主要存在以下问题: ( 1 ) 现有的通用构件库系统由于要提供对多个领域软件开发的支持,使得库中 的构件种类繁多,结构复杂。这对于构件库所采取的分类和组织方法提出了更高的要 求,同时,各领域术语难以准确表达,使得构件往往难以理解。 ( 2 ) 由于通用构件库系统的开放性,构件库对于外部用户提交的构件缺乏完善 的审核,对构件的提交过程,构件的属性信息,构件的下载和使用等环节缺乏管理, 这在某种程度上造成了构件库的混乱。 ( 3 ) 现有的通用构件库系统中构件来源于不同的领域,系统中的构件的通用性 往往较高。但是,也因为如此,开发通用构件时往往为了增强其通用性,去除了其领 域特性,从而导致构件的适用性差。 ( 4 ) 通用构件库为了存储来自不同领域的构件及其描述信息,术语空间的维护 工作量较大,若采用刻面描述法进行构件表示,当新领域的构件加入构件库时需要扩 展刻面分类模式,使得构件库的维护和管理工作相当困难和复杂。 ( 5 ) 当查询大型构件库时,选择一种合适的表达方式表示查询是构件库中用户的 河海大学硕士研究生毕业论文对领域构件库分类模式的研究 任务。然而在大多数情况下,构件的使用者并不是它的开发者,他们只知道自己需要 的构件应该具有什么功能,对于准确的术语、刻面、属性值并不清楚,因此主观性和 词汇误匹配会大大降低找到有用构件的可能性。 ( 6 ) 现有的少数领域构件库系统不能及时记录构件库及领域变化的情况,不便 于构件库的维护和管理,从而使领域演化速度降低。 1 3 本文的主要研究工作 软件复用构件库是实现软件复用的重要依托,合理地设计构件库并对其进行管理 是软件复用需要解决的主要问题。本文致力于探讨如何建立面向领域的构件库,主要 以水利领域为背景进行实际研究。本文研究的主要目标是: 1 利用领域构件和领域构件库功能的特点,通过一个合理简便的算法建立了一个针 对领域构件库的支持多元决策的功能集模型d 1 m ( d e c i s i o nt r e em o d e l ,决策 树模型1 ,使用户可以方便地查询到满意的构件; 2 通过采取有效的方法更新和繁荣已经长成的d t m 树来反映构件库的变化情况以 及领域的演化情况,使构件库管理者可以方便的进行构件库的管理和维护; 3 根据构件库系统的工作过程,结合该d t m 模型对水利领域构件库系统进行基本 构建,并在此过程中对该模型的各项主要功能构件查询、构件添加、构件删 除、构件版本更新,进行具体实现。 1 4 本文的组织结构 本文分为五章,第一章为绪论;第二章概括介绍了构件库的相关技术和概念;第 三章详细讨论了领域构件库功能集模型的建立;第四章是水利领域构件库系统的建 立;第五章,对本文的工作进行了总结。 河海大学硕上研究生毕业论文对领域构件库分类模式的研究 第2 章构件库技术 软件复用是解决软件危机的可行手段,而基于构件的软件开发目的正是为了实现 软件复用。实现基于构件的软件开发需要解决这样几个问题:l 、必须存在可以复用 的对象;2 、可以通过某种途径找到适合复用的对象;3 、理解如何使用可复用的对象 恤1 。要解决第一个问题,需要采用一定的方法生产出可复用的软件对象:要解决第二、 三个问题,需要对可复用构件进行定位,还要对其进行科学的分类和描述,这需要通 过一个合理的构件库系统来解决。可以这样说,构件库系统是为基于构件的软件开发 过程提供支持的一种设施。所以,在讨论构件库之前首先需要明确什么是基于构件的 软件开发。 2 1 基于构件的软件开发 随着构件技术的发展,基于构件复用的软件开发方法也得到日益广泛的应用。 基于构件的软件开发遵循“购买而不创建( b u y , d o n tb u i l d ) ,”的开发哲学1 ,让人们 从。一切从头开始”的编写程序转向软件组装。形象地讲,基于构件的软件开发方法 就是采用类似工业化生产的方式,将预先开发好并经过严格测试的、可以多次重复使 用的软件构件按照给定的构架和特定的相互关系组装在一起,形成一个新的软件系 统,从而避免一切从零开始的低效率开发方式。所以基于构件的开发至少应该包括构 件的获取和构件的使用两个过程1 ,只有获取了可以复用的构件才能进行应用系统的 组装,构件的获取方法包括从已有构件中选择可用的和根据要求自行生产。 由于构件机制的引入,基于构件的软件开发过程与传统的生命周期中的方法不尽 相同,它可由以下四个阶段组成“: 第一阶段:理解商业模式,分析系统的应用构架,确定所需的构件,给出它们的 规格说明。用构件、构件接口、构件提供的服务等模型将需求表达出来。这一阶段的 输出结果是用构件形式表示出来的应用系统构架。 第二阶段:通过查找构件库或者重新创建新的构件来获取第一阶段定义好的各种 构件。 河海大学硕士研究生毕业论文对领域构件库分类模式的研究 第三阶段:将得到的构件组装成新的系统。利用构件提供的接口将单个构件组装 成所需要的应用系统。 第四阶段配:置并执行新的应用系统。由于构成应用系统的构件可能处于不同的 平台、使用不同的实现技术,需要对这些构件加

温馨提示

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

评论

0/150

提交评论