多课程并行考试及题库管理系统的设计与实现
2016-06-30朱铁樱
朱铁樱
摘要:计算机技术迅速发展的同时,老式的手工组卷和试题管理模式将逐步被代替,在不断提高教学质量和教学水平的同时,使考试更加客观、更科学、更公正。该文分析了现阶段的考试系统存在的问题,提出了该系统研究的主要内容和创新。在系统采用的开发结构、开发平台和数据库技术方面进行了讨论,再从系统需求分析、系统总体架构和具体实现等方面入手,详细说明了多课程并行考试系统的设计与实现过程。
关键词:多课程;并行;系统组卷;题库管理
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)14-0075-03
The Design and Implementation of Multi Course Parallel Examination and Examination Question Bank Management System
ZHU Tie-ying
(Computer & electric engineering department,Guangsha College of Applied Construction Technology, Dongyang 322100, China)
Abstract:Questions the traditional management mode and manual mode of test paper will be gradually replaced by computers, which make the teaching test more objective, more scientific, and more just, so as to improve the quality of teaching and the teaching level continuously in the school. The background and significance of this subject are discussed in the paper. First, the problems of the examination system are analyzed at this stage,the paper put forward the main elements and innovation of the system. Second, the development structure, development platform and database technologies of this subject are discusses in this paper. At last, Parallel multi-course test system design and implementation is details Elaborated from Needs analysis, the overall system architecture and realization, system testing, etc.
Key words:multi-course; parallel; system test paper; test bank management
目前,计算机技术和网络技术飞速发展,并且在高校校园网建设逐步完善的情况下,利用网络进行交流和学习已成为大学生必须掌握的技能。高校中,各个环节都已经使用计算机进行管理,但在考试这个环节中,依然过分依赖于传统的考试模式,很少提供在线考试的功能。
已有的在线考试大多采用B/S结构,客户端通过浏览器页面进行考试,这种“瘦客户端”结构势必导致服务器负荷过重,根本没法应对大规模正规考试。通过浏览器考试的另一个问题是响应迟缓,还易受到木马病毒的攻击,难以确保考试的正常进行,不具实用性,考试系统的设计首先要考虑数据的安全性和程序的可用性。基于C/S的计算机模型能够完善的解决这一问题,C/S模型将数据库和应用程序分离,由服务器和客户端来分别执行,体现了“服务请求/服务响应”的关系。既合理地利用了服务器和客户端的相关资源,又在一定程度上减少了网络的通信负担。
本系统不仅是一个统一的试题库维护平台,同时还提供考试安排、出卷、组卷、改卷、成绩统计以及题库导出导入等功能。由于采取按课程分设题库,教师不仅可以联网在线题库管理,还可方便地将自己课程的题库带回家脱机维护。采用统一的标准题库模板,按课程分别建立题库,分布式数据库服务,有效降低了服务器负载及考试的响应延时,使大规模多课程并行考试成为可能。
1 系统的总体架构
本系统采用三层C/S结构,合理地将任务分配到服务端和客户端来实现,利用中间件从逻辑上将应用分为业务逻辑层、数据存储层和表示层。作为构造三层结构应用系统的基础平台,中间件提供了以下功能:负责服务器与客户机、服务器与服务器的连接和通信;实现应用与数据库的连接;提供一个三层结构应用的平台。系统总体架构如图1所示。
2 系统的功能设计
本系统采用分布式数据库、题库分设、后台集中组卷、C/S结构等技术方案,充分利用负载平衡,有效地解决了大规模、多课程并行考试的诸多技术难题,适用于各类大中专院校及中小学实行网上考试及学生自主在线训练。
本系统由考试和管理两大子系统构成。考试子系统提供判断、单选、多选、名词解释、简答题、论述题以及阅读理解等常规考试的各种题型,界面简洁,操作方便,而且具备后台自动提交(每分钟)答题数据、自动计时、意外中断恢复续考等优秀功能。
管理子系统提供考试安排、人工出卷、集中组卷、人工改卷、成绩统计、题库导出导入等功能,采用统一的标准题库模板,按课程分别建立题库,分布式数据库服务,有效降低了服务器负载及考试的响应延时,使大规模多课程并行考试成为可能。此外,题库分设还有利于加载和移除,也方便任课教师将题库带回家离线操作,通过脱机客户端软件,任课教师不用上网也能在家出卷、改卷及题库维护等。本系统的功能结构图如图2所示。
3 系统的模块设计
本系统的用户可分为管理员(教师)和学生两类,由考试和管理两大子系统构成。
管理员(教师)负责统一维护试题,同时还可以操作考试安排、人工出卷、集中组卷、人工改卷、成绩统计、题库导出导入等子模块。从实际出发,本系统提供了多种组卷方式,具有很好的实用性。在集中组卷部分,如具备足量题库,管理员(教师)可选择随机自动组卷方式;对于暂无足量题库或难以确保难度均衡的考试,可选择人工抽题、混序组卷的方案;对于高等数学一类包含复杂公式符号的考试,管理员(教师)可以选择嵌入式Word文档出卷考试。
学生登陆考试子系统后,可以进行考试。考试题型提供了判断、单项选择、多项选择、名词解释、简答题、论述题以及阅读理解等常规考试的各种题型,界面简洁,操作方便,为了预防死机或停电事故,在考试过程中具备后台自动提交(每分钟)答题数据、自动计时、意外中断恢复续考等优秀功能。
3.1 管理子系统
管理子系统包括:题库维护、人工出卷、Word出卷、集中组卷、人工改卷、考试安排、学生信息、成绩登记等几大模块。
1)题库维护:管理员(教师)模块可对题库中的试题进行三种操作:添加题目、删除题目、修改题目,其中试题类型包括单选题、多选题、判断题、填空题、名词解释题、问答题、论述题、阅读理解题,教师可以对每种试题设置题干、答案、分值、插图等属性,教师还可以进行题库的导出,导入和清空等功能设置。
2)人工出卷:管理员(教师)可以从题库中选择试题,形成试卷。
3)Word出卷:针对高等数学一类包含复杂公式符号的课程考试,本系统提供了基于嵌入式Office文档的考试方案。试卷(可以是AB卷)以Office文档的方式保存在数据库中,出卷和考试均可充分利用Office的特殊符号和公式编辑功能。这种方案还提供红笔手写改卷评分、批改痕迹保留等高级功能。也可以方便地原样打印试卷存档。
4)集中组卷:在考试之前给所有学生组卷,进行无序化处理。
5)人工改卷:可对填空题、名词解释题和问答题进行人工改卷。
6)考试安排:进行安排的相关安排,如设置组卷方式(包括人工抽卷、随机组卷,Word出卷三种),设置试卷编号(即AB卷),考试时间,考试分钟,题型和分数。
7)学生信息:可增加,删除学生信息,也可导入dbf和txt格式的学生信息,并可导出,打印学生信息。
8)成绩登记:自动记录学生的考试成绩,在成绩表中输入平时成绩,按设定的平时成绩占比,可自动计算出总评成绩来。成绩表可打印,可保存,可报送到服务器上。
3.2 考试子系统
考试子系统提供判断、单项选择、多项选择、名词解释、简答题、论述题以及阅读理解等常规考试的各种题型,界面简洁,操作方便,而且具备后台自动提交(每分钟)答题数据、自动计时、意外中断恢复续考等优秀功能。
4 数据库结构设计
在设计和维护数据库时,要保证数据正确地分布到数据表中。使用正确的数据结构,可以对数据库进行相应的读取操作,还可以简化应用程序的其他内容,尽可能减少冗余,重复数据减到最少。
系统的数据库采用结构统一的、按课程设置的多数据库方案,优点是便于任课教师维护,互不干扰,增强试题库和试卷的保密性,以将各题库分布在不同的服务器中以达到负载平衡的目的。系统包含7个数据表:学生信息表student、教师信息表teacher、课程信息表course、学生成绩表stucourse、试卷信息表test、试题信息表testcon和学生答题表stutest。其中试题数据表主要面向各任课教师和学生,本数据表的试题可以导出,既可以集中在主服务器上,也可分布于其他院系的独立服务器均衡负载。
5 系统关键技术实现方案
5.1 系统题型设计方案
系统设计的题型包括单选题、多选题、判断题、填空题、名词解释题、问答题、论述题、阅读理解题。在系统的设计中,为便于一题多空的阅卷,针对填空题题型,为尽可能减少表的记录,提高数据处理的效率,采用增加字段数来减少记录数。具体操作如下:把选择题和填空题的题目和答案放在同一条记录内,不仅提高了读取记录的速度,也方便了教师阅卷和计算成绩,简化了程序处理的算法复杂性。
为实现图形文件存储,设计了一个组件将文件上传至特定的文件夹,同时将文件名存放在表中。在读取信息时,就可通过文件名到相应的文件夹中读取。
5.2 系统阅卷方案
试卷的阅卷采用人工阅卷与自动阅卷相结合的方式。客观题(单选题、多选题、判断题和阅读理解题)采取自动阅卷方式,通过SQL语句读取数据库中学生的答案,根据试卷题型分值将结果存放在相应表中;主观题(填空题、简答题、名词解释题、论述题)采取人工阅卷的方式,由教师手工批改,将得分存放在相应表中。自动阅卷的实现是通过ODBC的批量更新功能实现,使用了预编译的存储过程,再通过CallableStatement调用并实现批处理,提高了自动阅卷的灵活性和效率。
5.3 系统意外中断恢复续考方案
由于停电、死机等客观原因计算机重启,导致学生考试时试题和答案丢失,以致考试无法顺利进行这种情况,系统设计了考试恢复功能,可以恢复学生答题信息和考试时间。具体方法是,系统设计的定时器,每隔一段时间(如3min或5min)将学生的答题信息和考试时间自动更新一次,保存在数据库中,在计算机重启后,可以重新登录系统,读取学生前面保存的信息,继续考试。
5.4 系统组卷问题解决方案及算法设计
1)组卷问题解决方案
本系统采用多种组卷方案,包括随机组卷,人工抽题、混序组卷,Word出卷,后台集中等方式。其中随机组卷是根据题目的考试策略,系统后台随机抽取题目生成试卷;Word出卷是针对高等数学一类包含复杂公式符号的课程考试,还提供红笔手写改卷评分、批改痕迹保留等功能,也可方便地打印试卷存档。为保证考试的公平性,在题目内容一致的情况下,系统设计了人工抽题和混序组卷方式,人工将题目顺序打乱,防止作弊的现象。
现有的很多考试系统多采用考前动态组卷方案,对于大规模考试势必导致大量的数据库并发访问和复杂的组卷运算,这容易引起服务器瞬间超负荷,甚至影响考试的正常进行。为此,本系统创新性的采用了后台集中组卷的方式进行组卷,系统根据试卷的组卷方案(即Word出卷,随机组卷,人工抽题、混序组卷)和组卷策略在后台给每位学生抽取题目组织试卷。具体而言,组卷方案若为Word出卷,系统便将指定的题目信息添加至学生的试卷表中;若为随机组卷,系统根据抽题方案在题库中抽取试题随机分配,并将试题信息添加至学生的试卷表中,抽题方案的依据为题目类型、难易程度、知识点等;若为人工抽题、混序组卷,系统按题型将题目随机生成一个考试序列号分配给学生,以保证每一学生的考试题序不同。
2)组卷问题算法设计
如果采用二进制编码的遗传算法,还要考虑初始群体的设定中群体个体数目,系统会产生编码搜索空间过大和编码过长的问题,而且种群数目N影响遗传算法的有效性。N太大,会增加计算量。N太小,遗传算法会找不出问题的解。针对这情况,本系统进行了改进,初始种群根据题型、总分等产生,并不是随机生成,既加快了遗传算法的收敛又减少了迭代次数。
针对每种题型,在逻辑结构设计时试题库建立了对应的数据表,在确定编码方案时,采用分组实数编码。在实数编码中,直接用实数表示,再对每种题型采用编码策略进行处理,控制了编码搜索空间过大和编码过长的缺点,提高了求解速度。遗传算法流程图如图3所示 。
6 结束语
一个完善的系统可以在用户使用后及时检验,以发现自己的不足,提高学习效率。本文详细论述了多课程并行考试及题库管理系统的设计与实现,该系统基本实现了考试安排、各种组卷方法、试题管理和自动阅卷等功能,只要形成一套成熟的题库就可以实现自动化无纸化考试。系统具有合理的组卷策略,具备一定的实用性,界面友好,实现了教考分离,提高了教学效果。使用本系统,教师只需设计题目、维护题库,不再需要出卷,阅卷及组织考试,从很大程度上减轻了教师的负担,并且保证了考试的客观性和公平性。
参考文献:
[1] 吴敏宁. 在线考试题库管理子系统的设计与实现[J]. 电子设计工程, 2013(4).
[2] 周胜. 基于网络的题库型考试系统组卷设计与实现[J]. 软件导刊, 2008(12).
[3] 黄于欣, 杜远坤, 赵秀英. 基于.NET通用题库管理系统的设计与实现[J]. 商丘职业技术学院学报, 2015(5).
[4] 焦鸿斌. 基于C/S结构的考试与题库系统[J]. 计算机光盘软件与应用, 2013(8).
[5] 张玉叶. 通用题库管理系统的设计与实现[J]. 济南职业学院学报, 2013(1).