




已阅读5页,还剩74页未读, 继续免费阅读
(计算机应用技术专业论文)面向领域的构件库管理系统的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
论文题目: 专业: 硕士生: 指导教师: 面向领域的构件库管理系统的研究与实现 计算机应用技术 袁东 常会友教授 摘要 随着现代软件工程的发展,基于软件构件复用的系统丌发方法成为当前研究 热点之一,而构件库管理系统作为对该软件丌发过程提供支持的重要设施也被广 大研究人员所关注。随着领域开发的深入,在软件丌发组织内部已经积累了大量 可使用的领域构件,人们强烈希望能够尽量复用该领域现有的软件构件措建新系 统。因此,研究如何表示构件,为领域应用系统的开发人员提供良好的构件库管 理系统,使可复用的领域构件能够得到有效管理和利用,变得非常有意义。 本文研究的目的是要明确软件系统中的可复用资源并对其进行有效管理,从 而为基于软件构件复用的软件丌发过程提供支持。本文工作体现在如下方面: ( 1 )定制了 m g s c l ( m a n u f a c t u r i n gi n f o 珊a t i z a t i o n a l l de - g o v e 吼e n t o f i e n t e ds o f 衙a r cc o i i l p o n e n tl i b r a r y ,简称m g s c l ) 构件模型及其表示。m g s c l 构件模型及其表示能够准确描述构件的领域特征,使构件易于被理解和复用。 ( 2 )设计了基于可配置x m l 文件的构件校验方法。构件校验方法灵活, 能有效验证构件的完整性、合法性、一致性,并且更改校验内容时只需修改配置 文件,而无需修改任何代码。 ( 3 ) 设计了对构件库管理系统有重要意义的构件推荐度策略。构件推荐度 策略能实时反映构件的可复用性、复用率的变化,指导用户选择高复用性、高质 量的构件,并能为构件的改进和构件库的管理提供重要的参考。 ( 4 )以m g s c l 构件为基础,设计并实现了面向领域的构件库管理系统。 与通用构件库管理系统相比,本文实现的系统能够更加有效地对制造业信息化和 电子政务领域的构件进行集中管理。另外,系统在可靠性、友好性、可维护性和 可移植性等方面也取得了一定的成果。 关键词:构件模型,构件校验,构件推荐度,领域构件,构件库管理系统 t i t l e :r e s e a r c ha n di m p l e m e n t a t j o no fd o m i n - o r i e n t e dc o m p o n e n tl i b r a r ym a n a g e m e n ts y s t e m m a j o r :c o m p u t e re n 百n e e r i n g n a m e :d o n gy u a n s u p e r v i s o r :p r o f c s s o rh u i y o uc h a n g a b s t r a c t w i t ht h ed e v e l o p m e n to fs o 胁a r ee n g i n e e r i n g ,s y s t e md e v e l o p m e n tw h i c hb a s e d o n m p o n e n t sr e u s eb e c o m e sah o tr e s e a r c ha r c a a sa ni m p o n a n ti n f m s t r u c t u r co f t h ed e v e l o p m e n t ,c o m p o n e n tl i b m r ym a l l a g e m e n ts y s t e mg a i n s 粤e a ta t i e n t i o nf r o m r e s e a r c h e r s t h e r ea r cl o t so fr c u s a b l ed o m a i nm p o n e n t sa c c u m u l a t e di n d e v e l o p m e n to 唱a n i z a t i o n s ,p e o p l e d e s i r et oc o n s t m c tn e ws y s t e m sw i t ht h o s e c o m p o n e n t s t h e f e f o r e ,j ti ss i g n i f i c a n tt 0r e s e a r c hh o wt o d e s c r i b ec o m p o n e n t , p r o v i d ei n f r a s t 九l c t u r ca n de f f i c i e n t l ym a n a g er e u s a b l ed o m a i nc o m p o n e n t s t h em a i np u i p o s eo f t h ep a p e ri st os p e d f yt h er c u s a b l er e s o u r c e sa n dm a n a g e t h e me f f i c i e n y ,a st o p r o v i d eb e t t e rs u p p o nt oc o m p o n e n t _ b a s e ds o f a r e d e v e l o p m e n t n i sp a p e rm a i 玎l yf o 锄s e so nt h ef o l l o w i n gw o r k s : ( 1 ) c u s t o m i z e sm g s c l ( m a n u f a c t u r i n gi n f o m a t i z a t i o na n de - g o v e m m e n t o r i c n t e ds o f h v a r cc o m p o n e n tl i b r a r y ) c o m p o n e n ta n di t sd e s c r i p t i o n m g s c l c o m p o n e mm o d e la n di t sd e s c r i p t i 衄c a ne x p r e s st h ed o m a i nf c a t u r e sp r c c j s e l yw h i c h m a k e st h e m p o n e n t sb eu n d e r s t 0 0 da i l dr e u s e dm o r ce a s i l y ( 2 ) d e s i g i l sc o m p o n e n tv e r i f i c a t i o nm e i h o db a s e d0 nc o n f i g u r a b l ex m lf i l e ,a n d t h ec o m p o n e n tv e r i f i c a t i o nm e t h o di sn e x i b l e 柚de 龀c t i v e ( 3 ) d e s i g n ss t r a t e 百e st or e c o m m e n d 咖p o n e n t s t b es t r a t e 百e sc a ng u i d eu s e r s t os e l e c tc o m p o n e n t sw i t h h i g l lf e u s e - d c 笋e ca n dq u a l i t y ;t h e yc 蚰a l s op m v i d e i m p o r t a n tr e f c r e n c e sf o ri m p r o v i n gc o m p o n e t 皿dm a n a 舀n gs y s t e m ( 4 ) d e s j 印sa i l di l p i e m e n t sd o m a i n 0 r i e n t e dc o m p o n e n tl j b r a r ym a n a g e m e m s y s t e m c b m p a ” t oc o m m o ns y s t e m s ,m g s c ls y s t e mc a m a n a g ed o m a i n m p o n e n t sm o r ee 币c j e n t ly b e s i d e s ,o u rs y s t e mp r o v i d e sg o o dp e r f o 皿1 a n c ei n e f e i c j e n c y ,m b u s t ,m a i n t e n 卸c ea n ds oo n k e yw o r d s :c o m p o n e mm o d e l ,c o m p o n e n tv e r i f i c a t i o n ,c o m p o n e n tr c c o m m e n d a t i o n , d o m a i nc o m p o n e n l c o m p o n e n t l i b r a r ym a n a g e m e n ts y s t e m 论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究 工作所取得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人 或集体已经发表或撰写过的作品成果。对本文的研究作出重要贡献的个人和集 体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:兹絮 日期:劬8 年r 月8 日 学位论文使用授权声明 本人完全了解中山大学有关保留、使用学位论文的规定,即:学校有权保留 学位论文并向国家主管部门或其指定机构送交论文的电子版和纸质版,有权将学 位论文用于非赢利目的的少量复制并允许论文进入学校图书馆、院系资料室被查 阅,有权将学位论文的内容编入有关数据库进行检索,可以采用复印、缩印或其 他方法保存学位论文。 学位论文作者签名: 袁夺 r 期:、。口辉f 月gr 导师签名: r 期2 如p 年了月fr 中山大学硕士毕业论文面向领域的构件库管理系统的研究0 实现 1 1 研究背景 1 1 1 应用背景 第1 章引言 通常情况下,软件的开发需要经过需求分析、总体设计、详细设计、编码、 测试和运行等阶段。而实际上,很多系统的需求是相近的,如果按照传统的软件 工程方法从头设计系统,那么在系统开发过程中就必然存在大量的重复劳动。为 了解决重复劳动的问题,进行软件复用是一条现实可行途径i ”。 软件复用( s o f t w a r er e u s e ) 是一种用预先构造好的、为复用目的而设计的软 件构件来建立或组装软件系统的过程。它的基本思想是在两次或多次不同的软件 开发过程中重复使用相同或相近的软件元素的过程。软件复用是解决“软件危机” 的途径之一【2 】,是一条提高软件开发效率和软件质量的切实有效的途径1 3 】【4 l 。 软件构件技术是软件复用的一种重要手段,目前出现了大量的基于构件的软 件开发技术。然而,在实际的开发中,软件的复用程度并不理想【”。构件复用面 临的矛盾是:一方面存在大量的可复用构件;另一方面,复用者却很难找到真正 需要的构件。要解决这个问题,就需要借助构件库管理系统对构件进行有效的管 理。构件库管理系统在软件复用中起着关键的作用1 6 】1 7 】i8 1 ,受到国内外学术界的 高度重视。在整个软件生产线中,构件库管理系统作为提供服务的载体是联系生 产者( 构件生产者) 和消费者( 系统组装者) 的纽带,起着不容忽视的作用。可 以说构件库管理系统在开发可复用构件和基于可复用构件的软件开发之间起到 了桥梁的作用。 对于构件库管理系统的研究,很多是针对通用构件库管理系统进行的。通用 构件库管理系统和特定领域构件库管理系统之间存在着相似点,但在具体的技术 问题上,也有很多差异。与通用构件库管理系统相比,特定领域的构件库管理系 统的研究起步较晚,技术没那么成熟,同时由于领域间固有的差异,很难找到适 合所有领域的构件管理方式,所以在面向领域的构件库管理系统方面仍有很多问 题值得探讨,对其进行的研究也是相当有价值的。 中山大学硕十毕业论文 面向领域的构件库管理系统的研究与实现 1 1 2 项目背景 本文的研究工作是在粤港关键领域重点项目面向制造业信息化和电子政务 领域的软件构件库平台的基础上进行的。这个项目是由广州市科技局立项提出, 由广州市天剑计算机系统工程有限公司、中山大学和广州华南资讯科技有限公司 三方合作研发。m g s c l 项目的总体目标是研究大规模构件库建设与应用技术, 开发一批具有特色的软件构件,形成面向制造业和电子政务应用的大型构件库, 服务于社会信息化建设,促进广州软件企业及产业的发展。本文根据此项目的实 际要求,主要对构件库管理系统的一些基础设施、关键功能、系统的设计实现等 问题进行研究。 1 2 本文的研究工作 本文主要研究构建一个面向制造业信息化和电子政务领域的构件库管理系 统涉及的主要问题,并给出了面向领域的构件库管理系统的设计实现方案。 本文首先叙述了构件、领域工程及构件库管理系统等方面的相关内容,然后 介绍了面向制造业信息化和电子政务领域的构件模型,提出了基于该构件模型的 构件校验方法和构件推荐度策略。虽后给出了面向领域的构件库管理系统的设计 实现方案。 本文的主要工作如下: ( 1 ) 研究了领域构件的模型及其表示问题,着重介绍了基于x m l 的 m g s c l 构件模型、表示及其构件包结构。 ( 2 ) 设计了面向领域构件的构件校验方法和构件推荐度策略。构件校验的 主要内容包括构件完整性、描述文件的合法性、描述文件与构件之间的匹配三个 方面;构件推荐度策略考虑了可能影响构件复用性、质量的各个方面,并据此定 义了构件推荐度。 ( 3 ) 给出了面向领域的构件库管理系统的设计实现方案。在系统设计方 面,研究了从整个构件库平台,到系统总体设计,再到子系统设计;在系统实现 方面,研究了从系统功能模块,到系统技术架构,再到模块定义和设计。 ( 4 )以面向制造业信息化和电子政务领域的软件构件库平台项目为例,介 中山人学硕十毕业论文面向领域的构件库管理系统的研究与实现 绍并分析了系统在实际应用中的表现。 1 3 本文的贡献和意义 对比于目前的研究,本文设计并实现的面向领域的构件库管理系统具有以下 几个方面的贡献: ( 1 ) 建立了合理的m g s c l 构件模型,从语法、语义方面对其进行定义, 使其能够描述构件的领域特征。 ( 2 ) 针对面向特定领域的m g s c l 构件,设计了构件校验方法和构件推荐 度策略。构件校验方法确保了构件库中构件的完整性、合法性和一致性;构件推 荐度策略为构件库管理系统提供一种动态机制,对构件的动态复用性进行监控与 管理,引导用户使用高复用性、高质量的构件,并对构件的改进和构件库的管理 提供重要的参考,使构件库管理系统提供真正意义上的复用服务。 ( 3 )设计并实现了面向特定领域的构件库管理系统。本文研究的构件库管 理系统面向制造业信息化和电子政务领域,以m g s c l 构件为管理对象,并设计 了若干有特色的系统关键功能,比起通用的构件库管理系统更加有效地管理了面 向特定领域的构件。 其中,m g s c l 构件是构件库管理系统工作的基础,构件校验和构件推荐度 策略是系统的两个重要功能。此外,本人在系统的设计和实现部分还主要承担了 技术架构的设计以及业务逻辑层的模块开发部分。 本文研究的面向领域的构件库管理系统已成功应用于面向制造业信息化和 电子政务领域的软件构件库平台,具有理论和应用上的重要意义: ( 1 ) 理论上研究了构件库管理系统的主要功能,对构件库管理系统的研 究,特别是面向制造业信息化和电子政务领域的构件库管理系统的研究具有重要 的意义。 ( 2 ) 应用上目前已经能够有效管理1 8 0 0 多个构件( 基础构件2 0 0 多个, 制造信息化领域构件3 0 0 多个,电子政务领域构件1 3 0 0 多个) ,为以后构件的组 装应用奠定了坚实的基础,对软件企业、软件产业及应用领域等发展起到了促进 作用。 3 中山丈学硕士毕业论文面向领域的构件库管理系统的研究j 实现 1 4 本文的组织结构 本文一共分为6 章,主要介绍了面向领域的构件库管理系统的基础设施以及 系统的设计实现。 第1 章主要介绍了本文研究的应用背景和项目背景,以及本文的研究工作、 贡献和意义。 第2 章介绍了国内外在相关领域的研究现状,包括构件模型及表示、领域工 程、通用构件库管理系统和面向领域的构件库管理系统等方面。 第3 章介绍了面向制造业信息化和电子政务领域的构件模型及其包结构,并 详细阐述了对构件库管理系统起着重要作用的构件校验和构件推荐度策略。 第4 章详细介绍了面向领域的构件库管理系统的设计与实现。包括平台介绍、 总体设计、子系统设计以及功能模块、技术架构、模块定义和设计等。 第5 章介绍了本文研究的构件库管理系统在实际项目中的应用,即应用于面 向制造业信息化与电子政务领域的软件构件库平台,并根据实际应用情况进行分 析评价。 第6 章对全文进行总结,并讨论进一步的研究工作。 4 中山大学硕十毕业论文面向领域的构件库管理系统的研究与实现 第2 章国内外的研究现状 本文研究的面向领域的构件库管理系统定义了构件模型及表示、构件校验和 构件推荐度策略等,并设计实现了系统的主要功能和方面。其涉及的研究点包括: 构件模型及表示、领域构件、领域工程、通用构件库管理系统和领域构件库管理 系统等方面。下面从各个研究点出发,概述国内外的研究现状。 2 1 构件的研究 2 1 1 构件定义 对于构件的定义,存在很多表述,没有一个严格的统一定义。1 9 6 8 年的n 衄1 0 州o n ha f 】a n t j ct r c a t yo r g a 玎i z a t i o n ,北大西洋公约组织) 【9 】【1 0 】【l l 】软件工程会议上, m d l r o y 第一次正式提出了构件生产的思想。在软件行业中包括有各种构件,如 j a v ab e a n ,c o m 等可复用的软件成分都可以称之为构件。 著名的b r o w n 和w j l l n a u 【1 2 】曾将构件描述为“一个非平凡的、几乎独立的、 可替换的系统组成部分,它在定义完善的体系结构环境中实现某一清晰的功能。” 而c l e m e n s 【1 3 】将构件定义为:“构件是一个独立部署的单元,是一个第三方合成 的单元,构件没有一致性的状态。”b e n r a n dm e v e r 【1 4 】则定义了构件的七个条件: 1 ) 也许被其他软件成分使用;2 ) 也许客户的使用并不干扰构件的开发者;3 ) 包括所有的说明( 软硬件平台、版本、其它构件) ;4 ) 包括它所提供功能的精确 说明;5 ) 说明是它的唯一使用依据:6 ) 可以和其它构件合成;7 ) 可以快速且 平滑地集成到系统。在国内,杨芙清1 5 l 等人认为构件除了包括源代码、二进制文 件外,还可以是需求规约、架构、测试用例等。 在以上的对构件的各种不同看法中,虽然表达不同,但可以认为构件就是指 软件系统中可以明确辨识的构成成分。 5 中山大学硕士毕业论文面向领域的构件库管理系统的研究与实现 2 1 2 构件模型 构件模型是一组软件构件的集合,这些构件具有一定的设计规范,用来约束 构件的接口和控制它们组合的规则【1 5 】。构件的设计要求有规范的接口【1 6 】【1 7 】以支 持装配,它强调的是数据和操作的封装性,通过接口将构件的内部数据以及实现 方法屏蔽起来。在现代企业计算系统的多种不同的构件模型中,有的是与实现技 术无关的,有的则是建立在某种特定的基础之上,有的侧重于整个模型体系的完 备和语义,有的则更着眼于模型的实用性。在定义构件的同时,同样也需要详细 地描述构件和运行环境之问的交互关系。目前具有代表意义的和在应用领域占据 主导地位的一系列构件模型如下: ( 1 ) 3 c 参考模型 3 c 参考模型【1 8 】【1 9 l 是t r a c z t 提出的一个具有指导性作用的构件模型,获得了 学术界的普遍认同。该模型由构件的三个不同方面的描述组成:概念( c o n c e p i ) 、 内容( c o n t e n t ) 和语境( c o n t e x t ) 三个方面。即: c o m p o n e n t := c o n c e p t ,c o n t e n t ,c o n t e x t ) 1 ) 概念:描述构件的功能。可以使用形式化语言作为描述工具,也可以使 用半形式化语言或者自然语言。注意:对于功能的描述必须是抽象的, 不能涉及具体的实现。 2 ) 内容:描述构件如何实现其在概念部分所提出的功能。同样可以使用从 形式化语言到自然语言的各种描述形式。注意:对于一个概念可能存在 多个内容与之对应。 3 ) 语境:描述概念和内容所处的上下文环境。同样也可以使用从形式化语 言到自然语言的各种描述形式。 3 c 参考模型缺乏形式化定义和易懂的描述,因此仅具有一定的宏观指导意 义。 ( 2 )r e b o o t 模型 r e b 0 0 t 【2 0 】( r e u s eb a s e d 咖o b j e c t 0 r i e n t e dt c c l l l l o l o g y ,基于面向对象技术 的复用) 模型实质上是一个刻面分类模型,刻面可以描述与构件相关的各类特 征。r e b o o t 模型认为可以用有限维信息空间组成一个术语组合,通过这个术 语组合从不同角度来刻画一个构件。r e b o o t 模型中的刻面有以下4 个: 中山人学硕上毕业论文 面向领域的构件库管理系统的研究与实现 1 ) 抽象( a b s t r a c t i o n ) :有关构件概念的描述。 2 ) 操作( o p e r a t i o n ) :有关构件提供的操作的描述。 3 ) 操作对象( o p e r a t e s0 n ) :有关操作对象的描述。 4 ) 依赖( d e p e n d e n c i e s ) :有关构件与外界关系的描述。 3 c 参考模型和r e b 0 0 t 模型在许多方面是等同的【2 l 】。3 c 的概念对应于 r e b o o t 的操作刻面;语境对应于操作对象和依赖刻面,描述软件构件的外部 属性( 即一个构件与其它构件间的关系) 和数据特性。但这两个模型也有不同之 处。基于3 c 模型的软构件描述语言允许刻画类属构件属性,更适合于形式化的 描述方法和语言,而r e b o o t 模型只允许按照给定的刻面框架结构描述已有的 软构件,因而适合于非形式化的方法。此外,r e b o o t 模型没有对应于3 c 模型 中的内容的刻面。3 c 参考模型和r e b o o t 模型都没有给出特定应用领域中的软 件构件的特定属性,因而适合于所有应用领域【2 2 l 。 ( 3 )c o r b a c o r b a 【2 3 】( c o m m o no b j e c tr c q u c s tb m k e r c h i t e c t u r e ,通用对象请求代理 体系结构) 分布计算技术是o m g ( o b j e c tm a n a g e m e n tg r o u p ,对象管理组织) 组 织基于众多开放系统平台厂商提交的分布对象互操作内容的基础上制定的公共 对象请求代理体系规范。c o r b a 分布计算技术是由绝大多数分布计算平台厂商 所支持和遵循的系统规范技术,具有模型完整、先进、独立于系统平台和开发语 言,被支持程度广泛的特点,已逐渐成为分布计算技术的标准。c o b r a 标准主 要分为3 个层次:对象请求代理、公共对象服务和公共设施。最底层是对象 请求代理o r b ( o b j e c lr e q u e s tb r o k e r ) ,规定了分布对象的定义( 接口) 和语言 映射,实现对象间的通讯和互操作,是分布对象系统中的“软总线”;在0 r b 之 上定义了很多公共服务,可以提供诸如并发服务、名字服务、事务( 交易) 服务、 安全服务等各种各样的服务;最上层的公共设施则定义了组件框架,提供可直接 为业务对象使用的服务,规定业务对象有效协作所需的协定规则。 c o r b a 有几个基本优点:与开发语言的无关性,与开发者无关的独立性和 与操作系统无关的独立性。c 0 r b a 的0 r b 在当前每一种主流操作系统上均有 实现,除此之外,o r b 可以访问多种语言实现的对象。c o r b a 的缺点是:由于 0 m g 向各公司提供的是技术规范而非实现细节,因此每种o r b 版本并不是完 7 中山大学顷+ 毕业论文面向领域的构件库管理系统的研究与实现 全相同,因此为了增加扩展性,不得不损失掉互操作性和移植性;大量的命令集; 缺乏开发工具。 ( 4 )c o m d c o m c o m + c o m ( 构件对象模型) 是m i c m s o f i 提出的第一个构件模型。它起源于0 l e ( 对象链接和嵌入) 。d c o m ( 分琦i 构件对象模型) 是c o m 技术在分布式环境 中的延伸( c o m 仅支持同一台计算机上构件之间的互操作) 。d c o m 用网络协 议来代替本地进程之间的通信,并针对分布环境提供了一些新的特性,例如位置 透明、网络安全性、跨平台调用等。d c o m 的分布功能依靠远程过程调用来实 现。c o m + 倡导一种新的设计概念,把c o m 构件提升到应用层,把底层细节留 给操作系统,使c o m + 与操作系统的结合更加紧密。c o m + 的底层结构仍然以 c o m 为基础,但在应用方式上则更多地继承了m t s ( m ;c f o s 曲t f a n s a c t i o ns e n ,e r ) 的处理机制,包括m t s 的对象环境、安全模型、配置管理等。c o m + 把c o m 、 d c o m 和m t s 三者有机统一起来,同时也新增了一些服务,如负载平衡、内存 数据库、事件模型、队列服务等,形成一个概念新、功能强的构件体系结构,使 c o m + 成为了真正适合于企业应用的构件技术。 c o m d c o m c o m + 的主要优点包括:拥有高质量的开发工具及向导;有大 量的商品化a c t j v e x 构件可供选择;具有静态和动态接口支持;支持多线程服务。 但是它也有一些缺点:一是它由单一开发者( 微软) 定义并控制,这大大限制了 使用者的选择范围;二是缺乏众多的平台支持,这极大程度地制约了代码的可重 用性和应用的可扩展性。 ( 5 ) 青鸟构件模型 青乌构件模型口8 从3 个视角( 形态、层次和表示) 和9 个方面( 概念、操作 规约、接口、类型、实现体、构件复合、性质、注释和语境) 对构件进行刻画。 它是以对象计算模型为基础进行设计的,支持类、类簇、框架和构架等多种构件 形态,主要缺陷是没有明确提出语义问题,缺乏形式化定义以及具体的实现技术 密切相关。 中山大学硕士毕业论文面向领域的构件库管理系统的研究实现 2 1 3 构件表示 构件描述是建立在构件模型基础上的用以描述构件的具体语言、语法和语 意。对应每一种构件模型存在一种或者多种描述与之对应。在实际应用中,我们 依据构件模型,从构件描述中提取相关定义、属性和信息从而在此基础上实现对 构件的操作。 ( 1 )j 2 e e j 2 e e 组件使用基于x m l 的部署描述符,在组件开发人员、应用程序装配器 和部署器间进行通信。每个部署描述符都基于x m l 文档类型描述( d t d ) ,d t d 用来为这种类型的描述指定语法。 j 2 e e 的部署描述符包括三种,具体情况如下: 1 ) w 曲部署描述符:用于s e r v l e t 和j s p 。w e b 部署描述符的x m l 文件被 命名为w e b x m l 。一个w e b 部署描述符可以包含一个或多个s e n r l e t 和 j s p 。 2 ) e j b 部署描述符:包含一个j 2 e e 企业级应用的内容。应用程序部署描述 符存储在a p p p l i c a t i o n x m l 中。 3 ) 厂商指定的部署描述符:j 2 e e 服务器厂商通常需要利用一个或多个厂商 指定的描述符来传送这些服务器所需要的特定参数。例如b e aw 曲l o 百c 用一个w e b l o 百c c j b _ j a l x m l 部署描述符,让部署器传送用于缓存、群集 等用途的信息。 ( 2 )c o r b a c o r b a 用i d lo n t e r f a c ed e f i n i t i o nl 肋g u a g c ) 来描述对象接口,i d l 是一种 说明性语言,它的语法类似于c + + 。i d l 不是编程语言,其唯一的目的是允许对 象接口以任何具体的编程语言无关的形式来定义这些接口。通过映射o m g 已 经将i d l 转换成下列标准语言:c ,c + + ,s m a l l l a l k ,a d a ,o i e ,u s p ,c o b o l ,j a v a 等。 1 ) l d l 提供数据类型:包括有基本数据类型、构造类型、模板类型、和复 合类型、操作说明。这些类型可以用来定义变元的类型和返回类型,操 作说明则可以用来定义对象提供的服务。 2 ) i d l 提供模块构造:其中可以包含接口,而接口是i d l 各类型中最重要 9 中山大学硕i :毕业论文面向领域的构件库管理系统的研究与实现 的,它除了描述c o r b a 对象以外,还可以用作对象引用类型。 3 ) i d l 提供接口继承性:派生接口可以继承其基类接口所定义的操作与类 型。i d l 的接口继承性有其特殊性,限于篇幅原因,此处不详述。 总之,c o r b a 的i d l 是种说明性语言,描述面向对象系统开发所遵循的 接口与实现相分离的基本原则。i d l 语言映射是开发应用程序的关键,它们提供 c 0 r b a 所支持的抽象概念和模型的具体实现。l d l 编译器负责根据i d l 的接口 定义分别在服务器和客户端上生成以宿主机语言描述的框架代码( s k e 】e t o n ) 以 及存根f s t u b ) 代码。 ( 3 ) d c o m d c 0 m 和c 0 r b a 一样,也是使用接口定义语言i d l 。但d c 0 m 和c o r b a 的l d l 并非同一种语言也就是说,c o r b a 客户端无法使用d c o m 服务器 的i d l 来描述对客户端可用的远程服务。 ( 4 ) 北大青鸟 青鸟构件模型描述语言( j b c d l ) 是在青鸟构件模型基础上设计的,主要 作用是描述构件接口,它可以应用在以下三个方面: 1 ) 在工具的支持下实现自动或半自动的构件复合; 2 ) 利用接口描述中的形式化信息来进行构件验证; 3 ) 利用舰约匹配技术来进行构件查询。 j bc d l 的设计目标是同时满足以上三个方面的应用,目前的实现方案主要 针对第一方面应用,但同时也考虑了今后扩展的可能。j bc d l 的特点在于: 1 ) 以采用面向对象范型的代码件和设计件为描述对象; 2 ) 语言本身也采用面向对象范型; 3 ) 以一致的形式描述类和框架等不同形态的构件; 4 ) 与青鸟构件库系统紧密结合。 在构件分类方面,w f r a k e s 从构件的表示出发将现有方法分为人工智能方 法、超文本方法和信息科学方法三类;h m i l 根据复杂度和检索效果的不同, 分为基于文本的、基于词法描述子的和基于规约的编码和检索三类。 实际部署的复用库项目大多采用信息科学的方法进行构件分类,主要使用枚 举、刻面、属性一值、关键词和正文检索几种方法。对现有分类方法的实证比较 1 0 中山人学硕十毕业论文 面向领域的构件库管理系统的研究与实现 表明,上述方法各有利弊,其中以枚举和刻面分类两种方法的检索响应速度明显 优于其他方法;但是在查全率、查准率和用户偏好等其它指标上,各种方法之间 没有显著差异。 n a t o 推荐采用刻面分类模式对构件进行分类,对构件的分类使用一组 对可复用构件进行描述。n a i d 还给出了一个参考的刻面集合: 对象、功能、算法、构件类型、语言、环境。通过对构件每个适用的刻面赋予适 当的刻面术语即可完成对构件分类,这样用户可以根据刻面术语来检索构件【2 6 1 。 r e b o o t 是一个国际著名的构件库系统,它包括存储可复用构件的数据库 和一组产生、认证、插入、提取、评价和适配可复用构件的工具的环境。r e b o o t 采用刻面分类法对构件进行分类,它使用以下一组刻面集合来描述构件:抽象、 操作、操作对象、依赖。 青鸟系统选择以刻面分类为主,关键词、属性一值、关系索引等多种模式相 结合的方法对青鸟构件进行分类【拥。青鸟构件库系统定义了使用环境、应用领 域、功能、层次和表示方法五个刻面。青鸟构件库系统采用层次结构关联相应的 术语空间,构件的术语仅限在给定的术语空间中进行选取,用来表示的刻面将在 构件的检索和匹配中使用。 2 1 4 领域构件 纵观以上介绍的c o r b a 、c o m 等构件技术,可以发现:现有构件很好地解 决了在大多数领域开发分布系统均会遇到的问题,却难以有效支持领域特性( 单 个应用领域内的共性问题) 的抽象及其支撑机制的封装【2 刚。在基于构件的软件 开发过程中人们发现,软件复用面临的主要问题是如何判断构件的有用性,也就 是判断构件是否适合当前的应用【5 1 。概括地讲,构件的有用性体现在语义和语法 两个方面,然而在当前的构件模型中往往缺乏对构件语义的描述,即使存在对构 件语义的描述,由于其对构件领域特征的描述支持不够充分,从而不利于理解构 件基于领域的复用可能性。 构件是某个应用领域中的构件,领域的一些特征必然会反映在构件中。领域 特征反映了领域的共性和特性,所以,对构件在领域中特征的描述将有助于了解 构件的可复用性。 1 1 中山大学硕上毕业论文面向领域的构件库管理系统的研究与实现 领域构件是某一领域中的可复用软件构件,而领域模型描述领域中系统之间 的共同需求1 2 9 1 。领域构件往往是领域工程的成果,由于领域构件具有领域的特 征,相对通用构件而言,领域构件的适用性往往更强。领域构件具有以下一些特 征: ( 1 ) 独立性。领域构件必须独立地完成某一领域的功能或完整定义领域中 的一个概念,对领域中某一特定需求,独立地给出了完整的解决方案。构件被获 取后可独立用于开发过程的复用。 ( 2 )健壮性。领域构件在发布前必须经过充分的测试,构件设计和实现必 须是可靠的、运行j 下确的。 ( 3 ) 可理解性。领域构件必须有相应的属性描述,发稚构件时必须同时给 出相应的使用环境和功能等语义信息。 ( 4 ) 可组装性。该特性是针对领域实现的构件产品而言。实现了某一领域 功能的构件必须有一组定义良好的接口,从而被易于组装和集成。封装的构件需 要通过参数说明等方式使其能在应用系统环境中进行配置。 2 2 领域工程 基于构件的软件开发的基本思想足利用已经开发的构件来快速组装高质量 软件系统。所以基于构件的丌发至少应该包括构件的获取和构件的使用两个 过程【3 1 l ,只有获取了可以复用的构件才能进行应用系统的组装,构件的获取方 法包括从已有构件中选择可用的和根据要求自行生产。构件生产不是随意的,而 应该是为了复用目的而进行的,这就要求构件的生产者不能针对某个特定的应用 去生产构件,而应该针对一组相似的应用或者说针对一个领域去生产构件,只有 这样生产出的构件才有可能被将来的应用系统所复用,由此领域工程应运而生。 领域工程是为一组相似或相近的系统的应用工程建立基本能力和必备基础 的过程,它覆盖了建立可复用软件构件的所有活动1 3 2 1 。领域是指一组具有相似 或相近软件需求的应用系统所覆盖的功能区域。领域工程包括领域分析、领域设 计和领域实现三个部分。 中山大学硕士毕业论文面向领域的构件库管理系统的研究1 l 实现 2 2 1 领域工程的基本概念 领域工程中有一些基本的概念,正确、深入地理解这些概念对于理解和实施 领域工程具有重要的意义。 ( 1 ) 领域。领域是指一组具有相似或相近软件需求的应用系统所覆盖的功 能区域。领域是领域工程中的基础概念,领域概念的确定决定了领域工程中许多 行为和方法的含义。例如,领域工程师进行领域分析时,需要与“领域专家”进 行交流,以获得关于领域的知识,而“领域专家”常常是系统分析员。 ( 2 )领域模型。领域模型描述领域中系统之间的共同需求。领域工程的实 施是基于这样一个事实:同一领域中的系统的需求和功能必然具有显著的共性, 其实现也常常具有共性。在进行应用工程时,通过将当前系统需求与领域需求比 较,系统分析员可以很快地建立当前系统的需求模型。也就是说,领域模型可以 辅助开发者理解一个应用领域,并作为系统的起点。领域需求是通过考察领域中 已有的系统获得的,当领域中存在大量的系统时,需要选择它们的一个子集作为 样本系统,对样本系统需求的考察将显示领域需求的一个变化范围。一些需求对 所有被考察的系统是共有的,一些需求是单个系统所独有的,依据已获取的领域 需求可以建立领域模型。 ( 3 ) 领域工程。领域工程是为一组相似或相近的应用工程建立基本能力和 必备基础的过程,它覆盖了建立可复用软件构件的所有活动。领域工程对领域中 的系统进行分析,识别这些应用的共同特征和可变特征,对刻画这些特征的对象 和操作进行选择和抽象,形成领域模型,依据领域模型产生d s s a ( d o m a i n s d e c i f i cs o f t w a r e a r c h i t e c t l l r e ,特定领域的软件体系结构) ,并以此为基础识别、 开发和组织可复用构件。这样,当开发同领域中的新应用时,可以根据领域模 型,确定新应用的需求规约,根据特定领域的软件体系结构形成新应用的设计, 并以此为基础选择可复用构件并进行组装,从而形成新系统。 2 2 2 领域工程的三个基本阶段 实施领域工程的过程包含了一些基本的行为,虽然具体的领域工程方法可能 定义不同的概念、步骤、产品等,但这些基本行为大体上是一致的,这些行为分 中山大学硕十毕业论文面向领域的构件库管理系统的研究与实现 为三个阶段【3 】。 ( 1 ) 领域分析。领域分析是领域系统的开发人员和领域专家对领域需求进 行分析建模抽取出可复用的共同特征的过程。这个阶段的主要目标是获得领域模 型。领域模型描述领域中系统之间的共同的需求,我们将领域模型所描述的需求 为领域需求。在这个阶段中首先要进行一些准备性的工作,包括定义领域的边界, 明确分析的对象:识别信息源,即领域分析和整个领域工程过程中信息的来源, 可能的信息源包括现存系统、技术文献、问题域和系统开发的专家、用户调查和 市场分析、领域演化的历史记录等。在此基础上,就可以分析领域中系统的需求, 确定哪些需求是被领域中的系统广泛共享的,从而建立领域模型。当领域中存在 大量系统时,需要选择它们的一个子集作为样本系统,对样本系统需求的考察将 显示领域需求的变化范围,一些需求对所有被考察的系统来说是共有的,而一些 需求是单个系统所特有的,很多需求位于这两个极端之间,即被部分系统共享。 这些处于不同地位的需求被分别表示和描述,反映在领域模型中。 ( 2 ) 领域设计。在领域设计阶段,开发人员根据确立的领域需求构建满足 领域需求的设计架构。w i l lt r a c z 3 3 】提出了一种d s s a 领域工程方法,使用d s s a 来描述领域模型中表示的需求的解决方案。这个阶段的目标是获得d s s a 。d s s a 描述在领域模型中表示的需求的解决方案,它不是单个系统的表示,而是能够适 应领域中多个系统的需求的高层次设计。建立了领域模型之后可以派生出满足这 些领域需求的d s s a 。由于领域模型中的领域需求具有一定的变化性,d s s a 也 要相应地具有变化性。由于复用构件是依据领域模型和d s s a 来组织的,因此在 这个阶段通过获得d s s a ,也就同时形成了复用构件的规约。 ( 3 ) 领域实现。领域实现以领域分析模型和d s s a 为基础,识别、开发和 组织可复用构件。这个阶段的主要目标是依据d s s a 开发和组织可复用信息。这 些可复用信息可能是从现有系统中提取得到的,也可能需要通过新的开发得到。 也就是说d s s a 定义了这些可复用信息的复用时机,从而支持了系统化的软件复 用。这个阶段也可以看作复用构件的实现阶段。 领域工程进行的各个阶段中都有可能存在着可以复用的构件成分,将其存储 到构件库管理系统中进行集中管理,可以为应用工程的开发积累丰富的领域知 识。需要说明的是,领域工程的三个基本阶段所描述的过程是一个反复的、逐渐 中山大学顾 :毕业论文 面向领域的构件库管理系统的研究与实现 求精的过程。在实施领域工程的每个阶段中,都可能返回到以前的步骤,对以前 得到的结果进行修改和完善,再回到当前步骤,在新的基础上实施本阶段的过程。 2 2 3 基于领域工程的软件开发 领域工程有助于生产具有较高可复用性的构件f 3 4 1 。同时领域工程生产了领域 模型和特定领域的体系结构,这是利用构件组装新系统的基础。 图2 1 说明了基于领域工程的软件开发过程。 p o 厂v三 厂工 竺竺兰 童 图2 - 1 基于领域工程的软件开发过程 基于领域工程的软件开发的开发过程可以概括为: ( 1 ) 领域分析:通过专向领域的需求分析,经过抽取得到领域模型; ( 2 )领域设计:u m l 模型可利用c a s e 工具自动生成i d l 文件,并对领 域体系结构描述生成相应的a d l 文件( 采用a c m e 描述) : ( 3 ) 领域实现:编译领域设计得到的l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版隔层施工与室内装修一体化合同范本
- 二零二五版高端食品储藏室租赁及冷链服务协议
- 2025版影视版权转让居间代理合同
- 2025版新能源储能技术研发与合作协议执行步骤
- 二零二五年度二手房买卖定金合同含房屋交易税费减免承诺
- 二零二五年度城市夜景亮化项目厂家直销供货合同模板
- 2025版婚庆现场礼仪服务与执行合同
- 二零二五年度智慧家居安装承包合同模板
- 二零二五年度仓库节能减排改造合同
- 2025版高性能计算机系统集成与维护服务合同
- 2025年西藏自治区事业单位招聘考试教师招聘体育学科专业知识试卷(模拟试题)
- 先天性甲状腺功能减退症诊治指南解读课件
- 2025至2030中国裸眼3D行业产业运行态势及投资规划深度研究报告
- 检修安全监护管理制度
- 产科工作管理制度
- 初中历史教师业务考试试题及答案
- 导尿管相关尿路感染预防与控制试题(附答案)
- 中医烧伤课件
- 2025-2030中国水下混凝土行业市场发展趋势与前景展望战略研究报告
- GB/T 30134-2025冷库管理规范
- 2025年心理咨询师基础理论知识测试卷:心理咨询心理学理论体系试题
评论
0/150
提交评论