基于B/S模式的在线考试系统
田宗军 王桂峰
(南京航空航天大学 机电学院,江苏 南京210016)
摘 要 基于J2EE标准,采用JSP+JavaBean+Servlet的技术,建立了B/S模式下三层架构的网络考试系统,采用数据库SQL Server 2000进行数据存储,实现了试题管理、手动和自动组卷、在线考试、自动阅卷、成绩查询等一系列功能。该系统是一个较为完善的、稳定的、灵活的网络考试系统,具有良好的实用价值。
关键词 在线考试系统;JSP技术;B/S模式
1 引言
传统考试要求老师做出试卷、印试卷、安排考场、监考、收集试卷、评改试卷、讲评试卷和分析试卷等等工作。这是一个漫长而复杂的过程,而且耗费大量人力、物力。迫切需要一种新的考试方式来解决这些问题[1]。基于网络进行在线考试,具有现有考试手段所无法比拟的优点,例如:检索迅速、操作方便、可靠性高、存储量大、保密性好、寿命长、成本低等。《工程基础软件与应用》是一项实践性很强的课程,只有进行实际操作,将理论应用于实际中,才能确实掌握书中的知识点,该课程的考核方法必须采用上机考核的方法,才能真正检验学生对知识的掌握程度。针对上述情况,本文开发了一套基于B/S 模式的网络考试系统,该系统充分利用Java技术的优势,具有速度快、安全性高、易学好用等优点,把教师从繁重的工作中解脱出来,并且顺应了当前无纸化考试的潮流。
2 系统架构
2.1 关键技术
基于 Java 语言的JSP 技术具有较好的平台无关性、安全性和强大的数据库支持,适合开发网络考试系统[2]。
JavaBean 是一种Java类,通过封装属性和方法成为具有独立功能、可重复使用的并且可以与其它控件通讯的组件对象[3],用JavaBean可以将某些复杂的处理分离出来,成为独立的可重复利用的模块。
Servlet 是运行在 Web服务器端的Java 程序,具有多线程、平台独立、运行效率高等特点[4]。
2.2 B/S的系统模式
系统的体系结构是完全按照SUN公司提出的J2EE规范来设计的。该系统采用三层架构,形成一种瘦客户模式的B/S应用系统,其中表示层用JSP开发,是用户的工作平台。业务逻辑层则设计成Servlet的方式,其中Servlet用来与表示层交互信息,并调用JavaBean对数据库进行存取操作。对网络考试系统的安全、高效地运行起着至关重要的作用,是整个系统的核心部分。第三层的数据层采用SQL Server 2000,它高效、安全,对系统硬件要求不高,很适合网络考试系统的要求[5]。系统体系结构如图1所示。

