已阅读5页,还剩57页未读, 继续免费阅读
(计算机软件与理论专业论文)基于xml的构件库体系结构的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 随着软件产业的不断发展,软件应用的日益广泛,软件开发面临着越来越多的 挑战,软件危机也随之而生。软件复用在这种背景下发展起来,它是解决软件危机 的有效途径。作为软件复用核心技术的基于构件的软件开发技术备受重视,而高效 通用的构件库管理系统是实现基于构件的软件开发技术的关键因素。所以如何实现 这样的一个构件库系统成为当今的研究热点。 现在使用的构件库大都是单一的构件库,各个库由于应用领域差异可能使用着 不同的数据模型( 库模型异质) ,并且各个构件库可能分布在异构环境中( q z 台异 构) 。这就涉及到如何建立一个分布式的构件库系统,使用户可以透明统一地对异 质异构的构件库进行分布式的管理。 本文以2 0 0 6 年武汉市中小企业技术创新基金项目面向公、检、法、司信息 领域的构件库管理系统为基础,以x 札语言在构件库体系结构的设计中的应用为 主题,从软件复用的概念引入,研究了其意义、构件模型、构件的分类、构件的刻 面表示,设计了一个层次型的构件库体系结构,并实现了构件的分类入库和跨平台 条件下的构件查询。基于x m l 的构件表示与检索技术充分利用了x m l 标记语言适合 描述结构化综合数据的特点以及业界对其给予的广泛支持从根本上解决了构件资 源共享的困难。而构件的统- - n 面模型与其他各种构件模型的映射转换算法,则从 理论上解决了异质构件库之间构件共享的这一技术问题。传统的构件库体系结构有 仓储型和层次型,本文在比较其优劣的基础上,采用了层次型的构件库体系结构, 但是传统的层次型体系结构并不适应于跨平台的异构的系统之间进行数据交换与 数据通讯,因此,我们对传统的层次型体系结构进行了改进。文章最后设计基于x m l 的构件库体系结构,并对如何利用) 跚。来表示构件和实现构件库层次结构作了详细 的介绍,同时也指出了其中的不足之处和将来的进一步研究工作。 关键词:x 虬;构件;构件库;体系结构;构件模型;统一刻面模型 a b s t r a c t w i t ht h ec o n t i n u o u sd e v e l o p m e n to fs o f t w a r ei n d u s t r y , t h ew i d eu s eo fs o f t w a r e , s o f t w a r ed e v e l o p m e n ti sn o wf a c i n gm o r ea n dm o r ec h a l l e n g e s a l lt h e s el e a dt ot h e s o f t w a r ec r i s i s s o f t w a r er e u s ec o m eu po nt h i sb a c k g r o u n d ,i t sa ne f f e c t i v ea p p r o a c ht o s o r w a r ec r i s i s a sah a r d c o r et e c h n i q u ef o rs o f t w a r er e u s o , c o m p o n e n t - b a s e ds o f t w a r e d e v e l o p m e n tg a i n sm u c ha t t e n t i o n a n da ne f f i c i e n t ,u n i v e r s a lc o m p o n e n tl i b r a r y m a n a g e m e n ts y s t e mi st h ek e yf a c t o rf o ri m p l e m e n t i n gc o m p o n e n t b a s e ds o f t w a r e d e v e l o p m e n t t h u si tb e c o m e st h eh o t s p o to f c u r r e n tr e s e a r c h t h ee x i s t i n ga s s e tl i b r a r i e so nt h en e t w o r kn o wa r ea l ls i n g l eo l l e s , e a c ha s s e tl i b r a r y m a yu s e 西f f e r e n td a t am o d e lb e c a m eo ft h ef i e l dd i f f e r e n c e ( s t o r e h o u s em o d e li s h e t e r o g e n e o u s ) , a n de a c hs t o r e h o u s em a yb ed i s t r i b u t e di nt h ed i f f e r e n te n v i r o n m e n to f c o n s t r u c t i n g ( t h ep l a t f o r mi sc o n s t r u c t e d ) t h i si n v o l v e sh o w t os e tu pt h ea s s e tl i b r a r y s y s t e mo nd i s t r i b u t e ds y s t e m i i l a k eu s e r s 曲kt oc a r r yo nd i s t r i b u t e dm a n a g e m e n tt ot h e h e t e r o g e n e o u sd i f f e r e n ta s s e tl i b r a r i e st h a tc o n s t r u c t su n i f y i n gt r a n s p a r e n t l y t h i sa r t i c l er e c o r d i n gt ot h ec o m p o n e n t - b a s em a n a g e m e n ts y s t e mo r i e n t e dt h e i n f o r m a t i o nf i e l do fp u b l i c ,i n s p e c t i o n , t h el a wa n dt h ej u d i c a t u r eo fm i d a n d s m a l l s c a l ee n t e r p r i s eo fw u h a nt e c h n o l o g yi n n o v a t i o nf u n dp r o j e c t2 0 0 6 t h ep a p e rf r o mt h es o f t w a r er e u s ec o n c e p ti n t r o d u c t i o n ,w es t u d i e di t ss i g n i f i c a n c e , c o m p o n e n tm o d e l ,c o m p o n e n tc l a s s i f i c a t i o n , t h ec o m p o n e n tf a c e ti n d i c a t e d ,a n dh a s d e s i g n e da nl a y e r e dc o m p o n e n tl i b r a r ya r c h i t e c t u r e , h a sr e a f i z e ds a v i n gc o m p o n e n ti n l i b r a r yi nd i f f e r e n tc l a s s e sa n ds e a r c h i n gf o rc o m p o n e n tu n d e rd i f f e r e n tp l a t f o r m s x m l - b a s e dc o m p o n e n tr e p r e s e n t a t i o na n dr e t r i e v a lt e c h n i q u em a k ef u l ll mo ft h e c h a r a c t e r i s t i c so fx m la sam a r k u pl a n g u a g es u i tf o rd e s c n b i n gs t r u c t u r e da n d i n t e g r a t e dd a t aa n dt h ee x t e n s i v es u p p o r to fx m l f r o mi n d u s t r y , i ts o l v e st h ed i f f i c u l t i e s o fs h a r i n gc o m p o n e n tr o s o u r c e so v e rm u l t i p l ec o m p o n e n tl i b r a r y t h ee s t a b l i s h m e n to f u n i f i e df a c e tm o d e la n dt h em a p p i n g so fi tt ot h es p e c i f i cf a c e tm o d e lo fe a c h c o m p o n e n tl i b r a r i e ss e t t l et h ep u z z l eo fr e t r i e v i n gc o m p o n e n t so v e rm u l t i p l ed i s t r i b u t e d h e t e r o g e n e o u sc o m p o n e n tl i b r a r i e s t h et r a d i t i o n a lc o m p o n e n tf i b r a r ya r c h i t e c t u r eh a s t h eg o r i n gc h a r a c t e r sa n dt h el a y e rc h a r a c t e r s ,w eh a sd e s i g n e do n ek i n do fa d v a n c e d v e r s i o nc o m p o n e n tl a y e ra r c h i t e c t u r eb a s e do nc o m p a r i n gt h e r e sa d v a n t a g e sa n d d i s a d v a n t a g e s b e c a u s et h et r a d i t i o nl i b r a r ya r c h i t e c t u r eu n s u i t a b l yc a r r i e so n t h e d a t ae x c h a n g ea n d t h ed a t ac o m u n i c a t i o nb e t w e e nt h ec y o s s p l a t f o r m i s o m e r i s ms y s t e m i nt h el a s to ft h ea r t i c l ew eh a sd e s i g n e dt h ec o m p o n e n tl i b r a r y a r c h i t v c t u r 8b a s e d0 1 1t h ex m l , a n du s i n gx m l e x p r e s s e dt h ec o m p o n e n ta n dt h e r e a l i z e dt h el a y e r e dc o m p o n e n tl i b r a r y , a n de s t i m a t e dt h i sa r c h i t e c t u r e ,a n dv a l i d a t e di t s r a t i o n a l i t ya n da v a i l a b i l i t y , a n dh a sp o n t e do u td e 矗c i e n c ya n dt h ef u t u r er e s e a r c hw o r k k e y w o r d s :x m l ;c o m p o n e n t ;c o m p o n e n tl i b r a r y ;a r c h i t e c t u r e a ;c o m p o n e n tm o d e l ; u n i f i e df a c e tm o d e l 华中师范大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下。独立进行研究工作 所取得的研究成果。除文中已经标明引用的内容外,本论文不包含任何其他个人或 集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在 文中以明确方式标明本声明的法律结果由本人承担 储秘:力纵 帆印年 学位论文版权使用授权书 6 r 霉b i 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权 保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借 阅。本人授权华中师范大学可以将本学位论文的全部或部分内容编入有关数据库进 行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。同时授权 中国科学技术信息研究所将本学位论文收录到中国学位论文全文数据库,并通 过网络向社会公众提供信息服务。 导师签名: 日期:。1 本人已经认真阅读“c a l i s 高校学位论文全文数据库发布章程”,同意将本人的 学位论文提交“c a l i s 高校学位论文全文数据库”中全文发布,并可按“章程”中的 规定享受相关权益。国童论室握奎厦澄蜃i 旦坐生;旦= 生;旦三生筮查e 作者签名:彦乳义 帆呷年6 月罗日 日 义了 炙幽 冶严 : 扩名力 签 : 者期 怍日 1 1 本课题的背景及意义 第一章绪论 通常情况下,应用软件的开发一般从需求分析开始,经过设计,编码,测试, 最后交付使用。如果每个应用系统的开发都是从头开始,则在系统开发过程中就必 然存在大量的重复劳动,如:用户需求获取的重复、需求分析和系统设计的重复、 程序编码的重复、测试的重复和文档工作的重复等。 随着计算机应用的逐步扩大,软件的需求量迅速增加,规模也日益扩大,带来 了软件的复杂程度的增加和程序代码的几何级增长。最终导致软件开发成本增加, 开发周期延长,产品的质量不高。为了解决这些问题,必须真正实现软件的工业化 生产方式。而有效利用他人的成熟产品,即进行软件复用( s o f t w a r er e u s e ) ,是一 条现实可行的途径。目前,对软件复用技术的研究己成为软件工程界的主攻方向之 一【蜘。 现实世界中人们总会试图利用某些解决旧问题的方法来解决相似的新问题,这 就是复用。广义上说,软件复用就是运用现存系统的软件制品或工程知识构造新系 统,简单地说软件复用就是在构造新软件系统的过程中使用现存的软件产品。 软件复用本质上是运用现存软件系统的产品或工程知识构造新的软件系统,在 软件开发中避免重复劳动。其出发点是应用系统的开发不再采用切“从零开始” 的模式,而是以已有的工作为基础,充分利用过去应用系统开发中积累的知识和经 验,如:需求分析结果、设计方案、源代码、禊试计划及测试案例等,从而将开发 的重点集中于应用的特有构成成分嘲。 依据复用的对象,可以将软件复用分为产品复用和过程复用。产品复用指复用 已有的软件构件,通过构件集成( 组装) 褥到新系统。过程复用指复用已有的软件 开发过程,使用可复用的应用生成器来自动或半自动地生成所需系统。过程复用依 赖于软件自动化技术的发展,目前只适用于一些特殊的应用领域。产品复用是目前 现实的、主流的途径。 当前,作为面向对象与软件复用思想相结合的产物软件构件技术是支持软 件复用的一项重要技术,是近几年迅速发展并受到高度重视的一门学科分支。 所谓软件构件( s o f t w a r ec o m p o n e n t ) 是指可被用来构造其他软件的软件组成成 份。一般来说,具有相对独立的功能和具有可复用价值的软件成分都可被称为可复 磺士学位论文 m a s t e r sn l e s i s 用构件( r e u s a b l ec o m p o n e n t ) 。随着对构件理解的深入,构件的概念己经不再局限 于源代码构件,而是延伸到系统和构件的需求规约、构架、文档、测试计划、测试 案例和数据以及其它对开发活动有利的信息。基于构件的复用是软件产品复用的主 要形式,也是当前复用研究的焦点“一。 软件构件库是软件构件的基础物质仓库,是分类和管理构件资产的基础设施, 在开发可复用软件构件和基于可复用构件开发之阊起到了桥梁作用。它在基于构件 的软件复用中扮演了重要角色。 1 2 现在构件库存在的一般缺陷 随着构件库的不断增加,构件库中构件的迅速扩充,在构件库的管理、构件信 息的表示和检索上面临着越来越多的问题,构件库管理系统在使用中存在以下几个 主要问题”: 1 系统的交互性及动态性差“” 现有的构件库管理系统缺乏友善的用户界面,用户在使用系统的过程中,只能 机械地使用鼠标和键盘完成操作,系统无法响应用户的语音命令,无法向用户提供 即时帮助。系统一般不进行使用跟踪和统计分析,用户也不便于向系统反馈信息, 从而导致系统不能根据跟踪记录、统计信息和反馈信息动态地进行调整以提高系统 的适应性和效能,不能更好地满足用户的需求。 2 构件信息的表示形式缺乏统一可行的标准 现有的构件库管理系统在构件信息的表示形式上缺乏统一的标准。有的采用自 由文本格式,有的采用h t m l 文本格式。这些表示方法本身存在着诸多缺陷。譬如 采用自由文本格式来表示构件,虽然形式简单、表示方法灵活,但是缺乏标准,既 不便于管理又不利于交流嘲。采用h t i 也文本格式虽然页面表现力强,特别适合于 在网上发布,但是h t m l 规范本身不提供对格式化数据的支持,用h t m l 文本格式表 示的构件信息不是自描述的,这样的信息很难整合到数据库中,难以在各种应用中 实现交流、共享。 3 构件信息的表示与检索缺乏统一的模型“4 现有的构件库管理系统各自采用不同的数据模型、分类模式和术语,妨碍了 构件库之间软件资产的共享,无法实现库的共享。如果用户想要从多个构件库搜索 一个合适的构件,或者是想在多个构件库中比较选择一个最佳的构件,这时就需要 用户对各个构件库进行逐个检索,然而由于各个库之间的交互与共享非常困难,会 令用户对多个库检索的过程变得相当困难。原因在于:用户不可能对各个构件库的 2 硕士学位论文 m a s t 苞r st h e s i s 分类方法都非常熟悉,对复用者来说构件库的各种检索方法的理解成本非常高昂。 4 检索方法智能化程度低u ” 现有的构件库管理系统所提供的分类检索方法比较单一,通常提供一种刻面 分类检索方法,或者提供以刻面检索方法为主的几种检索方法,提供的几种检索方 法只能进行简单的顺序组合,通过对不同的检索方法的顺序组合使用,来精化检索 的结果,多种检索方法不能自动地相互转换。由于非专业检索者不可能对各种检索 方法都了解和熟悉,用户往往只会使用自己熟悉和掌握的那一种检索方法来检索构 件,这样用户就不能充分利用多种检索方法并存的优越性来检索其所需的构件。 1 3 本文研究的主要内容、目标和方法 本文在武汉市中小企业技术创新基金项目的面向公、检、法、司信息领域的构 件库系统的基础上研究了可复用软件构件库系统的设计与实现技术,重点分析了构 件库中构件的刻面分类与描述技术,并据此设计了层次型的构件库体系结构。其次 研究了x 札的相关技术特点,并应用删l 技术对构件进行了描述。此外,还简要介 绍了构件库体系结构的发展历程。以此为基础,实现了一个以x i i l 为描述语言的层 次型的构件库管理系统。目标是将系统设计为面向i n t e r n e t ,免费开放的构件库系 统。对于一般用户而言,查询某一个构件,如果按照单一的一个条件的话,会查询 得到一个庞大结果集,据此假设,用户般是多个条件一起查询,这样我们的层次 型构件库就会显示出其查询速度快的优点,由于是基于x 扎技术,因此还具有跨平 台的功能,在现在的互联网技术中具有极大的使用价值。 1 4 本文的主要创新点 本文以已实现的面向公、检、法、司信息领域的构件库系统为基础,在调研期 间收集和分析了大量资料,从已有的构件库管理系统的开发实现出发,结合现今软 件开发的流行趋势,在吸取了现在大量构件库的优点,并克服其缺点的基础上,在 课题中引入了以下创新点: 采用了基于x m l 的系统架构,对构件的描述统一采用x m l 语言。 采用了基于层次模型的构件库体系结构,并对此进行了改进。 采用了统一刻面模型对构件进行分类,便于多构件库的检索。 3 硕士擘位论文 m a s t e r st h e s l s 2 1x m l 技术简介 第二章x m l 技术及其应用 2 1 1x m l ) a 儿是w 3 c ( w o r l dw i d ew e bc o n s o r t i u m ) 推荐的一种可置标语言,它的设计动 机是在网络上规范化传输文档,它在本质上与程序设计语言一样,是具有严格语法 定义的形式语言,但较一般的形式语言简捷和通用与h t 札一样,x m l 也源自s g m l ( s t a n d a r dg e n e r a l i z em a r k u pl a n g u a g e ) ,它保留了s g m l8 0 的功能,使复杂程 度降低了,尽管如此,x m l 却有着h t m l 语言所欠缺的巨大伸缩性与灵活性。x m l 不 再像h t m l 一样有着一成不变的格式。x m l 实际上是一种定义语言,即使用者可以定 义无穷无尽的标记来描述文件中的任何数据元素,从而突破了h t m l 固定标记集合 的约束,使文件的内容更丰富更复杂并组成一个完整的信息体系瞄1 。 x b l l 语言可以让信息提供者根据需要,自行定义标记及属性名,也可以包含描 述法,从而可以设计任意复杂程度的x m l 文件的结构。) 【m l 主要有三个要素:文件类 型描述d t d ( d o c u m e n tt y p ed e f i n i t i o n ) 或s c h e m a ( 模式) 、x s l ( e x t e n s i b l e s t y l e s h e e tl a n g u a g e 可扩展样式语言) 和) 【l l ( e x t e n s i b l el i n kl a n g u a g e 可扩展 链接语言) 。图3 - 1 是x m l 各种技术的关联图。 f 图2 - 1x m l 各种技术的关联图 4 硕士牵往论文 m a s t e r st h e s i s 其中,d t o 或s c h e m a 规定) a 几文件的逻辑结构,定义文件中的元素,属性及 元素间的相互关系,它可以帮助x m l 的分析程序校验x m l 文件标记的合法性;x s l 是用于规定潮l 文档样式的语言,它能在客户端使w e b 浏览器改交文档的表示法, 从而不需要再与服务器进行交互通信;】【l l 将进一步扩展目前w e b 上已有的简单链 接。 x m l 主要有四大特点:良好的数据存储格式,可扩展性,高度结构化、便于网络 传输。决定了其卓越的性能表现。由于x m l 能针对特定的应用定义自己的标记语言, 这一特征使得x m l 可以在电子商务、政府文档、报表、司法、出版、联合、c a d c a m 、 保险机构、厂商提供各具特色的独立解决方案。 综上所述,x m l 主要的优点有:良好的可扩展性;严格的语法要求:内容与形 式分离;不同系统之间方便的信息传输( 通用数据交换格式) ;较好的保质性。 2 1 2x 也与s g 札、h t l v i l 的关系 s g m l 、h t m l 是x m l 的先驱。s g m l 是指“通用标识语言标准”( s t a n d a r d g e n e r a l i z e dm a r k u pl a n g u a g e ) 。它是国际上定义电子文件结构和内容描述的标 准,是一种非常复杂的文档的结构,主要用于大量高度结构化数据和其他各种工业 领域,利于分类和索引。同也相比,定义的功能很强大,缺点是它不适用于w e b 数据描述,而且s g m l 软件价格非常昂贵。h t m l 大家都比较熟悉,即“h y p e rt e x t m a r k u pl a n g u a g e ”( 超文本标识语言) ,它的优点是比较适合w e b 页面的开发。 但它有一个缺点是标记相对少,只有固定的标记集如: , 等。缺少s g m l 的柔性和适应性。不能支持特定领域的标记语言,如对数学、化学、音乐等领域的 表示支持较少。举个例子来说,开发者很难在w e bp a p e r 上表示数学公式、化学分 子式和乐谱m 。 x m l 结合了s g m l 和h t m l 的优点并消除其缺点。x m l 仍然被认为是一种s g m l 语言。比s g m l 要简单,但能实现s g m l 的大部分的功能。1996 年的夏天,s u n m i c r o s y s t e m 的j o h nb o s a k 开始开发w 3 cs g m l 工作组( 现在称为x m l 工作组) 。他 们的目标是创建一种s g m l ,使其在w e b 中,既能利用s g m l 的长处,又保留h t m l 的 简单性。 2 1 3l a v l l 表示结构化数据 对于大型复杂的文档,m l 是一种理想语言,不仅允许指定文档中的词汇,还 允许指定元素之问的关系。比如可以规定一个a u t h o r 元素必须有一个l l a m e 予元素。 可以规定企业的业务必须有包括什么子业务。 ) 吼,文档有d r r d 和x m l 文本组成,所谓d t d ( d o c u m e n tt y p ed e f i n i t i o n ) ,简 单的说就是一组标记符的语法规则。表明x m l 文本是怎么样组织的,比如d t d 可以 表示一个 必须有一个子标记 ,可以有或者没有子标记 等 等。当然一个简单的x 虬文本可以没有d t d 。下面是一个简单的x m l 文本。 h a h a 其中以? 开始并结 尾的是进程说明。s t a n d a l o n e 表示外围设备。这里外围设备可以理解为该x m l 文本 没有应用其他的文件。因为x m l 文件可以外部应用d t d 等外部数据。 2 1 4 巳涉及的一些关键技术p 7 】 1 x s l 和c s s ;) 叽可以定义信息的内容,却没有定义信息该如何表达,这实 际上就是瑚l 的长处,它把内容和形式分离了,这样同一个内容可以有不同的表达。 而) n 也内容的表达就是通过x s l ( x m ls t y l el a n g u a g e ) 和c s s ( c a s c a d i n gs t y l e s h e e t s 层叠样式表) 来实现的。拿前一个例子来说,可以为该m l 文档定义的样式 表( x s l ) 如下: 这就是一个简单的x s l 文件,利用m s x s l 可以生成h t m l 文件。如下 h a h a 至于c s s ,在h t 甩文件中就已经有它的影子了,例如h 1 f o n t s i z e :1 2 p t : f o n t - w e i g h t :b o l d : 这就是一段简单的c s s 的文本。 x m ls c h e m a 尽管d t d 给标记的使用加了限制,但是对于捌l 的自动处理却还 需要更加严格更全面的工具。比如d t d 不能保证一个标记的某个属性的值必须不为 负值,于是出现了x m ls c h e m a ,由于x m ls c h e m a ( 不同于d t d ) 本身也是一个正规的 x 儿文档,因此开发者可以使用相同的工具处理其同其他的x m l 的信息交换。最初 ) 凸礼s c h e m a 由m i c r o s o f t 提出,w 3 c 的专家们经过充分讨论和论证,在1 9 9 9 年的 2 月,发布了一个需求定义,说明s c h e m a 必须符合的要求,5 月,w 3 c 完成并发布 了s c h e m a 的定义。目前,i e 5 中的x m l 解析器能够根据文档类型定义( d t d ) 或x 札 s c h e m a 解析x 札。 2 d 咖:d o m 即d o c u m e n to b j e c tm o d e l ,它把埘l 文档的内容实现为一个对 象模型,简单的说就是应用程序如何访问x m l 文档,船c 的d o ml e v e l1 定义了如 何实现属性、方法、事件等。 3 x s l t :x s l t 即列ls t y l e s h e e tl a n g u a g et r a n s f o r m a t i o n 。x s l t 是一种 用来进行x m l 文档间相互转化的语言。简单的说,我们知道不同的开发者对于各自 的应用会有不同的x m l 文档,利用x s l t 我们可以从一个已经定义的x m l 文档抽取 6 我们需要的数据。组成不同的形式,可以是x m l ,h t m l 和各种不同的s c r i p t 。 4 x p a t h 表达式;表达式是x p a t h 的主要语法构件。其在x m l 中结构如图2 2 所示: s b ,l i li x lh t l i x s l i ii x s l t x s l - - f o ( f o r n a t t i n go b j e c t s ) 。c s s i il x s l tx p a t h 图2 2x m l 的结构图 表达式的结果是一个对象,该对象为如下四种基本数据类型: 节点集( n o d e - s e t s ) 布尔( b o o l e a n s ) 数字( n u m b e r s ) 字符串( s t r i n g s ) 节点集 节点集是无序的不重复的节点的集合。 运算符: i 操作符将两个节点集并到一起,合并后的集合必须是节点集 没有任何对象可以转变成节点集。 布尔 布尔对象可以取两个值:真或假。 运算符: 0 1 简洁或运算 a n d 简洁与运算 = 、! = 、 比较运算 7 硕士擘往论文 m a s t e r st h e s i s 数字 数字表示浮点数,符合i e e e7 5 4 标准,包括特殊的“非数字”( n a n ) 值,正负 无穷大,和正负零。 运算符: + 加法 一减法 木乘法 d i v 除法 m o d 取余 字符串 字符串是由零个或多个字符构成的字符序列,其中的字符是由x m l 建议书定义的。 表达式的求值与上下文( c o n t e x t ) 有关。上下文的组成: 一个节点( 上下文节点) 一个非零的正蘩数对( 上下文位置和上下文大小) 一个变量绑定集合 一个函数库 一个表达式作用范围内的命名空间声明 变量绑定、函数库及命名空阃声明对于求表达式或其子表达式的值总是一样 的。上下文节点、上下文位置及大小对于求表达式或其子表达式的值则是不同的。 有多种表达式可改变上下文节点,而只有判定词能改变上下文的位置和大小。在描 述一种表达式的求值时,必须要明确地说明上下文节点、上下文位置和上下文的大 小。如果没有关于上下文节点、上下文位置、上下文的大小的说明,那么对该表达 式的求值就保持不变。 5 ( p o i n t e r 和x l i n k s :类似于h t m l 中的h y p e rl i n k 。x p o i n t e r 和x l i n k 用 于联结其他的x m l 文档和其他x m l 文档中的部分,其中x p o i n t e r 相当于h t m l 中用 于定位h t l l l 文档内容的锚。 当然,煳l 的发展促使了许多的新技术的出现,其他的还有r d f 、 ( f r o m 等等, 其中的大部分w 3 c 只是给出了建议,还没有形成正式的标准,有些内容甚至还处于 讨论阶段。 2 2x m ls c h e m a x m ls c h e m a 或称作x s d ( x m ls c h e m ad e f i n i t i o n ) ,在2 0 0 1 年5 成为w 3 c 的建 硕士学位论文 m a s t e r s t h e s i s 议规格,x m ls c h e m a 规定了x m l 文件的逻辑结构,定义了x m l 文件中的元素,元素 的属性以及元素和元素的属性之间的关系。x i i l s c h e m a 相比d t d 有如下优点或特点: 一致性:x m ls c h e m a 本身也是一种x 札文件,不像d t d 拥有自己的定义 语法,d t d 语法复杂晦涩,而x m ls c h e m a 清晰直观,可以被现有的x m l 编辑制作工具所编辑、被x m l 语法分析器所解析、被x 札应用系统所利 用,既有投资得到了最大程度的保护。 扩展性:虽然d t d 中也定义了一些数据类型,但那都是针对属性类 型而定义的,而且类型非常有限。s c h e m a 对d r r d 进行了扩充,引入了 很多内置和派生数据类型。 易用性:d o m ( d o c u m e n to b j e c tm o d e l ) 和s a x ( s i m p l ea p i f o rx m l ) 只是对x m l 实例文档有效,对于d t d 无能为力,丽s c h e m a 本身也是一 种x m l 文件,可以直接用d o m 和s a x 访问。 规范性:s c h e m a 提供了一套完整的机制以约束) 眦文档中置标的使 用,s c h e m a 利用元素的内容和属性来定义x m l 文档的整体结构,如哪 些元素可以出现在文档中、元素问的关系是什么、每个元素有哪些内容 和属性、以及元素出现的顺序和次数等等,有很强的规范性。 互换性:可根据需要设计适合自己应用的s c h e m a ,并且可以同其他 人交换彼此的s c h e m a 。利用s c h e m a ,书写x m l 文档,验证文档的合法 性。另外,通过映射机制,还可以将不同的s c h e m a 进行转换,以实现 更高层次的数据交换。 2 3 本章小结 本章简单介绍了x m l 语言的发展历程,以及x m l 语言与s g m l 、h t i l 的关系, x m l 如何表示结构化数据,最后介绍了x m l 的一些关键技术:如:x s l 和c s s ,d o m , x s l t ,x p a t h 等。这里主要论述的x l j l 语言的四大特点:良好的数据存储格式,可扩 展性,高度结构化、便于网络传输。 9 3 1 构件 第三章构件模型及其分类 3 1 1 构件的定义 构件来源于英文的“c o m p o n e n t ,在有些文献中也称为组件。目前,对构件 的定义,软件产业界还未形成统一的认识。下面是许多大型公司对构件的定义: r a t i o n a ls o f t w a r e 公司的p h i l i p p ek r u t c h e n 将构件定义为一个非平凡的、 几乎独立的和可替换的系统组成部分,它在一个定义完善的体系结构环境下完成一 个清晰的功能,构件提供了一组接口的物理实现“”。 g a r t n e rg r o u p 是这样定义的:运行时构件是一个动态可绑定程序包,内含 一个或多个程序作为整体来管理,通过在运行时文档化接口存取其中的信息“”。 c o m p o n e n ts o f t w a r e 公司的c l e m e n ss z y p e r s k i 将软件构件定义为一个仅带 特定契约接口和显式语境依赖的结构单元,软件构件可独立部署,以易于第三方整 合啪。 o m g 在m o d e l i n gl a n g u a g es p e c i f i c a t i o n ( r e v i s i o n1 3 ) 中写道 1 8 :构件 是指系统中可替换的物理部分,该系统封装了实现并提供了一组接口的实现,构件 表示系统实现的一个物理片段,包括软件代码( 源代码、二进制代码或可执行代码) , 或者等同体,例如脚本或命令文件研1 。 北京大学的杨芙清教授将构件定义为应用系统中可以明确辨识的构成成分,而 可复用构件是具有相对独立功能的和可复用价值的构件。 以上这些定义根据各自不同的目的从不同的方面对构件迸行了描述。在这里我 们可以从广义和狭义两个方面进行定义。 广义定义:构件是计算机软件构件的简称,是在软件生命周期各阶段可以被复 用的软件实体,它可以是设计、代码或软件开发过程的其它产品。如可组装的软件、 程序模板、程序的源代码或目标模块和软件需求说明、规格说明、程序说明、数据 说明、测试说明和测试案例等软件成分。“复用”指在同一系统的其它地方或另一 个系统中使用已有的软件构件。 狭义定义:软件构件是具有公开接口和确定意义的可被组装的软件制品。它可 以不加修改或者基本不加修改地作为一个部件和其它构件一起组装成更大的软件 或软件成分“”。 l o 3 1 2 构件的描述 构件的描述方法是构件管理与检索技术的基础,构件描述模型是关于构件本 质特征的抽象描述“”。一个构件描述模型应该满足一些基本原则: 表达能力足够强:模型是对客观对象的抽象,合适的抽象层次十分重要, 必须既能抓住本质,又不陷入细节;既要有足够的表达能力。又不能过于 复杂。 夺简单性:简单性是各种模型必须赋予考虑的重要性质,简单意味着易于掌 握和理解。简单性和较强的表达能力是一对矛盾,必须合理权衡。 一致性和完备性:模型必须具有对内的移植性和对外的完备性。一致性是 指构件作为一个封装体必须具有一致的对外接口、一致的组成结构以及一 致的交互方式。完备性是指不存在模型所不能描述的构件。 适用性:构件模型应易于理解,方便分类和检索。 扩展性:是指在保持模型本身一致性和完备性的前提下,模型可以随着应用 需求的增长而演化。 目前国内外已经提出了数个构件模型,我们在下一节中详细讲述。 3 1 3 构件模型 软件构件模型是关于开发可重用软件构件和构件之间相互通信的一组标准 描述。通过重用已有的软构件,使用构件对象模型的软件开发者可以像搭积木一样 快速构造应用程序。这样不仅可以节省时问和经费,提高工作效率,而且可以产生 更加规范、更加可靠的应用软件汹1 软件构件应该具备以下几个特征: 自描述构件必须能够识别其属性、存取方法和事件,这些信息可以使开发 环境将第三方软件构件无缝地结合起来; 可定制提供个典型的图形方式环境,软件构件的属性只能通过控制面 板来设置; 可集成构件必须可以被编程语言直接控制。构件也可以和脚本语言连接 或者从代码级访问构件的环境连接,这个特性使得软件构件可以在非可视化开发项 目中使用; 连接机制构件必须能产生事件或者具有让程序员从语义上实现相互连接 的其他机制。这意味着程序员可以很容易地向按钮添加代码,使点中按钮就可以影 响其他构件的动作。 硕士学住论文 m a s t e r s t h e s i s 构件模型是为开发者定义软件构件而建立的体系结构和a p i 集,使开发者可通 过软件构件的动态组合来建立应用系统。构件模型由构件与容器两种主要成份构 成。构件是具有可重用特性的基本软件部件。容器用于存放和安排构件,实现构件 间的交互。容器也可以作为另一个容器的构件使用。 下面对c o r b a 、d c 0 m 和j a v a 等三种典型的构件模型做出了简单比较分析。 ( 1 ) c o r b a c o r b a 构件模型的底层结构为o r b 。一个c o r b 构件采用i d l 进行描述。c o r b a 提供了i d l 到c 、c + + 、j a v a 、c o b o l 等语言的映射机制一i d l 编译器。i d l 编译 器可以生成s e r v e r 方的s k e l t o n 和c l i e n t 方的s t u b 代码,通过分别与客户端和 服务端程序的联编,即可得到相应的s e r v e r 和c l i e n t 程序。 c o h b a 是一种语言中性的软件构件模型,可以跨越不同的网络、不同的机器和 不同的操作系统,实现分布对象之间的互操作。 ( 2 ) d c o m d c 伽是m i c r o s o f t 与其他业界厂商合作提出的一种分布构件对象模型 ( d i s t r i b u t e dc o m p o n e n to b j e c tm o d e l ) ,其发展经历了一个相当曲折的过程。 d c 叫起源于动态数据交换( d d e ) 技术,通过剪切粘贴( c u t p a s t e ) 实现两个应 用程序之间共享数据的动态交换。对象连接与嵌入o l e 就是从d d e 引伸而来的。 从c o r b 的观点来看,我们可以粗略地说,a c t i v e x 控件与d c 0 m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广东依顿电子科技股份有限公司招聘电镀工艺工程师等岗位测试笔试历年备考题库附带答案详解试卷3套
- 2025中远海运发展股份有限公司招聘1人笔试历年难易错考点试卷带答案解析试卷3套
- 2025中国知网招聘65人(太原)笔试历年常考点试题专练附带答案详解试卷3套
- 2025中国兵器装备集团有限公司春季招聘笔试历年典型考点题库附带答案详解试卷3套
- 铅锌资源循环再生利用项目建设工程方案
- 当阳公务员考试试题及答案
- 研学基地师资培训与管理方案
- 石灰岩矿开采及综合利用项目施工方案
- 海上光伏电池板安装优化方案
- 宝应县公务员考试试题及答案
- 自然基金结题报告范文
- 苏州大学《初等数学研究》2023-2024学年第一学期期末试卷
- 【阅读题训练】文言文阅读分类训练:书信类-浙江省高考语文一轮复习
- 国开(内蒙古)2024年《汉语中的中国文化》形成性考核1-3终结性考核答案
- 【人教】九年级英语(全一册)知识点梳理
- 第7课《短歌行归园田居(其一)》课件部编版高中语文必修上册
- 农村房屋宅基地买卖合同模板
- 全面质量管理考试复习题库(第四版)
- 保安服务项目投标方案(技术标)
- 盆腔脓肿诊治中国专家共识(2023年版)
- 俄罗斯进口冻肉合同范本
评论
0/150
提交评论