张维国
摘要:基于B/S结构在线考试系统,以ASP为前台,SQL Server 2005作为后台数据库进行数据的存储,系统模块主要包括管理员、教师、学生三大功能模块,从而实现了无纸化在线考试,提高了工作效率,减轻教学管理人员印刷、装订试卷和教师批阅试卷、登分的工作量,方便了考务人员的管理工作。在线考试系统采用B/S结构方便在校外实习的学生,不需要到学校集中统一考试的问题,节省了学生的时间,系统采用一些屏蔽技术避免学生通过网络进行作弊的问题。
关键词:在线考试系统;自动组卷;数据库设计;防作弊
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2015)03-0075-03
The Implementation of Online Examination System Based on B/S Structure
ZHANG Wei-guo
(Nanjing Institute of Tourism & Hospitality, Nanjing 211100, China)
Abstract: Online examination system based on B/S structure, ASP for the front, SQL Server 2005 as the background database for data storage, system module including administrator, teacher, student three function modules, so as to achieve a paperless online examinations, improve the work efficiency, reduce the teaching management of printing, binding test papers and teachers marking papers, to work, to facilitate the examination personnel management.
Key words: online examination system; automatic test; dtabase design; anti cheating
1 概述
随着计算机网络技术的飞速发展及高校教学模式的变化,传统方式的考试弊端在教学中逐步显现,特别是学生进入实习学期,需要进行课程正考、补考、重修等考试,而学生又分散在各地,基于B/S结构的在线考试系统既能满足学生在异地考试,又可以让学生集中到计算机实验室集中考试,从而减少了传统考试需要印刷纸质试卷的工作量,提高了工作效率,节约了考试的成本,促进教学改革的进一步深化。
在线考试系统考前任课教师将课程试题录入系统,通过系统自动组卷功能生成课程试卷。学生通过合法的账号进入考试系统,分别选择自己所要考试的每门课程,考试结束后,系统自动对客观题进行评分,评分结束后系统会显示学生的课程考试成绩,同时课程成绩记入数据库中。课程的主观试题学生提交后答案添加到数据库中,任课教师通过自己的账号登陆,通过网络进行批阅课程试卷。
2 在线考试系统需求分析
在线考试系统实现学生打开IE浏览器,输入考试系统的网址,输入自己的账号和密码,系统自动根据学生的学号检索出需要进行考试的所有课程,学生选择相应的课程后,在线考试系统进行随机选题并进行自动组卷,做到每个学生相同课程的试卷都不同。单选题、判断题通过单选按钮选择答案实现;多选题通过复选框选择答案来反应,问答题、读书报告通过文本框来提交答案。在考试过程中系统进行考试时间显示并实现倒计时功能,时间一到系统自动实现交卷。
在线考试系统根据高职院校的特点进行系统需求分析,确定其规模和适用范围。通过对每一门课程考试环节的分析,在线考试系统具备功能有:1)考试系统可以实现单选题、多选题、判断题、问答题、读书报告、试卷库试题等形式的题型考试。2)系统自动评分模块,学生考完试提交试卷后,系统对单选题、多选题、判断题进行自动判分,问答题、读书报告、试卷库试题教师通过网络进行阅卷。3)学生的成绩查询模块,考试结束后学生可以查询各门课程的考试成绩。4)对课程题库实现添加、删除、修改、检索等是题库管理模块的基本功能,用户可以对题库的试题进行按课程或全部课程检索、显示、删除,同时可以通过该页面进行试题添加、编辑功能。5)成绩管理模块,考试工作结束后任课教师、任课教师或院系教学秘书可以对参加考试的学生进行成绩的查询、统计、分析等工作。(6)考试计划管理模块实现课程考试计划的添加、修改、删除等功能。任课教师或院系教学秘书在考试系统计划管理界面点击添加考试计划,选择课程名称、开始考试和结束考试日期、考试时间限制默认值为60分钟,也可以根据实际需要对计划开始和结束日期及限制时间进行设置,选择考试课程,设置单选题、多选题、判断题数量及分值后,点击下一步进行需要参加考试的学生名单设置。
基于这些功能需求,在线考试系统的用户包括:管理员、教师、学生,从而将在线考试系统划分成三大功能模块:管理员模块、教师模块和学生模块。管理员模块实现对教师、课程、学生、数据库进行管理;教师模块实现对课程题库试题的管理、设置考试时间、试卷的试题类型及试题数量、批阅读书报告,查看课程考试成绩及未参加考试学生的相关信息等;学生模块实现学生的课程在线考试、成绩查询、读书报告的提交等功能。
3 在线考试系统总体结构设计
在线考试系统应该具备整个考试流程的特点和功能,对在线考试系统的学生进行管理,具有灵活性、方便性、开放性、高效性的特点。
基于ASP技术的在线考试系统三大模块在编写代码前,构建了系统功能结构图。各模块实现在线考试相关的功能,模块间是互相协作的,同时各服务之间是高内聚低耦合,共同构成了功能完善的在线考试系统,学生可以登录系统进行考试并立即获得课程考试的成绩,实现了无纸化、自动化考试。
在线考试系统功能结构图如图1所示:
图1 在线考试系统功能结构图
4 数据库设计
在线考试系统的数据库采用微软SQL Server2005进行设计,涉及的表有:教师表、学生表、课程表、试题库表、读书报告表、主观题表、信息发布表、抽取正考试卷表、成绩表、系统自动组卷信息表等,试题库表结构如表1。
试题库表中的Data_type表示试题的类型如单选题、多选题、判断题、问答题等,如果考试试题为判断题、问答题Data_text1~Data_text6字段不需要添加任何内容。Data_mark是一个整型字段,默认值为“0”,当题库中的试题被抽中后,其状态由“0”自动变成“1”,从而避免了同一试题在同一份试卷中重复出现的情况,也保证了参加考试的学生之间不会有重复的试题。
5 在线考试系统程序设计
在线考试系统前台开发使用ASP,后台数据库采用微软SQL Server2005为开发工具,运用Notepad++进行代码的编写。
5.1 生成试卷
学生进入在线考试系统后,选择某一课程进入考试时,系统根据考试计划设置好的试卷总分、试题类型、分值、试题难度、考试时间从试题库中随机抽取对应课程试题,并自动组成一份试卷。
5.2自动抽取试卷库
自动抽取试卷库功能模块是用来实现学院教考分离,考务管理人员将课程考试试卷编号及课程存入在线考试系统,从而实现对课程试卷的管理,如查询课程试卷数、修改试卷编号、统计各类课程试卷数等。课程结束需要对学生进行考试时,在线考试系统可以从课程试卷库中随机抽取考试课程的试卷,试卷抽取成功后,教学秘书通过网络进行查看,从而去印刷相关的试卷。
5.3评判成绩
学生课程考完后点击提交试卷,或考试时间已经用完系统自动进行交卷。在线考试系统对学生答题情况的评分程序利用编写createresult()函数进行自动评定单选题、多选题、判断题的成绩,成绩评定结束后,系统能够自动显示课程的考试成绩。
5.4成绩统计和分析
对学生考试成绩实现按类别进行统计分析,如按院系统计及格人数和不及格人数、按班级统计及格人数和不及格人数、按课程统计及格人数和不及格人数、未参加考试人数等。
5.5在线考试系统的实现
在线考试系统服务器在运行中是考试得以实施、数据有效处理和中转的作用。学生登录在线考试系统后会对学生的相关信息进行加密认证,确保考试的安全。考试结束后,服务器需要对学生的考试数据进行审核。
客户端不需要对程序进行安装,学生打开IE浏览器在地址栏内输入服务器的域名,登录进入在线考试系统,操作界面和操作方便比较的简单。
在线考试系统做到了学生的考试数据不会丢失,不会出现一些写入错误,学生意外重新启动计算机,也能够保证继续做试题,而不是重新抽取试卷做题。
6 防作弊功能
为了充分体现考试的公平、公正的原则,避免学生通过查找资料、复制试卷内容进行网络检索等,增加在线考试系统放作弊功能是非常必要的。
6.1防刷新处理
在线考试系统一般都是直接用IE浏览器打开,计时器显示在IE中,自动计时器一般都是前台脚本控制的倒计时器。学生在考试时刷新界面,倒计时器时间就会变化,倒计时器就会失去控制作用,在系统设计时做了防刷新处理。
6.2防考试找答案
许多在线考试系统都没有做这个处理,学生进入系统考试可以任意切换考试界面,通过复制功能在网上找答案,因此在学生进入在线考试系统进行考试后系统会屏蔽复制功能,当学生切换考试界面离开考试界面时系统自动进行判断并发出警告,如果学生还进行切换考试界面,系统就会强行交卷。
6.3 学生相互间作弊
为了避免在考试期间相邻学生作弊的问题,在线考试系统做到所有学生考试时试题完全不一样,从而避免相互抄袭的问题。
7 断线续考功能
学生在考试过程中导致考试过程中断的因素很多,如断电、硬件故障、用户系统崩溃、误操作等。学生在考试过程中出现考试异常退出考试系统后,系统提供续考和现场恢复功能。学生二次登录成功后,会按原来的试卷和考试剩余时间继续考试。
在线考试系统将登录过的学生信息保存在数据库的临时表里,学生在登录在线考试系统时,系统从该临时表里进行检索,并进行判断是否二次登录,如果是二次登录,则不再显示选择考试课程的页面,系统也不进行相应课程的抽题,直接从服务器考试题库中读取课程考试试卷信息,恢复到原课程试卷的页面。
8 在线考试系统的安全问题
试卷试题的保密性、学生成绩的不可更改性、学生信息的重要性等原因,在线考试系统的安全性非常重要,这里主要从考试的环境、身份认证及访问控制、数据库管理等角度对在线考试系统的安全隐患进行防范。
8.1考试环境的安全
考试环境的安全一个是硬件的安全问题,如通信线路、设备安全;另一个是软件的安全问题,如操作系统的安全,损害或破坏软件的程序,如病毒、木马等。
8.2非授权访问
非授权访问分成三类:第一是用户身份的假冒,指用户企图对未获得访问许可的数据进行访问,如成绩的修改、试题的修改、信息的发布等;第二是应用程序的非授权使用,用户使用被授予访问权限的账户来达到未授权的目的,即合法的用户的越权访问;第三是推理访问数据,指由非授权用户通过推理得到不应访问的数据。针对这些情况在线考试系统将权限分成3类,即教师、学生、管理员,实现按需授予权限,登录次数做了限定,3次登录不成功的实现自动退出系统。
8.3题库、成绩和密码的安全
对于保存在数据库中的试题、答案的安全问题,一种是对权限进行分配管理,另一方面需要进行备份。对于系统中用户的密码和学生考试成绩问题的安全问题,在线考试系统对这些数据进行了加密,其中密码问题采用了不可逆的MD5算法进行加密,确保密码的安全。
9 结束语
在线考试系统是高校实现无纸化在线考试方式发展的一种趋势,提高了工作效率,减轻教学管理人员印刷、装订试卷和教师批阅试卷、登分的工作量,方便了考务管理工作,节约了考试成本,避免了资源浪费的问题。
在高职院校实现网上考试,可以降低考试过程中人为因素的影响,保证了考试的公平、公正、公开,能够提高考试的科学性、安全性,对教学质量的提高有着深远的影响。
参考文献:
[1] 张旭东,汪杰.ASP 网络开发实用工程案例[M].北京:人民邮电出版社,2008.
[2] 曾毅.SQL Server数据库技术大全[M].北京:清华大学出版社,2009.
[3] Alan Beaulieu.SQL学习指南[M].北京:人民邮电出版社,2010.
[4] 王健南.ASP数据库管理项目方案精解[M].航空工业出版社,2006.
[5] 许礼捷,周洪斌. 基于ASP.NET 在线考试系统的设计与实现[J].沙洲职业工业学院学报, 2012,15(2):3-10.
[6] 覃国蓉.基于B/S 架构的软件项目实训[M].北京:电子工业出版社,2004.
[7] 刘思尧.在线考试系统防作弊策略研究[J].软件导刊,2013,12(10):25-28
[8] 赖松兆. 在线考试系统关键技术的研究与实践[J]. 闽西职业技术学院学报,2009, 11(3):117-121.
[9] 朱杰. B/S模式网络考试系统安全性分析与设计[J]. 数字技术与应用, 2014(4):180.