首页 > 范文大全 > 正文

在线考试系统中用户模块的设计与实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇在线考试系统中用户模块的设计与实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

[摘 要] 为了避免不必要的重复劳动,节约人力资源及时间,大幅度降低试卷出现错漏缺的机率,使考试更加公平、公正、客观,在线考试方式将是以后考试发展的趋势。本文着重论述了在开发实用型的在线测试考试系统中的一个重要模块―用户模块,讨论了考生测试模块和考试界面两部分的设计实现

[关键词] 在线考试系统 DAO的方式 JSP Tomcat SQL Server2000

考试作为评价教与学的一项重要指标,是教育现代化不可或缺的组成部分。而传统的考试方式已经不能适应现代考试的需要,随着计算机网络应用不断扩大,迫切要求利用这些技术实现现代化教育的考试体系,以减轻教师工作负担的同时提高工作效率,尤其提高考试质量,使考试更趋于科学、合理、公正、客观,从而更大程度激发学生的学习兴趣。实现使用试题库的在线考试系统进行考试,是实现由传统人工命题到采用计算机随机命题的根本性转变,是考试形式的重要改革。

1.在线考试系统的意义

在线考试管理系统真正实现了无纸化的考试,它突破了传统考试的种种弊端,越来越成为了现代学校教育乃至社会其他部门考核的一个重要帮手。

一个完备的在线考试系统可以使用户安全的按照已有权限注册考试,随机出题,维护了考试的公平、公正原则,时间到必须交卷、答案自动保存。同时,考生也可以查看自己的考试成绩,可以减少工作人员的不必要的重复劳动,并且使教师把更多的精力投入到教学和试题的编写中,从而提高考试的测试准确度。

2.在线考试系统的总体设计

本文是使用JSP开发一个实用的在线考试系统,系统维护着一个数据库,存储着考生、题库、管理员等信息,主要包括教师出题、学生在线考试、自动判卷以及相关的系统维护等功能。

2.1 在线考试系统的用户角色

根据网上考试的整个过程,整个系统要分两个角色:考生和管理员。考生登录系统后,根据待考的项目列表,选择某个项目后就可以进行答题,考试有倒计时,考试结束后,系统自动判卷,可以查到考试的分数、标准答案和自己的答案。管理员可以进行考生信息的添加、修改和删除等操作,还可以查询考生的历史考试记录,也可以进行试题添加、修改和删除等操作。每个角色都要通过密码验证后才能登录,只有密码正确才能进入系统,每个角色也可以修改密码等,操作完成后退出系统。

2.2 在线考试系统的主要功能描述

考试系统面向学校和企业,主要包括考试子系统和考试系统管理子系统。考生可以通过考试子系统进行登录、考试和查询成绩等操作。系统管理员可以通过后台进行用户管理、题库管理和考试评分等操作。

系统的总体结构包括在线考试系统前台和考试管理系统后台。前台由学生登录与注销系统、考试系统、成绩查询系统、信息修改系统4个主要模块构成,后台由管理员功能模块、题库管理模块、考务管理模块、试卷管理模块4个主要模块构成。

3.用户模块设计

3.1 考生测试模块设计

将数据库驱动程序复制到Tomcat的common/lib目录下,然后将exam.xml文件配置到$CATALINA_HOME/conf/catalina/localhost目录下。运行数据库脚本,生成系统的数据库,启动Tomcat,通过localhost:8080/exam访问系统,就可以出现在线测试系统登录界面,登录模块供学生进入系统使用,选择登录,只有当密码符合时,学生才被允许进入系统,实现方法是对学生表进行遍历搜索,若存在记录满足学生输入的密码,则打开主窗体,并记录登陆事件和相应资料。主要使用了Ttable[20] 的Locate()方法。当输入的密码正确,登录窗体就将主窗体可以显示的标志为真,同时,把登录人的号码和登录人的姓名也传到主窗体中,作为其它的功能条件。

