基于springboot+vue+mysql技术的在线考试系统设计与实现(源码+论文)
一、相关技术
1 MYSQL数据库
技术描述:MySQL是一个真正的多用户、多线程SQL数据库服务器,基于SQL的客户/服务器模式的关系数据库管理系统。其优点包括功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常适用于Web站点或其他应用软件的数据库后端开发。用户可以利用多种语言编写访问MySQL数据库的程序。作为开放源代码运动的产物之一,MySQL越来越受到青睐,应用范围广泛。速度和易用性使MySQL特别适用于Web站点或应用软件的数据库后端开发。
特点:
- 源代码便携性:在C和C++中使用和测试,以确保源代码的编译器便携性和灵活性。
- 多操作系统支持:支持多种操作系统,包括AIX、FreeBSD、HP-UX、Linux、Mac OS、Netware、OpenBSD、OS/2、Solaris、Windows等。
- 多语言API支持:提供用于不同编程语言的API,如C、C++、Python、Java、Perl、PHP、Ruby和Tcl等。
- 多线程支持:使用CPU资源支持多线程,提高查询速度。
- 算法优化:优化查询SQL,提高搜索速度。
- 多国语言支持:支持多国语言,包括中文、GB2312、BIG5、日文、Shift-JIS等。
- 网络连接:支持TCP/IP、ODBC和JDBC数据库连接。
- 管理工具:提供管理、控制和优化数据库操作的工具。
- 大数据处理:可以处理数以千万计的记录在一个大的数据库。
2 B/S结构
技术描述:B/S架构是一种基于互联网系统的软件系统开发架构,广泛应用于软件系统开发中。它打破了C/S结构的限制,提供了对基于网络结构的软件系统的良好支持。B/S架构伴随着计算机网络技术的发展而逐步发展和更新。
运行方式:B/S架构利用操作系统中的浏览器进行使用,不需要在使用的电脑上安装窗体软件系统。开发的软件系统部署在远程服务器上,通过互联网访问部署好的软件系统,给用户带来极大便利。
三层体系结构:
- 表示逻辑层:用户通过浏览器向服务器发出请求。
- 控制逻辑层:服务器处理请求并执行应用程序。
- 数据展现层:服务器访问数据库并返回结果。
优点:
- 简化客户机工作:客户机上只需安装少量客户端运行软件。
- 跨平台性:可以在任何接入互联网的电脑上操作系统。
- 节约开发成本:使用通用浏览器实现复杂功能。
3 Spring Boot框架简介
技术描述:Spring Boot由Pivotal团队提供,旨在简化新Spring应用的初始搭建和开发过程。通过特定方式进行配置,开发人员不再需要定义样板化的配置,致力于在快速应用开发领域成为领导者。
特点:
- 简化配置:使用特定方式进行配置,减少开发人员的配置工作。
- 兼容性:可以与经典的Java开发工具一起使用或作为命令行工具安装。
- 版本要求:需要Java SDK 1.6或更高版本,本项目使用JDK 1.8版本。
二、系统概要设计
数据库设计
数据库设计表
基于JavaWeb技术的在线考试系统设计与实现需要后台数据库,下面介绍数据库中的各个表的详细信息:
表1 试卷表
字段 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
name | varchar(200) | 否 | 试卷名称 | |
time | int(11) | 否 | 考试时长(分钟) | |
status | int(11) | 否 | 0 | 试卷状态 |
表2 试题表
字段 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
paperid | bigint(20) | 否 | 所属试卷id(外键) | |
papername | varchar(200) | 否 | 试卷名称 | |
questionname | varchar(200) | 否 | 试题名称 | |
options | longtext | 是 | NULL | 选项,json字符串 |
score | bigint(20) | 是 | 0 | 分值 |
answer | varchar(200) | 是 | NULL | 正确答案 |
analysis | longtext | 是 | NULL | 答案解析 |
type | bigint(20) | 是 | 0 | 试题类型,0:单选题 1:多选题 2:判断题 3:填空题(暂不考虑多项填空) |
sequence | bigint(20) | 是 | 100 | 试题排序,值越大排越前面 |
表3 考试记录表
字段 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
userid | bigint(20) | 否 | 用户id | |
username | varchar(200) | 是 | NULL | 用户名 |
paperid | bigint(20) | 否 | 试卷id(外键) | |
papername | varchar(200) | 否 | 试卷名称 | |
questionid | bigint(20) | 否 | 试题id(外键) | |
questionname | varchar(200) | 否 | 试题名称 | |
options | longtext | 是 | NULL | 选项,json字符串 |
score | bigint(20) | 是 | 0 | 分值 |
answer | varchar(200) | 是 | NULL | 正确答案 |
analysis | longtext | 是 | NULL | 答案解析 |
myscore | bigint(20) | 否 | 0 | 试题得分 |
myanswer | varchar(200) | 是 | NULL | 考生答案 |
表4 考试规则
字段 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
guize | longtext | 是 | NULL | 规则 |
tupian | varchar(200) | 是 | NULL | 图片 |
表5 考试评分
字段 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
kemu | varchar(200) | 是 | NULL | 科目 |
shijuan | varchar(200) | 是 | NULL | 试卷 |
pingfen | int(11) | 是 | NULL | 评分 |
xuehao | varchar(200) | 是 | NULL | 学号 |
xingming | varchar(200) | 是 | NULL | 姓名 |
banji | varchar(200) | 是 | NULL | 班级 |
表6 考试统计
字段 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
kemu | varchar(200) | 是 | NULL | 科目 |
shijuan | varchar(200) | 是 | NULL | 试卷 |
timu | varchar(200) | 是 | NULL | 题目 |
kaoshitongguolv | varchar(200) | 是 | NULL | 考试通过率 |
kaoshikemucishu | varchar(200) | 是 | NULL | 考试科目次数 |
表7 考试资讯
字段 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
title | varchar(200) | 否 | 标题 | |
introduction | longtext | 是 | NULL | 简介 |
picture | varchar(200) | 否 | 图片 | |
content | longtext | 否 | 内容 |
表8 管理员表
字段 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
id (主键) | bigint(20) | 否 | 主键 | |
username | varchar(100) | 否 | 用户名 | |
password | varchar(100) | 否 | 密码 | |
role | varchar(100) | 是 | 管理员 | 角色 |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 新增时间 |
表9 忘记密码人员登记
字段 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
xuehao | varchar(200) | 是 | NULL | 学号 |
xingming | varchar(200) | 是 | NULL | 姓名 |
banji | varchar(200) | 是 | NULL | 班级 |
xueyuan | varchar(200) | 是 | NULL | 学院 |
zhuanye | varchar(200) | 是 | NULL | 专业 |
shouji | varchar(200) | 是 | NULL | 手机 |
xinmima | varchar(200) | 是 | NULL | 新密码 |
xiugaishijian | datetime | 是 | NULL | 修改时间 |
表10 用户
字段 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
xuehao | varchar(200) | 否 | 学号 | |
mima | varchar(200) | 否 | 密码 | |
xingming | varchar(200) | 否 | 姓名 | |
xingbie | varchar(200) | 是 | NULL | 性别 |
xueyuan | varchar(200) | 是 | NULL | 学院 |
zhuanye | varchar(200) | 是 | NULL | 专业 |
banji | varchar(200) | 是 | NULL | 班级 |
shouji | varchar(200) | 是 | NULL | 手机 |
shenfenzheng | varchar(200) | 是 | NULL | 身份证 |
zhaopian | varchar(200) | 是 | NULL | 照片 |
表11 专业类型
字段 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
leixing | varchar(200) | 是 | NULL | 类型 |
表12 专业列表
字段 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
zhuanyemingcheng | varchar(200) | 是 | NULL | 专业名称 |
zhuanyexiangqing | longtext | 是 | NULL | 专业详情 |
zhuanyeleixing | varchar(200) | 是 | NULL | 专业类型 |
三、系统详细实现
1 管理员模块的实现
1.1 用户信息管理
功能描述:基于JavaWeb技术的在线考试系统设计与实现的系统管理员可以管理用户,可以对用户信息添加修改删除以及查询操作。具体界面的展示如图1所示。
图1 用户信息管理界面
1.2 考试统计管理
功能描述:系统管理员可以查看对考试统计进行添加,修改,删除以及查询操作。具体界面如图2所示。
图2 考试统计管理界面
2.1 专业列表管理
功能描述:系统管理员可以对专业列表信息进行添加,修改,删除以及查询操作。界面如下图所示:
图3 专业列表信息管理界面
2.1 忘记密码人员登记管理
功能描述:系统管理员可以对忘记密码人员登记信息进行添加修改删除操作,还可以对忘记密码人员登记信息进行查询。界面如下图所示:
图4 忘记密码人员登记管理界面
2 用户模块的实现
2.2 修改密码
功能描述:用户登录之后,可以修改密码。界面如下图所示:
图5 修改密码界面
2.3 试卷信息
功能描述:用户登录后可以在首页点击试卷列表,就可以看到试卷信息,可以选中试卷信息进行考试操作。界面如下图所示:
图6 试卷信息界面
2.3 考试信息管理
功能描述:用户点击试卷信息可以参考考试。界面如下图所示:
图7 考试界面
源码+论文下载>>