图1 体系结构图
3 系统模块分析与设计
根据用户需求分析和技术规范书,我们实现了网络考试系统,该系统分成两个模块:学生模块、教师模块。它们相互协作,共同完成网络考试的全过程,下面具体分析一下几个主要模块的功能与设计方法。
3.1 学生模块
它向学生提供一个电子考试的平台,学生凭学号和密码进入考试系统,首先浏览考试公告,随后获得电子试卷,考试结束后该模块能自动提交试卷,还能对其中客观题的答案当场进行判分,每份考生试卷的题目和答案都被保存起来以备人工阅卷。学生可以查看成绩,还可以在留言板上与教师或其它同学相交流。图2为本模块的功能层次图。
图2 学生模块的功能层次图
电子试卷中包含客观题和主观题,题型有单选题、多选题、简答题、综合题等,并根据每种题型的特点设计了专用的显示格式,使得试卷界面友好,美观易用,方便学生答题。
考试的过程中,系统采用每隔30秒就自动储存一次考生答案的方法,同时也将考试剩余时间储存。如果考试因特殊情况中断,考生可以重新进入考试系统,继续刚才的考试,以前保存的答案仍旧存在,且会从存储时间开始倒计时。考试快结束时,时钟会弹出一个提醒抓紧时间的对话框。考试时间一结束,该时钟将强行提交电子试卷,其中客观题的答案先被软件系统自动判分并存储,主观题的答案则直接被存储起来等待人工判分。
3.2 教师模块
这是网络考试系统中功能最多的模块,它集中了系统的全部管理职能,是系统的重要组成部分。该模块功能层次简图如图3所示。
图3 教师模块的功能层次图
3.2.1 网站管理
此模块分为帐户管理、留言板管理和考试公告管理,帐户管理主要用于批量添加、修改、删除学生名单,设置上机考试密码,管理学生个人考试信息,查询个人成绩,打印名单和成绩单等。留言板管理实现了对学生和教师留言的管理,考试公告管理包括对考试公告的发布、删除、修改。
3.2.2 试题管理
在此可以对试题库中的试题进行修改、添加或删除。每道考题录入的信息主要有题干、答案、难易度、题型等,分值则在教师出卷时另外指定,不同类型的考题存储在不同的数据表中。客观题采用机器自动判分,核对答案时采用严格匹配方式,即一字不差才算对,因此这种考题的答案必须惟一,而主观题采用人工判分,对答案内容没有特殊要求。
3.2.3 试卷管理
试卷管理的主要功能是出卷。出卷人首先选择考试科目,然后可以选择人工或自动出卷。如果是人工出卷,则必须手动从不同题型库中选择试题,然后对每道题设置分值,点击完成按钮,生成一份试卷。如果是随机出卷,则必须首先设置各题型的数目,系统自动生成一份试卷预览页面,在此基础上可以手动添加、删除试题,设置各道题的分值后,即可生成一份试卷。最后需确定考试时间。
3.2.4 成绩管理
教师通过这个模块来批阅主观题。教师一进入系统就可以看到考试的学生名单,当打开某个学生的试卷时,题目内容、标准答案、分值、学生的答案都会自动列出来,教师根据这些内容来打分,还可以为学生添加平时成绩。人工阅卷全部结束后,该模块能自动计算总分和学生成绩分布图,并以班级为单位打印成绩单。整个阅卷和存档过程全部利用网络进行流水化作业,工作效率非常高,工作强度也大为减轻。
3.2.5 考场监控
该模块可以激活或关闭学生的考试身份。当学生登录考试系统时,就可以看到这份试卷,一旦进入正式考试页面,学生的考试身份即被停用,无法再次考试,当考生机器或网络发生故障时,可以根据需要调整机器后,接着重新激活其考试身份,让其再次参加考试。同时该模块还可以获取所有客户端的IP地址,从而可以准确定位考生。
4 系统实现与测试结果
系统采用JBuilder 9结合DreamweaverMX 2004开发。Web服务器的操作系统为Windows 2000 Server,Tomcat 5.0作为Java运行环境和对外提供Web服务,数据库采用SQL Server 2000。
在本系统中,数据库的访问是通过JDBC接口实现的,JDBC是一套允许Java与SQL数据库对话的程序设计接口[6],提高数据库访问效率是提高系统整体效率的关键。本系统是通过数据库连接池的设计来提高数据库访问速度。基本思想就是预先建立一些连接放置于内存对象中以备使用,当程序不需要建立数据库连接时,只需从内存中取一个来用而不用新建,使用完毕后,只需放回内存即可,而连接的建立、断开都有连接池自身来管理[7]。
测试结果表明,系统运行稳定,在网络服务高峰时刻没有出现服务器死机现象,所有考生的考试过程都顺利完成,教师阅卷评分工作也取得完全成功,达到了设计目的。
5 结束语
该考试系统的设计,立足于实际课程教学和教学改革的需要,简化了考试过程,规范了考试管理,本系统运行稳定,使用效果良好,事实证明它能大幅度减少教师的工作量,成倍地提高工作效率,有很高实用价值。
参考文献
[2] 李文华. 基于JSP的党校网上教学系统的设计与实现[J]. 宁夏工程技术. 2006,5(3):275-277
[3] 贺立红,张晓红. 基于JSP技术的网络教学平台设计[J]. 计算机与信息技术,2005,(2):93-94
[4] 赵荣波,张佳林. 基于Web的企业管理信息系统研究[J]. 中国锰业,2007,25(2):36-38
[7] 陆垂伟 , 周松林 , 李芳等. 基于J2EE的网络考试系统的设计与实现[J]. 计算机应用与软件,2006,23(10):139-149
收稿日期:11月10日 修改日期:11月17日
作者简介:田宗军(1971-),男,南京航空航天大学机电学院副教授,研究方向:机电一体化,特种加工新技术。 |