摘 要:本文所开发的在线考试系统,采用目前最流行的JSP技术,并与SQLServer2000技术相结合,从生成试卷、在线考试、提交试卷、到批阅试卷等均能自动完成,管理员还能对考试状态,考生查看成绩等进行控制。本系统界面友好,使用方便,实际使用价值高,可扩展性强,可以作为学校内部的考试系统。
关键词:JSP;在线考试系统;Servlet
一、开发环境的选取
选择何种开发工具是软件开发成功的要素之一。开发工具的选择主要决定于系统的最终用户和开发人员。评估一种开发工具的好坏,不仅要看它的设计模式、对象结构以及管理的支撑情况,还要适应具体的使用环境、开发方法、结构体系等。JSP提供了强大的WEB应用程序开发能力,同时JSP可以通过DAO组件提,供的接口访问数据库,便于开发出功能强大的WEB数据应用程序。因此选择JSP作为前台开发工具。本在线考试系统的JSP开发,工具主要采用Microsoft office FrontPage,调试环境为WindowsXP/2000Server/2003 server,ⅡS 5.1,IE6.0,IE7.0。每由于ORACLE具有强大的数据管理与处理能力,具有较高的安全性能1271;数据表中的记录的行数只受服务器硬盘空间的限制;支持远程存取等,符合考试系统需要存储大量试题的需求,因此选择ORACLE作为后台数据库。
二、系统的需求分析及总体流程图
2.1系统的需求分析
本系统采用身份验证的方法登录,包括以下基本功能:
(1)考生信息功能:主要是实现显示考生的注册信息,以及考生信息的添加、删除和修改密码的功能。
(2)在线考试功能:主要是实现管理员生成试卷、控制考试、考生在线答题、提交答案等功能。
(3)管理员功能:主要是实现添加、删除管理员的功能。
(4)成绩统计功能:主要是实现显示考试成绩、控制查看成绩的等功能。
(5)题目管理功能:主要是实现添加、删除、修改题目功能。
2.2在线考试系统总体流程图
在线考试系统总体流程图如下:
图1 在线考试系统总体流程图
2.3数据库的配置
程序对数据库的访问需要通过ODBC。打开“控制面板”中“管理工具”的“ODBC(数据源)”,在如图所示的对话框中创建数据源。本系统需要创建的数据源名称为exam,登录方式选择“使用用户输入登录标识和密码的SQL Server的验证”,在这里选择用户名为sa(密码为sa),默认连接数据库为exam。
三、在线考试系统详细设计与实现
在线考试系统主要实现试题的录入、试题的管理、智能组卷、在线考试、在线阅卷、用户管理、系统管理等功能。
3.1考生登录子模块的设计
(1)考生登录子模块的功能
点击“考生登录”,进入考生登录界面,在学号对应的文本框中输入学号,密码对应的文本框中输入密码,如果学号和密码与student表中的学号和密码相对应,点击“登录”按钮进入考生主界面,如果密码或学号为空或者输入不正确,则给出相应的提示,可以重新登录。点击“重设”按钮重新输入学号和密码,点击“注册”,进入注册页面。
输入:学号,密码。
处理:输入考生的登录信息。在页面提供的文本框中输入考生的学号和密码信息,点击“登录”按钮后,程序将输入的信息与考生信息表中的记录比较,如果有吻合的话就将进入考生主页面。如果没有吻合的信息则给出提示。
输出:考生主界面。
(2)考生登录子模块的程序流程图
考生登录子模块的验证程序流程图如图2所示。
图2考生登录子模块的程序流程图
3.2考生信息模块的设计
考生信息模块分为三个子模块,分别为:基本信息子模块,修改密码子模块,添加删除考生子模块。
(1)基本信息子模块的设计
该子模块实现显示登录考生的基本信息。包括考生的班级,学号,姓名,E-Mail,个人主页,QQ号码,通讯地址,个人简介。
(2)修改密码子模块的设计
该子模块实现考生修改登录密码的功能。在新密码对应的文本框中输入新密码,再次输入新密码对应的文本框中再一次输入密码。如果输入正确,点击“确定”按钮,会提示修改密码成功。如果输入有误,如密码不一致或密码为空,则会给出相应的提示。
输入:新密码。
处理:修改考生的密码。在页面提供的文本框中输入新密码,点击“提交”按钮,如果输入正确,程序将考生信息表中的密码替换成新密码。
输出:考生信息表。
修改密码子模块的程序流程图如下:
图3 修改密码子模块程序流程图
(3)添加删除考生子模块的功能
该子模块实现添加及删除考生信息的功能。在必填项班级,学号,姓名,密
码对应的文本框内输入相应的信息,在非必填项Email,个人主页,QQ,通讯地址对应的文本框内输入相应的信息,点击“提交”按钮,会弹出窗口,提示“您所填内容正确吗?”,如果所填内容无误,点击“确认”按钮,操作成功会弹出窗口提示添加成功,点击“确定”按钮返回管理用户界面。如果必填项内没有输入内容,则会给出相应的提示。如果所填内容有错误,点击“取消”按钮,可重新填写。页面下方以表格的形式列出所有考生的注册信息,点击该条信息后面的删除,即可删除该考生的信息。
输入:考生的信息
处理:①添加考生信息:在文本框中输入相应的信息,带*号的为必填项,点击 “提交”按钮,将考生的信息添加到考生信息表,并在页面下方的删除考生信息表中显示该考生的信息。②删除考生信息:在删除考生信息表中选择要删除的考生,点击该考生信息后面的“删除”,即可删除该考生信息。
输出:考生信息表和添加删除考生界面的删除考生信息表。
3.3管理员添加模块的设计
该模块主要实现添加和删除管理员的功能。在用户名对应的文本框内输入用户名,在密码对应的文本框内输入密码,点击“提交”按钮,弹出窗口,提示“您确认所填内容正确吗?”如果所填内容正确,点击“确定”按钮,弹出窗口提示添加成功,然后点击“确定”返回。如果所填内容有误,点击“取消”按钮,重新填写。系统中所有管理员的信息均以表格的形式显示在页面上,点击删除,即可删除该条管理员信息。
输入:用户名,密码。
处理:①添加管理员:在文本框中输入相应的信息,点击“提交”按钮,弹出提示窗口,点击“确定”后,将该管理员信息
添加到管理员信息表,并在页面下方的删除管理员表中显示该管理员信息。②删除管理员:选择要删除的管理员,点击该管理员信息后面的“删除”,即可删除该管理员信息。输出:管理员信息表和管理员添加界面的删除管理员表。
3.4题目管理模块的设计
题目管理模块分为两个子模块:新增题目子模块,编辑题目子模块。
(1)新增题目子模块的设计
该子模块实现添加试题的功能。在问题题干对应的文本区内输入问题题干,在设置添加备选答案的数量对应的文本框内输入答案的数量,点击“添加答案”按钮,在各个备选答案对应的文本框内输入备选答案,并选择一个正确答案,点击提交,提示添加试题成功,可继续添加。如果题干或正确答案为空,则会给出提示。点击“清空”,则清空所填内容,可重新填写。
输入:问题题干,答案数量,备选答案,正确答案。
处理:在文本框内输入相应的内容,点击“提交”按钮,将该试题添加到题库表,并提示添加成功。
输出:题库表。
通过本模块达到添加新的题目及试题,流程图如图5所示。
图5.15新增题目子模块程序流程图
(2)编辑题目子模块的设计
该子模块实现两个功能:修改试题和删除试题。页面上罗列出所有试题,点击某试题对应的“编辑”,则可对试题的问题题干,答案及正确答案进行修改。点击提交,提示更新成功,点击“返回”可继续编辑其它试题。如果要取消试题修改,则点击“清除”按钮。点击某试题对应的“删除”,即可删除该试题。
输入:问题题干,备选答案,正确答案。
处理:①修改试题:选择要修改的试题,点击“编辑”,进行试题修改,修改完成后点击“提交”,将新的试题信息更新到题库表中,并在编辑题目界面上显示修改后的信息。②删除试题:选择要删除的试题,点击该试题后面的“删除”,即可将该试题删除。
输出:题库表和编辑题目界面。
3.5在线考试模块的设计
在线考试模块分为生成试卷子模块,查看试卷子模块,考试控制子模块,在线测试子模块。
(1)生成试卷子模块的设计
该子模块实现生成试卷的功能。在试卷名称对应的文本框内输入试卷名称,在试卷分数对应的文本框内输入分数,在试题数对应的文本框内输入试题个数,点击“提交”按钮,页面提示要改变答题状态。如果系统已经生成试卷,则显示试卷信息,点击“继续”,可继续生成试卷,点击“退出”返回。
输入:试卷名称,试卷分数,试题数。
处理:在文本框中输入相应的信息,点击“提交”按钮,生成试卷成功,在考试信息界面显示试卷信息。
输出:考试信息界面
(2)考试控制子模块的设计
该子模块实现管理员对考试的控制。如果当前状态为进行,学生能够进行系统答题,如果当前状态为暂停,则学生不能进行系统答题。通过点击选项前的选择按钮,并点“击提交”来改变考试状态。
(3)在线测试子模块的设计
该子模块实现考生在线答题并计时的功能。每次显示一道考题,并且显示该题的次序和试题总数。通过点击上一题和下一题来浏览试题,点击选项前的选择按钮来选择答案,题目全部答完后,点击提交来提交试卷。如果考试时间到了,而考生没有提交试卷,则自动提交试卷。
参考文献:
[1]虞益诚.SQL Server 2000数据库应用技术[M].中国铁道出版社.2001
[2]赵松涛.中文版SQL Server 2000应用及实例集锦[M].北京:人民邮电出版社.2004
[3]张莉.SQL Server数据库原理及应用教程[M].北京:清华大学出版社.2005
[4]Paulraj Ponniah.数据库设计与开发教程[M].北京:清华大学出版社. 2002
[5]飞思科技产品研发中心.JSP应用开发祥解(第二版)[M].电子工业出版社. 2005