基于JavaWeb实现的上机考试系统源码+数据库,通过绑定ip地址的方式控制学生登录

上机考试系统

介绍

该系统为上机考试系统,由Java Web进行编写,经过软件测试,具备一定的实用性,并已部署在远程服务器提供浏览器访问,网址;该系统的主要目标是通过绑定ip地址的方式控制学生登录,从而保证参加考试的学生必须独立完成并提交程序,杜绝代别人提交的情况。上机考试管理系统面向三类用户:管理员、教师和学生。管理员用户负责系统整体管理,包括管理教师帐号、清理考试数据、更改系统全局配置等。教师用户可以创建考试,在考前上传试卷、导入参加考试学生名单;创建考试的教师可以开启和结束考试;考试中所有登录教师可以查看学生登录和提交情况、根据实际情况解除个别学生登录锁定,向参加考试学生发送通知消息,考后创建考试的教师可以打包下载学生提交文件并导出提交记录。学生用户在上机考试期间的主要操作是下载试卷和提交答案,可以查看自己提交过文件信息;教师发出的通知消息要及时显示。

img

软件架构

项目本身采用mvc框架,方便后期修改;

项目采用tomcat进行部署,支持所有主流浏览器的访问;

数据库采取Dbcp连接池,方便与远程数据库的数据交互,降低了远程数据库实时工作量;

安装教程
  1. 项目本身由eclipse编写,由git pull到本地即可进行运行;
  2. 数据库采用了MySQL,数据库文件在项目文件夹中,导入后即可与项目程序直接进行数据交互;
项目功能要求

管理员功能需求

img

l 登录:提供管理员登录的入口,在程序中可以预设默认管理员登录信息(admin/admin),如果数据库中有管理员身份的帐号信息,则默认管理员失效。对于非默认管理员,登录后除了可以进行后面所列操作,还可以修改密码。

l 教师管理:可以对教师用户进行增删改查操作,并可以指定特定教师作为系统管理员,系统可以有多个管理员。如果系统数据库中没有任何一个教师具有管理员身份,则默认管理员登录信息有效。

img

l 考试清理:清除考试的相关数据,包括数据库中的学生信息、登录ip地址绑定信息、提交信息等,以及文件系统中的提交文件。考试清理只有在主考教师已经打包下载学生提交文件后才可以进行。清理后的考试可以删除。

l 系统配置:设置一些全局性的系统选项,包括后台任务的时间周期、分页查询时的每页记录数、手动开启考试的时间阈值、学生上传文件字节数的有效范围等。另外可以指定是否允许主考教师清理和删除考试。

img

img

2)教师功能需求

img

l 登录:提供教师登录的入口,可用的教师登录信息要由管理员提前写入数据库中。登录后除了可以进行后面所列出的操作,还可以修改密码、退出登录。

l 新建考试:教师可以新建考试,指定考试名称、开始时间、是否自动开始等信息。

l 编辑考试:对于未开始的考试,创建的教师可以对考试信息进行编辑,不仅可以更改考试名称、开始时间等信息,还可以上传试卷、导入学生名单、开启考试等。

img

l 试卷上传:在考试开始前可以上传考题文件,具体文件格式不限,多次上传以最后一次上传为准。

l 学生名单导入:教师可以查看已有的学生名单;教师可以手工添加个别学生信息;也可以通过Excel表格或CSV文件形式批量导入学生名单,文件格式要求:Excel文件是Excel 2003的.xls文件,学生名单数据应有3列,第一行是列的名字,分别是学号、姓名、班级,CSV文件结构类似。

l 开启考试:如果考试指定自动考试,则系统会在指定开始时间自动开启考试;无论是否设置自动开启,主考教师均可在指定的考试开始时间附近手动开启考试,手动开启时允许的时间偏差范围由管理员在全局配置中设置,默认为15分钟。
注意:开启考试后学生才可以登录,为了避免相互干扰,系统中同一时间只允许开启一场考试。

l 查看考试情况:考试中间监考教师可以查看考试概况,包括有应考试学生数、已登录/未登录学生数、已提交/未提交学生数;并且可以查看详细情况,包括已登录/未登录学生名单、已登录学生中已提交/未提交学生名单。

img

l 学生信息管理:考试中间,如果出现导入学生信息不全或者临时增加参加考试学生的情况,监考教师可以手工添加学生信息;监考教师可以根据学号、姓名等查询学生信息。

l 解除学生登录锁定:考试中间学生考试用计算机出现问题时,需要更换计算机,需要监考教师对其已经登录的ip地址解锁后,学生才可以在其他计算机上登录。可以根据学号、姓名、ip地址等查询特定学生信息,然后进行解锁操作。

l 通知管理:考试中间监考教师都可以发布通知消息,例如临时提出附加要求,提醒及时提交等。通知消息已字符串列表形式管理,可以新增通知条目,也可以删除现有条目。所有通知条目会在学生登录后的页面中以列表形式显示。

l 考试结束:主考教师可以指定考试结束,考试一旦结束,则学生不能再进行任何操作(不能提交、不能查看、不能登录),监考教师亦不能进行任何操作,因此在结束考试前一定要查看考试情况,确认学生正确提交。

l 答卷下载:可以把所有学生提交答案打包下载,各个学生提交内容会根据对应学号、姓名放在不同文件夹下。

l 导出提交信息:可以把所有学生提交的信息(包括班级、学号、姓名、最后提交时间)导出到一个Excel表中,用于评阅时参考。因为允许学生多次提交,只需记录最后一次提交的时间。

l 考试清理和删除:清除本人创建考试的相关数据,包括数据库中的学生信息、登录ip地址绑定信息、提交信息等,以及文件系统中的提交文件。考试清理只有在已经打包下载学生提交文件后才可以进行;清理后的考试可以删除。教师是否能够进行考试清理和删除,需要管理员在全局配置中设置。

