APP下载

通用在线考试系统研究与开发

2016-05-17刘淳吴名星

长沙民政职业技术学院学报 2016年3期
关键词:题库试卷试题

刘淳 吴名星

(长沙民政职业技术学院,湖南长沙410004)

通用在线考试系统研究与开发

刘淳 吴名星

(长沙民政职业技术学院,湖南长沙410004)

随着高等教育的快速发展及校园网络的完善,高校教学管理已基本实现了信息化与网络化管理模式,但大部分高校的课程考试还是沿用过去的纸质考试方式,考试网络化、信息化已成为很多高校教师的迫切需求。文中对高校通用在线考试系统业务流程、功能需求、应用程序体系结构及设计方法等进行了全面阐述。

教学管理;考试软件;在线考试

1.通用在线考试系统概述

为了适应教育信息化发展的需要,近几年在教育部的大力倡导和支持下,所有高等院校都在进行网络化课程资源建设,其中包括课程试题库建设,但与试题库对应的在线考试系统并不多,虽然有些开源的在线考试系统,但大多存在一些问题,如并发性差、使用不方便、存在安全隐患等。

本研究开发的通用在线考试系统是专门针对高校课程管理、考试管理、成绩管理的教务管理子系统。为高校建立起高效、灵活、安全的考试管理体系。

通用在线考试系统包括角色与权限管理、基础数据管理(部门、教师、学生)、课程管理、题库管理、考试策略管理、考试计划管理、考试管理、监考管理、阅卷管理、成绩管理等十几个主要模块。各模块均以课程为中心,课程采用主讲教师负责制,每个主讲教师可以创建自己的课程和题库,题库与试卷采用DES的ECB(电子密码本模式)加密技术,以保证题库和试卷的安全与保密。教师可以用自己建设的题库组织课程考试,也可以授权给其他教师(课程组成员)组织相关考试,学校管理员可以使用教师题库组织全校性考试,这样既实现了题库的私有化与安全管理,又实现了数据的高度共享。

2.用户需求分析

2.1 项目目标

从总体上考虑,系统应该实现下列功能:对管理员来说,包括教师和考生用户管理,角色授权管理、部门管理等。对教师来说,包括题库建设、制订考试计划、随机产生试卷、在线阅卷,统计成绩等。对学生来说,在线答卷,提交试卷、查看成绩。系统能够提供友好的用户界面,使各类用户的工作量最大限度地减少;系统具有良好的运行效率;系统要具有一定的安全、保密特性;系统应有容错功能。根据对20几家高职院校的调查,系统并发度最小要在2000以上,即一台服务器能同时容纳2000人以上的考试。

2.1 功能需求

(1)管理员可添加和维护用户数据,并对不同的用户授予不同的系统功能权限,管理员还可以根据用户模板,批量导入考生数据。

(2)管理员或教师可以创建和维护课程信息。

(3)管理员可以对系统的数据进行恢复和备份。

(4)管理员可以查看和维护系统的操作日志。

(5)教师可以根据课程创建题库,并对试题库进行维护;还可以根据试题模板批量导入试题。

(6)教师可以根据考试计划创建课程考试,并根据试题库中的试题进行组卷。

(7)组卷方式采用随机组卷,并提供两种组卷模式:同批不同题和同批同题。同批不同题,即同一考试批次(对应一个考试计划)的考生都是从题库中随机抽到指定数据的试题。同批同题,为了体现在线考试的绝对公平,也可以采用同批同题的组卷模式,该模式是从试题库中随机抽取一套试卷,然后将该试卷再次打乱试题顺序和选项顺序分发给不同考生。采用同批同题的组卷模式时,每位考生的试题相同,但试题顺序和选择题的选项顺序不同。

(8)在考试结束后,对于客观题,系统应自动评分,对于主观题,可以分配给教师在线评阅。

(9)评阅结束后,教师可以导出考试的成绩。

(10)在考试时间内,考生可以登录系统,参加考试,在考试过程中,对于有疑问的试题,可以进行标记;考试过程中,如果出现考试意外,应能重新登录系统,继续考试,并且原来已经做过的试卷有效。

(11)在成绩公布后,学生可以登录系统查看成绩。

(12)在平时,教师可以根据课程进度从试题库中抽取试题设置一些练习,由学生自由训练。

(13)所有用户,在登录系统后可以对个人信息进行维护修改。

根据需求,在线考试系统结构如图1:

图1 在线考试系统功能模块

3.系统体系结构设计

针对在线考试系统在网络化集成和跨平台系统开发与维护等特殊要求,本文提出一种六层B/S架构(图2)。该架构采用Java和数据库连接池技术,将传统三层B/S结构的第二层 (服务器端)划分为表示层、逻辑控制层、业务层和数据库访问层。

图2 在线考试系统体系结构

在线考试系统的服务请求及响应实现过程为:客户端的浏览器通过超文本链接标记语言 (Hyper Text Markup Language,HTML)向应用服务器发出请求;服务器端业务逻辑控制层中的Servlet对请求进行分派,调用业务层的JavaBean,JavaBean组件根据业务逻辑细则调用数据库访问层的Java Bean进行数据库访问处理,数据访问层从数据连接池中取出一个数据库连接对象,使用Java数据库连接(Java DataBase Connectivity, JDBC)技术访问数据库取得所需数据,最后Servlet将调用业务层的结果生成JSP或Json串,页面对获得的数据进行格式化,形成最终HTML页面并发往客户端,完成对该次服务请求的响应。

4 、系统设计

4.1 系统设计原则

(1)标准性原则:所有数据的定义按教育部《教育管理信息化标准》。

