基于JSP的在线考试系统的设计与实现

2009-04-03 04:19张爱文
中国教育信息化·高教职教 2009年3期
关键词:在线考试实现设计

张爱文

摘 要:本文介绍了在软件工程方法的指导下,利用当今流行的程序开发集成工具Eclipse开发基于JSP技术的在线考试系统。该考试系统采用JSP+JavaBean+ Servlet技术,后台采用Microsoft Access2000数据库实现。

关键词:JSP 在线考试 设计 实现

中图分类号:TP311.52文献标识码:B 文章编号:1673-8454(2009)05-0042-03

一、引言

在线测验与考试是目前广泛应用的教育教学方法。它是建立在计算机网络上的应用系统,客户端的配置可以极为简单,有时只需要一个浏览器即可,这是大多数系统都已经自带的,使考试更加方便且不受地域的局限。一个完备的在线考试系统可以在网络上模拟一个真实的考场,如果用户想检验其在某一学科或某一领域的学术知识水平,只要拥有一台上网的电脑,足不出户就可以在网上根据需要选择相应的试题,自己进行考试,及时检验自己的学习效果,以发现不足,使得学习效率得到很大提高,同时也免去了身份限制、现场报名等方面的麻烦。在线考试系统中题目的生成、试卷的提交、批阅等都可以在网络上自动完成,快速而且准确无误,只要形成一套成熟的题库就可以实现考试的自动化。这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试。这不仅大大减轻了教师的负担,为组织考试单位减少的一定的财力支出,而且为老师们的教学节约出了大量宝贵的时间,提高了工作效率。

二、需求分析与模块设计

考虑到扩充与升级维护的简便,系统采用B/S模式。服务器端采用Access数据库系统和JSP组件来构成考试的应用服务系统;客户端采用浏览器来完成考试全过程,同时可进行远程系统维护和管理。系统将实现的功能如下:

(1)用户注册:注册的用户名不能够重复。注册完后,用户进行信息核对,如果出错可以让用户返回注册页面自行修改注册信息。反之,则注册的口令要等到管理员审核通过之后才能使用,如果用户使用未通过审核的口令进行登录,系统要给予人性化的提示,当用户注册成功后,应该引导其进入到登录页面。

(2)防止考生利用不同的浏览器进行重复登录做答。

(3)防止使用恶意软件进行系统攻击,每一个用户登录之前都要能重新产生一组随机验证码。

(4)用户信息管理:管理员可以增删用户或是直接通过审核注册信息来增加用户,审核应该分为审核通过、审核未通过、待审核三种情况。

(5)管理员密码的修改。

(6)试题模型设置:设置试题的内容和每道题的分值及选项。

(7)试题库管理:目前只实现对单选题型试题库的管理,使试题的增删、编辑更为简便。试题的管理要能实现对试题的添加、修改、删除、预览等。删除可以批量删除的试题,也可以进行有针对性的删除某一道题。当用户操作成功后应该给予适当的提示,加入的试卷代号不能重复,用户可以自如地对目标试卷的试题进行添加、修改、删除、预览等操作。

(8)变量设置:管理员可以自由地设置每一次要测试的试卷代号和考试时间。

(9)试卷生成:当管理员指定好考试的试卷号后,系统自动从试题库中抽取相应试题生成一份原始试卷。

(10)在线考试:系统自动显示每一时刻的在线人数,严格控制整个考试过程,实行时间的监控与权限的控制,考生需要在限定的考试时间内交卷,如果考试时间到而考生还没有交卷,则系统应该自动强制为他交卷。

(11)计算机自动阅卷:本系统只考虑客观题,要求计算机能自动阅卷,然后马上显示出考生分数以及考生每一道题目的答题情况。最后为考生提供一个退出考场的通道,使系统显得更加人性化。

(12)成绩查阅:考生考完以后,管理员能对所有考试情况进行查看,包括:总共有几个人参加此次考试,针对每一道题都有几个人答对,各个等级的人数分别是多少,平均分是多少,每一个考生的成绩等级(优秀、良好、中等、及格、差劲)是什么,还要具有打印成绩表单的功能。

除了实现上述功能以外,在线考试系统还应该具有友好、简洁的界面,安全性要高,稳定性要强,能够满足100人以上同时进行在线考试。系统组织结构如图1所示。表1总结了图中各模块的主要职责。在线考试系统的业务流程如图2所示。

三、关键环节的处理

1.用户审核:刚注册的用户除了是管理员自己注册外,默认的情况都是处于“待审核”状态,审核分为“待审核”、“已审核”、“未通过审核”三种情况。管理员可以单击相应用户的“待审核“按钮来对该注册用户进行审核,审核时管理员可以查看除了用户密码外的其他所有注册信息,然后在用户注册信息审核页面再决定其是否能通过审核,只有通过审核之后的用户注册口令才能正常使用,没有通过的则用红色字体显示。

2.登录问题:系统通过用户类型的不同对管理员和考生进行身份区分,通过一个servlet类产生一个随机验证码来防止某些别有用心的人通过恶意软件进行对系统数据库的频繁连接。当登录页面出现时应该同时产生一个随机验证码,管理员只要口令正确就可以直接进入管理界面,考生使用的登录口令不但要正确而且需要经过管理员的审核之后方能有效,如果出现用户名或密码错误或是系统检测到其使用的用户名存在但是还没有通过审核,则应该针对此情况在管理页面上进行特别提示,同时不管是管理员还是考生登录时都应该输入正确的验证码方能进入系统。

