(计算机应用技术专业论文)基于数据字典的mis系统通用开发平台的设计与实现.pdf_第1页
(计算机应用技术专业论文)基于数据字典的mis系统通用开发平台的设计与实现.pdf_第2页
(计算机应用技术专业论文)基于数据字典的mis系统通用开发平台的设计与实现.pdf_第3页
(计算机应用技术专业论文)基于数据字典的mis系统通用开发平台的设计与实现.pdf_第4页
(计算机应用技术专业论文)基于数据字典的mis系统通用开发平台的设计与实现.pdf_第5页
已阅读5页,还剩51页未读 继续免费阅读

(计算机应用技术专业论文)基于数据字典的mis系统通用开发平台的设计与实现.pdf.pdf 免费下载

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

文档简介

摘要 摘要 随着计算机技术和网络技术的迅猛发展,信息系统不断朝着集成化、智能化、网络 化与分布式的方向发展,传统m i s 系统开发模式的缺陷逐渐暴露出来,限于开发周期和 成本、人员调配上的因素,已经不能满足高效开发的要求。另一方面,软件复用、通用 的能力受到了广泛的重视,通用性差的软件是没有生命力的。为了解决以上的两个问题, 通用平台技术应运而生,并快速发展,相关产品得到了广泛的应用,取得了不错的成绩, 但同时也存在着局限。 本文针对现有通用平台的不足,提出一种基于数据字典的通用开发平台,即u d p d d 平台。用户只需掌握一定的编写s q l 语句的能力,而不需要对开发语言掌握特别纯熟, 就可以使用平台快速、便捷地开发出m i s 系统,达到缩短软件开发周期,降低开发成本, 大幅提高开发效率的目的。 u d p d d 平台在b s 模式下实现,基于轻量级j 2 e e 规范,采用经典的三层架构进 行设计,平台通过对数据字典的设计和控制,实现程序开发与表结构的分离,以软件复 用为基本思想,结合了界面动态生成技术和程序自动生成技术,进一步实现了s q l 语 句和界面的自动动态生成,用户通过简单地界面操作,就可以完成m i s 系统的开发,使 平台的通用成为可能。 最后以大众一汽发动机( 大连) 有限公司的设备故障维修系统的开发实例完成对 u d p d d 平台的测试,并对其实现和使用进行说明。 关键词:数据字典;m i s ;通用开发平台 大连交通大学工学硕士学位论文 a b s t r a c t d u et ot h er a p i dd e v e l o p m e n to fc o m p u t e rt e c h n o l o g y ,a n de s p e c i a l l yo fn e t w o r k t e c h n o l o g y ,t h ed i r e c t i o no fi n t e g r a t i z e ,i n t e l l i g e n t i z e ,n e t w o r k t i z e ,t h es h o r t c o m i n go f t r a d i t i o n a ld e v e l o p m e n tm o d e lo fm isi sg r a d u a l l ye x p o s e d b e c a u s eo ft h ed e v e l o p m e n t c y c l ea n dc o s t s ,a n dp e r s o n n e ld e p l o y m e n to nt h ef a c t o r st h a tc a l ln ol o n g e rm e e tt h e r e q u i r e m e n t so fe f f i c i e n td e v e l o p m e n t o nt h eo t h e rh a n d ,t h ea b i l i t yo fr e u s i n gi sa r o u s e d g r e a ta t t e n t i o n ,s o f t w a r ew h i c hl a c ko fu n i v e r s i t yi sn o tv i t a l i t y i no r d e rt os o l v et h ea b o v e t w oi s s u e s ,t h eu n i v e r s a lp l a t f o r mi sc r e a t e d ,t h er e l a t e dp r o d u c t sh a v eb e e nw i d e l yu s e da n d o b t a i ng r e a tr e s u l t s ,b u tt h e r ea r ea l s ol i m i t a t i o n s i nt h i sp a p e r ,a i m i n ga tt h el a c ko fc u r r e n tu n i v e r s a lp l a t f o r m ,p r o p o s e das o r to f u n i v e r s a ld e v e l o p m e n tp l a t f o r mb a s e do nd a t ad i c t i o n a r yt h a ti su d p d d u s e r so n l yn e e dt o g r a s pc e r t a i na b i l i t yo fw r i t i n gs q ls t a t e m e n t s ,d o n tn e e dt ow e l lv e r s e di np r o g r a m m i n g l a n g u a g e ,u s e r sc a nu s e t h ep l m f o r md e v e l o pam i ss 3 7 s t e mq u i c k l ya n de a s i l y ,t os h o r t e nt h e d e v e l o p m e n tc y c l e ,r e d u c ed e v e l o p m e n tc o s t s ,a n di m p r o v e st h ee f f i c i e n c ya n dq u a l i t yo f d e v e l o p m e n t n l eu d p d d p l a t f o r mi sa c h i e v e di nb ,7 sm o d e ,b a s e do nl i g h tj 2 e ef r a m e w o r k ,u s i n g t h ec l a s s i ct h r e e t i e rt od e s i g n ji tt h r o u g ht h ed e s i g na n dc o n t r o lo nd a t ad i c t i o n a r y ,a c h ie v e d t h es e p a r a t i o no fp r o g r a md e v e l o p m e n ta n dt a b l es t r u c t u r e ,u s i n gs o f t w a r er e u s i n ga st h e b a s i ci d e a , c o m b i n e dw i t hd y n a m i c a l l yg e n e r a t e di n t e r f a c et e c h n o l o g y ,a n dp r o g r a ma u t o g e n e r a t i o nt o a c h i e v es q ls t a t e m e n t sa n di n t e r f a c ea u t o m a t i c a l l yd 3 ,n a m i c a l l yg e n e r a t e d u s e rc a l l c o m p l e t et h em i ss y s t e md e v e l o p m e n tt h r o u g hs o m es i m p l eo p e r a t i o no nt h e i n t e r f a c e f i n a l l y ! t ov e r i 母t h ev a l i d i t yo ft h es y s t e md e s i g n m e n ta n di m p l e m e n t a t i o n ,u s i n gt h e e q u i p m e n tm a i n t e n a n c es 3 ,s t e mo fv o l k s w a g e n ( d a l i a n ) e n g i n ec o r p o r a t i o nl t da sat e s t i n g i n s t a n c e k e 、o r d s :d a t ad i e t i o n a r t ;m i s ;u n i v e r s a ld e x ,e i o p m e n tp l a t f o r m 大连交通大学学位论文独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。尽我所知,除了文中特别加以标注和致谢及参考 文献的地方外,论文中不包含他人或集体已经发表或撰写过的研究成 果,也不包含为获得太蓬銮通太堂或其他教育机构的学位或证书而 使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在 论文中作了明确的说明并表示谢意。 本人完全意识到本声明的法律效力,申请学位论文与资料若有不 实之处,由本人承担一切相关责任。 学位论文作者签名:夸长豸二千 日期: w 多年l 了月f ) 日 大连交通大学学位论文版权使用授权书 本学位论文作者完全了解盔鋈塞通太堂有关保护知识产权及保 留、使用学位论文的规定,即:研究生在校攻读学位期间论文工作的 知识产权单位属太整塞通太堂,本人保证毕业离校后,发表或使用 论文工作成果时署名单位仍然为太蓬塞通太堂。学校有权保留并向 国家有关部门或机构送交论文的复印件及其电子文档,允许论文被查 阅和借阗。 本人授权太整銮通太堂可以将学位论文的全部或部分内容编入 中国科学技术信息研究所中国学位论文全文数据库等相关数据库 进行检索,可以采用影印、缩印或扫描等复制手段保存。、汇编学位论 、 又。 ( 保密的学位论文在解密后应遵守此规定) 学位论文作者毕业后去向: 工作单位: 通讯地址: 电子信箱:州一枷伊叭 导嗲始钒可 日期:乙噼,f 溯i 讥 电话: 邮编: 旨月 驷m 匆;诩 名签 年 者等储西 文 l 论 : 位 期 学 日 绪论 绪论 1 课题研究的背景及意义 在当今社会m i s 系统已深入到各行各业,它的重要性不言而喻。然而随着信息技 术的快速发展,对软件的通用性、复用性和可拓展性要求越来越高,传统的m i s 系统的 开发模式暴露出了诸多不足。由于开发高质量m i s 系统的能力大大落后计算机硬件日 新月异的进展,加上社会对m i s 系统发展和完善需求的增加以及对m i s 系统开发过程 中出现的错误认识和行为而导致m i s 系统开发的困难,因此如何提升开发效率,增强通 用性是m i s 系统开发模式中首要问题。 另一方面,网络技术的迅猛革新使得整个社会的方方面面处于信息相互关联的网络 世界。在信息社会中既要保证企业关键数据的安全可靠,又要充分享受开放网络时代的 外部资源,保证企业建设走在时代的前列,基于c s 模式的m i s 系统已经不能满足需求, 传统的m i s 系统依赖于专门的操作环境,这意味着操作者的活动空间受到极大限 制。基于b s 的m i s 系统是对传统m i s 系统概念上的扩展,它不仅可以用于高层 决策,而且可以用于进行普通的商务管理。通过用户的具名登录( 或匿名登录) , 以及相应的权限控制,可以实现在远端对系统的浏览、查询、控制和审阅。随着 i n t e r n e t 的扩展,现有的公司和学校不再局限于物理的有形的真实的地域,网络本 身成为事实上发展的空间。基于b s 的m i s 系统弥补了传统m i s 系统的不足,b s 架构不需要专门的操作环境,在任何地方,只要有联通的网络,就能够操作m i s 系统,充分体现了现代网络时代的特点。因特网必将成为人类新社会的技术基石, 基于b s 的m i s 系统必将成为网络时代的新一代管理信息系统。 一个完整的m i s 应包括:辅助决策系统( d s s ) 、工业控制系统( i p c ) 、办 公自动化系统( o a ) 以及数据库、模型库、方法库、知识库和与上级机关及外界 交换信息的接口【2 】。m i s 系统的功能包括:数据输入、数据维护、信息查询、数据统 计和报表,其中信息查询是主要功能。虽然m i s 系统业务庞杂,在各行业的应用不尽 相同,但由于其功能相似的特点,使得m i s 系统的数据库开发具有一定的通用性和重复 性。m i s 系统的传统开发模式和具体的应用领域以及应用对象息息相关,没有通用性。 有鉴于此,基于b s 和通用性是m i s 系统发展的必然趋势,m i s 系统的开发迫 切地需要引入一种通用的开发平台,本文提出一种在b s 模式下的基于数据字典的m i s 系统通用开发平台( u n i v e r s a ld e v e l o p m e n tp l m f o mb a s e do nd a t ad i c t i o n a r y ,以下均简 称u d p d d 平台) ,通过对数据字典的研究和设计,充分利用数据字典的特性和作用, 大连交通大学工学硕十学位论文 使得通用开发平台成为可能。目前该平台已成功应用于大众一汽发动机( 大连) 有限公 司的设备故障维修系统的开发中,前景乐观。 2 国内外研究现状 m i s 系统的通用性研究起步于本世纪7 0 年代,早期研究集中于在c s 模式下实现通 用查询的功能,通过解析、优化查询语句以实现通用查询,增强通用性和可扩展性,在 c s 模式下的通用查询平台已有大量的研究成果和成型的产品,通用平台逐步商业化和 实用化。 目前,m i s 系统通用平台的研究发展为在b s 模式下,并逐渐引入了新技术,以新 技术为平台的核心开创新的研究方向,主要有:基于x m l 文档技术、基于数据字典技 术、基于d b m s ( 数据库管理系统) 、技术基于复用构件技术、基于j 2 e e 技术、更先 进的查询优化算法,但在实现功能方面仍集中于查询,且通用性不强,因此增加实现功 能,增强通用性是进一步的研究方向。 3 ;本文的主要工作 有鉴于此,本文的主要工作可概括为: 分析传统m i s 系统的开发模式的缺陷,以及这些缺陷在m i s 系统开发中带来的 问题。 分析现有的同类产品和相关技术,做出比较,总结出每种技术的优势和不足。 详细描述数据字典技术,提出一种基于数据字典的通用开发平台( u d p d d 平 台) ,针对数据字典技术的优势,阐明u d p d d 平台的基本思想。 u d p d d 平台的设计与实现。 4 论文章节安排 第一章对传统m i s 系统的开发模式进行分析整理,总结出缺陷和不足,针对不足指 出存在的问题和m i s 系统通用的共性。 第二章回顾通用平台的发展历史,归纳现有的同类通用平台,分析其各自的特点和 相关技术。 第三章首先详细介绍数据字典技术的优势和特点,以及目前的研究现状,然后阐明 其基本思想。 第四章提出u d p d d 平台,然后阐明其基本思想,从与传统m i s 系统的开发模式对 比中,总结出u d p d d 平台的优点和作用。 第五章详细介绍了u d p d d 平台的设计,首先说明总的设计框架、引入的开发思想 以及使用的技术,然后按模块为单位进行详细设计的介绍。 2 绪论 第六章首先介绍了u d p d d 平台的开发环境,给出具体的实现情况,最后介绍了应 用实例和测试。 大连交通大学工学硕士学位论文 第一章传统m i s 系统的开发模式 1 1 传统m i s 系统中数据库的构建模式 m i s 系统的功能包括:数据输入、数据维护、信息查询、数据统计和报表,其中信 息查询是主要功能。由于功能相似的特点,使得m i s 系统的数据库开发具有一定的通用 性和重复性。传统的m i s 系统数据库开发和具体的应用领域和应用对象息息相关,开发 者往往针对需要操作的对象,即具体的表和字段,配置好s q l 语句,然后静态地封装 在系统内部,程序与数据库紧密耦合。 在传统m i s 系统中数据库的构建模式中,所有的信息数据以及用户表按照提前建立 好的结构,录入到一个集中的数据库中,通过数据库管理系统对数据库进行添加、删除、 修改和查询等操作。这种传统的m i s 系统的方式,通过实体一关系模型分析( e r ) , 建立好数据库信息模式,数据库中的表格结构就是提前制定完成的,系统投入运行后, 资源的信息可以加、修改和删除,但资源信息的组织方式却是不能改变的。系统完全不 具备通用性,当开发另一套功能相近的m i s 系统时,需要重新设计数据库,并要编写大 量的重复代码,无法利用已开发完的系统来提高开发效率。传统的m i s 系统的数据库构 建模式存在的最大问题,就是不具备可展性,无法接纳新资源的加入【3 5 】。 传统的构建模式中,没有深入到数据字典层面的设计,数据库表和数据字典完全依 靠d b m s 管理。 1 2 传统m i s 系统的功能实现 m i s 系统的主要功能有:增加、删除、修改、查询。 在m i s 传统开发过程中,应用程序与底层数据表一一绑定,s q l 语句都是静态地 封装在程序中,与特定的表结构、字段紧密结合【6 j 。系统功能对应相关的业务,系统功 能由具体的s q l 语句实现,当业务发生改变时,需要改写大量的s q l 语句。其执行过 程就是通过具体的功能模块调用静态的s q l 语句,其基本查询流程【”,如图1 1 所示。 1 3 传统m i s 系统开发模式存在的缺陷 传统m i s 系统的开发模式已经跟不上开发的需要,传统的设计存在很多缺陷,并逐 渐地暴露出更多的问题。其中主要有: 当用户的需求发生变动或系统需要更新时,必须修改源代码,甚至要重新设计 模块。 4 第一章传统m i s 系统的开发模式 图1 1m i s 系统传统的查询过程 f i g 1 1t r a d i t i o n a lq u e r yp r o c e s so fm i s 当用户数据库表结构发生改变时,与之相关的程序都需要重写。给程序员带来 了大量繁琐重复的工作,无形中也增加到了软件的开发成本8 1 。 通用性低,已开发完的系统无法被利用到新系统的开发中。 开发效率低,软件周期长。 不易维护。 本章小结 本章首先介绍了传统m i s 系统的开发模式,重点分析了传统m i s 系统的功能实现, 并归纳了传统m i s 系统的开发模式存在的缺陷和不足。 大连交通大学t 学硕十学伊论文 2 1 通用平台概述 第二章通用平台概述及相关技术 2 1 1 通用平台技术的提出 一个m i s 软件的生命周期可以分为软件定义、软件开发和软件维护三个时期。软件 设计不可能在定义时就将软件设计地完美无缺,需要在开发的过程中查缺补漏,逐步完 善。窗口开发程序传统开发方法往往将窗口程序与数据表结构紧紧绑定在一起,而一旦 表结构发生了改变,与之对应的窗口界面也需改变,程序员就必须不厌其烦地更改代码; 同时,由于m i s 系统自身比较复杂,表的数量繁多,如果需要编写大量的重复代码,即 使一个高级程序员,也需要花费很长的时间完成界面的开发再者,在软件维护过程中, 由于软件自适应性差,无形中增加了软件开发的成本【9 】 在不断地生产实践中,人们发现了在m i s 系统开发中功能存在共性的特点,系统的 业务在数据库层面上,表现为最基本的操作:增加、删除、修改、查询。查询操作使用 最为频繁,也最难处理。如果有一种通用的查询模块,在m i s 系统开发时可以直接应用, 而无需重新编写,那么问题就解决了。于是有了最早的一类通用综合查询模式的提出, 这是通用开发平台的雏形,标志着通用平台技术的开端。 2 1 2 通用平台的发展过程 自本世纪7 0 年代最早的一类通用综合查询模式的提出,通用平台的发展历经了计 算机语言的更替,数据库技术的繁荣,网络技术的革命,不断成熟、完善,其过程主要 可分为四个阶段: 第一个阶段:简单的通用查询模式。在这个阶段,数据库技术的应用范围不断扩大, 但在开发m i s 系统时,虽然在设计时经过了周密的考虑并能提供给用户不同的查询,但 它的查询模式却也由此固定下来,倘若要增加额外的查询条件,就需要程序员通过另外 的编程来实现,显然,这种预先固定的查询模式不能满足用户不断产生的新的查询需求, 对普通用户来说具有较大的局限性,因此有必要建立一种灵活、简洁、方便、自然的综 合查询模式,以适应各层次用户的查询要求。为此,提出了一种综合查询模式的设计方 法:先前不再固定查询模式,用户可以通过完成通俗直观的重新组合和查询定义操作来 满足自己的需求,而相应的代码由系统来生成,系统展现给用户的只是他们所需的输出 结果【1 0 1 。 在查询过程中,用户通常只能通过良好的人机界面,简洁方便的操作来满足自己的 6 第二章通用平台概述及相关技术 查询需求,而对于专业性较强的s q l 语法可以说是完全陌生。因此,总体设计思想就 是基于这一点,将用户需求和s q l 的生成分离开来,用户一方只需提出需求,而由系 统来完成用户需求与s q l 语句相应的转换。 这个时期是通用平台技术的起步阶段,主要研究工作集中在实现一个具体的m i s 系统内的通用的查询功能,是通过生成动态s q l 语句实现的。这个阶段的通用很低, 只局限于单一的m i s 系统内的通用查询,不能实现系统间的复用,应用环境在c s 模式 下。 第二个阶段:c s 模式下的繁荣。随着面向对象思想的提出,给计算机语言带来一 场空前的革命,造就了很多成熟的可视化编程语言如,c + + 、v i s u a lb a s i c 、d e l p h i ,一 给通用平台的发展创造了十分便利的条件,通用平台在基于这些语言方向的应用,已经 十分成熟。引。 另一方面,在计算机语言革新的带动下,涌现出许多新技术、新思想,其中比较著 名的有:基于数据字典技术、基于复用构件技术、基于数据库系统表、更先进的查询优 化算法。这些新技术的引入,开阔了通用平台研究的视野,并提供了强有力的理论支持, 极大地刺激了通用平台技术的发展。 在此阶段,通用平台的研究进入了“百家争鸣”的时期,许多新技术、新思想被成 功地应用到通用平台的研究中,造就了通用平台在c s 模式下的繁荣。 第三个阶段:程序复用思想的引入。前两个阶段的通用停留在一个系统内部的通用 查询,而复用的思想是作用在于系统间的通用,它是通用开发平台的基础。 程序复用思想的引入在真正意义上实现了通用开发的概念,这是通用平台技术的一 个里程式发展。前两个阶段的通用性只能说是系统内的通用查询,这个阶段才真正进入 了通用开发平台的研究。 第四个阶段:在b s 模式下应用的兴起。伴随着网络技术的突飞猛进,通用开发平 台的研究也转入网络时代,开始了b s 模式下的发展。在j 2 e e 框架下的应用最为广泛, 成果显著的有:基于j 2 e e 技术、基于数据字典技术。 下面对通用平台发展四个阶段的特点进行比较,见表2 1 2 2 通用平台的研究方向 随着计算机技术的快速发展,通用平台技术历经四个阶段的演变,不断有新技术的 引入,拓宽了通用平台的研究方向,涌现出许多成功的不同核心技术的平台,其中极具 代表性的有:基于复用的动态查询构件、改进优化查询算法、基于x m l 技术、基于j 2 e e 技术等。 7 大连交通大学t 学硕十学伊论文 。表2 1 通用平台发展阶段表 t a b l e2 1d e v e l o p m e n ts t a g eo fu n i v e r s a lp l a t f o r m 特点 通用性应用模式实现功能主要技术 阶贫 系统内通用 查询 c s 查询 动态s q l 语句 系统内通用数据字典、 查询 c s 查询 数据库系统表 系统间通用添加、删除、 开发 c s 复用技术 修改、查询 四 。系统内通用 开发 b s 查询 j 2 e e 2 2 1 基于复用的动态查询构件的研究 随着构件化技术的日益成熟,信息系统的构件化开发( c b d ) 和管理己成为势不可 挡的趋势,动态查询作为信息系统的重要组成部分,更需要进行领域工程的研究和复用。 设计开发支持用户自定义查询功能的动态查询构件系统,不仅能大大减轻维护人员的工 作量,减少开发和维护成本,还能在适应构件化开发新技术的同时,提高整个信息系统 的生命力。 动态查询基于用户的动态查询需求,是在m i s 系统运行期间,根据用户对查询的 新需求,通过一系列配置,把查询功能动态地添加到m i s 中,使得m i s 系统在不被修 改的情况下实现功能上的扩展。 综合分析各种m i s 系统结构和运作流程,认为m i s 中的各种数据体是我们最终要 处理的对象,这些数据体一般都是存放在具体的数据库中,如s y b a s e 或o r a c l e 等。面 向数据体的查询最终都要通过s q l 语句来与各种数据库进行交互,而查询结果一般都 与具体的报表联系紧密。通过领域工程研究及对m i s 系统各种查询的分析,发现每一个 查询功能都是由查询语句、查询条件、报表和显示界面组成,据此,抽象出动态查询如 下的几大基本要素1 1 4 】: 1 动态s q l 语句对象。实现用户新的查询功能且与数据库性质无关的s q l 语句, 其操作的具体对象就是数据库中的实体表。 2 动态查询条件。用来在具体m i s 系统的动态界面中显示的用户所需要的查询条 件信息,包括查询字段、条件内容、显示组件等,通常存储在数据库中。 8 第二章通用平台概述及相关技术 3 动态报表对象。与动态s q l 语句所查询出的动态数据集( d a t as e t ) 相对应的一 组企业业务报表,通常用于上报或作决策分析使用。 4 动态界面对象。独立于构件系统之外,是动态查询和具体m i s 系统之间的接口 界面,用于把用户的新的查询功能添加到m i s 系统中,是m i s 系统中用户操作动态查 询的功能界面。 根据以上各要素的分析,定义了一个动态查询的构件模型( m q ) ,用元组可作如 下表示:m q = ( m d s q l ,m d c ,m d r ,m i s i ) ,其构成部分定义如下: 1 m d s q l ( 动态s q l 域) 。针对查询需求动态生成、调试和维护动态s q l 语句。 通过与具体的数据库连接后,以可视化的方式由动态查询设计人员管理,包括对查询 s q l 的设计生成、存储和修改。m d c ( 动态查询条件域) 。设定与用户的自定义查询 相对应的一组查询条件,包括查询条件、字段以及显示组件,并存储查询条件及组件的 信息。通过与数据字典的结合使用,可以方便地对各个字段的中文名称进行相应的转换, 查询条件、字段和组件最终在m i s 的动态页面中初始出来。 2 m d c ( 动态查询条件域) 。设定与用户的自定义查询相对应的一组查询条件,包 括查询条件、字段以及显示组件,并存储查询条件及组件的信息。通过与数据字典的结 合使用,可以方便地对各个字段的中文名称进行相应的转换,查询条件、字段和组件最 终在i s 的动态页面中初始出来。 3 m d r ( 动态报表域) 。通过对动态s q l 的查询处理,把最终的数据集( d a t as e t ) 和报表设计器连接起来,对动态生成报表进行相应的处理,包括报表的显示格式、存储 方式及传输方式等内容,最终把具体的报表文件存储在数据库中,用来供本地和远程的 访问。 4 m i s i ( 信息系统接口域) 。在具体的m i s 中作为一个独立的部分,以动态页面 的形式和动态查询构件系统进行通信,把用户的自定义查询功能通过动态菜单或动态按 钮等形式,在m i s 中展示出来,再通过事件响应来调用事先设定好的动态查询界面( 因 为所有的动态查询调用同一个查询界面,因此称为动态查询模板界面) ,最后通过系统 接口把与这项用户自定义查询功能相对应的查询条件、查询字段、动态s q l 语句及相 对应的动态报表文件信息初始到模板界面上,来实现用户定义的动态查询。 现在所研究的构件系统,实际上是一个特殊的系统级构件,它通过系统接口以特定 的方式与具体m i s 系统进行交互,通过内部的一系列控制机制,来达到动态添加查询功 能的目的。从实质上说,动态查询构件以数据库文件和动态查询模板界面相结合的形式 存在,数据库文件中存储了动态查询的属性集合,这些属性通过模板界面及接口体现在 具体的m i s 系统中实现动态查询功能。用户动态查询主要相关信息属性如表2 2 所示。 9 大连交通大学丁:学硕+ 学位论文 动态查询构件系统框架图展示了该构件系统的基本框架结构,见图2 1 ,主要包括 s q l 语句生成器、动态报表设计器以及动态查询界面。s q l 语句生成器是整个构件系统 的核心部分,主要用于生成动态查询的s q l 语句,以可视化的界面与用户交互,使用 户通过简易的操作设置查询及查询条件,并能预览查询结果,保存、修改、删除查询。 主要存储查信息和查询条件信息。动态报表设计器采用f a s t r e p o r t 。对应每一个查询结 果集,由系统自动生成一个简易报表,通过动态报表设计器对生成的报表进行修改设计 并保存报表。该部分存储报表文件的相关信息。 表2 2 动态查询主要相关信息属性表 t a b l e2 2m a i np r o p e r t i e so f d y n a m i cq u e r yr e l e v a n ti n f o r m a t i o n 对象名称属性解释说明 查询编号、动态查询名称、 查询编号能唯一标识一个自定义查询,查 动态s q l 语句s q l 体、m i s 系统的模块编 询名称作为m i s 中动态菜单项的标题, 模块编号用丁标志查询在m i s 系统中所 号等 属的模块 动态奇询编号、查询条件对应 与某一个自定义查询相应的一些查询参 查询条件字段、条件名称、条件显示控 数和查询字段,同时记录下了这些查询条 件在动态页面中所显示的控件类型及位 件类型、显示位置等 置 动态夯询编号、报表文件名 与一组动态s q l 语句相对应的一个动态 动态报表称、报表文件位置、报表样式报表的属性特征,报表位置可以记录本地 ( 纸型、排列方式、字体) 等目录也可以记录远程的f t p 存储目录 动态查询界面是动态查询在m i s 系统中的体现窗口,采用通用的模板界面。实现界 面组件显示和查询、打印功能的通用代码封装在模板界面内,给外界留出查询编号、名 称、查询s q l 语句、查询条件、组件等动态查询的参数接口,模板界面在m i s 系统中 被调用时,通过m i s 系统接口从构件系统数据库获取参数,实现动态查询功能。 2 2 2 查询优化算法的研究 依靠算法来优化查询过程,能够有效地提高系统效率,目前,国内外学者在查询优 化算法的研究方面做了大量的工作,不断地提出、改进算法,其中较为经典的有: 1 渐近筛选算法1 1 5 】 在人机交互过程中,当需要用户根据数据字典输入信息时,在很多情况下,都只需 要从很多可选数据项中按照一定的规则选择一项,或者用户输入检索条件从可选数据项 1 0 第二章通用平台概述及相关技术 勃态查询构件亲统 、 ,、 n 、i s 系统 障二矧 、 , 、 。d d ( j d b c 或、c ?令睦一二爿 一 呤厂数据库连接组、 图2 1 动态查询构件系统框架图 f i g 2 1d y n 锄i co u e r ) ,c o m p o n e n ts y s t e mf h n 虻w o r k 中检索出所需信息在后一种情况下,供选择数据项数据往往采用数据文件的形式存放, 应用程序根据用户的输入信息从数据文件中获取对应的数据信息。由于用户的输入总是 一个渐进的过程,因而获取数据信息也呈现出递进变化的特性,这就是本文提出的渐近 筛选算法的思想所在。算法流程描述如下: 初始化。设定每次向数据库服务器获取数据集的最大记录数n ,将用户的首次 输入作为向数据库服务器获取数据集的初始条件c ; 根据条件c 向数据库服务器获取数据项记录集s ,其记录数记为r ; 如果r 0 ,继续;否则,转9 ; 判断是否有后续条件c ,如果有则继续;否则转9 ; 将后续条件c 同原有条件c 合并,合并后的条件记为c :c - - c + c ; 用条件c 去过滤记录集s ,此时的记录数记为m ; 如果m 0 ,转4 ;否则,继续; 比较r 与n 值的大小,如果r = n ,转2 ;否则,继续; 得到最终的结果数据集。如果该数据集是空集则没有与用户输入条件相一致的 数据项存在;否则用户所需数据即包含于其中; 算法结束 对于该渐进筛选算法,最理想的情况是一次连接和数据提取就能满足用户的数据 需求;最坏的情况就是每次提取的数据集均不能满足用户最终的数据需求,而且在每次 请求提取数据时都有满足条件的n 条数据记录存在,直到用户最后一次输入条件找到 大连交通大学t 学硕十学何论文 ( 或者找不到) 用户所需数据。根据用户需求的特点和存放数据时与检索条件对应字段 值可能的相似性,提取数据时需要以检索条件对应的数据字段为索引对数据集按照非降 序进行排列,以保证与用户输入的检索条件最相近的数据能够出现在数据集s 的前面。 2 基于半连接操作的优化算法 基于半连接操作的优化算法的思想:数据在网络中传输时,以整个关系( 也可以是 片段) 传输,显然是一种冗余的方法。在一个关系传输到另一场地后,并非每个数据都 参与连接操作或都有用。因此,不参与连接的数据或无用的数据不必在网络中来回传输。 基于半连接的优化策略的基本原理就是采用半连接操作,在网络中尽量只传输参与连接 的数据i 蛉1 9 j 。 3 基于关系代数等价变换优化算法 基于关系代数等价变换优化算法的基本原理是:把查询问题转变为关系代数表达 式,分析得到查询树( 语法树) ,进行从全局到片段的变换得到基于片段上的查询树, 然后利用关系代数等价变换规则的优化算法,尽可能先执行选择和投影操作。这样,一 方面可以减少其后操作的操作量,另一方面可以减少操作次数。对该查询树进行优化, 从而达到查询优化的目的。 关系代数等价变换规则的优化算法是:利用关系代数等价变换规则,把查询树中的 连接和合并操作尽可能上移( 向树根方向移动) ,选择和投影操作尽可能下移( 向树叶 方向移动) 到片段的定义处。就是说,尽可能先执行选择和投影操作,后执行连接和合 并操作。经过选择和投影操作不但可以减少其后操作的操作量,而且还可以减少操作次 划删。 2 2 3 基于x m l 文档的研究 x m l 是一种新兴的置标语言,它作为对s g m l 语言标准的一种改良,x m l 具有适 于异构应用间的数据共享、可以进行数据检索和提供多语种支持等优点,并且将s g m l 的丰富功能与h t m l 的易用性结合到了w e b 的应用中,它不是使用固定的标记,而允 许定义数目不限的标记来描述文档中的资料,允许嵌套的信息结构。以一种开放的自我 描述方式定义了数据结构,在描述数据内容的同时能突出对结构的描述,从而体现出数 据之间的关系。这样所组织的数据对于应用程序和用户都是友好且可操作的。 x m l 是一种可根据应用程序以不同的方式来描述各种不同类型文件和数据的逻辑 结构的元语言( m e t al a n g u a g e ) 。这种通用的、弹性的、可扩展的方法,几乎开启了x m l 无可限制的适用范围,从文字处理、电子商务到数据备份储存,x m l 的影响力几乎可 第二章通用平台概述及相关技术 以与s q l 相提并论。这个标准同样的也提供了一个坚定的共同平台,让不同平台或受 系统限制的软件能够彼此相互沟通1 2 卜2 3 1 。 基于x m l 文档的研究的主要工作在于设计出了一个具有三层结构基于x m l 的通 用综合查询模式。此综合查询子系统界面层采用j s p 技术,查询界面设计成_ 种通用的 格式,能构造出用户需要的各种查询条件;中间层采用了j a v a b e a n 技术,起着枢纽作 用,一方面把界面传来的查询条件请求转换成数据库可以识别的语言,另一方面根据界 面的请求,与数据库建立连接,查询出结果,并把结果传给界面层;数据层专门作为存 放企业信息数据的地方。此系统除有着通过性强、无平台无关的特性外,还有着良好的 适应性特点。即使用户的需求发生了改变,将改变的程序最多就是x m l 描述文档,其 它程序都不需更改就能适应用户的新的需求1 2 4 1 。 基于x m l 的通用综合查询模式采用三层体系结构:界面层、中间层、数据层。在 界面层中,描述了如何构造查询条件。对于界面层中构造的查询条件只是一些描述文字 和符号。中间层的功能有两个方面:一方面把界面传过来的文字描述的查询条件进行转 换,转换成标准的s q l 语句;另一方面根据界面层传来的查询请求建立数据库连接, 并根据转换的查询条件s q l 语句在数据库中查询出查询结果,并把查询结果打包再传 回界面层。数据层比较简单,就是一个数据库,专门用来存放用户信息数据的。 2 3 相关技术 在通用平台的发展过程中,一些技术的引入深刻地影响了平台的发展,加深了平台 通用性的研究,使通用平台技术逐步走向成熟、完善。下面重点介绍四个最具影响的技 术:软件复用和软构件技术、代码自动生成技术、程序自动生成技术、界面动态生成技 术。 2 3 1 软件复用和软构件技术 基于软件复用与软件构件技术的软件工程方法是目前软件领域的研究与实践热点, 自2 0 世纪6 0 年代人们认识到软件危机并提出软件工程以来,己经对软件的开发问题进 行了不懈的研究,近年来人们意识到,要提高软件开发效率,提高软件产品质量,降低 开发成本,必须采用工程化的开发方法和工业化的生产技术。这包括技术和管理两方面 的问题:在技术上,采用基于复用的软件生产技术;在管理上,采用多维的工程管理模 式。在这里,我们就通用m i s 领域着重讨论软件复用和软构件技术。 软件复用是指在两次或多次不同的软件开发过程中重复使用相同或相似软件元素 的过程。其出发点是应用系统的开发不再采用一切“从零开始”的模式,而是以已有的 工作为基础,充分利用过去应用系统开发中积累的知识和经验,从而将开发的重点集中 大连交通大学1 = 学硕士学位论文 于应用的特有构成成分。软件复用的概念提出已久,并得到广泛的应用,例如对子程序 的复用,对一般类的复用等等。近年来,人们认识到,要真正解决软件危机,实现软件 的工业化生产是唯一可行的途径,其中构件是核心和基础,复用是手段。复用技术是快 速、可靠、低成本地获取软件的重要方法之一【2 引。 按复用活动是否跨越相似形较少的多个应用领域,软件复用可分为横向和纵向复 用。横向复用指重用不同应用领域的软件元素,而纵向复用是在一类具有较多共性的应 用领域之间进行部件复用。本文中的软件复用指的是纵向复用,针对于通用m i s 领域, 是基于对象的复用构件技术。软构件技术是支持软件复用的核心技术,软构件模型的思 想是创建可重用的构件并将其组合到容器中以得到新的软件系统。软构件模型思想己经 在软件开发中迅速发展,因为它可达到重用、高层开发、通过工具自动开发、简化开发 过程等优点。目前构件发展的趋势主要包括两方面:1 从集中式的小粒度构件向分布式 的大粒度构件发展;2 从用于界面制作的窗口构件向完成逻辑功能的业务构件发展。在 本文论述的“基于软件复用的重构式系统中就是为通用m i s 族提供了复用粒度为框架 级的领域通用构件 2 6 j 。 2 3 2 代码自动生成技术 从目前来看,c o d eg e n e r a t i o n 主要有以下几种表现形式: 1 模板技术 模板一直以来都是c o d eg e n e r a t i o n 的主要实现手段,众多的建模工具和i d e 工具 都使用模板来重用代码,c + + 就是通过使用模板来实现泛型机制的。在a p a c h e 组织的 旗下,有一个名为v e l o c i t y 的项目,它的目的就是提供一种易用的板技术。v e l o c i t y 使 用了一种脚本语言,叫做v e l o c i t yt e m p l a t el a n g u a g e ( v t l ) 。目前,v e l o c i t y 主要用 于生成w e b 站点的动态内容。 2 面向属性编程 英文缩写虽然同样都是a o p ,但面向属性编程( a t t r i b u t e o r i e n tp r o g r a m m i n g ) 和面 向特征编程( a s p e c t o r i e n t e dp r o g r a m m i n g ) 可不是一回事。面向属性编程是通过在代码 中添加元数据( 属性) 的方式来自动产生代码,添加功能。这方面最优秀的软件莫过于 x d o c l e t ,它的具体实现方式是在j a v a 代码中添加特定意义的j a v a d o ct a g ,从而实现自 动产生代码的目的【2 7 j 。 3 m d a m d a 能够将特定的模型转换为特定平台的代码。a n d r a m d a 就是其中的代表者。 在具体实现上,a n d r a m d a 主要采用了模板技术,同时,它也利用x d o c l e t 技术。所以, a n d r a m d a 是在前两项技术的基础上实现c o d eg e n e r a t i o n 鲥2 8 j 。 1 4 第二章通用平台概述及相关技术 2 3 3 程序自动生成技术 1 演绎综合法:该方法是将数学中构造式的证明方法应用于软件程序开发上,将数 学上的每一步证明对应为一个计算步骤,并且给出其形式化描述。该方法在理论上很完 善,但是在实际应用中受到程序规模的影响较大,而且如果软件需求规格说明不能够完 全形式化或者客户本身不确定的话,就很难或无法使用本方法。因此,本方法较适应于 程序规模较小且易于形式化系统。例如:求x ,使得f ( x ,y ) = 0 成立,前提为g ( y ) = o , 则产生的相应代码与证明如下定理等同:对于任意y ,若g ( y ) = 0 成立,则存在x 使得 f ( x

温馨提示

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

评论

0/150

提交评论