




已阅读5页,还剩68页未读, 继续免费阅读
(计算机应用技术专业论文)教务管理系统的系统管理设计和性能优化研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 厦门大学拥有全国最早的高等教育重点学科,在高教管理方面具有系统而深 入的管理理念。教务管理系统对于提高教育管理水平是至关重要的! 原有的教务 管理系统已经无法满足当前教学改革的需要,因此,我们开发了新的教务管理系 统,忠实地实现这些先进的管理理念。本文介绍了教务管理系统的发展状况和现 状,新系统采用的技术框架,着重阐述了新系统的需求和设计架构、本人在系统 设计和开发过程中所参与的工作和研究内容,特别是在系统性能优化方面所做的 努力。 本文主要研究教务管理系统的系统管理模块的设计和性能优化问题,并设计 了一个基于b s 和c s 混合架构的开发模式。系统采用的开发技术是s t r u t s 架 构和h i b e r n a t e 技术。系统设计主要包括功能模块设计和后台数据库的设计。基 于b s 模式的功能模块包括:教学计划管理、开课计划管理、选课管理、学籍管 理、成绩管理、基础信息数据、系统管理、教学资源管理、教师测评、双学位管 理等。基于c s 模式的功能模块包括:排课管理、考场安排管理。 本文重点研究了系统性能优化问题,其创新点主要表现在选课性能的优化 上,多用户并发的瓶颈问题在原有系统中是无法解决的。我们分析了设计初期选 课系统拥堵、无法及时响应用户请求、服务器c p u 使用负荷过重、内存耗尽直至 死机等原因,经过详细地测试和分析,充分发挥软硬件资源配置的优势,内部系 统访问数据库的s o l 语句采用存储过程改写,外部硬件资源采用裸设备重新配置 服务器等新的策略,显著地提高了选课的性能,并在实际运用中获得了满意的效 果。尤其是存储过程和裸设备的运用,是本系统解决性能问题的一大特色。 关键词:教务管理系统;s t r u t s ;h i b e r n a t e ;存储过程;裸设备 a b s t r a c t ab s t r a c t x i a m e nu n i v e r s i t yh o l d st h ef i r s tn a t i o n a lk e yd i s c i p l i n eo fh i g h e r e d u c a t i o nw h i c hh a sb r o u g h tf o r w a r das e r i e so fi n d e p t hm a n a g e m e n t c o n c e p t s t h ed e s i g no fe d u c a t i o n a lm a n a g e m e n ts y s t e mi ss i g n i f i c a n tf o r i m p r o v i n gt h el e v e lo fe d u c a t i o n a la d m i n i s t r a t i o n t h eo r i g i n a ls y s t e m o fe d u c a t i o n a la d m i n i s t r a t i o ni nx i a m e nu n i v e r s i t yh a sb e e nu n a b l et o m e e t t h er e q u i r e m e n t so ft e a c h i n gm e t h o d o l o g yr e f o r m i no r d e rt oc o m p l e t e l y i m p le m e n tt h e s ea d v a n c e dm a n a g e m e n tc o n c e p ts , an o v e le d u c a tio n a l m a n a g e m e n t s y s t e m h a sb e e n d e s i g n e d a n d i m p l e m e n t e d t h e t h e s is i n t r o d u c e st h ed e v e l o p m e n to fe d u c a t i o n a lm a n a g e m e n ts y s t e m sa n dt h e t e c h n i c a lf r a m e w o r ku s e di nt h en o v e ls y s t e m t h ef o c u s e so ft h i st h e s i s i n c l u d et h ea n a l y s i so fn e wr e q u i r e m e n t s ,t h ed e s i g na n dt h e i m p l e m e n t a t i o no ft h en o v e ls y s t e m ,a sw e l la st h ee f f o r t sf o ro p t i m i z i n g t h es y s t e mp e r f o r m a n c e t h et h e s i sh a ss t u d i e dt h ed e s i g no f f u n c t i o nm o d u l e si nt h e e d u c a t i o n a lm a n a g e m e n ts y s t e ma n d t h eo p t i m i z a t i o no ft h es y s t e m p e r f o r m a n c e t h en o v e ls y s t e mu s e st w om a i nt e c h n o l o g i e s :s t r u t sa n d h i b e r n a t e i ta d o p t sah y b r i dm o d e lo fa r c h i t e c t u r ed e v e l o p m e n t ,w h i c h c o m b i n e st h eb sa n dc sh y b r i dm o d e s t h es y s t e md e s i g nc o n s i s t so f t w op a r t s :t h ef u n c t i o nm o d u l e sa n dt h ed a t a b a s e t h ef u n c t i o nm o d u l e s b a s e do nt h eb sm o d ei n c l u d e :m a n a g e m e n to ft e a c h i n gp r o g r a m ,m a n a g e m e n t o fo f f e r e dc o u r s e s ,m a n a g e m e n to fc o u r s er e g i s t r a t i o n ,m a n a g e m e n to f s t u d e n tr e c o r d s ,m a n a g e m e n to fs t u d e n ts c o r e s ,m a n a g e m e n to fb a s i cd a t a , m a n a g e m e n to fs y s t e m ,m a n a g e m e n to ft e a c h i n gr e s o u r c e s ,m a n a g e m e n to f t e a c h e re v a l u a t i o n ,m a n a g e m e n to fd o u b l ed e g r e e t h ef u n c t i o nm o d u l e s b a s e do nt h ec sm o d ea r ed e s i g n e dt oa r r a n g ec u r r i c u l u ms c h e d u l ea n d t h ee x a m i n a t i o n sr o o m t h et h e s i sh a so p t i m i z e dt h es y s t e mp e r f o r m a n c e t h ec o n t r i b u t i o no f p e r f o r m a n c eo p t i m i z a t i o nc o n c e n t r a t e so n t h em a n a g e m e n to fc o u r s e 教务管理系统的系统管理设计和性能优化研究 r e g i s t r a t i o n t h eo p t i m i z a t i o n t e c h n o l o g i e s a r eu s e dt os o l v ea n i n e f f i c i e n tp r o b l e mi nt h eo r i g i n a ls y s t e m t h er e a s o n st ot h en e t w o r k c o n g e s ti o nw h e nr e g is t e r i n gc o u r s e sa r ef i r s tl yd is c u s s e d ,f o re x a m p l e , t h el o n gd e l a yo fs e r v i c er e s p o n s e ,t h eo v e r l o a d i n go fc p u a n d t h e e x h a u s t e dm e m o r yi ns e r v e r a f t e rc a r e f u l l yt e s t i n ga n da n a l y z i n g ,t h e t h e s i sh a sp r o p o s e dt w om a i na p p r o a c h e s ,w h i c ht a k ea d v a n t a g e so fh a r d w a r e a n ds o f t w a r er e s o u r c e sc o n f i g u r a t i o n ,t oi m p r o v et h es y s t e mp e r f o r m a n c e : ( 1 ) t h eu s a g eo fs t o r e dp r o c e d u r e si n s t e a do fs q ls t a t e m e n t s ,( 2 ) t h e r e c o n f i g u r a t i o no ft h ea d v a n c e ds e r v e rw i t hr a wd e v i c eu s i n gt h en e w s t r a t e g y t h e s ea p p r o a c h e s h a v eb e e nv a li d a t e ds i n c e t h e y c a n s i g n i f i c a n t l yi m p r o v et h es y s t e mp e r f o r m a n c ei nt h er e a la p p l i c a t i o n e s p e c i a ll y ,t h eu s a g e so fs t o r e dp r o c e d u r e sa n dr a wd e v i c e sp l a yi m p o r t a n t r o l e st os o l v et h ep e r f o r m a n c ep r o b l e m k e yw o r d s :e d u c a t i o n a lm a n a g e m e n ts y s t e m ;s t r u t s :h i b e r n a t e :s t o r e p r o c e d u r e :r a wd e v ic e 厦门大学学位论文原创性声明 本人呈交的学位论文是本人在导师指导下,独立完成的研究成 果。本人在论文写作中参考其他个人或集体已经发表的研究成果,均 在文中以适当方式明确标明,并符合法律规范和厦门大学研究生学 术活动规范( 试行) 。 另外,该学位论文为() 课题( 组) 的研究成果,获得() 课题( 组) 经费或实验室的 资助,在() 实验室完成。( 请在以上括号内填写课 题或课题组负责人或实验室名称,未有此项声明内容的,可以不作特 别声明。) 声明人( 签名) :燕吠两了芡 秒c 7 年1 月巧e l 厦门大学学位论文著作权使用声明 本人同意厦门大学根据中华人民共和国学位条例暂行实施办 法等规定保留和使用此学位论文,并向主管部门或其指定机构送交 学位论文( 包括纸质版和电子版) ,允许学位论文进入厦门大学图书 馆及其数据库被查阅、借阅。本人同意厦门大学将学位论文加入全国 博士、硕士学位论文共建单位数据库进行检索,将学位论文的标题和 摘要汇编出版,采用影印、缩印或者其它方式合理复制学位论文。 本学位论文属于: () 1 经厦门大学保密委员会审查核定的保密学位论文, 于年月日解密,解密后适用上述授权。 1 () 2 不保密,适用上述授权。 ( 请在以上相应括号内打“”或填上相应内容。保密学位论文 应是已经厦门大学保密委员会审定过的学位论文,未经厦门大学保密 委员会审定的学位论文均为公开学位论文。此声明栏不填写的,默认 为公开学位论文,均适用上述授权。) 声明人( 签名) :袭炳歇 砷7 年1 月2 多日 第一章绪论 第一章绪论 1 1 课题的研究背景及意义 1 1 1 高校教务管理系统的发展 教务管理系统的开发是为了满足信息化的要求,适应教学改革的需要,进一 步推动教育资源的建设,促进教育整体质量和办学效率的提高。随着高校教学改 革的深入和计算机技术的发展,相应的教务管理系统也在不断地变化。 早期的教务管理系统是单机版的,一般运行在p c 机上,采用d b a s e ,f o x p r o 等小型的d b m s ,系统的功能主要是对学生的学籍和成绩进行管理,设计比较简 单,而且系统相对封闭,不同机器上数据无法共享。系统的使用人员仅仅局限于 教务人员。 随着网络的出现和计算机硬件的发展,高校的信息化程度也在不断地提升, 校园网络建设已经成为信息化的基本要求。因此,基于校园网的教务管理系统成 为开发的重点。这个时期,c s 模型成为很多管理系统的主要开发模型。这时的 教务管理系统一般都采用c s 模型,最明显的特征是数据库由专用的服务器集中 管理,各个院系的教务秘书和教务处的工作人员通过客户端软件,借助校园网络 连接到数据库服务器上存取数据,在这种管理模式下,对于教务秘书和教务处而 言,数据得到了共享,提高了教学管理的效率和水平。 近年来,高校规模不断扩大,很多高校出现了多个校区,学生的人数也不断 增多,使得教务管理的逻辑也日趋复杂,c s 模型的管理系统逐渐暴露出其服务 器端负担过重、客户端维护困难的现象。同时高校教学管理的模式从学年制向学 分制转变,一般都要提供课程让学生自主选课,选课系统成为教务管理非常重要 的模块。而传统的基于c s 模型的系统已经无法满足这种要求。在这种情形下, 随着i n t e r n e t i n t r a n e t 的应用快速兴起和发展,特别是高校教学改革的深入, 网上管理和网上选课已经成为必然趋势。因此,b s 模式的教务管理系统获得青 睐,成为各高校管理系统的必然选择。b s 架构采用三层结构,即浏览器、应用 服务器和数据库服务器三者相分离,使系统业务逻辑和数据库分开存储,减轻了 教务管理系统的系统管理设计和性能优化研究 服务器的负重,用户只要通过浏览器就能访问系统,不再需要安装客户端软件。 因此,教务管理系统也不再是教务秘书和教务处管理人员的专用系统,所有的老 师和学生都能通过浏览器直接访问系统,快速获得所需要的信息,这就大大地提 高了教学管理水平,减轻了管理人员的负担,提高了教学的质量。 1 1 2 研究意义 教务管理是高校人才培养的核心工作。利用先进的信息技术手段和指导思想 提高教育管理水平,对提高人才的综合素质培养具有重大的影响。教务管理系统 是数字化校园极为重要的组成部分之一,是为了建设高校教务教学的数字化管 理,提高教务管理人员、工作人员以及各院系教学负责人的工作效率,并且与“数 字化校园”中的其它系统相衔接,共同实现统一的信息管理。教务管理功能涉及 到学生从入学到毕业的全过程管理,包括学籍管理、教学计划、开课计划、课程 报课、排课管理、选课管理、考试管理、成绩管理、实验管理、毕业设计、教学 质量监控等多个环节,适合学校教学管理部门对学生从入学到毕业离校的全过程 管理。一体化管理模式,可大大减少教务管理的手工劳动,为提高教务工作效率 和推进高校教学改革提供了重要的参考依据。 教务管理系统项目的功能充分体现了以人为本的教育方针,在教学管理的各 个环节上均以学生为中心,实现了自主选课和个性化培养思路。 同时,采用最新技术,基于浏览器n 务器( b s ) 的应用体系结构构建的网 络教务管理系统,使学校教学管理真正实现了远程办公、异地办公,可以满足学 校现在和未来对信息资源采集、存储、处理、组织、管理和利用的需求,将信息 资源实行集中管理和统一调度,实现了信息资源的高度集成与共享,能够为各级 管理部门提出准确、及时的相关信息和快捷、方便、科学的决策分析处理系统, 为信息交流、教学管理提供了一个高效快捷的电子平台,最终达到进一步提高各 级领导科学决策水平,提高各院系、各部门管理人员管理水平与办公效率,减轻 管理工作负担等目的。 第一章绪论 1 2 课题的来源和本文结构 1 2 1 课题来源 本课题来源于厦门大学教务处。厦门大学是一所跨海多校区的学校,分校区 和本部隔海相望。目前本科生有2 万多人,分布在两个校区。教职工的规模也有 5 0 0 0 人左右,学校规模的扩大也给教学管理带来一定的难度。因此,原来的教 务管理系统也逐渐显现出不适用性。同时,伴随着学校新一轮教学改革的深入进 行,新的教学管理理念的注入,原有系统的缺点更加明显。2 0 0 7 年初,厦门大 学教务处决定将先进的管理理念融入新的教务管理信息系统中。经过到全国几大 著名高校的调研,发现目前各高校的教务管理系统都有其自身的局限性,无法满 足厦门大学自身的管理需求,因此,学校决定由本校的计算机系教师自主研发一 套基于w e b 环境的、具有厦门大学特色的、符合厦门大学管理理念的教务管理系 统。 由于历史和现实的原因,原有系统的功能和使用范围都受到一定的限制,鉴 于此,建设基于w e b 的教务管理系统,对于资源合理配置和跨平台信息交换具有 很强的现实意义。 1 2 2 本文结构 本文共分成六章,第一章简要介绍了课题的研究背景、研究意义及课题的来 源,指出课题的主要创新点。第二章中,作者分析了当前流行的模式技术架构的 优点和不足并根据本系统的需求,确定了c s 和b s 混合架构的思路,采用基于 m v c 设计模式的w e b 开发,并用s t r u t s + h i b e r n a t e 技术作为具体实现方法。第 三章描述系统的需求说明和部分设计方法,阐述了后台数据库表的设计过程。第 四章着重介绍系统的具体实现情况,主要是作者参与的系统管理模块极其存储程 序的实现。第五章重点介绍了系统性能优化的方法和设计过程,详细介绍了本系 统运用的方法,存储程序和裸设备的运用对系统性能的提高最为明显。最后一章 总结了本系统的开发和使用情况,并对系统的创新点做了总结,同时也指出了系 统的不足之处,希望今后能继续改进和完善。 教务管理系统的系统管理设计和性能优化研究 1 3 课题的创新点 教务管理系统的创新点主要有下面三点: ( 1 ) 采用多种算法结合,同时利用本校教学资源的特殊性开发出新的排刻软 件,实现了自动排课功能,彻底解决了旧系统半手工半自动的排课模式。 ( 2 ) 选课管理实现新的管理理念,全校各院系的课程全部放开,实现全面选 课,并且本系本专业的必修课,可以让全校其它系专业的学生任选,当然人数会 自动控制,外系外专业学生一旦选中,即成为学生的选修课,课程类型自动转换, 并且个别课程学分也相应发生改变,这是全面选课的重要环节,系统予于实现。 ( 3 ) 选课系统性能的提高,通过调研发现,很多高校的选课系统,同时选课 人数达到上千以后,系统性能急剧下降,响应缓慢。本系统经过优化后,性能明 显改善。 1 4 本章小结 本章首先介绍了教务管理系统的发展情况和研究意义,然后介绍本课题的来 源以及系统需要实现的问题,还介绍了本文的结构安排情况,最后介绍了系统的 创新点。 第二章系统开发技术 第二章系统开发技术 2 1 模式技术架构的选择 c s 和b s 是当今世界开发模式技术架构的两大主流技术。目前,很多的软 件产品都是基于这两种技术架构上开发的。两种技术架构各有自己的优势和劣 势。教务管理系统架构的选择,主要从系统的效率、易用性、安全性、可维护性 及可靠性来考虑。以下对两种架构作具体说明并进行比较,然后根据厦门大学教 务管理系统的实际需求,确定最终的技术架构。 2 1 1c s 架构 c s 是建立在局域网的基础上,由客户机与服务器组成的二层结构系统模 式,其结构如图2 1 所示。c s 模式是客户机发出请求,服务器直接将结果返回 客户机的一种资源共享的工作方式。客户工作站的应用请求被送往数据库服务 器,数据库服务器接受请求,并把执行结果传回给客户端。在c s 模式中,由服 务器承担对数据库的全面管理,服务器是整个系统的控制中心,在服务器和客户 机上分别运行服务器程序和客户程序。 系统平台采用c s 架构的优点是很明显的。首先,由于c s 架构在客户端有 一套完整的应用程序,所以具有很强的交互性;第二,由于c s 架构是配对的点 对点的结构模式,通常采用的是适用于局域网、安全性较好的网络协议,因此 c s 架构能提供更为安全的存取模式;第三,c s 架构只有两层逻辑结构,其网 络通讯量较低,传输速度快;第四,c s 模式没有过多的占用网络资源。 但是单独采用c s 架构也存在着一定的缺陷,每个连上服务器的请求,都要 在服务器上产生一个新的服务器进程。如果请求终端的数量较多,服务器产生的 进程增多,造成服务器系统资源的枯竭或进程间的死锁,使得系统不稳定甚至崩 溃;另外,传统的c s 架构的软件需要针对不同的操作系统开发不同版本的软件, 由于产品的更新换代十分快,代价高和低效率已经不适应工作需要。一旦客户需 求发生变化,应用程序便要重新安装,不便于系统的维护。 教务管理系统的系统管理设计和性能优化研究 2 1 2b s 架构 b s 是基于i n t e r n e t i n t r a n e t 的结构模型,即前台客户端采用浏览器,中 间件服务器为w e b 服务器,后台为数据库服务器。此种结构由客户端在w e b 页面 发出请求至w e bs e r v e r ,w e bs e r v e r 接受客户端请求后,将这个请求转化为s q l 语法,并交给数据库服务器,数据库服务器得到请求后,验证其合法性,并进行 数据处理。最后w e b 服务器接收到数据库服务器的应答后,最终返回给客户端的 仍然是页面形式。这样客户端不直接和数据库服务器发生关系,保证了数据的安 全性。 b s 是随着i n t e r n e t 技术的兴起,对c s 结构的一种变化或者改进的结构 模式,是一种从传统的二层c s 模式发展起来的新的网络结构模式,其本质是三 层结构c s 模式。在这种结构下,用户界面完全通过w w w 浏览器实现,一部分事 务逻辑在客户端实现,但是主要事务逻辑在服务器端实现,形成所谓三层结构, 由客户端、数据库系统和实现客户端和数据库系统通信的中间件组成,如图2 2 所示。 b s 结构主要是利用了不断成熟的w w w 浏览器技术,结合浏览器的多种嵌入 式s c r i p t 语言( 如v b s c r i p t ,j a v a s c r i p t ) 和a c t i v e x 技术,用通用浏览器就实 现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全 新的软件系统构造技术。随着w i n d o w s 操作系统将浏览器技术嵌入其内部,这种 结构更成为当今应用软件的首选体系结构。显然b s 结构应用程序相对于传统的 c s 结构应用程序将是巨大的进步。随着计算机产业网络化的发展,w w w 正成为 第章系统开发技术 世界上最大的信息资源中心。利用w e b 技术,使用w e b 浏览器可以在非常友好的 界面下方便地进入互联网,在w e b 服务器上获取所需信息。但在传统的w e b 服务 器中,文本和其它多媒体信息都是以文件的形式进行存储和管理的,虽界面友好, 但它终究是一种静态的界面,不能满足对信息服务的动态性、实时性、交互性的 要求。数据库技术经过几十年的发展,其功能越来越强大,现在己有多种适用于 在网络平台上运行的数据库系统( 如o r a c l e ,s y b a s e ,s q l s e r v e r 等) ,这些大型 数据库系统都具有对大批量数据进行有效组织、管理快速查询、检索的能力,非 常适合于网络上运行。因此,将数据库技术与w e b 技术相结合开发动态的w e b 数据库应用系统是计算机网络技术与数据库技术应用发展的趋势。 客户浏览器 f t ph t 、 w e b 服务器 j ) p h t l 、 求结果 1r 应用程序 服务器 淆g q 求l jt 结s o 罘l ,一、, 、k 一一 数据库服务器 、l 图2 2 浏览器,服务器架构 教务管理系统的系统管理设计和性能优化研究 2 1 3o s 和b s 的区别 ( 1 ) 网络环境不同 c s 一般建立在专用和小范围里的局域网网络环境,局域网之间再通过专门 服务器提供连接和数据交换服务,它采用的是i n t r a n e t 技术,不适合于广域网 环境下使用。b s 建立在广域网之上的,它采用的是i n t r a n e t i n t e r n e t 技术, 不必是专门的局域网络环境,例如通过电话上网,租用设备均可。b s 在局域网 或广域网环境下都能使用,而且现有浏览器都支持s s l 等安全协议,很容易实现 客户端通信数据的加密,这在c s 模式中将花费极大的代价才可能做到,因此 b s 有比c s 更强的适应范围,一般客户端只需要有操作系统和浏览器就可以运 行。 ( 2 ) 对安全要求不同 c s 一般面向相对固定的用户群,对信息、安全的控制能力很强。一般安全 度比较高的信息服务采用c s 结构比较适宜。b s 可用于发布部分可公开信息, 由于是建立在广域网上,面向的是不可知的用户群,因此对安全的控制能力相对 弱。 ( 3 ) 软件重用性不同 c s 程序不可避免的整体性考虑导致构件的重用性不如在b s 模式下构件的 重用性好。b s 的多重结构,要求构件相对独立的功能,能够相对较好的重用。 系统维护是软件生存周期中较大的一笔开销,c s 程序应用逻辑很难重用, 通常应用逻辑的改变意味着客户端代码的重写,并需要更新所有客户机程序。所 以大规模部署使用c s 应用会带来很多的系统管理难题,例如每当系统作一个小 修改时,所有安装该系统的客户端都必须重新升级,增加了系统管理的难度。b s 由于采用面向对象技术代码,可重用性好,系统集中管理配置,客户端都是标准 的浏览器,所以大规模部署使用b s 应用不会引起系统管理难题。 第二章系统开发技术 ( 4 ) 运行性能不同 c s 结构采用的是线程技术,每当有一连接请求时,系统就将增加一个线程, 当客户的请求数量增多时,系统将消耗大量的资源并有可能导致系统崩溃,所以 c s 结构不适合于用户数量太多的情况。而b s 结构则不相同,它支持更多的客 户连接,可根据访问量动态配置w e b 服务器、应用服务器以保证系统性能。但是 c s 模式在逻辑上比b s 模式少一层结构,因此c s 模式的网络通讯量要低于1 3 s 模式。故对于相同的任务,c s 模式在速度上相对于b s 模式快,从而可以提高 用户的工作效率,减轻网络负担。 ( 5 ) 开发成本不同 采用c s 模式开发系统,在开发费用上较低,开发周期也比较短,而采用 b s 模式开发系统,在开发费用上相对较高,开发周期比较长,需要的投资比较 大。 总结起来,c s 模式和b s 模式各有优缺点,c s 模式相对来说通信速度比 较快、开发比较容易、成本较低、交互性强、可靠性高、事务处理能力强,遵守 的标准要求是相同的,网络安全性高。而b s 模式则是与平台无关、维护方便、 硬件成本低、有良好的扩充性。但是对于当今的技术发展来看,单纯用c s 模式 或b s 模式可能都不是最合理的方案,最可取的方案可能是将c s 模式和b s 模式相结合的一种方案。采用c s 模式和b s 模式相结合的数据库管理系统的体 系结构,可以实现二者的优势互补。鉴于此,厦门大学教务管理系统正是在广泛 调研的基础上,结合本校校区的分布特点( 跨海多校区) 和新的教学管理理念,充 分考虑系统需求和多用户的实际需要,采用c s 和b s 的混合架构。b s 架构是 必然的选择,是主要的实现架构,但是对于个别特殊的模块功能,则采用c s 架构。和其它高校的同类系统或者采用单一c s 架构或者单一b s 架构相比较, 本系统的模块之间采用混合架构,而且同一模块的不同功能之间也根据需求采用 混合架构。因此,本系统采用的混合架构模式在性能上更具优势。在系统中,将 部分专用模块( 如排课管理、考试管理等) 采用了c s 体系结构,而其它通用部分 ( 如选课、学籍管理、教师管理等) 采用b s 体系结构。并且,同一个模块的不同 功能之间也采用b s 和c s 相结合的混合架构模式。如排课管理模块,由于排课 教务管理系统的系统管理设计和性能优化研究 管理涉及课程门数多,教室多,时间冲突等诸多复杂条件,算法时间和空间复杂 度高。因此,在运行算法计算时,采用c s 架构,提高运算性能。排课完成后, 将排课结果写入数据库中,这时,管理人员、教师和学生要查询排课结果时,系 统采用b s 结构,这样,所有有权限的用户都可以通过浏览器来访问排课结果, 不受时间和空间的限制,极大地方便了广大用户的使用,也大大提高了系统的性 能。考场安排管理也采取类似的混合架构。 2 2 基于m v c 设计模型的w e b 开发模式 2 2 1w c 模型概述 m v c 英文即m o d e l v i e w c o n t r o l l e r ,即把一个应用的输入、处理、输出流 程按照m o d e l 、v i e w 、c o n t r o l l e r 的方式进行分离,这样一个应用被分成三个层 模型层、视图层、控制层。 视图( v i e w ) 代表用户交互界面,对于w e b 应用来说,可以概括为h t m l 界面, 但有可能为x h t m l 、x m l 和a p p l e t 。随着应用的复杂性和规模性,界面的处理也 变得具有挑战性。一个应用可能有很多不同的视图,m v c 设计模式对于视图的处 理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务 流程的处理。业务流程的处理交予模型( m o d e l ) 处理。比如一个订单的视图只接 受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制 和模型。 模型( m o d e l ) :就是业务流程状态的处理以及业务规则的制定。业务流程的 处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处 理结果。业务模型的设计可以说是m v c 最主要的核心。目前流行的e j b 模型就是 一个典型的应用例子,它从应用技术实现的角度对模型做了进一步的划分,以便 充分利用现有的组件,但它不能作为应用设计模型的框架。它仅仅告诉你按这种 模型设计就可以利用某些技术组件,从而减少了技术上的困难。对一个开发者来 说,就可以专注于业务模型的设计。m v c 设计模式告诉我们,把应用的模型按一 定的规则抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依 据。抽象与具体不能隔得太远,也不能太近。m v c 并没有提供模型的设计方法, 而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。我们可以 第二章系统开发技术 用对象编程来做比喻,m v c 定义了一个顶级类,告诉它的子类你只能做这些,但 没法限制你能做这些。这点对编程的开发人员非常重要。 业务模型还有一个很重要的模型那就是数据模型。数据模型主要指实体对象 的数据保存( 持续化) 。比如将一张订单保存到数据库,从数据库获取订单。我 们可以将这个模型单独列出,所有有关数据库的操作只限制在该模型中。 控制( c o n t r o l l e r ) 可以理解为从用户接收请求,将模型与视图匹配在一起, 共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一 个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。 控制层并不做任何的数据处理。例如,用户点击一个连接,控制层接受请求后,并 不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要 求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多 个模型。 模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用 户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都 应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通 知所有的视图,导致显示的更新。这实际上是一种模型的变化一传播机制。模型、 视图、控制器三者之间的关系和各自的主要功能,如图2 3 所示。 2 2 2m v c 的优点 图2 3m v c 功能示意图 ( 1 ) 可以为一个模型在运行时同时建立和使用多个视图。变化一传播机制可 教务管理系统的系统管理设计和性能优化研究 以确保所有相关的视图及时得到模型数据变化,从而使所有关联的视图和控制器 做到行为同步。 ( 2 ) 视图与控制器的可接插性,允许更换视图和控制器对象,而且可以根据 需求动态的打开和关闭、甚至在运行期间进行对象替换。 ( 3 ) 模型的可移植性。因为模型是独立于视图的,所以可以把一个模型独立 地移植到新的平台工作。需要做的只是在新平台上对视图和控制器进行新的修 改。 ( 4 ) 潜在的框架结构。可以基于此模型建立应用程序框架,不仅仅是用在设 计界面中。 2 3s t r u t s 框架实现m v c 模式 2 3 1s t r u t s 框架概述 s t r u t s 是a p a c h e 组织的一个项目,像其它的a p a c h e 组织的项目一样,它 也是一个开源项目。s t r u t s 框架是m v c 设计模式的一个具体实现,提供了对开 发m v c 系统的底层支持,它采用的主要技术是s e r v l e t ,j s p 和c u s t o mt a g l i b r a r y 。s t r u t s 框架是一种基于j a v a 的技术,w e b 应用程序开发人员通过 s t r u t s 框架即可充分利用面向对象设计,代码重用及“编写一次,到处运行 的优点。另外,s t r u t s 不仅是拥有自己的控制器,同时整合了其它的一些技术 来实现模型层和视图层,例如:在模型层,它可以很容易与的与数据库的访问技 术相组合,包括j d b c 技术和e j b 技术。在视图层,它能够与j s p 、x s l 等组件相 结合。所以从一定的意义上讲,采用s t r u t s 来实现基于m v c 的w e b 应用的开发, 可以根据具体的需求来选择设计的复杂程度,具有很好的扩展性。s t r u t s 的主 要优势功能如下: ( 1 ) s t r u t s 中包含一个控制器s e r v l e t ,用来控制用户的请求发送到相应的 a c t i o n 对象。 ( 2 ) 在j s p 页面中可以选用自定义标签库,并且在控制器s e r v l e t 中提供关 联支持,这样可以帮助开发人员方便快捷地创建交互式表单应用。 ( 3 ) s t r u t s 还提供了一系列实用对象:x m l 文件处理、通过j a v ar e f l e c t i o n a p i 自动处理j a v a b e a n s 属性、国际化的提示和消息。 第二章系统开发技术 2 3 2s t r u t s 核心组件 s t r u t s 是一组相互协作的类、s e r v l e t 和j s p 标记,它们组成了一个可重用 的m v c 模式。这个定义表示s t r u t s 是一个框架,而不是一个库,但同时s t r u t s 也包含了丰富的标记库和独立于该框架工作的实用程序类库。s t r u t s 通过一些 组件类来完成框架的功能,这些组件包括:a c t i o n s e r v l e t 、a c t i o n 、a c t i o n f o r m 、 a c t i o n f o r w a r d 、a c t i o n m a p p i n g 。 1 a c t i o n s e r v l e t a c t i o n s e r v l e t 继承自j a v a x s e r v l e t h t t p h t t p s e r v l e t 类,它在s t r u t s 中扮演的角色是控制器。它提供了一个中心位置来主要负责将h t t p 客户请求组 装后,根据配置文件指定的描述,转发到适当的处理器。另外,除了作为应用程 序的前端控制器外,a c t i o n s e r v l e t 实例还负责初始化和清除应用程序的资源。 2 a c t i o n 一个a c t i o n 类的角色,就像是客户请求动作和业务逻辑处理之间的适配器, 它作为应用程序响应用户请求的动作,将请求与业务逻辑分开。这样用户的请求 和a c t i o n 类之间可以有多个点对点的映射。a c t i o n 最为常用的方法是 e x e c u t e0 ,典型的a c t i o n 类一般要在e x e c u t e0 方法中实现下列逻辑: ( 1 ) 检查用户s e s s i o n 的当前状态。如果s e s s i o n 过期或者用户没有登录, 要将表示的页面跳转到用户登录页面。 ( 2 ) 检查用户输入的合法性。调用f o r mb e a n 实例的v a l i d a t e0 方法检查一 些字段的输入值是否恰当或合法。 ( 3 ) 执行业务操作。调用业务逻辑b e a n 的相应方法执行用户的业务请求。 ( 4 ) 更新服务器端的对象。将m o d e l 的状态改变通知给v i e w ,并返回请求页 面。 3 a c t i o n f o r m 一个应用系统的消息转移( 或者说状态转移) 的非持久性数据的存储,通常由 a c t i o n f o r mb e a n 来负责,它的主要功能是为a c t i o n 的操作提供与客户表单相 映射的数据。对于每一个客户的请求,一般要经历如下几个步骤: ( 1 ) 检查a c t i o n 的映射,确定配置文件中己经配置了对a c t i o n f o r m 的映射。 ( 2 ) 根据n a m e 属性查找a c t i o n f o r m 的信息。 教务管理系统的系统管理设计和性能优化研究 ( 3 ) 查找a c t i o n f o r m 的使用范围,确定在此范围下是否存在对应的f o r m b e a n 的实例。 ( 4 ) 假如在当前范围内,相应的f o r mb e a n 的实例己经存在,而且对当前的 请求来说是同一类型的话,就可以重用,否则,就要重新构建一个f o r m b e a n 的 实例。 ( 5 ) 调用f o r mb e a n 的r e s e t0 方法。 ( 6 ) 调用对应的s e t0 方法,对状态属性赋值。 ( 7 ) 如果v a l i d a t e d 属性值被设置为t r u e ,则调用f o r mb e a n 的v a l i d a t e0 方法。 ( 8 ) 如果v a l i d a t e ( ) 方法没有返回错误,控制器将a c t i o n f o r m 作为参数, 传给a c t i o n 实例的e x e c u t e ( ) 方法执行。 4 a c t i o n f o r w a r d 当a c ti o n 实例的e x e c u t e0 方法运行完毕后,控制器根据m a p p i n g 可以将 响应信息转到适当的地方,a c t i o n f o r w a r d 的主要功能就是对将要转向的视图的 地址的一个封装。转向的各种属性也可以在配置文件中设置,这样就大大提高了 软件的复用性和可维护性。 5 a c t i o n m a p p i n g a c t i o n m a p p i n g 以j a v a 类的形式封装了怎样将一个请求u r i 映射到与其对 应的a c t i o n 的一些信息。a c t i o n m a p p i n g 对象帮助进行框架内部的流程控制, 它们可以将请求u r i 映射到a c t i o n 类,并且将a c t i o n 类与a c t i o n f o r mb e a n 相关联。s t r u
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 离婚后房产分割与双方经济补偿协议范本
- 2025年药品追溯试题及答案
- 2025年特种设备安全管理考试试题及答案
- 2025年传染病报告管理培训试题及答案
- 2025年保安员考试全真模拟模拟题含答案详解AB卷
- 2025年科普活动之节能减排生态环保知识竞赛试题附答案
- 新版的委托销售代理合同
- 2025年介入放射学考试题(含参考答案)
- 部门文档管理制度
- 2025年国家保安员考试题库含答案ab卷
- (完整文本版)无人机航拍理论试题库完整
- 厂房降租减租申请书
- 植入式静脉给药装置(输液港)-中华护理学会团体标准2023
- 小学数学集体备课活动记录表范文12篇
- 铝合金门窗安装监理交底
- 胸腹水常规检测标准操作规程
- 基本公卫生服务的项目组织管理灵石武佳波课件
- 电工职业技能竞赛技术规程
- 机电设备调试协议书
- 芪参益气滴丸课件
- 短视频编辑与制作(第2版)PPT完整全套教学课件
评论
0/150
提交评论