教学质量工程申报系统的设计与实现
摘要:本文是关于教学质量工程申报评审系统的设计与实现的一篇文献综述,先介绍项目的由来及其研究意思,然后介绍项目的国内外研究现状及难点以定位项目开发的一个大环境,明确当前同类项目的研究情况。接着本文简述开发管理信息系统的通用系统结构及本教学质量工程申报评审系统的结构,紧接着介绍系统开发中需要运用的关键技术。
关键词:教学质量,申报,管理信息系统,Spring,Spring MVC,Hibernate
一、引言
为全面落实提高我国高等教育人才培养质量,教育部启动了“高等学校教学质量与教学改革工程”[1]。“质量工程”是教育部全面贯彻落实党的十六大精神,实践“三个代表”重要思想,切实推进教育创新,深化教学改革,全面提高我国大学生的教育教学质量而采取的一项重要举措。它将有效解决高校教学改革中出现的新问题,进一步提高教学质量,加快培养以国际舞台为背景、参与未来竞争的现代化人才。
随着教育部教学质量与教学改革工程建设工作的展开,浙江省教育厅也设立了一批相应的教学质量与教学改革项目。在省级项目立项、国家级项目推荐、已经立项的各类项目的管理与检查等方面,目前浙江省教育厅高等教育处没有相应的电子化的项目管理、项目申报评审系统。为提高管理水平和效率,迫切需要建设项目管理的硬件平台和设计开发一套符合我省教学质量工程项目实际需要的软件系统。
二、研究意义
“浙江省教育厅教育质量与教学改革项目申报管理系统”是基于互联网的B/S体系结构系统。它充分利用互联网的硬件、软件资源,实现信息的实时发布、项目的网上申报、网上专家评审、项目成果网上展示。本系统的开发,是进一步推动浙江省信息化进程的一个重要举措。教育乃国家兴旺发达的关键,有一个迅速、敏捷的教学质量工程申报评审管理系统将有效的提高教学质量,本系统的开发无疑是向该方向迈进一大步。建设“浙江省教育厅教学质量与教学改革项目申报管理系统”将能有效地促进高等教育处的管理工作。
三、国内外研究现状及难点
在国外,教学质量管理已有90年的历史。以美国为代表的许多国家,如澳大利亚、英国、加拿大、比利时等国都相继采用学生评教来评价教师的教学效果。以美国为例,20世纪70年代初,美国教育委员会的一个调查结果表明,在被调查的669所高等学校中,大约有65%的高校在系一级机构中允许学生对教学进行评价,到80年代以后,学生评教不但成为大学教学评价的二个重要组成部分,且评价技术越来越现代化。目前,许多大学已经开发使用了基于网络的学生评教系统,如华盛顿大学的IAS(Instructional Assessment System)、亚利桑那大学的TCE(Teacher-Course Evaluation)、堪萨斯州立大学的IDEA(Individual Development and Educational Assessment)等[2],这些系统通过校园网络实施教学评价,取得了较好的效果。美国等国家已经有网上申报、网上专家评审的系统,基于网络的申报管理信息系统国外已进入实用研究阶段,大量的投入到各种项目的网上申报、网上评审的实际运用中,提高的项目申报申批的效率,取得了重大的经济效益。
在我国,学生评教的发展经历了定性评教为主和定量评教为主等阶段,比较规范的科学的学生评教活动应当说是伴随科学的高教评估活动的兴起而逐步形成并得到良好发展的。1985年之后开展的各种高教评估试点活动,都离不开对教学质量特别是课堂教学质量的评估,对于后者除了用统测的办法之外,另一个更为可行的办法就是学生评教[4]。我国的学生评教活动始于20世纪80年代初,特别是从1987年起,随着教师职称评定工作日益规范化,许多高校对教师的教学提出了越来越高的要求,学生评教活动开展得越来越普遍。2001年教育部4号文件——《关于加强高等学校本科教学工作提高教学质量的若干意见》出台后,学生评教在全国普通高校更是得到了广泛的开展,评教方式和技术手段也逐步得到了改进。各种基于网络的学生评教信息系统也取得了较大的进展。但相比于国外而言,我国的教学质量网上管理系统的开发还有一定的距离,而且在国家与省级之间也存在着一定的差距。国家教学质量与教学改革工程项目的立项都已经实现网上申报、网上评审,种类科技项目一般也都已经实行网上申报、网上评审。但浙江省高教处的项目管理工作基本上都是基于传统的纸质材料,已经严重落后于电子政务建设的步伐,管理很难全面地了解把握各类建设项目的立项、建设进展等情况。这样既不符合申报材料电子化的趋势,也限制了项目评审专家的选择、项目评审的公平、公正。因此,在国外已进入实用研究阶段时,国内还处于设想开发的初级阶段。
目前,该领域研究的难点主要有:基于互联网申报、评审的管理模式的研究,对于多层次、多级别的管理层,针对复杂多样的网络环境,提出一种适合于互联网的申报、评审管理模式;数据的安全性,对于数据的远程传输、备份及权限的设计、加密算法等;各种网上结构化、非结构化表格的处理与管理,面对不同级别、不同类型的项目立项报告书,格式转换、存储、传输、输出和归档管理,以及查询、修改、分类统计和输出;不同层次的机构组织的通讯、协调管理,有关项目需要主管部门先评审或者主管部门先排序,再上报省教育厅正式评审,而有关项目不需要主管部门先评审可直接报省科技厅评审,这样系统必然对不同项目进行不同级别的管理。
四、系统通用结构
本申报系统是一个典型的管理信息系统[5](Management Information System)简称MIS。它是1961年在美国由J.D.Gdllagher首先提出的,并确定其以计算机为主体,信息处理为中心的综合性系统,由计算机技术、网络通讯技术、信息处理技术、管理科学和人组成的一个综合系统,能提供信息以支持一个组织机构的运行、管理和决策功能。
对于典型的MIS系统结构通过主要有三类[6]:
工作站、文件服务器结构的MIS系统。这种结构中,应用程序逻辑完全是在客户工作站上执行,一台或多台中央服务器提供了对于计算资源的访问途径。文件服务器只是提供文件访问服务,没有真正意义上的数据库引擎。这样所有程序逻辑均在客户端完成,容易造成客户端负担过重,随着基于客户机、服务器结构MIS的出现,使工作站、文件服务器结构的第一代MIS系统渐渐淡出主流MIS阵营。
C/S结构的MIS系统,这种结构借助于网络将应用资源和应用任务合理的分配到CLINET、SERVER两端。具体的,客户端主要功能是负责人机交互,管理用户接口、执行客户端应用程序,采集数据以及向服务器提交应用请求,而服务器则执行后台程序,主要承担数据库存储系统的共享管理、通讯管理、文件管理以及对客户机的请求提供服务。
B/S结构的MIS系统,这种结构与C/S模式相比,它简化了客户端的程序,通常在这种模式结构的系统中,客户端只需要一个浏览器就可以了。这种结构将许多工作交于WEB服务器来做,客户端只通过浏览器请求WEB服务,WEB服务器再根据不同请求返回信息,这其中还需请求数据库服务器以获取正确数据。因此,这种结构模式的MIS系统,而有瘦客户的称号,这是于C/S结构的胖客户相对而言的。
上述三种的系统结构,除第一种逐渐淡出之外,第二种与第三种都有大量的运用。通常如果要求系统的响应要求快,又是用于局域网内部或机关企事业单位内部的系统,可以采用C/S结构模式。但如果用户不在同一局域网内,而是分散在各个不再的地方或处于不同的单位,在这种情况下B/S结构模式通常比较适合。有时,在开发一个系统时,完成C/S结构模式、B/S结构模式两个版本的程序。也有些系统采用混合的模式,一部分功能模块采用C/S结构开发,而另一部分模块采用B/S结构开发。
考虑到质量申报系统的需求,该系统开发应用B/S结构开发。其主要功能如图1所示。
图1 系统的主要功能模块
图中,各子系统的主要功能简介如下:
(1) 信息发布功能
主要是发布项目申报信息、项目指南、建设与改革动态等各类信息。
(2) 项目管理功能
主要进行项目分类、项目立项、项目建设过程管理、项目经费管理、项目结题验收管理、项目的统计分析和汇总管理。
(3) 项目的网上申报和网上评审功能
网上申报主要提供项目的网上申报功能,提供用户下载与填写申报书和上传申报书。网上评审主要结构专家对用户申报的项目进行评审。
(4) 项目成果展示交流功能
主要功能是展示项目的建设成果,并提供专家论坛、交流研讨等交互平台。为用户搭建一个沟通、交流、资源共享的平台。
五、系统实现技术方法研究
信息管理系统的实现技术多种多样,所以选择合理的技术来实现系统也是一个重大的环节,如果所选择的技术不当,将对系统的实现造成一定的麻烦,可能还会影响系统的性能。J2EE[7]是实现信息管理系统的一种有效技术,当前用J2EE实现B/S结构的信息管理系统非常的流行且技术也越来越趋于成熟,性能也得到了非常大的提升。轻量级的J2EE应用对于小中型项目的开发带来了许多便利之处,对比于经典J2EE的简化,在保留经典J2EE应用的框架、良好的可扩展性、可维护性的基础上,简化了J2EE应用的开发,降低了J2EE应用的部署成本,基本实现过程简明了。轻量级J2EE应用面向的是用户,是一种更实际的信息化平台架构。
基于Web的J2EE Framework在J2EE的世界内已是空前繁荣,几乎每隔一两个星期就会有新的MVC框架发布。目前比较好的框架中有老牌的Struts、WebWork;新兴的有Spring MVC[9]、Tapestry、JSF等。这些大多是著名团队的作品,另外还有一些边缘团队的作品,也相当出色,如Dinamica、VRaptor等。这些框架都提供了较好的层次分隔能力。在实现良好的MVC分隔的基础上,通过提供一些现成的辅助类库,同时也促进了生产效率的提高。而如何选择一个好的框架应用在项目中,将会对项目的效率与可重用生成重大影响。
实现轻量级J2EE的Spring、Hibernate框架是在各种流行框架之中脱颖而出,逐渐成为软件开发人才,特别是WEB程序开发人才喜爱的开发技术。
本系统的开发拟采用Spring(Spring MVC)、Hibernate框架。以下是框架的简单特征与其在系统开发中的作用。
5.1 Spring框架
服务层的著名开发框架Spring[16]本身就是基于MVC结构的,此外它还具有一些良好的特性,如IOC(或DI)和AOP。Inversion of Control(IOC) 控制反转,就是程序的主控权由应用程序代码本身转移到了框架或容器。Dependency Injection(DI)依赖注入,是一个更能描述其特点的名字,可以解释为容器在运行期将某种依赖关系注入到组件中。
Aspect-Oriented Programming(AOP)面向方面编程通过提供另一种考虑程序结构的方式来补充面向对象编程(OOP)。面向对象将应用程序分解成各个层次的对象,而AOP将程序分解成各个方面或者说关注点。这种方式能够模块化例如事务管理这种横切多个对象的关注点(这种关注点术语称作横切关注点)。AOP框架是Spring的一个关键组件,但Spring IOC容器(Bean Factory)和(Application Context)并不依赖于AOP ,这就意味着如果不需要使用AOP则可不用。AOP补充了Spring IOC ,以提供一个有效的中间件解决方案。[21]
Spring的精简项目的代码量方面做出了非常出色的工作,将大量需要重复书写的代码提取出来,进行切面编程。配置文件的灵活性也使项目的灵活性得到的加强,可以在不改变代码的情况下,而只有改变其中的配置文件实现整个系统的改变。
5.2 Spring框架的MVC实现[17]——Spring MVC
Spring的WEB框架是围绕DispatcherServlet来进行设计的。DispatcherServlet的作用是将请求分发到不同的处理器。图2.2展示了DispatcherServlet对请求的处理流程。
图2 Spring Web MVC处理请求工作流程
表1 WebApplicationContext中特殊的bean
名称
|
描述
|
控制器(Controller)
|
控制器实现的是MVC中Controller那部分
|
处理器映射(Handler mapping)
|
处理器映射包含预处理器(pre-processor),后处理器(post-processor)和控制器的列表,它们在符合某种条件时才被执行(例如符合控制器指定的URL)
|
视图解析器(View resolvers)
|
视图解析器 可以将视图名解析为对应的视图
|
本地化解析器(Locale resolver)
|
本地化解析器能够解析用户正在使用的本地化配置,以提供国际化视图
|
主题解析器(Theme resolver)
|
主题解析器能够解析你的web应用所使用的主题,以提供个性化的布局
|
上传文件解析器(multipart file resolver)
|
上传文件解析器提供HTML表彰文件上传功能
|
处理异常解析器(Handler exception resolver(s))
|
处理器异常解析器可以将异常对应到视图,或者实现更加复杂的异常处理代码
|
DispatcherServlet实际上是一个Servlet,它从HttpServlet继承而来。和其它Servlet一样,DispatcherServlet定义在web应用的web.xml文件中。Spring的Dispatcher有一组特殊的bean,如表2.1所示,用来处理请求和渲染相应的视图。
5.3 Hibernate框架
Hibernate[18]是一种Java语言下的对象关系映射解决方案,它是一种自由、开源的软件。它用来把对象模型表示的对象映射到基于SQL的关系模型结构中去,为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。Hibernate不仅管理Java类到数据库表的映射(包括从Java数据类型到SQL数据类型的映射),还提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用SQL和JDBC处理数据的时间。它的设计目标是将软件开发人员从大量相同的数据持久层相关编程工作中解放出来。无论是从设计草案还是从一个遗留数据库开始,开发人员都可以采用Hibernate。
下面从Hibernate的体系结构与Hibernate API两方面对Hibernate进行介绍。
(1) hibernate体系结构简介
图3 Hibernate体系结构图
图3各对象的说明如下:
SessionFactory:针对单个数据库映射关系经过编译后的内在镜像,是线程安全的,它是生成Session的工厂。
Session:表示应用程序与持久存储层之间交互操作的一个单纯种对象,此对象生存期很短。其隐藏了JDBC连接,也是Transaction的工厂。
持久对象及集合:带有持久化状态的、具有业务功能的单线程对象,此对象生存期很短。这些对象可能是普通的JavaBeans/POJO,唯一特殊的是他们正与(仅仅一个)Session相关联。一旦这个Session被关闭,这些对象就会脱离持久化状态,这样就可被应用程序的任何层自由使用。
瞬态(transient)和脱管(detached)的对象及其集合:那些目前没有与session关联的持久化类实例。他们可能是在被应用程序实例化后,尚未进行持久化的对象,也可能是因为实例化他们的Session已经被关闭而脱离持久化的对象。
事务Transaction:应用程序用来指定原子操作单元范围的对象,它是单线程了,生命周期很短。
Hibernate作为模型/数据访问层。它通过配置文件(hiberante.cfg.xml或hibernate.properties和映射文件(*.hbm.xml)把java对象或持久化对象(Persistent Obeject,PO)映射到数据库中的数据表,然后通过操作PO,对数据库中的表进行各种操作。
(2) Hibernate API简介
Hibernate API中的接口可分为以下几类:
(a) 提供访问数据库的操作的接口,包括Session、Transaction、Query接口。
(b) 用于配置Hibernate的接口,Configuration(如下在Spring应用中,将由Spring来完成Hibernate的相关配置)。
(c) 间接接口,使应用程序接受Hibernate内部发生的事件,并作出相应的回应,包括:Interceptor、LifeCycle、Validatable。
(d) 用户于扩展Hibernate功能的接口,如UserType、CompositeUserType接口。
Hibernate内部还封装了JDBC、JTA(Java Transaction API)和JNDI(Java Naming And Directory Interface)。其中,JDBC提供底层的数据访问操作,只要用户提供了相应的JDBC驱动程序,Hibernate可以访问任何一个数据库系统。JTA和JNDI使Hibernate能够和J2EE应用服务器集成。具体接口间的协作如图4所示。
图4 Hibernate核心接口
5.4 AJAX技术
AJAX[21]全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。主要包含了以下几点技术:基于web标准(standards-based presentation)XHTML+CSS的表示;使用DOM(Document Object Model)进行动态显示及交互;使用XML和XSLT进行数据交换及相关操作;使用XMLHttpRequest进行异步数据查询、检索;使用JavaScript[22]将所有的东西绑定在一起。类似于DHTML或LAMP,AJAX不是指一种单一的技术,而是有机地利用了一系列相关的技术。使用Ajax的最大优点,就是能在不更新整个页面的前提下维护数据,这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息[23]。
5.5 框架之间的有机整合
Spring与Hibernate的集成是通过配置完成的。通过一个个的配置文件实现两者框架之间的连接。
Hibernate与Spring的集成。Spring 为持久层的开发提供了强有力的支持,其中对于Hibernate 的支持包括HibernateTemplate , HibernateInterceptor 和Hibernate transaction manager 。Hibernate 的连接、事务管理等是由SessionFactory 开始的,SessionFactory底层的DataSource 可以使用Spring 的IOC 注入,然后将SessionFactory 注入到相应的对象中。
六、总结与展望
随着我国高等教育规模的不断扩大,教学质量的不断提高,研究项目的不断增多,信息化程不断增高,基于互联网的项目申报系统将日益受到重视[27]。传统的纸质项目申报评审方式面临着很大的挑战,迫切要求我们实现项目申报评审的科学化、现代化。对此,网上项目申报评审系统的开发日益迫切,项目的开发意义也越来越重要。
“浙江省教育厅教育质量与教学改革项目申报管理系统”是一个集项目信息发布、项目管理、项目网上申报评审管和项目成果展示为一体的信息化管理系统。为用户提供一个方便、快捷、透明、高效的项目申报评审环境。系统的实现将有效的提高项目主管部门、学校、老师的工作效率,带来巨大的经济效益。
参考文献:
[0] 司秀林. 高校老师教学质量综合评价模型及应用[D]. 辽宁:辽宁科技大学,2008.
[1] 曾振东.高校教学质量综合测试系统的分析与设计[D].广东:中山大学,2008.
[2] 袁程.基于Internet的科技项目申报与管理系统的研究与开发[D].合肥工业大学,2004.
[3] 洪庆根,陈铁柱.本科教学质量工程的构建与实践[J].高等工程教育研究,2006(04):117-119.
[4] 滕洋,张亚玲.一种新型管理信息系统的设计与实现[J].微计算机信息,2008,24(36):35-37.
[5] 张小艳,赵渭泳.高校科技项目申报评审系统的设计与实现[J].科技管理研究,2008(6):45-47.
[6] 汪明艳,吴忠.基于J2EE技术的供应商多层次模糊综合绩效评价系统的研究和设计[J],2008(12):145-147.
[7] 李志强.基于互联网通用科研申报评审系统的研究与开发[D].江苏:东南大学,2004.
[8] 刘军,戴金山.基于Spring MVC与iBatis的轻量级Web应用研究[J].计算机应用,2006,26(04):840-843.
[9] 陈香旨,王朝斌,牟式标.基于Struts+Spring+Hibernate架构的轻量级J2EE的研究与应用[J].中国西部科技,2008(21):22-24.
[10] Aleassanndro Marchetto,Filippo Ricca,Paolo Tonella.A case study-based comparison of web testing techniques applied to ajax web applications[J].International Journal on software Tools for Technology Transfer(STTT),2008,10(12):477-492.
[11] 驾超波,陈启买.基于工作流技术的高校课程申报申批系统设计方案[J].现代计算机(专业版),2008(08):66-68.
[12] 李向东.基于SHH框架的项目申报系统的研究与实现[J].科技情报开发与经济,2008(24):87-89.
[13] 潘立武,匡胜徽.Web的课题申报系统[J].电脑编程技巧与维护,2008(05):50-58.
[14] 于化龙,刘海峰,焦仁普.科研项目申报系统的设计与实现[J].计算机工程与设计,2007(16):45-47.
[15] 林信良.Spring技术手册[M].北京:电子工业出版社,2006.
[16] 李刚.Spring 2.0宝典[M].北京:电子工业出版社,2006.
[17] 孙卫琴.精通Hibernate:Java对象持久化技术详解[M].北京:电子工业出版社,2006.
[18] David Hopkins.Improving the Quality of Teaching and Learning[J].Support for Learning,1997(12):162-165.
[19] Roberto Latorre,Francisco Lopez,Antonio E.Martinez.Sharing of procompiled database statements in J2EE application[J].Software:Practice and Experience,2005(35):301-311.
[20] Ed Woychowsky.Introducing Ajax[EB/OL]. http://www.webreference.com/programming/ajax_creating_asynchrono us_web_pages/index.html,2009-1-13.
[21] 刘传文.Ajax技术在J2EE框架中的应用[J].重庆工商大学学报(自然科学版),2008,25(04):120-123.
[22] Nathaniel T.Schutta,Ryan Asleson.Pro Ajax and Java Frameworks[M].Apress,2006.
[23] 林上杰,林康司.JSP 2.0 技术手册[M].北京:电子工业出版社,2003.
[24] Huang,M.Y,Lin,Y.J,Xu,H.A framework for web-based product data management using J2EE.International Journal of Advanced Manufacturing Technology[J], 2004:825-847.
[25] 刘国庆.政府网上申报审批系统的研究与设计[D].广东:中山大学,2007.