(计算机应用技术专业论文)分布式应用系统软件体系结构的研究与实践.pdf_第1页
(计算机应用技术专业论文)分布式应用系统软件体系结构的研究与实践.pdf_第2页
(计算机应用技术专业论文)分布式应用系统软件体系结构的研究与实践.pdf_第3页
(计算机应用技术专业论文)分布式应用系统软件体系结构的研究与实践.pdf_第4页
(计算机应用技术专业论文)分布式应用系统软件体系结构的研究与实践.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

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

文档简介

摘要 摘要 随着网络技术和企业信息化的发展,分布式应用系统得到了越来越广泛的应 用。如今,企业信息资源增长迅猛,业务需求变化频繁,我们的应用系统丌发也 随之变得越来越复杂。这对应用系统的可扩展性,可靠性,灵活性提出新的挑战。 这要求我们站在应用系统的软件体系结构( 架构) 的全局角度来思考我们的系统。 以架构为中心的软件开发过程的研究与实践如今已经成为软件工程领域的一个 热点,相对于“算法+ 数据结构= 程序”的传统计算模式,基于软件架构的丌发方 法更注重系统前期分析与设计,这是一个i t 与业务逐渐融合的过程。 一个系统的软件架构的建立包括业务模型架构和支撑环境架构两方面。分层 架构强调基于层次化组件构建应用系统,本文结合中央电大教务管理系统的业务 需求,按照分层架构的原则,介绍了层次的划分方法和过程,并建立系统的参考 架构模型。另外,还需要为系统建立合适的技术支撑环境,本文着重探讨了基于 j 2 e e 中间件技术的分布式应用系统开发实践。结合中央电大教务管理系统的基 于j 2 e b 中间件的开发过程,论述了如何利用中间件所提供的服务来简化分布式 应用系统开发。同时,针对基于传统e j b 经典架构的的重量级解决方案所暴露出 来的复杂性,对e j b 编程模型进行了深入分析并得出结论,这种重量级架构在开 发方式、运行效率、可移植性、灵活性等方面存在缺陷,于是引出对轻量级架构 技术的介绍并对其核心思想进行了分析和实例展示。 关键词分布式应用系统:分层体系结构;软件工程;j 2 e e :轻量级架构 a b s t r a c t a b s t r a c t w i t ht l ed e v e l o p i n e n to ft 1 1 en e t w o r kt e c h n o l o g ya n d 廿1 ee n t e r p r i s ei n f o r m a t i o n i 2 a t i o n t e c 量l f l o l o g y ,廿l ed i s 埘b u t e da p p l l c a t l o ns y s t e mb o o m sn o w a d a y s ,t 1 1 er a p i di n c r e a s e o ft h e e n t e r p r i s ei n f o m l a t i o nr e s o u r c ea n dt h e 行e q u e mc h a f l g eo f t l l eb u s i n e s sd e r r l a n dr e s u l ti nt h em o r e c o m p l e x i t yi nm ea p p l i c a t i o ns y s t e md e s i g n n e wc h a l l e n g e sa r i s e i nt 1 1 ea p p l i c a t i o ns y s t e m d e s i g n ,s u c h 踮血es c a l a b l l l t y ,l h er e l i a b i l i 可a n dt h en e x i b i l i l y h e n c e ,廿1 eg l o b a ls o r w a r e a r c h i t e c t u r en e e d st ob ef o c u s e dw h e nd o i n gr e s e a r c ha n dd e v e l o p m e mo ns u c hs y s t e m sn o w d e v e l o p m e n tb a s e do ns o f t w a r ea r c h i t e c t i l r eh a v ea l r e a d yb e c o m em ec e n t e ro fs o n w a r e e n g i n e e r i n gd o 眦i n ,o p p o s i t ei n t i l et m d i t i o n a l c o m p u t a t i o np a t t e mo f ”t h ea l g o r l t l l i _ i l + c o n s 仉l c t i o no f 出止a = p r o g r a m m e ”,p a yg r e a ta n e n t i o nt o 也es y s t e m 。sa n a l y s i sa 1 1 dt l l ed e s i 印 b a s e do nt h es o n w a r ea r c h i t e c t i l r e t h ea r c h i t e c t u r eo fas o f 研a r es y s t e mi n c l u d e sb u s i n e s sm o d e la r c h i t e c t u r ca n dt e c h n o l o g y e n v i r o m n e n t t h el a y e r e da r c h i t e c t u r ee m p h a s i z e si h ec o n s 饥i c t i o no f a p p l i c a o ns y s t e mb a s e do n i a y e r e dm o d u l e ,w i t l lc h ep r i n c l p a lo fl a y e r e da r c h i t e c t u r e ,l h i sp a p e rp r o p o s e st l l el a y e r e dm e i h o d f o r 也ec e n t r a lr a d l o a n dt vu n i v e r s i t “c r t v u ) se d u c a t i o na d r n l n i s t r a t i o ns y s t e ma n dt h e r e f e 咖c em o d e la r c h i t e c n l r ei sp r e s e n t t h i sp a p e ra l s od i s c u s s e st h ed i s 砸b u t e da p p l l c a t i o n s y s t e md e v e l o p m e n tb a s e do nj 2 e e t h r o u 曲l h ed e v e l o p m e n to fc e n t r a lr a d i o a j l dt v u n j v e r s i t y ( c r t v u ) se d u c a t i o na d m i n l s t r a l l o ns y s t e mb a s e do nt h ej 2 e e ,t 1 1 ep a p e re l a b o r a t e s h o wt ou s em es e n r i c e ,p r o v i d e db yt h em i d d l e w a r e ,t os i m p l i f yt h ed i s t r i b u t e da p p l i c a t i o ns y s t e m d e v e l 叩m e n t m e a n w h i l e i nv i e wo ft 1 1 ec o l n p l e x i t yo f 仃a d i t i o n a le j bc l a s s i c a lh i g h - w e i g h t e d a r c h i t e c t u r e ,t h ep 印e rd r a w st h ec o n c l u s i o nt h a tt 1 1 i sk i n do fh i 曲- w e i g h t e da r c h i t e c t u r e ,h a s l i m i t a t i o no nt 1 1 ee m c i e n c y ,l h ep o r t a b i l i t y ,a 1 1 dt h en e x i b i l i t y h e n c e ,t h ep 印e rp m p o s e sl h e l i 曲i w e i g h t e da r c h i t e c t e ,a n a l y z e si t sk e m e lb y 柚a c m a l i l l u s 仃a t i o n k e y w o r d sd i s 埘b u t e ds o f t w a r ea p p l i c a t i o n ;1 a y e r e ds o n w a r ea r c h n e c t l l r e ;s o f 研a r ee n g :i i i e e r ;j 2 e e ; 1 i g h t - w e i g l n e da f c h i t e c t u r e 儿i 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教商机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 签名日期:2 0 0 6 6 1 0 关于论文使用授权的说明 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 签名:埤导师签名:缉 r 期:2 0 0 6 6 1 0 第l 章绪论 1 1 课题背景 第1 章绪论 随着软件规模的逐渐扩大,软件复杂性的提高,企业信息的多样化技展,软 件丌发模式也逐步在发生根小性变化。为了保证软件质量,提高软件可靠性、可 重t _ f = i 性和可维护性,软件升发的核心不再是“算法+ 数据结构= 程序”的传统计算 模式,而是越来越注重系统的总体结构即软件体系结构的设计和规范。通过建立 软件体系结构,台理划分子系统和模块,用基于组件开发和组装的方式来分解复 杂问题。软件体系结构不仅确定了系统的组织结构和拓扑结构,还浇明了系统需 求和构成系统的元素之间的对应关系,提供了系统设计决策的基本原理。基于软 件体系结构丌发的方法学一直试图解决日盏增长的软件复杂性,但是,复杂性依 然在飞速增长,传统的体系结构在一定程度上已经达到了所能处理复杂问题的限 度,尤其是当我们用于解决复杂问题的技术甲台本身又过于复杂的时候。然而, 技术从来没有停歇过发展的脚步,无论从方法理论还是技术实践,都涌现出新的 方向以更好的应对信息时代的挑战。如何从整个企业视角柬分析解决问题,如何 合理地整合全范围企业信息资源,降低企业i t 成本,如何快速应对将来业务需 求的变化,这些问题刻不容缓。与此同时,人们对软件体系结构的重要性的认识 也提高到了一个新的高度。软件体系结构方法的研究。也成为国内外i t 会议的 热点。 我们需要一个软件体系结构是基于以下原因的:理解系统:组织开发;鼓 励重用;进化系统。从软件体系结构的视点出发,可以促使i t 部门人员和业务 人员更紧密地合作沟通,为企业信息平台尽早构建起一个牢靠的基础,就如搭建 企业信息系统的骨架即,软件体系结构,这是一个i t 丌发人员和资深业务人 员共同参与的结果。一个科学合理的软件体系结构对于一个系统或项口的成败起 着犬键作用。 1 2 相关领域的研究进展及成果 目前,软件体系结构己经成为软件工程中的个重要研究领域,许多从事模 块接口语言,软件复用,软什组织模式,计算机辅助开发工具以及形式化技术等 方面的人员都密切注视着这一领域的发展。”1 传统的软件体系结构是“主机终 端”或“客户机服务器”,客户机服务器系统( c l i e n t s e r v e rs y s t e m ) 的结构 端”或“客户机服务器”,客户机服务器系统( c l i e n t s e r v e rs y s t e m ) 的结构 北京工业大学工学硕士学位论文 是指把一个大型的计算机应用系统变为多个能互为独立的子系统,而服务器便是 整个应用系统资源的存储与管理中心,多台客户机则各自处理相应的功能,共同 实现完整的应用。随着i n t e r n e t 的发展壮大,这些传统模式已经不能适应新的 环境,于是就产生了新的分布式应用系统j 即所谓的“浏览器朋艮务器”结构、 “瘦客户机”模式。“ 现在已经存在一些分布式对象技术,最流行的是由o b j e c tm a n a g e m e n tg r o u p 创建的c o r b a 、s u nm i c r o s y s t e m s 的j 2 e e 和m i c r o s o f t 的n e t 。每种都有其自 身的优缺点,它们既是这些技术的竞争者,也是合作者。 由于c o r b a ( 公共对象请求代理体系结构) 在三层计算中使用了其他开放标 准( 如l d a p ) ,在解决供应商垄断问题方面取得了一定的成功,但其编程模块太 复杂,而且供应商不能一致遵守规范。 e n t e r p r i s ej a v a b e a n ( e j b ) 是s u nm i c r o s y s t e m s 对c o r b a 的可移植性和复 杂性问题的一个解决方案,e j b 弓l 入了比c o r b a 更简单的编程模型,它可以让开 发人员创建可移植的分布式组件和安全的、事务性的和持久的商业对象,相对 c 0 r b a ,e j b 对象使用简单得多的编程模型和声明属性。可以蜕e j b 体系结构为 要在j 2 e e 环境中实施的高度专用的业务逻辑组件提供一种格式。 j 2 e e 是一个标准,而不是一个现成的产品。各个平台开发商按照j 2 e e 规范 分别开发了不同的j 2 e e 应用服务器,j 2 e e 应用服务器是j 2 e e 企业级应用的部 署平台。 4 由于它们都遵循了j 2 e e 规范,因此,使用j 2 e e 技术开发的企业级 应用可以部署在各种j 2 e e 应用服务器上。j 2 e e 为分布式应用系统开发提供了一 个标准的中间件平台,越来越多的大型企业级应用系统的开发依靠于它。但在开 发一个基于j 2 e e 的分布式应用系统的过程中面临着很多问题需研究和解决,以 j 2 e e 为核心的软件体系结构的构建是当前业界讨论的热点问题。如今在j a v a 领 域新兴技术风起云涌,从各大i t 巨头厂商到开源项目领域都涌现出各种新技术, 新概念,新思想。在如此背景下,我们如何利用它们开发应用系统,如何“多快 好省”地交付高质量系统,对于系统架构的思考,对于技术的选择,成为众多开 发者的挑战。 1 3 目前分布式应用系统开发中存在的不足 目前人们在做分布式应用系统开发时,缺乏系统全局设计,企业部门与i t 部门脱离,忽视企业前期建模的重要性,忽视系统文档化,往往是过度重视程序 实现而在一定程度上忽视系统的前期设计。相对于软件架构,人们更关注于具体 实现技术的细节。然而,由于缺乏前期的成熟考虑,系统构建孤立,缺乏可扩展 性,后期维护任务繁重,且不利于在现有基础上构建新的应用,从而往往满足不 第l 章绪论 了今后业务部门的需求变化。 另外一方面,在基于j 2 e e 的分布式应用系统开发过程中的技术框架选择问 题上,往往容易受制于传统的e j b 经典架构影响,缺乏实际分析,极易导致系统 的实现过于臃肿,编程模型复杂,并且在性能上存在较大损耗。 1 4 本研究课题的来源及主要研究内容 本课题来源于中央广播电视大学教务管理系统的开发。系统分为中央电大、 省电大两级平台,地理上遍布全国,以中央电大为项层节点,下设4 4 个省级节 点,其下又分别涉及到几个至几十个分校及教学点节点。业务范围遍及全国,是 一个典型的分布式应用系统。随着中央电大在开放式教育思想指导下的教学改革 的展丌,系统业务量的急剧猛增,原有的基于客户机服务器开发的系统逐渐满 足不了应用需求,同时中央电大远程开放教育教学模式对系统的性能,安全性, 可靠性都提出了更高的要求。 基于系统的庞大性、多样性、复杂性及业务需求变动频繁等特点,如何构建 一个强壮的,安全可靠的,扩展性良好的系统成为我们需要研究的难点。 本文主要从两方面阐述分布式应用系统软件体系结构的研究与实践。首先, 分析了分层架构思想并结合电大业务,建立起电大系统的业务模型架构;其次, 通过研究基于j 2 e e 中间件平台的分布式应用系统开发,建立中央电大教务管理 系统的支撑环境( 系统软件和中间件) 架构。通过业务模型分析和实用技术平台 研究,展示了如何建立一个强壮的,高性能的,扩展性良好的,切实可行的分布 式应用系统软件体系结构。 1 5 本文结构 本文将分为五个部分来阐述: 第一部分:( 第l 章) 介绍与本课题相关的背景知识,对国内外相关领域的研 究和进展进行综述。介绍本课题的来源及主要研究内容。 第二部分:( 第2 章) 对软件工程领域的软件体系结构研究做一个理论概述, 强调了以架构为中心来展开软件丌发的重要性。 第三部分:( 第3 章) 主要介绍中央电大教务管理系统体系结构的业务模型的 分析与设计。通过分析理解电大教务业务需求,按照分层式体系 结构设计原则,对系统进行子系统划分,提取业务组件层次,并 最终建立电大教务管理系统的参考架构模型。 第四部分:( 第4 章) 讨论了中央电大教务管理系统体系结构的技术支撑平台 北京工业大学工学硕士学位论文 的分析与实践,分析了j 2 e e 应用模型的四层结构,对其中的一些 关键技术进行了剖析。阐述了如何利用中间件所提供的服务来简 化分布式应用系统的开发。并结合当前轻重量级框架在j 2 e e 中的 应用,分析实际情况,探求如何选择真正切合实际需求而又不乏 系统扩展性的技术框架。并在最后总结中对以后基于s o a 建立中 央电大远程开放教育平台进行展望。 - 4 第2 章如何建立分布式应用系统体系结构 第2 章如何建立分布式应用系统体系结构 软件体系结构作为软件工程中的一个新兴研究领域,是随着描述大型、复杂 系统结构的需要和开发人员及计算机科学家在大型软件系统的研发过程中对软 件系统理解的逐步深入而发展起来的。它与软件工程技术的发展和计算机发展的 需求有着密切的关系。”1 一旦建立一个良好的体系结构,各个开发团队的软件工程师们就可以更有 效、更有预见性地进行系统的设计和实现工作,可以在定义好的接口界面上进行 工作。良好的体系结构指导着软件组件的划分和建立,如果缺乏清晰的软件体系 结构和接口定义,则诸多组件就难以得到复用。良好的体系结构可以维系软件系 统的完整性,使得开发和维护工作不至于杂乱;还可以简化软件系统复杂性,让 众多的开发团队的软件工程师能以并行方式开展工作。所以,对于一个软件开发 单位而言,选择合适的软件体系结构是最重要的决策之一。 2 1 软件体系结构基本概念 体系结构,即,架构,在英文单词里是“a r c h i t e c t u r e ”,“a r c h i t e c l u r e ” 的原本意思是:建筑,建筑学,建筑结构。从建筑工程引入到软件工程,即可以 了解到软件体系结构的意思。所谓软件体系结构,就是一个特定领域的软件系统 的总体结构概念,是在一定领域内抽取共有的特性,作为一种规定或约束来指导 相关领域软件系统的开发。” 如今,在软件生命周期中,人们对软件体系架构的重视程度得到了极大提高, 主要是由于软件工程的不成熟的现状导致了软件系统在维护性,扩展性等显示出 的瓶颈。这恰恰是由于缺乏统筹的孤立设计开发的后果。体系结构贯彻在初期设 计,逐步完善,实施交付这整个软件开发过程,并在这个过程中,逐步趋于完善、 稳定。一个前期设计稳定,牢靠的软件体系结构,对于后期的设计,开发,起着 高层次的领导性作用。 软件架构包括四方面的决策: 软件系统的组织: 构成系统的结构元素和各元素之问的接口以及由元素间各种协作所规 定的各元素行为; 结构元素和行为元素合成为逐渐增大的子系统; 指导这种组织的构架风格:元素以及它们的接口、协作和组合。 北京工业大学工学硕士学位论文 然而,软件构架不只涉及结构和行为,还涉及到使用、功能、性能、柔性、 重用、可理解性、经济性和技术约束以及折衷方案、美学等。“3 2 2 以体系结构( 架构) 为中心 在业务需求变化莫测的背景下,许多信息系统往往陷于追赶变化,甚至满足 不了业务需求的变化需要。是世界变得太快还是系统缺乏可扩展性,应变能力差? 我们只有力求提高信息系统对业务变化的适应性,可扩展性,可配置型,可维护 性,才能够适应企业机构调整和业务需求的不断变化,另外还依赖于信息技术自 身的发展。柔性体现在对外界变化的适应性及系统本身的与时俱进能力。 一个大型的复杂的软件系统的架构的建立,需要有专门的系统架构师领导一 个架构设计团队共同参与,以便指导所有开发人员拥有同一个努力的目标。一个 良好的软件系统架构,从下面几方面达到我们预期的效果: 可以向开发人员及用户,展示系统,让他们理解系统并达成共识。对于 一个从事软件开发的组织,系统必须为所有相关人员所理解,然而,一 个系统中的复杂因素有很多且也可能在不断变化,这些情况导致一个难 以理解的格局,以架构为中心进行开发,可以防止出现这种无法理解的 现象,清晰的架构描述有利于开发人员、管理人员、客户及其他相关人 员能够详细了解所需要做的工作,以利于它们参与系统开发的工作。 良好的架构设计可以把一个大型系统划分成便于组织管理,独立开发的 子系统,子模块,这样,架构师就可以很好的划分开发团队,各自团队 彼此相对独立,并且通过划分好的接口协作。 良好的架构设计鼓励重用,比如松散耦合的基于组件的开发方法,强调 高内聚松耦合,有利于组件重用。 随着企业业务的更新发展,势必要求软件系统在维护过程中具备一定的 可扩展性,要有一定的柔性,能够很好的适应业务需求的变动,从而使 得软件系统在不断的使用中得到增值。 在大规模系统开发中,人们试图把问题分解,子系统分析和分层架构是两个 基本工具。”3 划分合理的便于管理的子系统群,使得类和其他一些软件元素被映 射到可以独立设计开发、管理和测试的实体。同时又要明确定义好子系统闯的交 互接口。子系统提供了一种将设计模型组织成可管理片的方法。它们既可以通过 细化设计工作的方式来初步识别,也可用随着设计模型进化和“增长”成一个需 要被分解的较大的结构时再去发现。对系统进行分层架构则是将系统中不同 层次的问题区分开来,比如,首先划分成应用层和系统层,进而将应用层分为专 用应用层和公共应用层;将系统层分为中间件层和系统软件层。在这个分层架构 第2 章如何建立分布式应用系统体系结构 中,通过多层予系统来组织系统。砸如图2 一l 所示。 图2 1 分层架构通过多层子系统来组织系统 f i g u r e2 1l 7 e r e da r c h i t e c t u r eo 唱a n j z e ss y s t e m b yl a y e r e ds u b s y s t e m 通过分层架构和子系统划分,我们可以清晰地勾画软件系统的组织结构,然 后,所有参与系统开发的人员都遵循这个组织结构,以此架构为中心展开工作。 2 3 子系统、接口设计与分层架构 子系统定义了设计构造阶段的系统结构、接口和依赖关系。在u m l 用户指 南中,将包定义为模型元素的集合,元素包括了类、接口、组件、节点、协作、 用例及予包。软件系统可以构造包的形式图形化表现出来,子系统作为系统的一 部分,显示为子构造包。子系统的设计映射到构造阶段的包结构上,这些包结构 将可以由不同的开发团队进行开发、测试。 软件分解得到子系统必然就带来了子系统问的依赖关系,而这种依赖性的关 系直接影响到整个系统的可变性和可测试性。如果一个系统中的多个子系统彼此 严重依赖,则改变任何个子系统都将引起全体系统的重建和重新测试。子系统 接口依赖正是用来管理这种依赖关系的。假如我们将子系统之问的依赖仅仅针对 接口,那么,我们就可以很好的管理子系统之间的关系。如果某个依赖接口可以 由不同的子系统来实现的话,那么意义就更加重要了。 软件结构的分层策略是一种非常成功的设计策略,基于分层的子系统设计还 向开发者展示了系统在构造阶段的依赖性:高层子系统依赖于低层子系统,反之 北京工业大学工学硕士学位论文 则不成立,顶层提供了应用子系统,这些子系统通过直接利用或者扩展较低层次 的功能来实现。正如图2 一l 中的依赖关系箭头所示:专用应用,公用应用,中间 件,软件存在着从高到低的单向依赖关系; 2 4 循序渐进地建立分布式应用系统体系结构 一个真正良好的软件体系结构的形成需要个迭代的过程,其中最重要的影 响因素有两个: 要求开发人员对系统所处的业务领域非常熟悉,而这是一个从无到有的 长期积累过程; 系统实现技术的选择是一个需要探求、试验的过程,并且技术支撑环境 本身是处于一个不断更新发展的阶段。 在对应用系统用户需求交涉过程中,我们提倡使用原型法。建立系统的原型 在项目开发团队和用户之间交流上起着至关重要的作用,尤其是对于那些业务非 常复杂的系统。因为仅仅通过文字,u m l 图形,始终无法给不懂计算机应用技术 的用户一个直观的表达。开发团队向用户呈现系统分析和设计文档及原型系统展 现作为讨论的基础,在相互的不断交涉过程中,逐步达到大家对系统的一致认识, 从而最初先建立一个架构基线,即,一个只有很少软件“肌肉”的系统骨架。在 这个基础架构达成一致的前提下,在逐步补充各种软件元素,直至最终确立软件 体系结构。 在建立分布式应用系统软件体系结构的时候,我们如何选择符合自己需要的 技术支撑环境,依托它来简化我们的系统开发过程。这同样是一个需要探求、试 验的过程,尤其是在如今分布式应用软件技术发展迅猛的时代,在决定基于某技 术支撑环境前我们需要对选择做出充分论证,然后,围绕某个子系统进行系统开 发,在此予系统开发中,我们需要检验所选技术平台的合理性,并且要求尽量对 所有关键技术问题做出试验、求证和测试。 2 5 中央电大教务管理系统软件体系结构的建立 我们将依据图2 一l 的分层架构思想来组织中央电大教务管理系统,并划分成 两部分来描述:业务模型架构和系统技术支撑平台。在第三章中介绍系统的业务 模型分析与设计,第四章中论述系统的技术支撑平台的分析与实践。 8 第3 章中央电火教务管理系统体系结构的业务模型的建立 第3 章中央电大教务管理系统体系结构的业务模型 的建立 3 1 电大教务管理系统业务模型的建立背景 远程开放教育的教务管理体系足以满足学生个性化学习需求为宗旨的。与传 统的校园内教务管理不同,远程开放教育的教务管理体系是向全社会开放的,因 为每个社会成员都是潜在的学习者,他们随时可能进入歼放教育教务管理系 统,进行信息查询、课程预览、课程注册等。同时,分散在各地的学习者也需要 经常通过开放的教务管理体系接受教学过程的指导与管理。 中央广播电视大学教务管理系统是一个遍布全国城乡的远程广播电视大学 开放教育系统,由中央电大、4 所中央电大学院、7 个中央电大学习中,心及4 4 所 省、自治区、直辖市、计划单列市和独立设踅的省级广播电视人学,9 3 0 所地市 级电大分校、1 7 4 2 个县级教学点、2 2 2 3 7 个教学班点( 2 0 年中央广播电视 大学教育统计年鉴数据) 组成。通过分析这个分级分布的软件应用系统。可以 将系统分为两级平台,四层管理,五种角色。两级平台为:中央电大平台,省级 电大平台。四层管理为:中央管理,省市管理,分校管理,教学点管理;五种 角色为:中央,省市,分校,教学点,学生。其组织管理机构图如图3 1 所示。 由于系统涉及范围广,业务需要复杂,系统需求需要在各级尊位得到讨论协 调形成最终的一个广而杂的用户需求。另外如此庞大的机构组织,其业务发展本 身又是处于个频繁变化的过程中。总之,对中央电大教务管理系统的需求进行 分析得到系统特点如下: 用户面广,q k 务需求复杂,且不稳定。 功能繁多,贯彻中央电大整个教学过程中。 系统分布广,同时又耍百联互通,并且中央对所有省平台具有集中控制 的功能。 随着深入教学改革,系统需要经常更新维护且时常会有业务需求变动, 同时还会有新的需求被提出。 教学管理系统支撑着中央电大的核心业务发展,要求系统具备高忡能高 可靠性、可用性、易操作性、高度安全性。 可靠性、可用性、易操作性、高度安全性。 北京工业大学工学硕士学位论文 图3 1 中央电大组织管理结构图 f i g u r e3 - 1c r u a d i 谢n i s t r a t i o ns t m c t l l r c 针对以上特点,在系统架构分析设计中,我们把以下几点问题放在首要位置: 梳理复杂业务需求,提取核心业务,合理划分子系统,把复杂问题细致 化,模块化,力求分而治之的效果。 针对系统业务需求的不稳定性,采用统一软件开发过程,其特点是:用 例驱动,以架构为中心,迭代和增量开发。 针对系统的高性能,高可靠性需求,采用业已成熟的j 2 e e 分布式企业应 用平台。 注重系统的可持续发展性,在满足现有需求的基础上又要充分预见未来 的变化。注重系统的可扩展性。 3 2 电大教务管理系统业务模型的子系统划分及接口 在电大远程开放教育改革进程中发现,以传统教学计划为龙头和基础的封闭 式教学管理制度不再符合开放教育理念。由此提出了“课程超市,学分银行”这 样的对开放教育理念的重要阐释。由此,系统开发将围绕学生为主线,系统跟踪 学生从招生到毕业就业的完整过程并为之服务。那么,我们可以把电大教务管理 系统看成一个加工机,加工原料是所有报考中央电大的学生,最终产品则是学生 毕业。所以,我们着重分析学生从入学到毕业这过程中的核心教学环节,得到其 总体的功能用例如图3 2 所示,并以此为纲,初步划分予系统。 我们围绕学生在教学活动过程的业务流程及其相应的支撑管理系统来划分 第3 章中央电丈教务管理系统体系结构的业务模型的建立 子系统。由此,可以初步划分出如下子系统: 学籍注册 面向学生用户,负责学生的学籍注册信息的采集。 学生选课 面向学生用户,负责学生的选课信息的采集。 学生报考 面向学生用户, 毕业申报 面向学生用户, 学籍管理 负责学生的报考课程信息的采集。 负责学生毕业申报信息的采集 负责建立并维护学生的档案信息,同时,还需要负责学籍信息的异动。针对 中央电大教学单位之多,机构之复杂,像比如学生跨省转学,省内转学等等异动 情况经常发生。另外,学籍管理还涉及到学生一些奖惩信息的处理。 专业规则管理 负责定义专业规则,专业规则包括: 一培养定位 课程设置规则 _ 选择课程的规则 _ 毕业规则 课程管理 主要用于建立并维护课程资源,同样,由于电大系统存在多级管理问题,课 程资源的建立也存在从上下级的申报审批过程。其用户包括各级管理人员。 选课管理 系统负责维护当前学期可选课程。学生既可以按照专业规则的定义选课和又 可咀从课程超市选课。同时,管理人员要完成学生选课信息的确认、收费,并且 划分课程学习班。 考务管理 负责维护考试信息,制订考试计划,公布考试课程,配备考试资源,学生根 据考试计划选择报考课程,管理人员负责对学生的报考记录确认、收费。然后组 织安排考试。 毕业审核 管理人员需要根据既定的专业规则中的毕业规则,来审核学生的学习成果, 合格者,授予毕业证书和学位证书。 袁 毪 北京工业人学工学硕士学位论文 削3 2 电大教务管理系统总体功能用例图 f t g u r e3 - 2 c r t i u s e r c a 收费管理 在许多业务环节中都涉及到费用的发生,因此有必要独立开发一个收费子系 统,专门用于处理收费业务,做好收费明细记录等工作。 成绩管理 负责学生考后的试卷判分,成绩录入,更动维护,报表分析。成绩是作为毕 业审核的重要依据。同时,该子系统还要处理考试中发生的一些违纪现象。 电大在线 为目前已存在的系统,负责电大在线教育及在线考试等。在学生参加完在线 教育和考试后,可以将考试成绩导入到成绩管理子系统中。 电大o a 第3 章中央电大教务管理系统体系结构的业务模型的建立 为目前已存在的系统,负责电大的招生业务。通过将招生信息导入到学籍管 理子系统,建立学生的注册档案学籍信息。 子系统划分把复杂问题分而治之的同时引来了子系统间的依赖关系,首先看 面向学生用户的四个子系统:学籍注册,学生选课,学生报考,毕业审核。由于 学生用户量与其他管理系统的用户量不在一个数量级,所以,我们有必要把这四 个面向学生用户的系统独立成子系统,同时在系统部署时候需要考虑大用户量并 发访问问题,独立设计有便于将来提高应对大用户量的系统性能可扩展性。但是, 这四个面向学生用户的子系统并不能独立工作,因为其需要后面的管理系统的数 据支撑。这种数据依赖通过其他管理子系统暴露相应的接口来实现。 面向学生用户的四个子系统所需要的接口如下: 学籍注册子系统需要接口: _ 学籍管理予系统的学籍信息有效性检查和查询接口 收费管理子系统的收费查询和业务处理接口 学生选课子系统需要接口: 课程管理子系统的查询接口 选课管理予系统的选课数据更新接口 _ 收费管理子系统的收费查询和业务处理接口 学生报考予系统需要的接口: _ 选课管理子系统的选课信息查询接口 _ 收费管理子系统的收费查询和业务处理接口 考务予系统的数据信息更新接口 毕业申报子系统需要的接口 毕业审核子系统的业务处理接口 另外,在其他几大予系统之间,如各大管理予系统与收费管理子系统之间, 课程管理与规则管理子系统之间都存在着依赖关系。在此不再赘述,他们之阳j 的 依赖关系可以从图3 3 中看出。 从用例出发的方法划分得到的子系统之间必然是存在着紧密的依赖关系。各 个子系统呈现出一种柱式结构,并通过接口来描述彼此的依赖关系,只要存在依 赖关系,那么子系统就不可能完全独立运行。在下节中,我们将结合分层架构 的原理对现有的这种柱式结构进行改良设计。 j b 京j f 业大学工学硕士学位论文 图3 3 中央电大教务管理子系统划分及接口依赖图 f i g u r e3 - 3d e p e n d e n c yb e t w e e nh i g h - l e v e ls u b s y s t e m l 一蚤一 圳略 第3 章中央电大教务管理系统体系结构的业务模型的建立 3 3 电大教务管理系统业务模型分层体系结构的建立 软件系统可以基于组件搭建而成。在组件系统的构建过程中,又可以根据组 什的通用性形成一种层次关系,即,在较低层次上的组件基础上构建较高层次上 的组件位于顶层的应用系统是构建在下面的组件系统基础之上体现一个分层 搭建的过程。越是低层的组件则应该是越公用,越稳定。“ 考虑到处于底层组件相对稳定,而处于顶层组件相对不稳定。所蛆,要求底 层组件不依赖于顶层,即,只允许白顶向下的纵深的跨层静态依赖,同时,分层 系统也允许横向的延展,即,处于同层的组件系统町以相互通信。如图3 4 所示, 展现了分层系统中的系统依赖关系。 图3 4 分层系统中的系统依赖关系 f i g u r e3 4d e p c n d 蚰c yb e t w e 吼l a y e r e ds y s t e m 3 3 1 公共基础组件层 公共基础组件层是指不与具体业务需求相关的,不仅町以在电大教务管理系 统中得到复用,而旦可咀在更,1 范同内的软件系统开发过程中得到应用。这可以 作为一个软件开发商的“资本”在多个系统开发中得到良好的复用。 存电大教务管理系统中,有多种可以抽取的基础组件,比如,文件压缩解压 缩组件,x m l 文档处理组件,日志审计处理组件,数据各纶恢复组件,报表打印 北京工业大学工学硕士学位论文 组件等。 3 3 2 公共业务组件屡 公共业务组件层,是指那些与业务相关,但是又不是针对具体某业务,而是 可以在多个业务流程中得到重用的组件的集合。通用组件层的抽象,可以产生一 系列面向特定领域的可复用组件。从而在领域范围内得到复用。 分析电大教务系统的业务需求,可以发现,有许多业务功能是被多个其他业 务过程调用。比如收费这个业务,从招生,学生注册,学生选课,学生报考,学 生毕业等各个环节,都有收费业务发生。于是,我们将账户处理组件抽取出来, 放置入公共业务组件层,供上层业务组件调用。另外,还有专业规则维护组件, 由于专业规则在整个教学活动中处于一个指导和约束的作用,对学生的选课、报 考、毕业,对管理人员制订相关计划、课程,毕业审核等都提供了个必须遵循 的规则库。这样,专业规则管理组件同样可以抽象出来放入公共业务组件层,同 时,这一层的相对独立,更便于专业规则这一业务需求的变动,将规则变动的影 响范围尽量缩小在本组件之内,对外通过接口暴露的方法调用保持不变。这也正 体现了高内聚,松耦合的组件设计原则。 3 3 3 专用业务组件层 专用业务组件,是指那些基于特定业务需求,用于实现具体用例的组件。如 果将来某具体用例的业务需求有所变动,处于该层的业务组件将作适当修改以便 适应新需求。 3 3 4 层次化设计带来的良好效应 层次化组件设计,带来最大的好处就是提高了系统开发的效率,提高重用率, 同时带给系统更大的可维护性。每个组件尤其是底层次组件的设计都要遵循高内 聚的原则,同时组件之间保持松耦合的关系,这使得软件的搭建生产成为可能。 层次的分明,也利于在开发人员的合理分工,尽可能让每个开发人员可以独立的 完成某项任务,尽量减少相互之间的牵扯,一旦相互之间有交互,则应该事先定 义良好的接口。 第3 章中央电大教务管理系统体系结构的业务模型的建立 3 4 电大教务管理系统分层组件设计案例分析 本文选取了电大教务管理系统中的选课,收费,报考等业务过程来阐述如何 分析设计分层组件架构。分层架构的核心在于公共业务层的寻找过程。公共业务 层是分层架构中最宝贵的层次,因为其复用性高且稳定。 纵观电大业务流程,其中有许多环节涉及到费用的业务产生。首先,收费本 身可以作为一个子系统来看待,其中涉及用例如图3 5 : 图3 5 收费用例图 f i g i l r e3 - 5u s ec a s eo f c h a 唱es u b s y s t e m 本例子中,我们仅讨论收费子系统中的若干相关用例: 制定选课费用标准、制定考试费用标准、制定毕业审核费用标准: 由于各个业务过程的收费规定不同,因此,我们为各种收费业务制定了相应 的收费标准,从而产生了:制定选课费、考试费、毕业审核费三个用例; 管理学生账户: 该用例负责学生账户信息数据记录的增删改查服务; 学生账户充值: 该用例负责学生帐户充值。对学生的收费采取预交费的形式,在所有教学活 动过程中,通过系统账户来交费,从而减少了现金交易的麻烦。 北京工业大学工学硕士学位论文 然后,我们考虑选课子系统的相关用例如图3 6 所示: 多一产丽峄 1 = := = = 二: 图3 6 选课用例图 f i g i l r e3 - 6u s ec a s eo f c h o o s e - c o l l r s es u b s ”蛔m 本例子中,我们仅讨论选课子系统的若干相关用例: 学生选课: 该用例是学生作为个人登录系统后,进行选课。 集体选课: 管理人员代替学生进行选课,可以批量地选课,同时为多个班级的学生选择 多门课程。 选课确认: 管理人员确认学生的选课信息,包括学生个人选课信息和集体选课信息。选 课确认负责选课费用的账户处理,同时,可以选择性的为学生选课进行期末考试 的报考工作( 即,默认报考) 。 最后,我们考虑考务子系统的的相关用例如图3 7 所示: 图3 7 考务阁例圈 f i g l l r e3 - 7u s ec a s eo f e x 跚s u b s y s t e m 茇糙爰 吴;! 吴 第3 章中央电大教务管理系统体系结构的业务模型的建立 本例子中,我们仅讨论考务子系统的若干个相关用例: 学生报考课程: 学生个人根据自己所选课程,进行期末考试的报考,结果保存入学生报考信 息中。 集体报考课程: 由管理人员帮助学生来进行课程报考,管理人员选择批量计划开考课程,选 择批量学生,然后系统匹配对应的学生与课程的报考关系是否可以形成,一旦成 立,则形成学生报考记录,结果存入学生报考信息中。 报考课程确认: 此用例是用于学生和报考课程的信息建立之后,管理员需要对这些所有报考 信息进行一个确认的过程,其中主要涉及到收费业务的发生,因为业务过程要求 对学生的考试费用的账户处理收费。 通过分析以上三个子系统中抽取的部分用例来看,我们发现在考务子系统, 选课子系统中都需要涉及到收费子系统中的收费业务处理即学生账户的处理, 即,在选课确认,报考课程确认时,需要根据相应收费标准,进行账户划账处理。 同时,收费子系统本身也维护着学生账户的信息及收支处理。由此我们可以把账 户处理这个业务活动过程单独抽取出来作为一个公共业务组件来对待,将之置于 公共业务组件层从而被上层的收费、选课、考务子系统的相关用例所复用。这样, 降低了选课予系统、考务子系统对收费子系统的依赖,因为选课、考务子系统不 必去关心收费子系统的其他业务活动,收费子系统负责制定相关的收费标准及其 他收费予系统专用的功能。选课、考务子系统的收费过程只包括两个过程:一、 直接到数据访问层查询相关的收费标准;二、计算费用:调用账户处理组件,进 行费用的扣除过程,并记录费用处理的明细过程。因此,我们得到了账户处理这 一个公共业务组件。 我们再来分析选课和报考过程,我们发现,学生报考课程信息的来源有多种, 但是最终目标只有一个,即,建立学生和课程的对应报考信息,因此,学生报考 课程信息的建立是整个业务过程的核心。再次考虑这个报考信息的来源有三个:

温馨提示

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

评论

0/150

提交评论