3.试题设计:因为多项选择题、判断题、单项选择题的实现原理相似,所以这里以单项选择题为例。一般情况下,单选题往往在四个供选的答案A、B、C、D中选择唯一正确的答案。故其题型的样题设计如下:

单选题:password的意思是:-------------->6分

A、密码 B、经过 C、单词 D、通路

正确答案为A

4.数据库设计:在这里我们将数据库分为三个表,其中试题单独为一个表,管理员自己一个表,用户自己一个表,本来应该将管理员和用户两个表合二为一,但是分开来有利于数据的操作和管理。分别命名为“addSubject”、“admin”、“student”,三个表的详细说明从略。

5.在线考试问题:由于一个在线考试系统要能同时满足至少上百人的在线考试,所以本系统选用“数据库连接池”技术来实现这样的功能。当考生借助自己的账号和密码进入系统之后,系统将自动将在线人数加1,并从数据库中读取事先由管理员指定的试卷试题,然后考生自己择机作答,一旦考生答题开始,系统便自动读取由管理员事先指定的考试时间进行倒计时,时间一到系统便自动提示并强制提交试卷,并对试卷进行批改,将考生的成绩显示给考生,同时应将其所有的信息,包括答题信息、身份信息、成绩等存储在状态列表中,然后再将此列表对象以此考生的考试顺序号存在系统的application对象中,以协助管理员对成绩进行查看统计。最后,要在成绩显示页面为考生提供一个“退出考场”的按钮。考生单击此按钮后,浏览器会自动关闭以帮助其退出考场,但此时并不释放存储在对象中的考试信息。

6.试题管理

(1)试题录入

如果老师所要添加的试题所属的试卷代号不存在,则老师在进行试题录入之前应该先添加相应的试卷代号,然后再对该试卷代号进行试题添加操作。如果该试卷代号已经存在,则可以通过系统的试题添加功能将试题添加到指定的试卷代号中。每道试题有题目、分值、选项和答案等栏目,管理员输入完试题以后,即可通过预览功能看到预览效果。如果输入出错,例如所要添加的试卷代号已经存在,则系统会相应地给予提示。每一次添加的试题编号都由系统自动按顺序给出,管理员不能修改。

(2)试题修改

系统为管理员提供了人性化的操作界面,每一份试卷的试题都有对应的修改操作,当修改试题时只需选择相应的修改按钮即可进入操作界面,管理员可以修改题目、分值、正确答案和选项内容,但是拒绝修改试题编号,当修改完一道题后,可以按“next”按钮继续修改下一题,或按“complete”按钮完成试题修改。当然也可以直接指定题号进行修改。

(3)试题删除

管理员可以有选择地逐一删除不再需要的试题或是一次性删除不需要的试卷以达到批量删除的目的,删除之后就不能恢复。删除整份试卷是通过给实现删除业务逻辑操作的页面传递一个试卷目标代号来实现的;而有选择的删除是先通过传递一个目标试卷代号来显示试卷中的所有试题,然后再在试题中为每一道题设置删除链接操作,当用户单击某一道题所对应的删除链接时,系统就将目标题号传递给下一个实现删除业务逻辑操作的页面。删除某

一道题之后,其后面的所有试题顺序号会依次前移一位。

四、系统测试

系统经过修改和调试通过以后,在各模块测试的基础上进行了总体测试。该在线考试系统完成了预期要求,实现了用户注册、用户账号密码管理、多用户同时在线考试、时间控制、自动交卷、自动判卷,试题录入、试题删除、试题预览、试卷删除、题库修改、用户管理、试卷管理、分数管理等重要功能,也就是说实现了真正的无纸

化考试,其界面示例如图3、图4所示。

五、结束语

经过在计算机基础课程中的实际应用,基于JSP的在线考试系统各项功能均已经或基本达到设计要求,使用方便、操作简单,效率很高,满足任何授权的考生随时随地考试并迅速获得成绩,同时也大大减轻了教师出题和判卷等繁重的工作量,为她们在致力于加强教学工作方面节省出了大量的时间。

参考文献:

[1]Ed Roman.Mastering enterprise JavaBean[M].Third Edition.Indiana USA: Wiley Publishing Inc, 2005.

[2]Struttin′ with struts [EB/OL]. http://www.reumann.net/struts/main.doLESSON I、LESSON II、LESSON III.

[3]J2EE platform specification[EB/OL]. http://java.sun.com/j2ee/ 5.0/index.jsp

[4]Talor A.JDBC 数据库编程与J2EE[M].北京:电子工业出版社,2004.

[5]应继儒.试题库随机选题数学模型的构建与实现[J].计算机应用, 2000(1).

[6]周启生,王化文.基于WWW 远程考试系统的研究与设计[J].计算机工程与设计, 2005,26(3).

[7]李美满,易德成.通用考试系统开放题库与组卷及评卷算法研究[J].计算机工程与设计, 2005,26(10).

猜你喜欢
在线考试实现设计
瞒天过海——仿生设计萌到家
设计秀
有种设计叫而专
大学物理在线考试与分析系统
效率观下高校课程考试形式的改革探索
办公室人员尚需制定个人发展规划
浅析铁路通信传输的构成及实现方法
大数据背景下在线评教与在线考试融合的思路探讨
设计之味