3.1.1 选择题库在线考试,在此选择的题库必须先根据student表的机构ID和职位ID字段进行权限验证,看是否能选择该题库考试,随后考试的题库一定是以前没有考过的,系统根据studentID和选择题库查询管理员表,如果有记录则不能再考,否则将该考生的studentID和题库作为一条新的记录存储到考卷基础信息表且设提交状态tjstate为‘否’,向管理员表插入一条新记录设Lessonnum=1,tjnum=0。

3.1.2 换位继续考试,同样系统根据studentID和选择题库查询管理员表,如果有记录则读出该记录的相关信息获得当时考试断点的题目和所剩余的时间继续考试,考试期间系统自动显示当前时间和剩余时间,这里我设计了函数每一秒钟触发执行一次,显示当前的时间,另外还有一个计数器,每隔一秒计数一次,当计数到60后,修改考卷详细信息表中的lasttime减一,这里我将时间精确到分钟。为防止意外中断丢失答案,考生在答完每一道题后提交答案到服务器端进行处理,然而结合实际考虑页面的提交带来一个最大的问题就是时间延迟,这样必然阻止考生正常答题,因此本系统采用了框架技术将一个页面分割为几个“小视窗”,每个视窗显示一道题目,他们可以各自独立的进行提交和其他活动,从而就达到了及时保存答案又不影响考生答题速度的效果。

当考生在考试当中交卷的时候,将该考生的学生信息表中tjstate改为‘是’testover表中tjnum+1。当考试时间到后,则返回初始界面,系统从试卷基础信息表中读取考生所考题库的答案,对照结果表存储的答案和分数,自动给各位考生的主/客观题目判分并保存结果到试卷详细信息表。

3.1.3 考生在线查询相关信息,选择要查询的题库,系统则根据studentID和name查找考生信息表(视图),若有此记录则显示,否则返回“没有参加过考试”。

对用户登录信息进行验证的页面在reading.jsp中,如果用户存在且密码正确则显示该考生资料,然后通过单击【准备好了】按钮开始考试。

3.2 考试界面设计

在窗体显示的时候,就对用户进行权限检查,并打开相应的菜单,具体是根据登录时传来的学号,再读取数据库的权限来进行相应的操作。

3.2.1 考试页面begin.jsp

begin.jsp实现随机出题,防止刷新页面(通过java实现),超时处理(通过调用servlet来实现)和考试时间显示(通过javaScript)等功能。

为防止考生反复刷新页面造成负面影响,利用客户端javaScript限制用户不能刷新,若用户刷新则提示出错。

我们采用Cookie存储用户登录时间和url,比较url如果发现相同值则认定用户登录之后刷新了页面,抛出错误处理。

Begin.jsp是考生进入答题系统的主界面,为提供给考生一个网络答题的交流平台,begin.jsp程序从数据库中随机抽取考题提供给考生,并且要求在规定的时间范围内回答完毕并提交给系统进行评分。此程序也是整个系统的一个难点,其中包括随机数的产生,相同随机数的处理。

3.2.2 成绩显示页面result.jsp

result.jsp的功能是根据考试的答题情况,计算出考试成绩,并显示出来。

3.2.3管理员后台管理模块

根据输入的用户名和密码验证该管理员是否存在以及密码是否正确。如果通过了验证则自动跳到后台主页面对话框。

管理员是本系统中权限最高的用户,几乎拥有了本系统中所有数据的全部使用权限。 包括如下:可以对人员进行管理,比如新增考生信息和对考生信息进行维护等;可以对题库进行管理,比如新增单选题、新增多选题、新增填空题、新增简答题和题库信息的维护;可以行试卷管理,比如新增试卷和试卷信息管理等。进行考务管理,比如负责考卷分发、考卷管理和考卷评分等。

参考文献:

[1]郑德庆,梁武. 采用B/S结构的计算机网络考试和管理系统[J]. 广东自动化与信息工程,2002(2).

[2]温子梅. 在线考试系统安全的防范和对策[J]. 网络安全技术与应用,2004(8).

[3] 翁儒林编著,JSP软件工程案例精解 [M],北京:电子工业出版社,2005.

[4] 黄理 曹林有 张勇等 编著,JSP深入编程 [M],北京:希望电子出版社,2001.