第24卷第7期 2014年7月 计算机技术与发展 COMPUTER TECHNOLOGY AND DEVELOPMENT V0】.24 No.7 July 2014 基于MVC的教学资源管理系统的设计与实现 伍海波,匡静,朱承学,谢景杨 (湖南第一师范学院,湖南长沙410205) 摘一要:教学资源管理系统是资源建设的容器,是实现教育信息化的基础。针对传统教育资源平台存在的局限性,设计了 个基于MVC模式的教学资源管理系统。该系统是基于J2EE平台和MVC架构的应用开发,采用Struts的框架设计,并 且利用Mysql作为后台数据库。文中首先介绍了系统设计的主要技术,然后对系统进行了深人的功能模块设计,并给出了 系统主要功能模块实现的详细说明。在系统设计的基础上,运用面向对象的软件工程设计模式,进行了教学资源管理系 统的实现。 关键词:MVC;教学资源;资源管理 中图分类号:TP311 文献标识码:A 文章编号:1673—629X(2014)07—0214—04 doi:10.3969/j.issn.1673—629X.2014.07.053 Design and Implementation of Teaching Resources Management System Based on MVC WU Hai—bo,KUANG Jing,ZHU Cheng-xue,XIE Jing-yang (Hunan First Normal University,Changsha 410205,China) Abstract:Teaching resources management is a container of resources construction,and it is the foundation to realize education informa- tionization.Aiming at he shorttcomings of traditional teaching resources management system,it has designed teaching resources manage— ment system based on MVC mode.This system is based on J2EE platform and MVC structure application developing,adopting Struts rameworfk design,taking Mysql as database.Introduce the main technology of system design firstly,then cart ̄on the design of function module of he systtem,and give a detailed description of system function module realization.The foundation designed in the system up, make use ofthe software engineering design mode offacing to the object,carrying on the realization of the teaching reSOurCes manage— ment sysem.t Key words:MVC;teaching resources;esourrces management O 引 言 根据《教育信息化十年发展规划》It]和《湖南省教 育信息化发展规划》 的认真研究,建设“教育资源公 共服务平台”是加快推进教育信息化的一个关键步 骤 。很多高校采取购买软件公司的成品 ,但是这 些教育资源平台存在很多缺点: (1)适应性不强。一般购买的成品是针对大部分 源平台使用人数的增加以及资源种类的增加,以前的 老技术在速度和用户体验上等都无法和现代技术相 比 引。 (3)资源分类不科学。教育资源平台的使用群体 决定了该系统的功能以及资源的展现形式 。事先 需要调查使用群的大概用途以及使用方式,然后才能 决定平台的设计。 (4)扩展性和维护性不强。一个软件的扩展和维 高校的,它有很强的通用性,但是大多数的时候,软件 的功能存在冗余或缺陷 ]。 (2)软件更新缓慢,开发技术落后。购买的软件 一护是非常重要的,不能扩展和维护的软件,其生命周期 是很短的 。 般都开发了有很长一段时间了,当时所用的技术和 文中基于MVC模式,设计了一个教学资源管理 功能只能满足当时的需求。随着技术的更新、教育资 系统,将教学资源进行信息化、科学化的分类,构成有 组织的教学资源库,为使用者提供丰富的内容和优秀 网络出版时间:2014—04—24 收稿日期:2013—09—30 修回日期:2014—01—05 基金项目:湖南省大学生研究性学习和创新性实验计划项目(湘教通[2013]191号);湖南第一师范学院院级科研项目(XYS12N05) 作者简介:伍海波(1982一),男,硕士,讲师,研究方向为计算机网络与教育信息化建设。 网络出版地址:http://www.cnki.net/kcms/detail/61.1450.TP.20140424.0830.079.html 第7期 伍海波等:基于MVC的教学资源管理系统的设计与实现 ・215・ 教学资源。 1 系统设计主要技术 1.1 MVC简述 MVC是模型(Mode1)、视图(View)和控制器(Con- troller)的缩写,其目的是实现web系统的职能分 工 ]。其中Model层实现系统中的业务逻辑,通常可 以用JavaBean或EJB来实现;View层用于与用户的交 互,通常用JSP来实现;Contorller层是Model与View 之间沟通的桥梁,它可以分派用户的请求并选择恰当 的视图以便用于显示,同时它也可以解释用户的输入 并将它们映射为模型层可执行的操作。采用MVC模 式的管理使得代码分工明确,降低耦合度。每个层次 的实现都是独立的,不需关心其他层次的具体实现,只 需要关心数据的流动。 1.2 MVC在教学资源管理系统上的实现 基于MVC模式的教学资源管理系统采用Hibe ̄ nate、Spring、Sturts2、JavaScript为核心技术来实现MVC 的模式¨ 。Hibernate相当于MVC中的Model层。Hi— bernate是一个开放源代码的对象关系映射框架,可以 应用在任何使用JDBC的场合,既可以在Java的客户 端程序使用,也可以在Servlet/JSP的Web应用中使 用,最具革命意义的是,Hibernate可以在应用EJB的 J2EE架构中取代CMP,完成数据持久化的重任。 Spring既相当于MVC中的Controller层,也管理着Hi— bemate和Struts2,使得三个框架合并为一。Spring的 应用使得复杂的应用变得简单,提高项目的可测性,同 时大大地降低了耦合度 。Struts2以Webwork为核 心,采用拦截器的机制来处理用户的请求 。通过 Struts2来进行View层和后台逻辑的数据交互。这样 的设计也使得业务逻辑控制器能够与ServletAPI完全 脱离开。JavaScript是一种原型化继承的面向对象的 动态类型的客户端脚本语言,在基于MVC模式的教学 资源管理系统中,JavaSeript加上简单的html和css3实 现了简单美观但是用户体验非常好的界面设计。 1.3基础教育资源管理系统在MVC模式上的技术 优化 MVC模式只是搭起了一个项目的骨架,要让基于 MVC模式的教学资源管理系统变成一个有血有肉的 项目,还需要更多辅助材料。为了提高系统的性能,做 了以下的优化: (1)在数据库方面,利用存储过程、触发器、函数 来处理复杂的、获取数据速度慢的逻辑。 存储过程、触发器、函数是一组为了完成特定功能 的SQL语句集,经编译后存储在数据库中,用户通过 指定存储过程的名字来执行它。它的主要优点是提高 sq1的执行速度,从而提高整个系统的速度,让用户体 验更加完善。 (2)在后台逻辑中,Struts2、Spring、Hibernate全部 采用的是注解(annotation)零配置 。这样做的好处 是使得代码简洁,易于维护和扩展。 (3)抽象编程,通过抽象的方法来减少编程工作 量或有效地减轻编程难度。每个管理项目都会有大量 的增删改查操作。如果在每个需要的类中都写一段增 删改查的代码,就会存在大量冗余的代码 。冗余的 代码修改起来非常麻烦。基于MVC模式的教学资源 管理系统采用的解决办法是通过反射机制和泛型来抽 象增删改查的方法,所有需要简单的增删改查的类都 只需要继承该类。 (4)在前端技术中,该系统采用Ajax技术来提高 用户体验。Ajax是一种支持异步请求的技术¨ ,无需 刷新就能更新界面上的部分数据。 2系统概要设计 2.1系统功能模块图 根据教学资源管理系统的应用需求,文中设计的 系统分为系统管理、资源管理和专题管理三部分,其功 能模块图如图1所示。 教学资源管理系统 图1 教学资源管理系统的功能模块图 2.2 系统主要功能模块的设计 2.2.1系统管理模块 由于该系统的用户身份不是唯一确定的,并且在 将来还有增加以及功能要求方面的改变,所以采取用 户,权限,角色,功能和菜单四层管理。其中用户管理 的功能有增加、修改、删除、查看和挂接角色,给用户挂 接什么样的角色就决定了该用户具有的功能;权限管 理的功能有添加、删除和查看。权限管理实际上是菜 单功能的挂接管理,给菜单挂接功能,自动生成权限。 菜单解除功能的挂接就是删除权限,查看权限就是查 看菜单挂接的功能,只是展现的形式更加友好;角色管 ・216・ 计算机技术与发展 第24卷 理的功能有增加、修改、删除、查看和挂接权限,给该角 色挂接了一个或多个权限;功能管理的功能有添加、删 除、修改和查看。功能管理定义系统有哪些功能,比如 接和下载资源。增加专题主要是添加专题名称和专题 简介。更新专题可以修改专题简介和名称,以及取消 挂接资源和增加挂接资源。 增加、删除和挂接等;菜单管理的功能有添加、修改、删 除和查看。功能管理和菜单管理以及它们之间的挂接 都是由开发人员事先设计好,对用户是透明的,这样设 计的好处在于方便以后系统的扩展。 2.2.2资源管理模块 3系统详细设计 由系统的概要设计可知,系统分为三大模块,每个 模块又都有相应的功能需求,具体分为系统管理类、资 源管理类和专题管理类。 3.1 系统管理类图设计 通过对概要设计的分析,确定系统管理有以下设 计类:User、Role、Menu、User—Role、Role—Menu、Func. tion、Menu—资源的分类分为年级、学科、课程和科目,资源管 理分为年级管理、学科管理、课程管理、类别管理和资 源管理。其中年级管理的功能有增加、删除、修改和查 看。这里的年级的含义是广义的,除了定义年级,还可 以定义其他与年级同一层次的名称,比如“一年级”、 “学前教育”等;学科管理的功能有增加、删除、修改和 查看。这里的学科也是广义的,与学科同一层次的都 是学科,比如“语文”、“数学”等;课程管理的功能有增 加、删除、修改和查看。课程是指一个学科下面的分 Function和Parametero其中User是用户 类,即真实用户的抽象类,详细地记录该用户的信息; Role是角色类,即现实身份的抽象类,比如教师、学生; UserRole是用户角色挂接类,体现角色和用户的关系 _类,一个用户可以有多个角色,一个角色可以属于多个 用户,体现了用户和角色的多对多的关系;Menu是菜 单类,记录该系统的所有功能链接;Role—Menu是角色 菜单挂接类,记录一个角色的所有菜单,拥有一个菜 类,比如“第一课”、“第一章”、“第一节”,新增课程时 要选择该课程的年级和学科,也就意味着把课程挂接 到了年级学科下面;类别管理的功能有增加、删除、修 单,说明该角色具有使用该功能的权限;Function是功 能类,定义该系统的功能,便于后期的维护;Menu— 改和查看,比如“课外辅导材料”、“听力朗读”等,每个 资源的类别并不是唯一的;资源管理的功能有上传、下 载、修改和挂接类别,资源呈树形显示。在上传资源之 前应先通过年级和学科选择课程,然后再上传资源,此 时的资源就已经确定了年级、学科和课程,最后给资源 挂接一个或者多个类别。 2.2.3专题管理模块 Function是菜单功能挂接类,体现菜单和功能的关系; Parameter是系统参数类,用于系统的开发过程。 系统管理设计类图如图2所示,其中各个类中的 数据操作方法和部分数据类型已经省略。 3.2资源管理和专题管理类图设计 通过对概要设计的分析,确定资源管理和专题管 理有以下设计类:Resource、Categ0叭ResourceCateg0一 —专题管理实现的功能是增加、删除、更新、查看、挂 user Role Role Menu MenuFunction —Parameter ID:int UserID:int RoleID:int ID:int RoleID:int MenuID:int ID:int MenuID:int FunctionID:int ID:int Name:char Type:char ●●● ●●● ●●- ●●● ●●● ●●● l l l User Role Menu Function ID:int UserName:char Password:char ID:im Name:char ID:int ParentID:int ID:int Natne:char Remark:char 图2 系统管理类图 第7期 —伍海波等:基于MVC的教学资源管理系统的设计与实现 ・217・ ry、Grade、Course、ResourceComment、Subject、Topic和 Topic—评价类,用户对资源的评价;Subject是科目类,资源的 所属科目;Topic是专题类,记录专题的各种属性;Top- ic—Resource。其中Resource是资源类,记录资源的 各种属性;Category是类别类,即资源的类别,例如:朗 读、书法等;Resource—Category是资源类别挂接类,一 个资源可以属于多个类别,一个类别可以包含多个资 源;Grade是年级类,即现实年级的抽象类;Course是课 Resource是专题资源挂接类,一个专题可以有多个 资源,一个资源可以属于多个专题。 资源管理和专题管理设计类图如图3所示,其中 各个类中的数据操作方法和部分数据类型已经省略。 程类,即现实课程的抽象类;Resource—Comment是资源 ResourceCategory _Topic-Resourcc ID:int ResourceID:int CategoryID:int ID:int TooicID:int ResourceID:int Category Resource Topic ID:int Name:chDI" ID:int Name:char ID:int Name:char Remark:chat" CourselD:int Remark:char 个t Grade Course t千 Subject Resource_Comment ID:int Name:chaT ID:int NDITIe:char ID:int Name:char ID:int ResourceID:int ParentID:int 图3 资源管理和专题管理类图 [3] 邢丽刃,徐博.基于云计算的网络教学资源平台建设研 4结束语 该系统是专门针对湖南第一师范学院教学资源管 究[J].武汉大学学报(理学版),2012,51(S1):159—161. [4]柴阳丽.国内Web 2.0教育应用研究综述[J].中国电化教 育,2010(9):115—119. [5]余明洪,杨红兵.教学资源管理系统的研究与设计[J].农 业网络信息,2011(7):130—132. 理而研究开发的教学资源管理系统。通过借鉴目前国 内外主流的教学资源管理系统的设计思路,采用先进 的J2EE技术体系架构,利用微软MySql数据库作为资 源管理后台,以及基于Struts和Hibernate的多层体系 结构,实现了基于MVC模式的教学资源管理系统,使 用Stutrs框架实现表示层,Hibernate框架实现持久层, [6] 李 莉,赵秋阳,张贺亮,等.基于分布式技术的网络教学 资源平台的设计[J].计算机技术与发展,2011,21(3):72 —75. [7] 王风琦.如何做好高校网络教学资源建设[J].中国现代教 育装备,2012(3):39—41. 这样既能使系统高效运行,又使得系统的可维护性和 扩展性得以提高。 参考文献: [I] 国家中长期教育改革和发展规划纲要(2010—2020年) [EB/OL].2010—07—29.http://www.gov.en/jrzg/2010— 07/29/content1667143.hun. —.[8] 方顾.一种基于教育城域网的简易分布式教育资源库的 架构思想[J].现代教育技术,2009,19(13):229—231. [9] 司飙.MVC模式下的考试系统建模研究[J].计算机科 学,2013,40(6A):403—406. [10]Ren Yongchang,Jiang Deyi,Xing Tao,et a1.Research on soft— ware development platform based on SSH framework structure [2]湖南省教育信息化发展规划(2011—2015年)[EB/OL]. 201 1.http://www.gov.hnedu.cn/show/85.972.htm1. [J].Pmcedia Engineering,2011,15(10):3078—3082. (下转第222页) ・222・ 计算机技术与发展 第24卷 统。以工商外勤行政执法巡查系统为例,一线执勤人 员首先登录到洛阳市工商局的手机WAP网站获取交 换密钥 ,网站服务器端收到登录消息后工作流程如 图6所示。 4)便捷高效性。系统的定时发送短信和邮件发 出后的短信提醒功能大大减轻了工作人员的工作量, 提高了工作效率。 参考文献: [1] 王筠.基于无线网络的电力企业移动办公平台的设计和 实现[J].价值工程,2008,27(5):99—102. [2] 路云志.基于移动Web服务的网络管理系统设计与实现 [D].I乇沙:国防科技大学,2007. [3]汪勇,王备战.基于Web Service的数据交换平台解决方 案[J].微处理机,2007,28(4):120—122. [4]刘震宇,张素庆.王文杰.基于Web Service的MAS的集成 系统的设计与实现[J].计算机工程,2006,32(21):127— 129. [5]李菲,张新家,袁林.基于Web Services的群组数据交 换系统的研究与实现[J].计算机技术与发展,011,221 (12):186-190. [6] 王丽芹,李剑锋,李聚波.基于MAS与Web服务的网络化 集成制造技术研究[J].工具技术,2009,43(9):45—48. [7] Amer—Yahia S,Kotidis Y.A Web—services architecture for ef- ifcient XML data exchange[C]//Proceedings of the 20th in— ternational conference on data engineeirng.[S.1.]:IEEE, 图6 Web Service安全处理流程图 2004:523—534. [8]W3C Org.Web Services Description Language(WSDL)Ver- 3结束语 按照该文研究成果开发的基于无线网络的工商移 sion 2.0[S/OL].2007.http://www.w3.org. [9]Alonso G,Casati F,Kuno H,et a1.Web services:concepts,ar- 动综合行政管理系统已经应用到洛阳工商行政管理局 的《移动工商管理综合业务系统》中。实践证明此次 开发的系统具有很好的稳定性、安全性、方便性;同时 具有开放性、灵活性与可扩展性等特点: chiteetures and applications[M].[S.1.]:Springer-Vedag, 2004. [1O]苏[11]王伟,孙磊,徐开勇.基于XML安全的移动Web Serv- ices高效实现[J].计算机工程,2009,35(3):176—178. 韬.Web Service安全模型的设计与实现[J].职业时 空,2007,3(o4s):49-50. 1)开发过程的高效性。实现了松耦合方式的跨 企业的信息集成,企业之间信息交互更加简单和标准 化,无需知道内部细节; 2)高扩展性。系统功能增加和修改后,通过Web [12]颜廷良.基于XML消息的安全数据交换平台研究与应用 [J].计算机技术与发展,2013,23(2):173—176. [13]Siddiqui B.Exploring XML eneryption[EB/OL].2002.ht- tp://www.ibm.com/developerworks/xml/library/x—en・ crypt/. Service技术可以快速生成移动办公新业务,企业将来 有新的应用也可以很快地集成; 3)支持移动办公终端与其他办公终端(如桌面办 公终端)协同办公; [14]信息技术安全技术公钥基础设施在线证书状态协议 [S].GB/T 19713—2005,2005. (上接第217页) [11]Walkthrough:creating a basic MVC project wiht unit tests in visual studio[EB/OL].[2008—10一l5].http://quickstarts. asp.net/previews/mvc/mvc—『l3]Althammer E,Pree W.Design and implementation f oa MVC- based architecture for ecommerce applications I EB/OL]. 『2006—08—05].http://citeseer.ist.psu.edu/443079.htm1. CreateMvcPmjectWalkthrough. [14]李娜.基于.NET技术的教学资源管理系统的设计与实 hun. 现[D].成都:电子科技大学,2012. [12]Liu Y ̄jun,Kang ̄anchu,Lu Weifeng.Overview of model— driven architecture[J].Computer Science,2006,33(3):224— 228. [15]楮法政,周峰,孙更新.Ajax开发技术原理与实践教程 [M].北京:电子工业出版社,2007.