(2)保证数据的完整性与一致性:基于网络的应用系统,数据的完整性和一致性特别重要,在数据库设计中,严格设计相关字段的参照完成性及当用户数据违背完整性规则时应采取的措施;DBMS不能实现的完整性要求由触发器实现。

(3)易操作性原则:系统易于操作、更新、管理,并能满足各层次用户的使用要求。客户端程序尽量采用向导操作方式。

(4)可扩充性原则:能满足系统需求变化的要求;系统的结构设计应考虑到功能扩充;能适应技术更新(如软、硬件升级等)的要求。还要考虑与学院其他系统的集成。

(5)成熟性原则:操作系统采用Windows 2008 Server,数据库采用微软的SQL Server2008或MySQL,开发工具采用Eclipse和Sun公司的Java开发平台。

(6)保证系统的响应速度:基于网络的程序设计,系统的响应速度和能同时响应的用户数量是设计成败的关键。选择数据库服务器和WEB服务器时要充分考虑数据的存储量、用户对响应速度的要求及同时使用系统的最大用户数量等因素。此外,设计中还要尽量回避一次从网络中传输大量的数据,同时,在访问数据库时,要尽可能对SQL语句进行优化,如多表查询时能用子查询完成的功能不要用连接查询。

4.2 关键技术实现

在线考试系统设计需要突破两个关键问题,一是随机抽题的快速响应,二是考试时的并发问题。(1)随机抽题算法:随机抽题算法可以在WEB服务器端实现也可以在数据库端实现。研究发现,在WEB服务器端实现,算法相对简单,只需要将试题加载到java的集合对象中,然后将集合中元素顺序打乱(随机排序),再按组卷策略的相关参数从集合中抽取一套试卷,最后将生成的每套试卷再写回到数据库。该算法因为利用缓存技术,试题量大、考生人数多时,对WEB服务器的内存要求大,对于学院现有服务器在不提高硬件配置的条件下,响应速度很慢。而且因为要反复批量写数据库操作,并发度也很低。在ThinkServer RD630中,主机服务器内存8GB,CPU为Xeon E5-2620 2.00Hz虚拟机条件下,测试发现能同时进行登录的人数为200人左右。在开发机器上进行预发试卷测试,预发40份试卷需要近40秒。如要同时预发N份试卷,抽题算法Java实现的逻辑结构图如图3。

图3 抽题算法Java实现逻辑图

随机抽题算法数据库端实现,由于随机抽题算法在WEB服务器端实现速度较慢,本研究采用数据库端的存储过程实现。数据端编程相对Java编程要复杂很多,因为在SQL SERVER中,并不支持集合和数组这种常用数据类型。但是可以巧妙利用查询和游标实现类似Java中的集合操作。由于存储过的优势,在数据库端实现的随机抽题算法比用java实现的算法快很多。测试发现,用数据库端实现的随机抽题算法,同时预发500份试卷,用时不到20秒。如要同时预发N份试卷,抽题算法存储过程实现的逻辑结构图如图4。

图4 抽题算法存储过程实现的逻辑结构图

(2)提高考试时并发度:在学院现有硬件和软件(tomcat+MySQL)条件下,要实现2000人以上同时考试,必需在系统设计和参数配置进行最大限度的优化。本系统设计主要从以下几个方面进行优化:①提供预发试卷功能,教师或管理员可以在考试前预先生成N份试卷,考生登录成功时,直接从数据库读取试卷,这样可以减少大量考生登录时生成试卷的开销。②登录验证和读取试卷用存储过程一次实现,这样可以减少数据库的连接次数,并提高数据库的执行效率。③对连接池参数进行合理配置,连接池的最大连接数并不是越大越好,而是有一个临界值,当到达临界值时,并发度和响应速度都会急剧下降,这个临界值受系统内存、具体DBMS的processes参数和操作系统连接数等多因素影响。具体多大好,要在特定软、硬件条件下测试得到。

5 结束语

本系统在设计上,根据在线考试的特点采用了六层B/S架构模式来实现,通过代码优化及对TOMCAT线程池和数据库连接池的合理配置,系统可以同时容纳3000以上人次的考试。另外,为方便学生和教师进行相关信息查询,本系统还开发了基于手机的WEB应用,学生可以在手机上查询考试信息(考试时间、地点等)及考试成绩等。教师可以通过手机查询监考信息(监考时间、地点等),还可以通过手机进行在线阅卷。经长沙民政职业技术学院试用,系统的功能、稳定性、响应速度都能满足学院所有课程的在线考试及单招考试。

[1]刘淳.提高WEB数据库应用系统执行效率研究[J].长沙民政职业技术学院学报,2013,(4):145-147.

[2]陈荟慧,张新颜.在线考试系统的分析与设计[J].计算机技术与发展,2009,(10):220-223.

[3]刘淳.数据库原理与应用[M].北京:水利水电出版社,2005.

TP311.52

A

1671-5136(2016)03-0133-03

2016-09-23

刘淳(1963-),男,湖南衡阳人,长沙民政职业技术学院软件学院教授。研究方向:数据库应用、java web开发;

吴名星(1978-),男,湖南新化人,长沙民政职业技术学院软件学院副教授、系统分析师、硕士研究生。研究方向:移动学习与应用软件开发。

猜你喜欢

题库试卷试题
2021年高考数学模拟试题(四)
“勾股定理”优题库
“轴对称”优题库
“轴对称”优题库
“整式的乘法与因式分解”优题库
2019年高考数学模拟试题(五)
《陈涉世家》初三复习试题
2019届高考数学模拟试题(二)
Module5 A Trip Along the Three Gorges
Module5 Great People and Great Inventions of Ancient China