(电路与系统专业论文)基于XML的可重用文档数据管理系统的设计与实现[电路与系统专业优秀论文].pdf_第1页
(电路与系统专业论文)基于XML的可重用文档数据管理系统的设计与实现[电路与系统专业优秀论文].pdf_第2页
(电路与系统专业论文)基于XML的可重用文档数据管理系统的设计与实现[电路与系统专业优秀论文].pdf_第3页
(电路与系统专业论文)基于XML的可重用文档数据管理系统的设计与实现[电路与系统专业优秀论文].pdf_第4页
(电路与系统专业论文)基于XML的可重用文档数据管理系统的设计与实现[电路与系统专业优秀论文].pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

(电路与系统专业论文)基于XML的可重用文档数据管理系统的设计与实现[电路与系统专业优秀论文].pdf.pdf 免费下载

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

文档简介

摘要 软件重用( 腑a r e u ) 是一种由预先构造好的、为复用目的而设计的软 件构件建立或软件系统组装的过程,其出发点是使应用系统的开发不再采用一切 “从零开发”的模式,而是以已有工作为基础,充分利用过去应用系统开发中积 累的知识和经验,将开发的重点集中在应用的特有构成成分上。本文的目标就是 研究和设计一套基于x m l 的可重用文档管理系统,使开发人员以此为基础快速 的开发出满足具体业务需求的文档管理系统。 论文首先介绍了软件重用为系统开发带来的受益以及目前存在的问题,然后 结合文档管理领域的具体业务特征,提出了一种基于x m l 的可重用文档管理系 统的解决方案。该方案是特定领域的软件重用应用设计思路和模型驱动开发方法 在文档管理领域的深入与实践,作者通过对文档管理领域的公共特征的分析与研 究,抽象出具有该领域特征的一般业务模型,同时通过整合时下流行的三个w 曲 框架实现了模型的自动解析和系统自动更新过程。 可重用文档管理系统使用组织结构模型和文档数据模型从不同角度对文档 数据管理的业务特征进行描述,使用x m l 作为业务模型的描述语言。整个系统 从业务功能方面分为模型管理、权限管理和文档管理三大块,文章在系统的总体 设计一章中对这三部分的功能组成进行了详细介绍,并从实现角度出发,对它们 分别进行了深入地分析与研究。最后,文章以使用该系统开发的某国防单位的资 料管理系统为例,对论文的所提出的设计思路和实现方式进行了验证,同时也验 证了该系统在保证软件开发质量的前提下提高了整个系统设计的复用性。 关键字:软件重用,业务模型,文档数据管理系统,x m l a b s t r a c t s o f 细a 他r e 吣ei sa - 鲥i n i q u et h a tc o n s 仃u c t st h es o f h a ms y s t e mw i t he x i s t 蛐t f m a r e u r o 皓t h a ti s ,w h e np e 叩l & a md e v e l 叩i n gan e w f 细a a p p l i c a t i 蚰 s y s t e m ,t h e yr e u s o f 研孤e 坨u r s ,w h i c ht h e yh a v cu s c d0 rt h e yh a v eb u mb c f b m i ns u c hw a y ,如血w a r cd c v e l o p m e n td o c 蚰th a v et 0s i a r tf 如mt h es c m t c h b a s c do n t h cp a s t h i c v e m e n t s ,e f f b r t so f f h a r e ,d e v e l o p m e n tc o u l db em o s t l yc 0 皿c 掰l 仃a t e d 彻s p c c i a l 湖p o 咖gc o m p o s i t i 0 fa p p l j t j 蚰t h i sw o r k sa i l ni st 0r c s e a r c h 柚d d e s i g nar e u s a b l ed o c i i m e n tm 锄a g c m e n ts y s t e mt h a ti sb 鹞e d b u s i n e s sm o d e l s 卸d x m kt h i ss y s t c m 啪h c l pu s e 璐r a p i d l yd e v e l o p m ec o n c 托t cd o c l l m 锄t m a n a g c m e n ts y s t e m s 1 1 l i sp a p 盯f i 娼t l ys u m su pt h eb c n e f i t s 觚dt h ep 加i b l e m so f 脚a 陀u i n s o m v a d e v c l o p m e n t a tp r c s e 毗锄dt h c na c c o r d i n gt os p e c i 氏b u s i n e 踌c h a 删:t c 稿o f t h ea r c ao fd 0 伽e n tm 强a g e m e 咄b r i n g st h e 化a l i z a b l e l u t i 伽o f ”u s a b l e d o c i l m e n tm 壮a g e m 皿ts y s t e m t h e l u t i 伽i sd e e p c n i n g 锄di m p l e m e m i n gb d t ht h c d e s i 印t l i o u 曲t s o f f t w a r cr e u s eb 勰c d n a i l la r c a 柚dm o d e l 删v d e v e l 叩m e n t 皿e 枷t h o ra b s t r a d sg c n e m lb u s i n e s sm o d d sf 如m 伽m c h a 删m 璐 o ft h ea r o fd o c i l m e n tm 柚a g c m e m ,柚du s e st h f e cp o p u l 盯w c b 细m e w o r k st o i m p l e m 锄tt h e 仃a n s l a t i 仰o fm o d e l s 柚dt h e 叩d a t eo ft h i sr c u s a b l ed o c i i m e n t m a n a g e m e n ts y s t e m t h i s l u t i o nu s eo 曜a n i z a t i o nm o d d 卸dd a t am o d e lt od e s c r i b eb u s i n e 鹋 c h 狮c t e 墙o fd o c i l m e n tm 柚a g e m e n t ,卸du x m l 勰t h el 卸g l l a g eo ft h ed e s a i p t i 蚰 1 n h ew h o l es y s t e mi sd i 、,i d c di n t bt i l f e ep a n s :m o d e l sm 柚a g e m e n t ,r i g h t sm 孤a g c m e n t 觚dd o c i l m e n t sm 卸a g c m e 鸲w h j c ha r ei n t m d u c c di nt h ec h 印t e ro ft h es y s t 锄d e s i 印 a tl a s t ,t h cp a p c rt a k e so e n a j nd 印a m n e n t ,sj n f o m a t i o nm a n a g e m e n ts y s t e m 弱 e x a m p l ct 0v a l i d a _ i et h cd e s i 弘t h o u 曲协o ft l l i sr e u s a b l ed o c l l m e n tm 柚a g c m 如t s y s t e m 粕dt h em e t h o do ft h j bs y s t e n l si m p l e m e n t ,a n ds i m u l t a n e o u s l yp r o v et h a tt l l e s y s t e m 锄轴t h eq u a l j t yo ft h es y s t e md e v e l o p m e m 卸di m p r o v et h er c u s eo fw h o l e s y s t e m k 叼w o r d s :s o f 细a 坤f c u s e ,b u s i n e 鹞m o d e l ,d o c u m e n tm a n a g e m e n ts y s t e m ,x m l 西北工业大学 学位论文知识产权声明书 本人完全了解学校有关保护知识产权的规定,即:研究生在校攻读学位期间论文工作 的知识产权单位属于西北工业大学。学校有权保留并向国家有关部门或机构送交论文的复 印件和电子版。本人允许论文被查阅和借阅。学校可以将本学位论文的全部或部分内容编 入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 同时本人保证,毕业后结合学位论文研究课题再撰写的文章一律注明作者单位为诬北工业 大学。 保密论文待解密后适用本声明。 学位论文作者签名:耋s 查鳋 。呻年3 月5 1 日 指导教师签名: 川年;月 1 日 西北工业大学 学位论文原创性声明 秉承学校严谨的学风和优良的科学道德,本人郑重声明:所呈交的学位论文,是本 人在导师的指导下进行研究工作所取得的成果。尽我所知,除文中已经注明引用的内容 和致谢的地方外,本论文不包含任何其他个人或集体已经公开发表或撰写过的研究成 果,不包含本人或其他已申请学位或其他用途使用过的成果。对本文的研究做出重要贡 献的个人和集体,均已在文中以明确方式表明。 本人学位论文与资料若有不实,愿意承担一切相关的法律责任 学位论文作者签名:童e 查鳋 3 0 0 了年弓月3 1 日 西北工业大学硕士学位论文第一章绪论 第一章绪论 1 1 课题背景与研究现状 在国民经济和社会信息化的背景下,各类信息管理系统成为实施信息化建设 的一个重要基础平台。文档管理系统作为信息管理系统的一种应用类型,主要实 现传统纸质文档资料信息的电子化、网络化管理,它通过对文档资料的科学组织 和集中管理,加快了文档资料的处理速度,使管理人员从繁重的手工方式解放出 来,极大的提高了工作效率和管理质量。 文档管理系统使用丰富的数据结构和数据类型描述文档资料信息,这些信息 在管理上存在很大的操作相似性,部分操作甚至完全相同,如果对每个系统都重 新开发设计,会造成大量重复性工作。如何在开发过程中缩短研发周期,提高软 件质量,增加可维护性,降低开发成本,成为一个重要的问题,而软件重用被认 为是解决这一问题的关键技术。 软件重用是指使用“为了复用目的而设计的软件”的过程嘲。从简单的源代 码重用进化到表示问题抽象的结构重用,以及表示问题解决思路的设计重用,根 据粒度和抽象级别不同,软件重用分为以下四个级别: 代码重用:以代码片段作为重用对象,如子程序、程序模块、类等。 设计重用:以软件结构和软件设计思想作为重用对象。 规约重用:以分析结果和分析思想作为重用对象; 应用子系统重用:重用对象是相对较完整和独立的应用系统。 软件重用涉及系统开发的全过程,使用软件重用技术一方面可以缩短软件开 发周期,降低软件开发成本,通过使用原来系统开发过程中的成熟组件、程序模 块以及相关文档避免大量重复劳动;另一方面,由于现有系统中使用的组件或模 块经过反复测试和用户使用的考验,对其进行重用可以避免重新开发过程中可能 出现的错误,从而保证了软件的开发质量。 然而当前软件重用也存在一些问题。1 : ( 1 ) 系统开发过程中过分热衷于软件重用。由于用户的需求千差万别,开发 通用的软件构件会花费大量的时间、人力、物力、财力,而且开发的构件应用范 围往往会受到限制或领域的制约,因此花费大量的时间开发通用代码用于覆盖所 西北工业大学硕七学位论文第一章绪论 用用户的需求是不现实的。 ( 2 ) 在开发软件系统时,人们往往只关注如何满足用户需求,较少考虑如何 在满足用户需求的前提下,构建适合系统的并且适用于今后的领域内软件系统开 发的软件构件。 ( 3 ) 构建软件构件时,构建粒度的大小难以掌握。大粒度的软件构件是系统 开发者所希望的,利用它可以快速构建系统,但是却难以适应不同业务需求;小 粒度的构件容易满足业务需求的变化,但构件粒度过小会降低构件的重用价值。 因此,开发合适粒度的软件构件是软件重用需要关注的主要问题之一。 ( 4 ) 开发通用的可重用的代码与开发针对特定需求的代码相比,花费的代价 会非常大,并且代码的性能也可能会降低。 由此可见,软件重用技术并不是在任何情况下都能体现出优势,但如果将软 件重用限定于某一特定应用领域之内,上述问题便可得到最大程度的避免。一般 情况下,针对某一特定领域的软件开发具有许多共性,这在一定程度上便于开发 人员提取它们的公共特征,将当中一些相对稳定的成分构建成软组件放入组件库 中,与此同时,提供相应的检索方式,以便在构建系统时使用。使用特定领域内 的软件重用的应用设计思路进行开发时,首先需要进行领域分析,建立领域模型, 然后通过对领域模型进行解析,描述出基于组件的软件体系结构,同时结合各种 软件设计模式,建立系统框架,构建可重用的软件应用系统。从应用软件的开发 过程来看,该设计思路其实倡导的是一种以模型为中心的开发方式,即在需求分 析和系统设计阶段,为软件建立模型;在代码编写阶段理解模型并将模型转换为 程序代码;测试运行阶段验证程序代码是否准确地反映了分析设计模型。整个过 程充分地体现了模型在系统开发中的主导作用和驱动力量。 本文以作者参加的某国防单位的信息管理系统作为选题背景,重点研究了一 种基于x m l 的可重用文档数据管理系统的解决方案,文章从实现角度出发,对组 成系统的三大功能模块分别进行了深入地分析与研究,并且以使用该系统开发的 该国防部门的资料管理系统为例,对论文中的所提出的设计思路和实现方式进行 了验证,同时还验证了该系统在保证软件开发质量的前提下提高了整个系统设计 的复用性。 1 2 课题研究内容 本文提出的基于x m l 的可重用文档数据管理系统是特定领域的软件重用应 用设计思想和模型驱动开发方法在文档管理领域方面的研究与拓展。作者通过对 2 西北t 业大学硕士学位论文第一章绪论 文档数据管理领域的公共业务特征进行分析与研究,抽象出组织结构模型和文档 数据模型两种能够基本概括该领域特征的系统业务模型,同时通过整合时下流行 的三个开源框架实现了模型的自动解析和系统的自动更新过程。用户可以通过为 系统添加具体业务模型,得到适合自己业务需求的文档管理系统,换而言之,可 重用文档数据管理系统通过更换不同的业务模型来实现整个系统的重复利用,这 在很大程度上缩短了系统的开发周期,提高了开发效率,增加了系统可维护性。 与传统的文档管理系统相比,它的创新性可概括为以下三个方面: ( 1 ) 系统设计与具体实现的分离 使用可重用文档数据管理系统进行开发是一个从建模到最终实现的过程。使用 者不需要考虑任何技术实现的细节,只需要使用系统提供的与实现技术无关的业 务模型描述规则构建相应的具体业务模型实例和进行系统更新,即可完成符合具 体业务需求的文档管理系统的构建。 ( 2 ) 以模型为驱动力的系统开发 传统的系统设计开发是针对用户的具体业务需求进行的,其业务数据被系统实 现代码直接引用,一旦用户的某些业务数据发生变化时,系统必须面临从设计到 代码的大规模调整与修改,甚至是重新开发,这将大幅度增加系统的开发和维护 成本,延长开发周期。而可重用文档数据管理系统选择了以模型作为驱动力的开 发方式,所有的系统实现都在模型的驱动下进行的,即使用户的业务数据发生变 化,只要其不超出模型的描述范围,系统都可以进行正确解析,用户需要完成的 工作只是修改系统的原有模型实例并由系统重新加载,整个过程不涉及任何代码 变动,并且在短时间内即可完成。 ( 3 ) 系统设计同步进行 传统的系统设计模式将数据库设计、界面设计和业务功能设计相分离,先进 行业务功能设计,然后进行数据库设计,最后是界面设计。这样设计带来不少弊 端:由于三者不同时进行,往往会造成功能设计、界面设计和数据库设计从不同 角度在表达某一业务上的不一致,开发出的系统不符合用户要求。而在模型驱动 的系统设计中,数据管理系统的业务功能设计、界面设计以及数据库设计被无缝 地集成到了设计平台中,从而保证了业务表达的一致性。 在完成论文期间,作者开展的研究工作可基本归纳为以下几个方面: ( 1 ) 通过对大量文档管理系统的分析和研究,抽象出该领域的一般业务特征, 并在此基础上提出了组织结构模型与文档数据模型的领域模型概念。 ( 2 ) 结合“l 技术对组织结构模型和文档数据模型进行了规范化定义。 ( 3 ) 分析和研究了j a v a 流行服务器、框架、工具及整合应用,为可重用文档 3 两北l 业大学硕七学位论文 第一章绪论 数捌管理系统提供有力的技术支持。 ( 4 ) 分析和研究了可重用文档数据管理系统中各个功能模块的具体实现要 求,确定出系统的总体结构和主要功能部件。 ( 5 ) 设计和实现了可重用文档数据管理系统,并且通过某部门的资料管理系 统实例验证了可重用文档管理系统的可靠性与可重用性。 1 3 论文组织 论文全文共分为六章,本节将简单介绍各章的主要内容。 第一章主要对论文的课题背景、相关研究状况、课题研究内容以及论文组织 结构进行了简单介绍。 第二章集中介绍了模型的相关基本概念和可重用文档数据管理系统所使用 的模型描述语言x m l 的技术特点、语法结构、文档模式和文档解析。 第三章集中介绍了可重用文档数据管理系统的业务功能组成以及各组成部 分的详细功能设计。 第四章通过采用成熟的软件设计方法,整合流行的软件框架,研究了可重用 文档数据管理系统的具体实现机制。 第h 章结合应用实例,介绍了本系统如何通过构建业务模型和进行系统更新 实现系统的重复使用。 最后一章对本文的工作进行了总结,并对可重用文档管理系统的日后发展方 向进行了分析。 4 西北工业大学硕士学位论文第二章模型与) 。 2 1 模型的基本概念 2 1 1 模型的定义 第二章模型与x m l 模型通常是指现实中已经存在的东西的抽象,使用自然语言表述,但是为了支 持模型的自动变换,就要求模型必须使用精确定义的语言进行表述。0 m g 这样定义 模型:是以精确定义的语言对系统( 或系统的一部分) 做出的描述。这里的精 确定义的语言是指具有精确定义的形式( 语法) 和含义( 语义) 的语言,可以由 计算机自动解释。图2 1 描述了语言、模型与系统三者之间的关系。 表逮g 曰昌圈 图2 一l 模型与语言 根据定义,代码也是一种模型,因为它使用的编程语言是具有精确定义的语 言,是可以被编译器理解的语言。 2 1 2 模型之间的关系 一个系统可能包含很多不同的模型,这些模型在细节处各不相同。同一个系 统的不同模型之间必然存在某种关系,这些关系也是多种多样的,例如,一个模 型可能只描述完整系统的一部分,而另一个模型则描述了另一部分,或者一个模 型可能比另一个模型更细致化地刻画了系统,又或者两个模型是同一系统从不同 视角的描述。 模型之间还存在一种特殊关系:自动生成关系,即一个模型到另一个模型的 自动生成。本文提出的可重用的文档数据管理系统就是对这种关系的一种实现, 5 西北工业大学硕士学位论文 第二章模型与) 咖。 即业务模型到代码模型的自动生成。 2 1 3 变换 模型之间的转换通过变换工具实现,它的输入是一个模型,输出是另一个模 型。 观察变换工具内部,能够发现和执行变换有关联的元素。在变换工具中首先 包含一个定义,用于描述模型如何变换。我们把这个定义称作变换定义 ( t r a n s f o r 慨t i o nd e f i n i t i o n ) 。变换定义同时又包含一系列变换规则,这些规 则是无歧异的规约,规定了如何从一个模型( 或者它的一部分) 创建另一个模型。 0 懈对“变换”、“变换规则”和“变换定义”分别做出以下定义: 变换是按照定义,从源模型到目标模型的自动生成。 变换定义是一组变换规则,这些规则共同描述了用源语言表述的模型如何变 换为用目标语言表述的模型。 变换规则是对源语言中的一个( 或一些) 构造如何变换为目标语言中的一个 ( 或一些) 构造的描述。 变换必须保持目标模型的含义与源模型的含义的一致。 2 2x 札及相关技术 上一节提到o 对模型的定义,即以精确定义的语言对系统( 或系统的一部 分) 做出的描述,由该定义可以看出,0 m g 对描述模型的语言没有太多限制,只要 是计算机可以解释的精确语言都可以用于表示模型。但考虑到系统的集成以及软 件对平台之间数据互操作能力要求的日益提高,我们应该选择一种通用的、为大 多数软件公司所接受的语言来描述模型。) ( m l 作为一项功能强大的技术,除了满足 模型定义中所要求的精确定义之外,还具有很多标准化的国际规范,这使得x l i i l 成为我们用于描述模型的语言的首选。以下内容是关于x m l 的特点和相关技术简 要介绍。 2 2 1x m l 的特点 删l 的全称是“可扩展性标识语言”( e x t e n s i b l em a r k u pl a n g u a g e ) ,它是继 m m l 之后,另一种新兴的因特网标准。与h t m l 相似,它是一种显示数据的标记语 6 西北工业大学硕士学位论文 第二章模型与x 札 言,能够使数据通过网络无障碍地进行传输,并显示在用户的浏览器上。然而与 h t m l 不同的是,x m l 所使用的标记是具有语义的,它可以清楚地向计算机以及用 户传达数据的语义,并帮助文件保存数据结构。除此之外,捌l 还允许用户按照需 求来增加标记,不同的产业可以在彼此协议的基础上,自由地制定适用于该产业 的标记,例如目前已经标准化的数学标记语言( m a t h l l l ) 、财经标记语言( f p 札) , 以及电子商务标记语言( e b ) 咖。) 等“1 。 】( i i l 主要具有以下五个特点: ( 1 ) 自描述性 ) 【l i l 中的语义标识一方面限定了元素的层次结构,另一方面说明了元素的含 义。在删l 搜索结果中,通过标识就可以知道内容的含义,这使得搜索结果更有 意义。 ( 2 ) 可扩展性 ) ( i l l 允许各个组织、个人建立适合自己需要的标识集合,使用者可以根据需求 参数化和语义化相应数据。x 札可以在不破坏现有结构和系统的情况下增加新的数 据字段。应用服务器可以利用) ( i j l 对所有的数据建模,若想改变数据模型只需改 变数据模型的定义,如d t d ,s c h e 蹰等,而不需要对现有对象进行重新编码。 ( 3 ) 平台独立性 x m l 文档是纯文本的,独立于平台和应用,因此运用x l l 可以有效地勰决新旧 系统、不同应用系统之间或者数据源之间的数据共享和交互问题。 ( 4 ) 机器可读性 相对于完全无规则的文本,】( l l 具有严格要求,所有的) ( l l 的文件都需要使用 d t d 或者瑚ls c h e i i l a 进行有效性验证,这使得计算机更容易对其进行处理。 ( 5 ) 描述复杂数据的能力 ) ( 1 i l 提供了数据的结构化表示,并且易于操作,它可以使用一种统一的数据模 型来描述来自不同数据源的数据,屏蔽数据源中应用环境和数据结构的异构性。 2 2 2x m l 相关技术 跏l 由一系列技术规范组成,主要包括文档模式技术( d t d 和s c h e 啮) 、文档 样式技术( c s s 和x s l ) 、文档查询技术( x q u e r y ) 、文档解析技术( d 伽和s a x ) 和文档链接技术( x l i n k 和x p o i n t e r ) 。本文提出的可重用文档数据管理系统主要 涉及x m l 语法、) ( i l 文档模式和x m l 文档解析三项技术,以下内容是对这三项技术 的具体介绍。 7 西北工业大学硕士学位论文 第二章模氆与) 叫。 2 2 2 1x m l 语法 ) ( m l 对于语法有严格规定,只有当一个) ( m l 文档符合“格式良好”的要求,处 理程序才能对它进行分析和处理“1 。所谓“格式良好”是指该) 【m l 文档的各个逻辑 成分和物理成分符合语法规定,这样做的目的是为了保证捌l 严密的条理性、逻 辑性以及良好的结构性,提高) ( i l 应用处理程序处理) ( i l 数据的准确性和效率。 x m l 文档的结构包括逻辑结构和物理结构。 ( 1 ) 逻辑结构 一个) ( m l 文档通常由一个x m l 声明开始,通过煳l 元素来组织数据。瑚l 元素 包括标记和字符数据。为了更加方便、清晰的组织数据,可以在字符数据中引入 c d a t a 数据块,同时还可以在文档中引入注释。此外,由于有时需要给x m l 处理程 序提供一些指示信息,捌l 文档中可以包含处理指令。以下内容是x 札文档中各个 逻辑元素的主要作用和形式的具体说明。 1 ) ( 1 l l 声明 x m l 声明是处理指令的一种,通常包含三个属性:v e r s i o n 指明所采用的儿 的版本号;s t a n d a l o n e 表明该删l 文档是否和一个外部文档类型定义d t d 配套使 用;e n c o d i n g 指明数据所采用的编码标准。 2 元素 元素是) ( h i l 文档内容的基本单元。从语法上讲,一个元素包含一个起始标记、 一个结束标记以及标记之间的数据内容。其语法格式为: 数据内容 任何一个格式良好的) ( m l 文档中至少要有一个元素,并且所有的元素必须要 有正确的结束标记。结束标记除了要和起始标记在拼写和大小写上完全相同,还 必须在前面加上一个斜杠”。x m l 元素中可以嵌套别的元素,但前提条件是标记 必须满足正确的嵌套关系。 3 c d a t a 节 在标记c d a t a 下,所有的标记、实体引用都被忽略,被) ( m l 处理程序一视同 仁地当作字符数据看待。c d a t a 的基本语法为: ,其文 本内容中不能出现字符串 。c d a t a 支持嵌套。 8 西北工业大学硕士学位论文第二章模型与) 咖。 4 注释 注释是指x m l 文档中用作解释说明的字符数据,) ( m l 处理器不会对其进行任何 处理。注释的基本语法为: ,它可以出现在x 札元素间的任何 位置,但是不能被嵌套。 5 处理指令 处理指令用于向处理) ( m l 文档的应用程序提供信息,x m l 分析器把这些信息原 封不动地传给应用程序,由应用程序来解释这些指令,并按照处理指令提供的信 息进行处理。处理指令所遵循的格式为: 。 以下内容是以描述辞典信息为例的一个完整x m l 文档: 1 2 3 4 5 x m l 6 ) ( m l 是一种可扩展的元置标语言,它可用以规定新的置标规则,并根据 这个规则组织数据。 7 8 9 1 5 1 6 1 7 这个例子中出现的逻辑元素包括: 1 是) ( m l 声明。 2 是处理指令。 9 曲j ti 业大学硕士学位论文第二章模璎与) 3 卜 1 7 是文档中的各个元素。在 5 行的” x m l ”中,” ” ”是标记,”) ( 1 i r 是字符数据。 8 是注释。 9 卜一 1 4 是c d a t a 节。 ( 2 ) 物理结构 描述逻辑结构的是元素,) ( 1 i l 文档的逻辑结构由文档中的元素以及元素之间的 关系决定。而从物理结构来看,x m l 文档则是由一个或多个存贮单元构成,这些存 贮单元被称为实体。所有的删l 文档都包含一个”根实体,也称作”文档实体。 文档实体由) ( i i l 本身给出的,不需要显式定义就可以使用,它指的是整个文档的 内容,是x m l 语法分析器处理的起点“1 。除此之外,其他需要用到的实体都用名字 柬标识,这些实体需要在文件类型定义d t d 中给出定义。 实体充当和别名类似的角色,即一个简单的实体名称可以用来代表一大段文 本内容。实体引用简化了录入工作,当需要使用同样一大段文本时,只要使用它 的别名& 口可,处理器会自动把该别名替换为相应的文本。 ) ( m l 文档的逻辑、物理结构的一个类比是关系数据库,关系数据库用表和字段 来描述逻辑结构,而通常使用二进制文件来描述物理结构。 2 2 2 2d t d ( 文档类型定义) 一个x m l 文档必须严格遵守语法规范,即必须是“格式良好”的,同时,它 还必须是“有效的”,即符合语义方面的规范。对儿文档有效性检查称为) ( m l 的 自效性验证。“格式良好”是) ( m l 文档的最基本要求,只有“格式良好”的) ( m l 文 档才能被x m l 解析器解析,从而生成对象树,接受进一步处理,而只有当捌l 文 档符合某个的d t d 或) ( 1 i ls c h e 眦的语法规定,即成为“有效”文档时,才能保证 x 叭文档的易读性,体现数据信息之间的关系,更好地描述数据。 作为x m l 文档有效性验证的约束规则,d r r d 定义了x m l 文档的逻辑结构,规定 了文档中所使用的元素、实体、元素的属性、元素与实体之间的关系。它可以是 一个完全独立的文件,也可以在x l i l 文件中直接设定。所以,d t d 分为外部d t d ( 在 洲l 文件中调用另外已经编辑好的d t d ) 和内部d t d ( 在x m l 文件中直接设定d t d ) 两种类型。1 。多数情况下我们选择使用外部d t d ,这样只要编写一个d t d 文件就可 1 0 西北t 业大学硕十学位论文第二章模型与) 咖。 以被多个) 【m l 文档所引用,不仅简化了输入工作,并且还可以保证当需要对d t d 进行修改时,不用一一修改每个引用它的x 札文档。 一个典型的d t d 使用d 0 c t y p e 声明作为起始标志,有效性验证解析器也正是 使用这个声明来检索d r r d ,并根据其定义规则验证) 凸也文档。与捌l 标记一样,d t d 声明也使用“ ”分隔,其基本格式为: ,k e y w o r d 用于指明声明类型。 作为构建) ( 1 l l 数据块的基础一元素,d r r d 使用关键字e l e m e n t 进行声明,其基 本格式为: 。由于捌l 元素本身支 持嵌套,所以元素声明通常包含基本元素声明和复合元素声明两种情况,当元素 名称后直接跟数据类型时表示该元素是基本元素:而当元素声明为: 时表明该元素是复合元素,它包含 n 个子元素。其实根元素就是复合元素的一个特例,因为所有的元素都直接或间接 地包含在根元素中。 在复合元素声明中可以使用某些符号指定子元素的出现次数。“? ”表示该 子元素可出现0 次或1 次;“木”表示可以出现任意次;“+ ”表示至少要出现一 次;“i ”表示只从集合中选择一个作为子元素;无符号表示必须出现一次。例如 ,该声明描述了复合元素a 中子 元素b 可出现1 次或不出现:c 元素至少出现一次;d 元素可出现多次或不出现; 文字数据或e 元素出现一次,但不能同时出现;f 元素出现一次。 ) ( m l 中元素使用属性描述元素自身的一些特性,在d t d 中使用关键字a t t l i s t 进行声明,其语法格式为: 。 在x m l l o 推荐标准里,定义了l o 种不同类型的属性圆: 表2 1 属性类型含义 c n a t a 属性值为文字数据 e n u l l e r a t e d 属性值为可选择性数据 i d 属性值为文档中唯一的值 l l 西北工业大学硕十学位论文 第二章模型与) 眦 属性类型 含义 i d r e f 属性值为对i d 参考使用 i d r e f s 属性值为对多个i d 参考使用 e n t i t y 属性值为外部实体 e n t i t y s 属性值为外部实体的组合 n m t o k e n 属性值只能由英文字母、数字等组成 n 研a t i o n 属性值为 中所定义的处理程序 n m t ( ) k e n s 属性值为以空格符分开的多个n n 盯o l ( e n 构成 属性默认值包含以下四种情况嘲: 表2 - 2 默认值 含义 # r e q u i r e d 属性必须出现 # i m p l i e d 属性可有可无,不一定要出现 # f i x e d “属性值”属性固定而且必须出现 “属性值”属性默认的值,可改变 2 2 2 3x 札文档解析 解析) ( i l 文档最常用的有两种方法为d o m 和s a 】( 。 d o m 是d o c u m e n t0 b j e c t d e l 的缩写,即文档对象模型,其工作原理是读入 整个x m l 文档,构建一个驻留在内存中的树结构,然后通过使用d o m 接口操作树 结构“”。由于该方法涉及读取整个) ( m l 文档并将该文档存储在一个树结构中,导致 该解析过程低效、缓慢,而且会消耗大量内存“州。 s a x 是d o m 的一种替代技术,它的全称是s i m p l e 矗p i sf o rx ! i i l ,即煳l 简单应 用程序接口。它提供了一种对) ( m l 文档的顺序访问的模式,该模式支持) ( m l 数据的 快速读写。当使用s a x 分析器对) 【m l 文档进行分析时,会触发一系列事件并激活相 应事件处理函数,完成对】( m l 文档的访问,因此s a ) 【接口也被称为事件驱动接口。 s a x 分析器在实现时,只是顺序地检查) ( m l 文档中的字节流,判断当前字节是 酬l 语法中的哪一部分,是否符合涮l 语法,然后再触发相应事件,而事件处理函 数本身由应用程序自己实现“”。同d o m 相比,s a x 缺乏灵活性,但是,s a x 实现简 单,对内存要求低,实现效率高,所以对于那些需要访问x m l 文档又不需要对文档 进行修改的应用程序来说,s a x 更为适合。 西北工业大学硕士学位论文第三章可重用文档数据管理系统的总体设计 第三章可重用文档数据管理系统的总体设计 3 1 系统概述 本文提出的可重用文档数据管理系统以软件重用和模型驱动的开发思想为指 导,通过对大量文档管理系统业务功能的分析和研究,抽象出其一般业务功能模 型,同时借鉴以往的代码生成方面的成果实现业务模型到代码模型的快速转换。 总的来说,可重用文档数据管理系统是一个能够适应各种文档业务需求的高效的、 可复用的数据管理平台。 可重用文档数据管理系统使用) ( m l 作为业务模型的描述语言,通过向用户提供 具有一定构建规则的模型框架,使用户可以结合具体业务逻辑构建自己的业务模 型,然后由系统对模型进行验证与解析,并同时由系统调用相应的生成引擎实现 模型变换,最终生成适合于具体业务需求的文档数据管理系统。 可重用文档数据管理系统的整个开发流程可描述为下图: 图3 - 1 可熏用文档数据管理系统的开发流程 广,;,;,一 西北工业大学硕士学位论文第三章可重用文档数据管理系统的总体设计 3 2 系统设计 3 2 1 业务功能模块设计 可重用文档数据管理系统主要实现多部门、多数据结构、多数据类型的文档 管理的相关业务操作,其功能模块组成如下所示: 其中: ( 1 ) ( 2 ) 图3 - 2 可重用文档数据管理系统的功能模块组成 模型管理模块:负责模型的管理工作,主要包括模型描述文件的有效性验 证、解析以及根据描述文件创建数据表空间、表结构和触发器等。其中, 模型描述文件是根据业务需求以及x 她的d t d 规则整理而成的x m l 文件。 该模块是整个系统的构建基础,也是整个系统的关键所在。 权限管理模块:负责基于角色和用户的模型权限管理,主要包括角色的定 义和编辑以及为不同的用户和角色进行授权。由于可重用文档数据管理系 统是构建于模型之上,所以系统对权限的定义也是以模型实例为主体,这 也使得本系统区别与其他文档管理系统。 ( 3 ) 文档管理模块:在系统的权限控制下,执行用户对文档的添加、删除、修 改、发布等操作。 3 2 2 用户分类 可重用文档数据管理系统的用户按照职责不同可分为超级管理员、管理员、 普通用户和匿名用户四类,其中,超级管理员负责系统的模型管理与角色管理; 管理员负责权限管理;普通用户和匿名用户负责文档管理。匿名用户与普通用户 1 4 西北工业大学硕七学位论文第三章可重用文档数据管理系统的总体设计 的区别仅在于匿名用户只具备文档管理的最低权限,即文档模型实例的初始化权 限。以上职责划分可基本概括为图3 3 : 图3 - 3 可重用文档数据管理系统用户职责 3 2 3 模型管理模块设计 用户通过已经定义好的模型描述规则和业务需求来编写相应的模型描述文 件,然后由模型管理模块解析并生成模型所对应的关系数据库部分,该部分具体 包括数据表结构、表空间、触发器以及相应表关系等内容。除此之外,模型管理 模块还参与系统运行阶段用户所请求的w 曲页面的动态生成。 模型管理模块的管理内容可基本概括为图3 4 : 图3 4 模型管理模块的管理内容 图中的模型描述规则使用d 阿文件描述,它根据d r r d 定义规范以及文档管理 系统的一般业务规则进行定义;而模型描述则使用x m l 文件描述,跟据d t d 规则 量 一天 鼍 一 驴 曼天一 一 糙 西北工业大学硕士学位论文第三章可重用文档数据管理系统的总体设计 以及具体业务进行定义。 可重用文档数据管理系统的模型主要分为组织结构模型和文档数据模型两 类。组织结构模型用于描述系统的组织结构组成,在页面中以树结构形式呈现给 用户;文档数据模型用于描述系统业务处理的操作对象,其访问接口表现为胃e b 页面中组织结构树上的叶子节点,而其存储方式表现为关系数据库中的数据表。 由于组织结构模型和文档数据模型是整个系统的关键所在,所以在接下来的两小 节里将会就这两部分内容给出详细的解释说明。 3 2 3 1 组织结构模型设计 通过对众多文档管理系统的分析与抽象,我们发现文档管理系统的组织结构 通常表现为多层次的树状结构,而文档信息则归属于组织结构的不同分支,表现 为组织结构树上的叶子节点。一般情况下,组织结构树上的不问分支包含不同格 式的文档数据,这些数据一般具有不同类型、不同数量的文档属性以及不同形式 的页面显示。针对这些特点,本文提出了采用组织结构模型来描述文档管理系统 的组织结构的设计思路。 组织结构模型的直观表现形式为w e b 页面上的树状列表,用户通过选择不同 的分支节点获取不同类型的文档数据。可重用文档数据管理系统使用d t d 定义组 织结构模型的描述规则,以下内容是组织结构模型描述规则d t d 文件的具体内容。 组织结构模型描述规则d t d 首先定义了名称为o b j e c t c o n f i g u r a t i o n 的根元 素,它在整系统的组织结构中表示根节点。o b j e c t c o n f i g u r a t i o n 包括c a t e g o r y 和t y p e l i s t 两个子元素,c a t e g o r y 后面的符号 表示该元素可以不出现或出现多 次,而t y p e l i s t 后面的符号? 表示它可以不出现或只出现一次。 接下来,d t d 定义了节点元素c a t e g o r y ,它包括a c c e s s 叶r i g h t s 、u r l 、 c a t e g o r y 、t y p e 和g r o u p 五种子元素,其中u r l 与c a t e g o r y ,t y p e 与g r o u p 分别 作为组合成对出现,并且这两个组合每次只能出现一个。五个子元素的各自含义 分别为:a c c e s s r i g h t s 定义该节点的初始访问权限;u r l 定义节点u r l ;c a t e g o r y 1 6 西北工业大学硕士学位论文第三章可重用文档数据管理系统的总体设计 定义子节点,它是一个自递归节点,可以定义多级节点;t y p e 定义叶子节点,即 文档数据模型实例;g r o u p 定义叶子节点所属分支。除子元素之外,c a t e g o r y 还 定义了i d 、n 绷e 、v i s i b l e 三个属性,分别代表i d 标识、节点名称以及节点是否 在树结构中显示给用户。 描述中,i d 表示该属性是元素类型实例的唯一标识符;c d a t a 表示该属性是字 符数据,即简单文本串;# r e q u i r e d 表示该属性必须出现;# i m p l i e d 表示该属性 可以不出现。 上述内容定义了t y p e 元素,作为叶子节点该元素不再包含子元素。t y p e 元素 其实是对文档数据模型实例的描述,它包含i d 和p u b l i s h 两个属性,分别用来表 示文档数据模型实例的i d 和发布状态,其中发布状态必须在p r i v a t e 、p r o t e c t e d 和p u b l i c 中选择,分别表示文档数据模型实例对应的数据库表记录的三种访问约 束。 用户的访问实际上就是通过t y p e 元素的i d 属性来确定文档数据模型实例描述 文件的位置的,所以i d 的值必须在下文的t y p e l i s t 元素中存在而且有效。 以上内容定义了两个元素t y p e 一1 i s t 和t y p e r e f ,其中t y p e r e f 是 t y p e 一1 i s t 的子元素。t y p e r e f 元素定义了文档数据模型实例的x m l 描述文件的 位置以及名称,它包括两个属性i d 、r e s o u r c e ,分别表示文档数据模型实例的i d 和对应瑚l 描述文件的名称。 1 7 西北工业大学硕士学位论文 第三章可重用文档数据管理系统的总体设计 d t d 文件最后定义了a c c e s s r i g h t s 和a c c e s s r i g h t 两个元素,其中 a c c e s s r i g h t 是a c c e s s r i g h t s 的子元素

温馨提示

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

评论

0/150

提交评论