中职JAVA在线考试系统的研究
2018-06-06王保银雷新华
王保银 雷新华
摘要:网络在线考试系统是传统考场的延伸,利用它简化了传统考试的过程,节约了成本,是电子化教学不可缺少的一个重要环节。笔者使用SQL server数据库技术、JDBC开发技术操作数据库,设法为学校创建一个简单快捷的在线考试平台。笔者对在线考试系统的功能需求进行了分析,并给出了系统功能结构、各用户功能设计、数据库设计及系统的部分实现。
关键词:在线考试;SQL server数据库;JDBC;JSP
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)07-0075-03
网络化教育作为教育改革的发展方向,已经成为我们学习中不可或缺的一部分,作为网络化教育的目标,网络考试系统的出现也成为了必然,在线考试也成为一个重要的研究领域。无纸化考试作为一种更加高效快捷的考试手段,已经开始进入普通学校,正在给传统教育模式带来新的变革。与传统考试模式相比,在线考试系统使组卷、阅卷方式更为灵活,同时充分利用计算机进行自动阅卷功能,大大减轻了教师的工作量,同时也使得考试变得更加的公平。
1 需求分析
根据对学校考试部门的调查和对传统考试实际的流程分析,要求在线考试系统具有以下功能:
1)实现特定对象的验证登录(管理员、教师、学生),只有验证有效的用户才可以登录,不同的用户会被赋予不同的权限,不同用户可以通过选择对应的用户类型,然后输入用户名和密码登录系统及修改自己密码的功能。
2)系统要有一个友好的界面和完善的试卷上传和回收功能,确保信息传送的正确性以及考试的顺利进行。学生登录系统后,在规定时间内完成答卷并给出相应分数。
3)题库和试卷管理的功能,包括对试题的增删、检查,对试卷的组卷和发布功能。
4)实现教师对考生成绩的统计和学生成绩查询等管理功能。
根据以上需求分析,设计系统工作流程图如图1所示。
2 系统功能结构
2.1 各模块的详细介绍
1)考生登录:
在用户层:考生通过主登录页面输入用户名与密码,进入考试系统。
在web层:将从登陆入口处得到的用户名、密码和从业务层的相应用户名和密码作比较,如果用户、密码正确且还未登录就登录考试页面,否则提示错误,跳转到出错页面,并提示重新登陆。
在业务层:获得与之对应sql server数据库的连接,并读取所有的用户名和密码信息,将该信息传入web层。
在EIS层:对应的是sql server数据库中的students表格。
2)考试模块(选择题):
在客户层:浏览器显示考生所需要作答的考试题目,考生输入考试答案,考生做完题目后,点击交卷按钮上传题目。
在Web层:jsp负责从业务层中获得试卷,并将试题向客户端显示。
在业务层:获得与数据库的连接,并且取出题目。
在EIS层:对应的是数据库中选择题正确答案choose数据。
3)答案上传模块:
在客户层:在浏览器中单击交卷按钮将做完的答案提交至相应位置。
在Web层:将考生提交的答案提交给相应的javabean组件,并在客户端显示考试结束提示信息。
在业务层:将提交上来的考生考试答案存入相应的数据库中。
在EIS层:数据库中students表格,在两个相应字段存放该考生考试提交的答案。
2.2 在线考试系统的总体架构
如图2所示。
3 详细设计
3.1 系统设计
根据对设计目标软件的需求分析和设计,为确保系统各项功能的实现,下面将分登录设计、管理员用户设计、教师用户设计、学生用户设计,这四个模块,对系统所需要实现的全部功能进行设计和说明。
3.1.1 登录设计
登录部分设计功能:具有一个用户登录界面,用户能够通过输入自己的用户名和密码登录系统,并选择对应用户,然后点击“登录”按钮;系统通过与数据库中的数据进行比对,确认一致后方才跳转至相应的操作界面进行下一步操作。在用户输入数据有误的时候可以通过点击“重置”按钮进行重新输入。在不同用户(管理员、教师、学生)的登录验证无误之后,系统会根据各用户权限对调用相应的数据库数据,跳转至相应的用户界面。
3.1.2 管理员用户功能设计
管理员用户设计功能:修改密码、查询、添加、删除各种权限的用户(管理员、老师、学生),对试卷进行查询和删除,设定考试时间。
3.1.3 教师用户功能设计
教师用户设计功能:试题库的管理和试卷的生成,查看考生考试成绩。
3.1.4 学生用户功能设计
学生用户设计功能:在规定的考试时间之内,学生参加考试,考试结束交卷。如果考试时间到了,学生没
有交卷,系统会自动交卷。考试结束后,学生可以查看考试成绩。
3.2 数据库设计
3.2.1 数据库设计概要说明
本系统采用SQL server 数据库,系统数据库名为ypgl,其中包含了15个表,其中临时表有8个,而作为数据存储表的有7个。数据存储表:allusers(管理员表)、chengji(成绩表)、duoxuanti(多选题库表)、kaosheng(考生信息表)、panduanti(判断题库表)、tiankongti(填空題表)、xuanzeti(选择题库表)。
3.2.2 主要数据表的结构
数据库中的管理员表和成绩表分别如表1 、表2所示。
3.3 连接数据库
在浏览器端程序访问数据库时,首先通过中间件,由中间件对数据库操作权限进行验证,只有验证通过才能对数据库进行操作。对数据库的增删检查操作都封装在中间件中,其位于服务器端,对数据库进行操作完成之后,会将结果通过Web服务器返回给用户。
数据库的连接及处理的具体实现过程如下:
//首先建立JDBC——ODBC桥
sun.jdbc.odbc.JdbcOdbcDriver;
//JDBC——ODBC桥建立失败错误处理
catch(ClassNotFoundException event){}
//建立与数据库的连接完成后,发送SQL查询语句,并将结果保存到相应的rs对象中
Con=建立JDBC——ODBC桥
Sql=SQL查询 执行查询
Rs=返回处理结果
//SQL语句执行出错处理
catch(SQLException e1){}
4 系统实现
在MyEclipse导入源代码,当servers 中MyEclipse Tomcat提示运行成功之后,在本地浏览器中输入Java在线考试系统登录页面网址,即可进入系统页面,进行下一步操作。部分程序相关代码如下:
已有考生列表:
**以上HTML代码为实现考生的条件查询功能
参考文献:
[1] 明日科技.Java项目开发案例全程实錄[M].2版.北京:清华大学出版社,2011.
[2] 周华清.Java典型模块与项目实战大全[M]. 北京:清华大学出版社,2012.
[3] 杨谊,喻徳旷.JSP网络程序设计与案例开发教程[M]. 北京:人民邮电出版社,2014.
[4] 范云之.基于Web数据库在线考试系统的设计、实现研究[J].商丘师范学院学报,2006(5):10.
[5] 于兆勤.基于INTERNET的考试系统的研究与开发[J].广东广播大学学报,2001(8).
[6] 林必英.Web数据库存取技术[D].吉林:东北电力大学,1999.