基于SSH架构的在线考试系统的研究
2011-10-25赵涛
赵 涛
(1.江南大学物联网工程学院,江苏 无锡 214122;2.江苏信息职业技术学院,江苏 无锡 214153)
基于SSH架构的在线考试系统的研究
赵 涛1,2
(1.江南大学物联网工程学院,江苏 无锡 214122;2.江苏信息职业技术学院,江苏 无锡 214153)
随着计算机及网络技术的不断发展,使考试从传统的纸笔考试到基于互联网的在线考试成为现实。这种无纸化的“在线考试”是对传统考试的一种延伸与变革,加快了考核手段的现代化。文章提出了基于SSH架构的在线考试系统的设计方案。
SSH架构;在线考试;数据库;B/S
(一)引言
近年来国家加快改革教育体系,以教育为立国之本,建设一个高速发达的国家教育体系。在这个科教兴国战略的指导下,高校作为国家培养人才的重要基地,实现教育信息化、现代化、规范化是必然趋势,要实现教育现代化,首先要实现教学管理方法和管理手段的信息化和现代化,而考试是教学管理的关键环节。因此考试模式的信息化和现代化成了实现教育现代化的一个重要组成部分,Internet技术的发展给教育现代化提供了一个很好的契机,它使考试的技术手段和载体发生了革命性的变化,在线考试系统正是教育现代化和网络技术高速发展相结合一种必然发展趋势。与传统考试模式相比,在线考试系统具有无可比拟的优越性,它把教师和考务人员从繁重的命题、印卷、装订试卷、保密、监考、阅卷、登分等考务工作中解脱出来,使得考试趋于更客观、公正、高效。同时,在线考试系统也为教考分离、教学资源共享、科学评价教学效果、合理安排教学提供有利条件。
(二)功能分析
在线考试系统主要由两大部分组成:一是前端考试系统,二是后端管理系统,两个系统互相独立,前端考试系统负责从题库读取试卷,完成学生的在线考试。而后端管理系统则用于一系列管理控制。这两大部分均采用 B/S模式,整个系统的功能架构如图1所示。
图1 系统功能架构图
1.前端考试系统
(1)在线考试
学生输入自己的准考证号进入考试界面,计算机开始计时,系统在学生每答完一道题后自动保存答案。学生答题完成后点击交卷按钮完成整个考试,若考试时间结束时学生未完成所有试题的解答,则系统自动强迫交卷。
(2)考场恢复
在考试过程中,考场可能会出现各种突发情况,如死机、断电等,这些情况会中断学生的考试过程,这就要求考试系统具备考场恢复能力。在该系统中,学生每答完一道题,系统就把学生的答题情况(学生已做试题的答案和考试剩余时间)提交并记录到服务器端。当出现意外情况导致考试中断时,学生可以重新登录,考试系统从服务器端取回试卷和答题数据恢复考试现场,学生从断点处继续答题。
2.后端管理系统
该模块分系统管理和教师管理两部分。
(1)系统管理模块主要包括用户管理、权限管理。
1)用户管理
通过组织结构树,建立直观化的人员分类手段,与客户实际组织结构对应,以方便考试管理。同时还可以根据需要建立多种辅助树状分类,为管理员提供分类管理的自由度,使系统管理员可以轻松管理不同的角色,如教师和用户。
2)权限管理
利用不同的角色定义,决定用户是否允许进入某模块的权限。对于用户、题库、试卷、考试、成绩、公共信息的分类,通过设置查看、管理内容、管理目录等不同级别的角色,而决定不同类别的用户相应的操作权限。
(2)教师管理模块的主要功能则包括对学生信息管理、题库管理、试卷管理、评卷管理、成绩管理。
1)学生信息管理
教师对参加考试的学生姓名、性别、专业、班级、学号等信息的添加、删除和修改,以方便教师随时对参加考试学生的管理。
2)题库管理
实现试题分类、导入、导出、批量维护等功能,包括主观题和客观题。
3)试卷管理
采取手工出卷、自动出卷、随机出卷模式相结合。
4)评卷管理
对考试的结果进行评分管理,如果卷面存在客观题(如选择题、判断题等),系统自动评分;对于一些主观题(如问答题、案例分析题等),由指定的评卷人进行手工评分,再把评判分数输入系统。
5)成绩管理
为教师提供了一个手工修改学生考试成绩的手段。
(三)系统实现
1.系统方案
在深入学习面向对象开发技术、数据库技术、设计模式、重构等软件工程的思想和各种开源架构技术的基础上,通过比较当今流行的几种开发框架,并结合在线考试系统的实际需求,本系统采用当前比较流行的 B/S模式进行开发,三层的B/S体系结构具有许多传统C/S体系结构不具备的优点,而且在技术实现上采用 Struts+Spring+Hibernate三种主流框架相结合,整个系统框架结构清晰明了,大大缩短了开发周期和工作量,使后期的维护简单化,数据库采用了已经相当成熟而且灵活精简的MySQL,完全满足了学校考试数据方面的存储需求,在运行方面也降低了对硬件的要求。
2.实现技术
(1)C/S和B/S结构
C/S结构,即Client/Server(客户机/服务)结构。它由两部分构成:前端是客户机,即用户界面(Client)结合了表示业务逻辑。接受用户的请求,并向数据库服务提出请求,通常是一个PC机;后端是服务器,即数据管理(Server)将数据提交给客户端,客户端将数据进行计算并将结果呈现给用户。但是C/S模式开发成本较高,对客户端软硬件要求较高,尤其是软件的不断升级,对硬件要求不断提高,增加了整个系统的成本,客户端越来越臃肿,而且维护复杂,升级麻烦。如果应用程序要升级,必须到现场为客户机一一升级,每个客户机上的应用程序都需要维护。
B/S结构,即Browser/Server(浏览器/服务器)结构。B/S模式是基于Internet/Intranet的结构模型,即前台客户端采用浏览器,中间件为Web服务器,后台为数据库服务器,形成三层结构。在B/S模式下,客户机只需装上操作系统、网络协议软件、浏览器即可,而服务器则集中了所有应用软件的开发维护等工作。在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。而其余如数据请求、加工、结果返回以及动态网页生成、对数据库的访问和应用程序的执行等工作全部由Web Server完成。随着Windows将浏览器技术植入操作系统内部,这种结构已成为当今应用软件的首选体系结构。因此在线考试系统的开发选择B/S模式比较合适。
(2)SSH架构介绍
SSH(Struts+Spring+Hibernate)是目前主流的J2EE轻量级开发框架,提供对表示层、逻辑层、数据层之间的依赖性进行解耦和共通功能的扩展。该框架一方面能够继承Struts框架在表示层的优点,负责页面的请求和转发等;一方面在业务层发挥Spring框架的作用,由Spring容器管理机制接管业务逻辑;同时在持久层使用Hibernate,实现与DB的交互。这样形成一个非常清晰的框架,有利于开发人员将注意力集中到具体的业务逻辑的实现上,减少底层的开发工作。图2是Struts+Spring+Hibernate三种框架的组合架构图。
图2 Struts+Spring+Hibernate架构图
Struts的主要作用:负责为用户管理请求和响应;提供一个流程控制器(controller),代理调用业务逻辑和其它上层处理;处理从其它层抛出的异常;为显示提供一个数据模型;执行用户接口(UI)验证。
Spring关注提供一种方法管理你的业务对象:处理应用程序的业务逻辑和业务校验;管理事物;提供与其它层相互作用的接口;管理业务层级别的对象依赖;在表示层和持久层之间增加了一个灵活的机制,使得他们不直接联系在一起;通过揭示从表示层到业务层之间的上下文(Context)来得到业务逻辑(business services);管理程序的执行(从业务层到持久层)。
Hibernate是一种强大的可提供对象-关系持久化和查询服务的中间件,它可以使程序员依据面向对象的原理开发持久化类,实现对象之间的关联、继承、多态、组合、集合等。Hibernate提供了它特有的数据库查询语言HQL,这种查询语言屏蔽了不同数据库之间的差异,使我们可以编写统一的查询语句执行查询。不同于其他持久化解决方案的是Hibernate并没有把SQL的强大功能屏蔽掉,而是仍然兼容SQL,使得以往的关系技术依然有效。
(3)数据库的实现
由瑞典Tc.X.DataKonsult AB公司开发的MySQL是一种精巧的、多用户、多线程、跨平台的关系型数据库管理系统,同时也是一种具有客户和服务器体系结构的分布式数据库管理系统。由于它功能强大、灵活易用、快速稳定,而且具有丰富的应用程序接口(APl),所以在企业中的应用极为广泛。
MySQL具有以下特点:
1)完全多线程,适于多CPU使用。
2)多平台,包括Solaris、SunOS、AIX、Unix、Linux、Windows XP和NT均支持MySQL(各平台支持的功能不尽相同)。
3)非常灵活和安全的权限系统。
4)可处理大型数据表(超过5000万个记录),表的大小限于操作系统的文件大小:Linux为2G字节,Solaris为4G字节。
5)为WindowsXP提供JDBC接口,可通过Java与之相连。
在考试系统中采用MySQL作为服务器是从需求、成本的角度来考虑的。在实际应用中,考试系统是一个针对并发访问人数不会超过几百人的内部系统,如果使用Oracle和DB2之类的数据库会造成大量的系统资源闲置,即使是SQL Server也会浪费许多系统资源,使用MySQL可以完全满足系统的要求。
(四)结束语
以上通过对在线考试系统的研究,分析了系统应具备的核心功能及开发中用到的核心技术,系统的开发采用目前最流行的SSH架构思想,结合B/S模式以及灵活精简的MySQL数据库,使整个系统的性能和可维护性得到了显著的提升。随着计算机技术的不断发展,在线考试这种新兴的无纸化考试模式必将替代传统考试模式,实现管理、考试、阅卷完全自动化。
[1] Cay S.Horstmann,Gary Cornell.JAVA2 核心技术[M].北京:机械工业出版社,2006.
[2] 整合 Struts+Hibernate+Spring应用开发详解[M].北京:清华大学出版社,2007.
[3] 至简 SSH:精通 Java Web实用开发技术:Struts+Spring+Hibernate[M].北京:电子工业出版社,2009.
TP302
A
1008-1151(2011)03-0027-02
2010-12-27
赵涛(1979-),女,山西长治人,江南大学物联网工程学院计算机应用专业在读硕士生,江苏信息职业技术学院电子信息工程系应用电子教研室讲师,从事电子技术和计算机的教学与研究。