(计算机应用技术专业论文)企业管理信息系统软件体系结构研究及应用.pdf_第1页
(计算机应用技术专业论文)企业管理信息系统软件体系结构研究及应用.pdf_第2页
(计算机应用技术专业论文)企业管理信息系统软件体系结构研究及应用.pdf_第3页
(计算机应用技术专业论文)企业管理信息系统软件体系结构研究及应用.pdf_第4页
(计算机应用技术专业论文)企业管理信息系统软件体系结构研究及应用.pdf_第5页
已阅读5页,还剩66页未读 继续免费阅读

(计算机应用技术专业论文)企业管理信息系统软件体系结构研究及应用.pdf.pdf 免费下载

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

文档简介

摘要 论文题目:企业管理信息系统软件体系结构研究及应用 学科专业:计算机应用技术 研究生:陈贞宝 签名:琶:童:i : 指导教师:张璩教授 签名:i 丝 摘要 软件系统体系结构是软件工程领域的一个独立分支与新的研究方向。 企业管理信息系统是复杂大系统。其业务逻辑复杂,规模庞大,开发难度较大。企业 管理信息系统软件体系结构的研究,对于降低软件开发的复杂度,提高软件开发效率,实 现软件复用,加速系统的开发进程,具有重要的理论与实际意义。 作者在学习软件系统体系结构理论的基础上,以某大型钢管制造企业管理信息系统开 发为背景,针对企业管理信息系统的特点,研究了管理信息系统开发的一般流程,提出了 通用企业管理信息系统软件体系结构,在w i n d o w ss e r v e r2 0 0 3 环境下编码实现了相应的 支撑中间件。 作者提出的企业管理信息系统软件体系结构包括通用窗体框架、对象关系映射层、控 制反转层、实体层、d h o 层、商业逻辑层、服务包装器、表示器、窗体代理层、0 0 映射层、 u i 层。其中通用窗体框架提供了丰富的应用开发扩展接口,可大大提高管理信息系统的 开发效率与灵活性。 本课题的研究成果已在宝鸡钢管管理信息系统开发中应用,满足了经销、生产和各业 务部门等多级应用的需求,在公司内部实现了信息集成、信息远程管理、数据分析处理和 业务应用支持等功能,在各级部门实现了基于网络的数据收集与上传,经营管理、基本信 息查询等功能,为加快企业信息化的进程,提高公司的信息化水平起到了积极的促进作用。 关键词:企业管理信息系统;软件体系结构;通用窗体框架:支撑中间件 ! ! ! ! ! ! ! t i t l e :r e s e a r c ha n da p p l l c a t l 0 no ns o f t w a r e a r c h i t e c t u r ef o rm i so fe n t e r p r i s e m a j o r - c o m p u t e ra p p l i c a t i o nt e c h n o l o g y n a m e :z h e n b a oc h e ns i gn a t u 陀:以勘如洲e s u p e r v i s o r - p r o f j i n gz h a n g s i g n a t u r e : a b s t r a c t s o f t w a r ea r c h i t e c t u r ei sa ni n d e p e n d e a tb r a n c ha n da1 2 e wr e s e a r c hd i r e c t i o n i nt h ef i e l do fs o f t w a r ee n g i n e e r i n g e n t e r p r i s em i si sac o m p l e xh u g es y s t e m ,w h i c hh a v ec o m p l e xb u s i n e s sr u l e s 。a n d h u g ea r c h i t e c t u r e ,a n di sd i f f i c u l tt ob ed e v e l o p e d t h er e s e a r c ho ns o f t w a r e a r c h i t e c t u r eo fe n t e r p r i s em i si so fp r o f o u n dt h e o r e t i c a la n dp r a c t i c a ls i g a n i f i c a n c ei nr e d u c i n gc o m p l e x i t yo f s o f t w a r ed e v e l o p m e n t ,i m p r o v i n gt h e e f f i c i e n c yi ns o f t w a r ed e v e l o p m e n t ,a c h i e v i n g s o f t w a r er e u s ea n ds p e e d i n gu pt h ep r o c e s so fs y s t e md e v e l o p m e n t o nt h eb a s i so fs t u d y i n gt h e o r i e so fs o f t w a r ea r c h i t e c t u r e ,w i t ht h eb a c k g r o u n d o fd e v e l o p i n ge n t e r p r i s em i sf o ral a r g ee n t e r p r i s eo ns t e e lt u b em a n u f a c t u r e , a i ma tt h ec h a r a c t e r i s s t i co fe n t e r p r i s em i s ,t h eg e r e r a lp r o c e s so fs o f t w a r e d e v e l o p m e n ti si n v e s t i g a t e da n dc o m m o ns o f t w a r ea r c h i t e c t u r eo fe n t e r p r i s em i s i sp u tf o r w a r d a n dt h es u r p o r t e dm i d d l e w a r ei sc o d e du n d e rw i n d o w ss e r v e r2 0 0 3 t h ec o o ns o f t w a r ea r c h i t e c t u r eo fe n t e r p r i s em t s ,w h i c hi sp u tf o r w a r db y t h ea u t h o r ,i n c l u d e sc o m m o nf o r mf r a m e w o r k ,o b j e c to r i e n t e dm a p p e rl a y e r ,e n t i t i e s l a y e r ,d a t aa c c e s so b j e c tl a y e r ,i n v e r s i o n o fc o n t r o l l a y e r ,b u s i n e s sl o g i c l a y e r 。s e r v i c ew r a p p e r ,p r e s e n t e rl a y e r ,f o r mb r o k e rl a y e r ,o b j e c t o b j e c tm a p p e r l a y e r ,u s e r i n t e r f a c el a y e r t h ec o m m o nf o r mf r a m e w o r kp r o v i d e s p l e n t yo f e x t e n s i b l ei n t e r f a c e s ,a n dg r e a t l yi m p r o v e st h ee f f i c i e n c ya n df l e x i b i1i t yi n s o f t w a r ed e v e l o p m e n t t h ec o n m o ns o f t w a r ea r c h i t e c t u r eo fe n t e r p r i s em i sh a sb e e na p p l i e dt ot h e d e v e l o p m e n to fm i sf o rb a o j io i ls t e e lt u b el t d ,a n dt h es o f t w a r em e e tm u l t i c l a s s r e q u i r e m e n t sw h i c hc o m ef r o md i s t r i b u t i o n ,m a n u f a c t u r ea n dp o r t f o l i od e p a r t m e n t s a n ds oo n t h ef u n c t i o n sw h i c hf u l f i l l e dw i t h i nt h ec o r p o r a t i o nb yt h es y s t e m i n c l u d ei n f o r m a t i o ni n t e g r a t i o n ,i n f o r m a t i o nr e m o t em a n a g e m e n t ,d a t aa n a l y s i sa n d i i a b s tr a c t m a n i p u l a t i o n ,b u s i n e s sr u l e sa p p l i c a t i o ns u p p o r ta n ds oo n ,a n df u l f i l l e dw i t h i n a l lt h ed e p a r t m e n t b yt h es y s t e mi n c l u d ed a t ac o l l e c t i o na n du p l o a db a s e do n n e t w o r k ,o p e r a t i o na n dm a n a g e m e n t ,b a s i ci n f o r m a t i o nq u e r ya n ds oo n a l lt h ew o r k a b o v eb r o u g h ta c t i v ep r o m o t i o n si n t oa c c e l e r a t i n gi n f o r m a z i t a t i o np r o c e s so f e n t e r p r i s e ,a n di m p r o v et h ei n f o r m a z i t a t i o nl e v e lo ft h ec o r p o r a t i o n k e yw o r d s :e n t e r p r i s em i s ;s o f t w a r ea r c h i t e c t u r e ;c o n n o nf o r mf r a m e w o r k ;s u r p o r t e d m i d d l e w a r e l l i 独创性声明 秉承祖国优良道德传统和学校的严谨学风郑重申明:本人所呈交的学位论文是我个 人在导师指导下进行的研究工作及取得的成果。尽我所知,除特别加以标注和致谢的地 方外,论文中不包含其他人的研究成果。与我一同工作的同志对本文所论述的工作和成 果的任何贡献均已在论文中作了明确的说明并已致谢。 本论文及其相关资料若有不实之处,由本人承担一切相关责任 论文作者签名:l :墨塑置! 沙:) 年弓月即日 n 扫l , t 学位论文使用授权声明 ,j pv ,1 本人i 翅,l 芏叠:在导师的指导下创作完成毕业论文。本人已通过论文的答辩,并 已经在西安理工大学申请博士硕士学位。本人作为学位论文著作权拥有者,同意授权 西安理工大学拥有学位论文的部分使用权,即:1 ) 已获学位的研究生按学校规定提交 印刷版和电子版学位论文,学校可以采用影印、缩印或其他复制手段保存研究生上交的 学位论文,可以将学位论文的全部或部分内容编入有关数据库进行检索;2 ) 为教学和 科研目的,学校可以将公开的学位沦文或解密后的学位论文作为资料在图书馆、资料窒 等场所或在校园网上供校内师生阅读、浏览。 本人学位论文全部或部分内容的公布( 包括刊登) 授权西安理工大学研究生部办 理。 ( 保密的学位论文在解密后,适用本授权说明) 论文作者签名:越导师签名 7 = ( 群 砌年弓月加日 绪论 1 绪论 1 1 课题背景及意义 管理信息系统( m a n a g e m e n ti n f o r m a t i o ns y s t e m ,m i s ) 是一个由人、计算机等组成 的能进行信息收集、传递、存储、加工、维护和使用的系统。经过2 0 多年的发展,m i s 技术已比较成熟。各类m i s 已在我国普遍应用,并在企业信息化进程中发挥着重要作用。 但是,不少m i s 的实施却未获成功,其原因可归纳为以下两类: ( 1 ) 与管理相关的原因,主要有:1 ) 企业领导不够重视,没有在人员、资金等方面 给予支持。2 ) 企业员工对m i s 实施存在抵触,有意阻止需求人员了解系统需求。3 ) 企业 一般只愿意投资硬件采购,不愿投资软件开发。4 ) 开发商只注重尽快完成系统开发,而 没有投入足够的精力来进行规划、分析和设计,导致程序不能满足应用需求。 ( 2 ) 与开发相关的原因,主要有:1 ) m i s 业务逻辑复杂,系统庞大,开发难度较大。 2 ) 复用程度低,存在重复开发。3 ) 只重开发,不重维护。忽视软件工程最后也是最重要 的维护环节。4 ) 系统需求经常发生变更。需求的变化直接导致需要修改现有的成果,甚 至重新设计。 对第一类原因,可以通过提高管理水平,增加对m i s 的重视程度及改变人的观念来减 少甚至避免其引发的后果;对第二类原因,除了要重视软件开发和维护外,更重要的是从 软件开发方法上寻求改进,这正是我们研究软件体系结构的原因。 软件体系结构是软件系统的高层概括,是软件系统成功的关键因素,在软件开发和维 护中发挥重要作用。软件体系结构具有以下特点:( 1 ) 是对系统整体结构的描述,使开发 人员能从整体上理解、把握系统,并能够在开发早期对系统的一些总体特性进行分析;( 2 ) 支持层次的复用,同时它本身也可作为较高级别、大粒度的方案进行复用;( 3 ) 勾画出软 件系统演化的趋势和方向,维护人员可以在分析理解软件系统变更情况的基础上估算系统 维护的代价,在体系结构的全局指导下正确的对系统进行维护、扩充和升级;( 4 ) 管理人 员可以依据开发活动的发展趋势合理分配所需的资源。软件体系结构的这些特点正好可以 用来改进m i s 开发过程,提高m i s 开发的成功率。 较为流行的m i s 体系结构均采用分层设计,将不同的功能抽象成不同的层次,如两层 或三层体系结构等。然而,这些体系结构的复用性不高,可伸缩性不强,并不能很好解决 由软件系统的开发、维护和扩展带来的问题。为此,本课题将以某大型钢管制造企业m i s 开发为背景,研究和设计复用程度更高、伸缩性和扩展性更强的m i s 软件体系结构。 1 。2 国内外发展动态 软件体系结构概念由e w d i j k s t r a1 9 6 8 年提出,当时他用分层的体系结构设计了t h e 西安理工大学硕士学位论文 操作系统“1 。而对软件体系结构的系统研究则始于2 0 世纪9 0 年代。当时的国际软件工程 界学者认识到软件体系结构的重要性,从而对各种体系结构进行了系统整理,最终形成了 一套完整的方法论。目前软件系统体系结构研究已成为软件工程领域一个新热点。 国外学者对软件体系结构的典型定义如下: 定义1 :( d e p e r r y a l w o l f ,1 9 9 2 ) 软件体系结构由一组具有特定形式的部 件( c o m p o n e n t ) 构成,部件分为加工部件、数据部件和连接部件三类。 定义2 :( d g a r l a n m s h a w ,1 9 9 3 ) 软件体系结构是软件设计过程中的一个层次, 在计算过程中的算法设计和数据结构之上,处理总体系统结构设计和描述方面的一些问 题。包括总体组织与全局控制结构、通讯协议、同步、数据存取、设计元素的功能分配, 物理分布,设计元素的复合,设计方案的选择、评估和实现等。 定义3 :( h a y e s 2 r o t h ,1 9 9 4 ) 软件体系结构是由功能部件组成的系统的抽象规范, 对部件的行为、接口和部件之间的连接进行描述。 定义4 :( s o n i ,n o r d & h o f m e i s t e r ,1 9 9 5 ) 软件体系结构至少包含:概念体系结构, 描述系统的主要部件及它们之间的关系;模块体系结构,包括功能分解和分层;执行体系 结构,描述系统的动态结构;代码体系结构,描述在开发环境中源代码二迸制码和各种库 如何组织。 软件体系结构风格指不同系统所拥有的共同结构组织模式和语义特性,即一种体系结 构风格决定了部件、连接件和一组如何将它们结合在一起的约束限制,包括拓扑限制、执 行语义限制“1 。目前,常见的软件体系结构风格有:管道一过滤器、面向对象组织、基于 事件的隐式调用和分层系统等。 ( 1 ) 管道一过滤器 管道一过滤器软件体系风格由“过滤器”部件和“管道”连接件组成。“管道”具有传 输数据的作用,“过滤器”具有数据计算的作用。这种风格具有以下特点: 1 ) 过滤器的设计是独立的。 2 ) 任何两个过滤器只要能保持它们之间传输数据的一致,均可进行连接。 3 ) 允许新的过滤器添加到现有系统上,而老的过滤器也可被经过改进的过滤器所替 代,因而系统易于维护和不断完善。 4 ) 可以分析软件的某些特性,如吞吐量、死锁检测等。 5 ) 支持并发执行。 ( 2 ) 面向对象组织 数据表示及相关的基本操作被封装在对象中,其部件就是一种称之为“管理器 ( m a n a g e r ) ”的对象。它负责保持资源的完整性。对象既有模块的封装特性,又有进程的 动态信息传递特性。 ( 3 ) 基于事件的隐式调用 该体系风格与面向对象类似。不同的是,在这种风格中,对象问的交互是基于事件订 绪论 阅方式来实现的。对象a 将需要交互的点发布成一个事件,对象b 向对象a 订阅该事件, 当a 触发事件后,会调用b 订阅的响应处理。这种风格有利于部件重用。因为部件之间的 交互是通过事件的广播来实现的,所以只需简单地订阅几个它感兴趣的事件,即可将部件 添加到系统中。 ( 4 ) 分层系统 一个分层系统就是把整个系统组织成层次结构,每一层都提供若干服务给上一层使 用,并且它也使用其下一层所提供的服务,其典型代表是网络7 层通讯协议。 分层系统结构非常清晰。由于是分层设计,因此对系统进行改动时,只需改动相应的 层次,因而便于系统维护。另外,由于每一层都定义了规范及与相邻层之间的接口,因此 可用不同方法实现。但并非所有系统都能以分层方式实现,对有些系统要精确地划分其抽 象层次往往十分困难。 目前在软件体系结构方面的主要发展方向是0 1 : ( i ) 体系结构建模的研究; ( 2 ) 体系结构描述、规范、设计工具和环境等研究; ( 3 ) 体系结构设计研究:包括体系结构设计方法、体系结构风格和体系结构设计空 间等内容; ( 4 ) 体系结构分析与验证:研究如何将软件的非功能特性转化为体系结构的需求, 如何分析体系结构满足期望的需求的属性,对体系结构的语法、语义、类型失配等进行检 查与验证的研究; ( 5 ) 体系结构演化与复用研究:研究产品线中软件体系结构演进的理论与方法,从 已有文档、系统设计和代码中逆向提取软件体系结构、体系结构复用等: ( 6 ) 动态体系结构研究:研究因特殊需要,而必须在连续运营情况下的软件系统的 体系结构变化与支撑平台; ( 7 ) 基于体系结构的软件开发:研究引入体系结构后的软件开发过程、基于体系结 构开发与中间技术集成、基于体系结构的程序框架自动生成技术等。 目前体系结构发展迅速,在2 0 0 0 年i f i p 世界计算机大会主题演讲中,p e r r y 认为体 系结构最为重要的3 个研究方向是:体系结构风格、体系结构连接件和动态体系结构。专 家预测,软件体系结构在未来5 一1 0 年内围绕5 个方向展开:体系结构创建与选择、体系 结构标识、体系结构分析、基于体系结构开发和体系结构演化“1 。软件体系结构的发展吸 引着越来越多的研究人员和开发人员。国内外许多高校、研究机构设立了专门的软件体系 结构研究课题组。如美国c a r n e g i em e l l o n 大学、英国的m a n c h e s t e r 大学、m i c r o s o f t 、 i b m 等,都有软件体系结构研究组或研究所。国内高校中,北京大学、清华大学和上海交 通大学等,也在积极开展此方面的研究。北京大学开发的p k u a s 系统采用了基于运行时软 件体系结构的软件维护与演化方法。南京大学为了让应用系统能够灵活动态地适应环境和 用户需求的变化,提出了动态协同体系结构。 西安理工大学硕士学位论文 1 3 主要研究开发内容 4 在本课题实施过程中,作者主要完成的理论研究与软件开发工作如下: ( 1 ) 企业管理信息系统软件体系结构研究; ( 2 ) 通用窗体框架的研究与开发; ( 3 ) 企业管理信息系统软件体系结构支撑中闻件研究与开发; ( 4 ) 钢管管理信息系统控制中心开发; ( 5 ) 钢管防腐信息系统开发。 企业m i s 体系结构 2 企业m i s 软件体系结构 企业m i s 较为流行的体系结构均采用分层设计,如两层或三层体系结构等。然而,多 年的实践证明:这些体系结构的复用性不高,伸缩性不强,并不能很好解决软件系统的开 发、维护和扩展问题。因此,本文以某大型钢管制造企业m i s 开发为背景提出了2 种通用 的分层m i s 体系机构:轻量级m i s 体系结构与企业级m i s 体系结构。 轻量级m i s 体系结构适用于业务逻辑比较简单、规模较小并采用面向过程方法开发的 软件系统。企业级m i s 体系结构适用于业务逻辑复杂、规模较大并采用面向对象方法开发 的软件系统。 2 1m i $ 体系结构概述 m i s 是一个人机交互的系统,适于采用分层体系结构设计。起初,人们提出了两层体 系结构,服务器大多情况下仅仅由用户存储数据,客户端负责访问数据,完成接收用户输 入、执行业务操作并向用户显示结果。这种结构对软件开发、维护和部署不利,目前已很 少被采用。针对两层体系结构的缺陷,业界提出了三层体系结构,将m i s 划分为表示层、 业务逻辑层和数据访问层。开发人员可以将业务逻辑层与用户界面分开进行独立开发与部 署,通过数据访问层来访问数据库。随着m i s 规模的日益增大、开发曰趋复杂,人们在三 层体系结构的基础上,进一步分解m i s 功能,划分出更多的层次,以更好的满足m i s 开发 需求,如三层服务体系结构、四层体系结构等。这样的分层体系结构统称为n 层体系结构。 下面介绍几种典型的n 层体系结构。 2 1 1 两层体系结构 两层体系结构,也称客户端服务器( c s ) 体系结构。基于c s 的m i s 由用户接口层 与业务逻辑层组成。客户端一般部署用户接口层,服务器部署数据库,业务逻辑层将视具 体情况部署在客户端或者服务器。 这种体系结构的优点是:结构简单,容易实现,较适用于业务逻辑简单、规模较小的 软件系统。其缺点是:由于系统开发仅分为用户接口层和业务逻辑层,所以用户接口层通 常混合页面逻辑和业务逻辑;并且业务逻辑层庞大且复杂。软件的维护、升级、部署及数 据库迁移都需对业务逻辑层进行大量的维护,软件的复用度很低。 2 1 2 三层及三层服务体系结构 三层体系结构将m i s 分为页面表示层、业务逻辑层和数据访问层。页面表示层为客户 端提供应用程序的访问界面,一般包括用户界面和事件处理两个部分。业务逻辑层包含 西安理工大学硕士学位论文 m i s 各种业务规则和逻辑的实现,是m i s 开发的核心。在软件工程实践中,该层次灵活性 最大、最易变更、功能扩充和修改往往导致大幅改变。数据访问层为页面表示层和业务逻 辑层提供数据服务,屏蔽了数据库的差异,提供统一的数据库访问接口。三层架构的业务 逻辑层也称为中间层,执行中间层任务的计算机称为应用服务器。 随着w e b 服务的发展和应用,为了便于软件系统的集成,我们将一些业务逻辑发布成 w e b 服务,供其它m i s 访问。因此在三层架构的基础上增加一层服务层,构成三层服务体 系结构。其服务层在用户接口层和业务逻辑层之间,用于将需要对其它系统开放的业务逻 辑发布成w e b 服务。 三层架构及三层服务架构的优点如下: ( 1 ) 体系结构清晰,更适合m i s 的开发; ( 2 ) 提高了软件的复用度,降低了业务逻辑层开发的复杂度; ( 3 ) 增强了软件系统的伸缩性、扩展性和可维护性;当业务逻辑层升级时,页面表 示层可能不需要变化;当数据访问层升级或数据库迁移后,可能不需要更改复杂的逻辑层; ( 4 ) 降低了软件系统测试的复杂度,使测试人员可单独对各个层进行独立测试,再 进行集成测试。 三层结构及三层服务架构的缺点如下: ( 1 ) 对业务逻辑层的支持不够,系统逻辑层的开发负担依然很重; ( 2 ) 复用程度不高,仅数据访问层可抽取成一个可重用的构件,软件开发中代码重 复程度依然较高; ( 3 ) 对于简单系统来说,会带来开发和维护的负担,而对于复杂的系统,它又显得 太粗糙; 6 ( 4 ) 页面逻辑与业务逻辑混杂在一起。 页面表示层 韭务逻辑层 敏据访问层 曩j 攀誓誊攀簿辫篱 衰穰 箧h 争j 、 , 数据游同层 黪l 麓黪i z 多每澎? 一譬。j 划 曩i 万i 夏纛西磊磊磊虿羽f 曩曩曩曩j l 夏忑夏嘉夏墨_ _ _ :- 罩习 1 。毒毒t ,j j 毒零垮零麓譬。j 冀j 黪置l卜。 0 。o 謦律萋巷j 。0 , 二。二。l b 喜萄矗丽一。兰画赢萑翕蒲。一 图2 - 1 三层及三层服务体系结构 f i g 2 - 1t h r e e l a y e r e da n dt h r e e l a y e r e ds e r v i c e sa r c h i t e c t u r e 企业m i s 体系结构 2 1 3 其它n 层体系结构的不足 其它的n 层体系结构一般都是在三层体系结构的基础之上,通过对m i s 层次的进一步 分解设计而来,如四层及四层服务体系结构。四层体系结构是在三层体系结构之上增加一 个业务外观层。它位于用户接口层和业务逻辑层之间,用于向用户界面提供统一访问接口。 用户界面通过业务外观层来访问业务逻辑层和数据访问层。四层服务体系结构是在四层体 系结构之上添加一个服务层,用于将业务逻辑发布成共享的w e b 服务。 上述n 层体系结构存在以下不足之处: ( 1 ) 对于轻量级m i s ,这些体系结构不够实用。轻量级m i s ,开发人员大部分的工作 是设计和维护大量相似的表单处理程序,依据目前n 层体系结构设计轻量级m i s ,维护程 序与体系结构一致的代价太高。此外,目前的n 层体系结构对于此类m i s 的复用程度低, 例如表单处理程序,它是可以通过将表单处理差异的部分转移到配置文件实现复用。 ( 2 ) 对于企业级m i s ,这些体系结构又显得粗糙,不利于系统理解、开发和维护。复 杂的m i s 一般都采用面向对象方法来开发,其交互过程较复杂。 ( 3 ) 复用程度不高。m i s 总控模块是一个与业务逻辑基本无关的模块。它只提供各个 业务模块的入口,实现业务模块权限的检查和管理。构建m i s 时,通常先设计一个主界面 提供总控功能,然后由开发人员在该页面添加业务模块的访问代码,以实现业务模块集成。 这对系统的开发、维护带来极大困难,同时不利于团队合作。此外,这样的总控模块是无 法复用的,每次重新设计一个m i s 时都必须重新开发一个总控模块。此外,服务层也是不 能复用的一个层次。 ( 4 ) 层与层之间耦合度较大。根据现有n 层体系结构设计的m i s ,其层间的依赖程度 大,无法实现层的热插拔,这将使系统维护和扩展变得困难。实际上,我们可通过面向接 口编程和将层间的依赖关系转移到配置文件来实现热插拔,从而提高系统的可维护性和可 扩展性。 ( 5 ) 页面逻辑与业务逻辑代码无法分离。基于现有n 层体系结构设计的m i s ,用户接 口层既需要实现页面逻辑,又需要执行业务逻辑预处理和调用业务逻辑操作。随着页面逻 辑处理变得越来越复杂,用户接口的开发和维护也将越来越困难。 作者在研究现有n 层体系结构的基础上,对其进行改进,提出更适合于m i s 的体系结 构,即轻量级m i s 体系结构与企业级m i s 体系结构。 2 2 轻量级m i s 软件体系结构 我们提出的轻量级m i s 体系结构如图2 2 所示。它基于三层体系结构,较适用于应用 面向过程开发技术的轻量级m i s 。这个体系结构分为:通用窗体框架、控件关系映射层、 商业逻辑层、服务包装器和u i 层。它与一般三层体系结构的不同之处在于:( 1 ) 增加了 通用窗体框架层,实现总控模块功能:( 2 ) 将数据访问层替换成功能更加强大、可依赖于 西安理工大学硕士学位论文 配置文件的控件关系映射层;( 3 ) 将服务层替换为服务包装器层。u i 层及商业逻辑层与 一般三层体系结构的功能一样。但是,其商业逻辑层的实现更容易,对于常见表单的处理 操作,仅为一个可自动生成的宰c r m x m l 配置文件。 图2 - 2 轻量级m i s 体系结构示意图 f i g 2 - 2l i g h tm i sa r c h i t e c t u r e 下面详细介绍图2 3 中各组成层次。 ( 1 ) 通用窗体框架 通用窗体框架是实现软件系统总控功能的一个通用中间件。它可以通过配置文件将开 发人员设计的业务模块集成为一个整体的软件系统,集成权限检测、业务模块可插拔配置 以及业务界面的管理。此外,它为实际应用提供了丰富的扩展接口。这些扩展接口可在特 殊的应用中扩展现有功能,如自定义的权限检测、窗体管理、菜单显示等。 ( 2 ) 控件关系映射层 控件关系映射层也是一个中间件。它不仅集成了数据访问层的功能,还可利用定义了 u i 界面的控件与关系数据库字段的映射关系的 c r m x m l 配置文件来封装应用程序“输入 一处理一输出”的整个过程。控件关系映射中间件定义了丰富的扩展接口,用户可以根据需 要自己定义映射处理程序,并且提供配置文件的可视化管理工具,使开发人员根据数据库 架构自动生成映射配置文件及可视化管理配置文件。与一般三层体系结构相比,控件关系 映射层的功能更强大、伸缩性、可维护性和可扩展性更高。 ( 3 ) 服务包装器 现有的三层服务体系结构,在商业逻辑层之上添加了一层服务层,虽然方便了同其它 m i s 的交互与集成,但也增加了开发和维护的代价。服务包装器是一个可复用的中间件, 能够通过配置文件将任何业务逻辑类发布成w e b 服务,使我们可以在不增加开发和维护代 价的情况下,实现服务层的功能。 ( 4 ) 商业逻辑层 本体系结构的商业逻辑层比一般三层体系结构的商业逻辑层规模更小。对于简单表单 8 企业m i s 体系结构 处理,它仅仅是利用控件关系映射中间件提供的可视化配置工具生成一个配置文件和对控 件关系映射a p i 的调用。 ( 5 ) u i 层 该层与一般三层体系结构的u i 层一样,封装了实际的用户接口。 在轻量级软件体系结构中,商业逻辑层和u i 层需要针对企业管理信息系统特定的业 务需求由开发人员自行设计与实现;通用窗体框架、控件关系映射和服务包装器是能够复 用的层次,由作者研究和设计。 总之,轻量级w i s 体系结构提供了3 个可复用的中间件,非常适合轻量级m i s 的开发、 设计和维护,可降低m i s 开发和实施的复杂度,缩短系统开发周期,减少软件开发成本。 2 3 企业级m i s 体系结构 我们提出的企业级m i s 体系结构如图2 3 所示。它是在现有n 层体系结构基础之上, 针对m i s 的特点改进的架构,可支持基于面向对象技术的企业级m i s 开发,进一步提高软 件系统的复用程度、易维护性等。此体系结构的组成包括:通用窗体框架、对象关系映射 层、控制反转层、实体层、d a o 层、商业逻辑层、服务包装器、表示器、0 0 映射层、u i 层。与一般三层体系结构相比,它将数据访问层替换成o r m 层、实体层和d a o 层,增加了 通用窗体框架层、i o c 层、服务包装器、表示器和o o 映射层。 图2 - 3 企业级m i s 体系结构示意图 f i g 2 - 3e n t e r p r i s em i sa r c h i t e c t u r e 通用窗体框架层和服务包装器层的作用与它们在轻量级m i s 体系结构提供的作用类 似。其它层次相比一般三层体系结构及轻量级m i s 体系结构都有变化。 ( 1 ) o r m 层、实体层与d a o 层 实体层是业务逻辑涉及的业务实体的抽象层次,如业务逻辑涉及用户信息处理,则在 西安理工大学硕士学位论文 实体层会有一个用户实体与用户信息相对应。通常实体层的每一个实体类都会与关系数库 中的关系相对应,因此,实体类也被称为持久类。 o r m ( o b j e c tr e l a t i o nm a p p e r ) ,即对象关系映射,是对象与关系记录的映射技术。 通过o r m 技术,我们可以摆脱依赖s q l 语句操作关系数据库的方式,使开发人员在不了解 数据库的情况下完全采用面向对象技术进行程序设计。h i b e r n a t e 是一个实现o r m 技术的 开源中间件。在现有o n 中间件的支持下,我们只需调用这些中间件的a p i ,便可轻松实 现业务实体的插入、更新、删除和查找操作,提高软件的开发效率,同时也更符合面向对 象开发原则。 d a o ( d a t aa c c e s so b j e c t ) 层即数据访问对象层,也称为实体操作层。它提供了业 务实体的四个操作即:c 一创建( c r e a t e ) 、r 读取( r e a d ) 、u 更新( u p d a t e ) 和d _ 一删除( d e l e t e ) 。d a o 层不仅能够对业务逻辑层屏蔽o n 层的信息,同时能更好的 遵守面向对象最小功能设计原则。d a o 层简化了业务逻辑功能的实现。 利用o r m 层、实体层和d a o 层代替数据访问层,还有另一优点,即实体层和d a o 层可 以利用可视化配置工具来生成。 ( 2 ) 1 0 c 层 i o c ( i n v e r s i o no fc o n t r 0 1 ) 层即控制反转层。一般三层体系结构中,层之间的耦 合度较大,体系结构的各个层不能实现插拔,不利于系统的维护和扩展。i o c 层目的是间 接实现层间解耦。i o c 能够将对象间的依赖关系在配置文件中配置,在运行时加载依赖的 对象,实现将类、对象和服务组合成应用程序。 ( 3 ) 0 0 映射层 0 0 映射层提供了对象间的映射关系。它利用a t t r i b u t e 声明映射信息实现对象之间的 转换。用户界面本身就是一个对象,因此,利用0 0 映射技术,可以方便的从用户界面获 取用户输入的信息,将其转换成一个对象;相反,也可以方便的将一个结果对象转换成用 户界面的输出。这样大大减少代码量,提高软件开发效率,更好的满足面向对象开发方法。 该层的功能由作者设计的0 0 映射中间件提供。 ( 4 ) 商业逻辑层 商业逻辑层封装了实际的业务规则。该层的输入参数是0 0 映射层提供的对象( 即用 户输入的信息) ,通过i o c 层获取依赖的实体操作类来操作关系数据库。因此,在该体系 结构中,商业逻辑层的功能被进一步分解,其规模变得更小,开发不仅变得简单容易,而 且更具有艺术性。 ( 5 ) u i 层和表示器层 表示器层的设计源自m o d e l v i e w p r e s e n t e r 设计模式。它基于事件订阅方式,将u i 逻辑和业务逻辑相分离。在企业级m i s 体系结构中,通过增加表示器层,将u i 层的功能 进一步分解,使u i 层仅执行页面逻辑的处理,对需要执行业务逻辑操作的功能点定义一 个事件,由表示器对该事件进行订阅。例如,当用户点击用户界面触发页面事件时,页面 1 0 企业m i s 体系结构 逻辑执行过程中,会触发执行业务逻辑操作事件,此时表示器的事件处理函数便会调用商 业逻辑或服务包装器层来执行业务操作,并将操作结果返回给页面,再由页面逻辑显示操 作结果。 在企业级m i s 软件体系结构中,u i 层、表示器层和商业逻辑层需要针对企业m i s 特定 的业务需求由开发人员自行设计与实现。通用窗体框架、对象关系映射、控制反转、服务 包装器和0 0 映射是能够复用的层次。在该体系结构中,对象关系映射层由开源中间件 n h i b e r n a t e 提供支持,控制反转层由开源中间件s p r i n g n e t 提供支持,其它层次由作者 研究和开发,d a o 层和实体层可由o r m 可视化工具自动生成。 2 4 综合体系结构 轻量级m i s 体系结构较适合利用面向过程开发的轻量级m i s ,企业级m i s 体系结构较 适合利用面向对象技术开发的企业级m i s 。在实际应用中,也可以将这两个体系结构进行 综合或裁减,图2 - 4 是这两个体系结构综合的示意图。 图2 - 4 两种体系结构的综合示意图 f i g 2 - 4t h ei n t e g r a t e da r c h i t e c t u r eo ft h et w oa r c h i t e c t u r e sa sm e n t i o n e da b o v e 作者设计的轻量级和企业级的m i s 体系结构,需要6 个中间件提供支持。这6 个中间 件按功能可以分为总控中间件和支撑中间件。 ( 1 ) 总控中间件 通用窗体框架在这两个体系结构中起总控作用。它平g 用配置文件对业务模块进行插件 式管理,提供丰富的功能和扩展接口。 ( 2 ) 支撑中间件 控件关系映射、服务包装器、对象关系映射、控制反转、o o 映射在轻量级和企业级 管理信息系统软件中起支撑作用。开发人员可以利用这些中间件快速地构建业务模块。 通用窗体框架 3 通用窗体框架 3 1 概述 3 1 1 通用窗体框架概念 大型m i s 一般有一个主界面,可根据当前使用的用户显示特定的菜单。登录 的用户点击菜单时,可获取用户需要的窗体进行业务操作。在开发过程中,开发 人员需要为系统创建一个主窗体,然后添加菜单等控件,在菜单的响应事件中执 行操作,该操作可能是退出系统或者显示某个窗体。 可见,上述主窗体需要由负责开发不同模块的编程人员来共同维护。然而, 由开发人员同时对主界面进行操作,以达到将不同人员开发的模块集成起来的做 法将会带来危险隐患,因为随着系统复杂性的逐步增加和规模的不断扩大,主界 面将变得难以维护。 通用窗体框架( c o m m o nf o r mf r a m e w o r k ,c f f ) 可解决上述集成难题。它能 够利用配置文件将开发人员开发的模块组装成一个整体系统。该框架的使用可使 开发人员从繁重复杂的系统维护中解脱出来,专注于业务模块开发。当所有模块 开发完毕,只需将配置文件集成起来整合成一个完整的系统。 在作者提出的轻量级和企业级m i s 软件体系结构中,通用窗体框起着总控的 作用。 3 1 2 通用窗体框架介绍 c f f 是一个基于配置文件的可扩展的二次开发平台。开发人员只需通过简单 配置即可将自定义的窗体装载、管理和显示于框架上。同时它还为开发入员定义 一系列的可扩展接口,以满足实际应用的多样性。一个通用的窗体框架将为用户 程序提供一个主界面及支撑组件,图3 一l 是该框架的主界面。 西安理工大学硕士学位论文 图3 1 通用窗体框架主界面 f i g 3 - 1t h em a i n f o r mo fc o m m o nf o r mf r a m e w o r k c f f 的主界面由5 部分组成:( 1 ) 菜单栏目,用于显示用户配置的菜单。该 框架支持无限制级菜单。( 2 ) 工具栏目,用于显示用户配置的工具栏,提供快捷 操作。( 3 ) 导航条栏耳,用于显示用户配置的导航菜单。( 4 ) 显示区栏目,用于 显示用户自定义的窗体。( 5 ) 窗体名称显示区栏目,用于指示当前由框架加载、 管理的窗体。图3 - 2 是利用该框架开发的主界面的一个显示效果图。 图3 - 2 显示效果图 f i g 3 - 2o n ee x a m p l es t y l eo fm a i nf o r m c f f 提供的功能如下: ( 1 ) 提供菜单、工具栏和导航条的灵活配置功能。其配置文件是一个x m l 文件,可以作为应用程序的嵌入资源。 ( 2 ) 提供默认的菜单、工具栏和导航条的响应处理程序,同时为开发人员 定义了可扩展的接口。 ( 3 ) 提供框架消息订阅和目志功能。由于框架对开发人员来说是一个黑盒 通用窗体框架 子,因此必须提供系统提示信息和日志记录功能,同时使开发人员能够通过事件 订阅方式接收系统消息,并进行相应处理。 ( 4 ) 提供可配置的界面风格功能,使用户仅需通过配置文件就可达到变换 主界面样式的能力。 ( 5 ) 提供默认的授权功能,并使其具备可扩展性。 ( 6 ) 提供系统框架异步处理功能。由于框架基于配置文件,因此显示主界 面时,需装载配置文件、初始化相关类、初始化菜单等,此过程比较费时。为了 能够使系统快速响应用户的操作,框架必须具备异步处理能力,从而使开发人员 能通过多线程来提高框架初始化的速度以缩短响应时间。 c f f 技术具有以下优点: ( 1 ) 框架可重用、可扩展、易配置; ( 2 ) 框架提供对用户程序的统一管理,因此,应用程序将具有更高的安全 性、健壮性和可管理性; ( 3 ) 用户

温馨提示

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

评论

0/150

提交评论