3) 学生功能需求

img

l 登录:如果考试已经开启,学生可以填写自己的学号和姓名进行登录。登录信息通过ip地址绑定的方式锁定以防止学生冒名登录,即:如果该学号和姓名已经在其他计算机上登录过,或者本机已经登录过其他学生,则不允许登录。

l 试卷下载:学生可以下载教师考前上传的试卷。

img

l 答案上传:学生完成部分或全部答案后,可以打包相关文件,然后上传。不同学生上传文件在不同目录下,不会相互覆盖;同一学生上传同名文件会覆盖之前文件。

img

l 查看已提交文件:可以查看自己已经上传的文件。

(1) 其他要求

因为本项目强调所开发系统的实用性,因此在功能要求之外,还对性能提出了要求。另外,对于系统的跨平台部署和访问、开发过程的协作方式也有一些具体要求。

1)性能要求

l 单次考试支持500以上在线用户。

l 200以上用户并发提交答案时能够正确提交。

2)跨平台要求

l 系统可以部署在Windows/Linux系统上。

l 客户端可以使用主流浏览器(Firefox、Chrome、IE等)。

参与贡献
  1. Guangchen Li
  2. Haoyu Zhang
  3. He Tang
系统概要设计

相关的业务逻辑图,UML类图和顺序图等图描述见项目文件夹内的设计文档

此处仅截取表格部分;

数据字典

数据流编号:F-01
数据结构名称:答卷
简述:考生作答完成后提交的答卷
来源:考生
去向:考后处理模块
数据流组成:{考生信息+答卷}
数据流量:100份/秒
高峰流量:200份/秒
数据流编号:F-02
数据结构名称:已提交答卷
简述:考生已提交的答卷
来源:考后处理模块
去向:考生
数据流组成:{已提交答卷+提交时间}
数据流量:100份/秒
高峰流量:200份/秒
数据流编号:F-03
数据结构名称:学生名单
简述:老师导入的学生名单
来源:学生数据库
去向:考前准备模块
数据流组成:{学生名单}
数据流量:100份/秒
高峰流量:200份/秒
数据流编号:F-04
数据结构名称:当前学生IP
简述:分配给当前学生的IP
来源:考前准备模块
去向:学生数据库
数据流组成:{当前学生IP}
数据流量:100份/秒
高峰流量:200份/秒
数据流编号:F-05
数据结构名称:更改后学生IP
简述:由老师更改后重新分配给当前学生的IP
来源:考试系统
去向:学生数据库
数据流组成:{更改后学生IP}
数据流量:100份/秒
高峰流量:200份/秒
数据流编号:F-06
数据结构名称:考前机房剩余IP
简述:考试前机房实时剩余的IP
来源:机房
去向:考前准备模块
数据流组成:{当前机房剩余IP}
数据流量:100份/秒
高峰流量:200份/秒
数据流编号:F5-07
数据结构名称:考试占用后剩余IP
简述:考试占用后机房实时剩余的IP
来源:考后处理模块
去向:机房
数据流组成:{考试占用后剩余IP}
数据流量:100份/秒
高峰流量:200份/秒
数据流编号:F-08
数据结构名称:考试结束后释放的IP
简述:考试结束后由考试系统释放的IP
来源:考后处理模块
去向:机房
数据流组成:{考试结束后释放的IP}
数据流量:100份/秒
高峰流量:200份/秒
数据流编号:F-09
数据结构名称:试卷
简述:老师考前提交的试卷
来源:老师
去向:考前准备模块
数据流组成:{试卷}
数据流量:100份/秒
高峰流量:200份/秒
数据流编号:F-10
数据结构名称:更改IP申请
简述:老师向系统申请更改特定学生IP
来源:老师
去向:考试进行模块
数据流组成:{更改IP申请}
数据流量:100份/秒
高峰流量:200份/秒
数据流编号:F-11
数据结构名称:考试信息
简述:考试实时信息
来源:考前准备模块,考后处理模块
去向:老师
数据流组成:{考试已到人数+考试已提交人数}
数据流量:100份/秒
高峰流量:200份/秒
数据流编号:F-12
数据结构名称:下载答卷
简述:考生提交答卷的压缩包
来源:考后处理模块
去向:老师
数据流组成:{考生提交答卷的压缩包}
数据流量:100份/秒
高峰流量:200份/秒
数据流编号:F-13
数据结构名称:机房管理申请
简述:管理员管理机房信息的申请
来源:管理员
去向:管理员管理模块
数据流组成:{机房管理申请}
数据流量:100份/秒
高峰流量:200份/秒
数据流编号:F-14
数据结构名称:管理员修改后机房IP信息
简述:管理员修改后机房IP信息
来源:管理员管理模块
去向:机房
数据流组成:{管理员修改后机房IP信息}
数据流量:100份/秒
高峰流量:200份/秒
数据流编号:F-15
数据结构名称:试卷下载申请
简述:考生下载试卷的申请
来源:考生
去向:考试进行模块
数据流组成:{试卷下载申请}
数据流量:100份/秒
高峰流量:200份/秒
数据流编号:F-16
数据结构名称:试卷
简述:考生下载试卷
来源:考试进行模块
去向:考生
数据流组成:{试卷}
数据流量:100份/秒
高峰流量:200份/秒
数据流编号:F-17
数据结构名称:老师账号管理
简述:管理员对老师账号的管理申请
来源:管理员
去向:管理员管理模块
数据流组成:{管理员对老师账号的管理申请}
数据流量:100份/秒
高峰流量:200份/秒

完整代码下载地址:基于JavaWeb实现的上机考试系统源码+数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员柳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值