一、开发环境
Java语言
Java语言是当今编程语言行业中具有生命力的常青树之一。Java语言的诞生解决了C语言在编程上的一些麻烦,例如指针和垃圾回收的自动化处理。尽管这可能会损失一些性能,但随着计算机硬件的不断发展,这些性能损失可以忽略不计。Java语言具有跨平台的特性,通过虚拟机(JVM)可以在任何安装了Java虚拟机的电脑上运行Java程序。
MYSQL数据库
MySQL数据库是一种关系型数据库,采用传统的行式数据模式。它严格遵循SQL标准语法,功能强大且安装包相对较小。MySQL的数据以表格形式存储,每个表包含行和列,行表示一条数据,列表示字段。表与表之间可以通过关联进行连接,并支持设定唯一性。MySQL适用于对数据安全性要求较高的场景。
IDEA开发工具
IDEA是捷克共和国的Java程序员开发的一款软件,主要用于解决Eclipse软件在代码提示和重构方面的不足。IDEA提供了优秀的代码提示和重构功能,能够显著减少代码工作量,提高开发效率。IDEA支持插件扩展,但部分高级功能需要付费使用。
Spring Boot框架
Spring Boot是一种不需要代码生成的框架,可以无需配置任何XML文件。Spring Boot自带了很多接口,只需配置不同的接口即可自动应用和识别所需的依赖。Spring Boot具有很多默认的配置文件,并支持对默认配置文件进行修改。它使用起来非常方便,类似于直接注册所需的组件。
二、系统设计
1 功能结构设计
管理员功能结构
- 管理员权限包括对注册用户信息的管理,对试题、试卷、考试记录、错题本以及学习视频等信息的管理。

用户功能结构
- 用户权限包括选择试卷进行在线考试,查看考试记录和错题本,查看学习视频,查看论坛帖子。

2 数据库设计
数据库概念设计
- 实体-联系图(E-R图)用于描述数据库中的实体、联系和属性。以下是部分实体属性图:
-
学习视频实体属性图
-
用户实体属性图
-
试卷实体属性图
-
试题实体属性图
-
实体间关系E-R图
数据库物理设计
- 以下是部分数据表的设计:
表1 试卷表
字段 | 注释 | 类型 | 空 |
---|---|---|---|
id (主键) | 主键 | int(20) | 否 |
exampaper_name | 试卷名称 | varchar(200) | 否 |
exampaper_date | 考试时长(分钟) | int(11) | 否 |
exampaper_myscore | 试卷总分数 | int(20) | 否 |
exampaper_types | 试卷状态 | int(11) | 否 |
exampaper_delete | 逻辑删除(0代表未删除 1代表已删除) | int(255) | 是 |
create_time | 创建时间 | timestamp | 否 |
表2 试题表
字段 | 注释 | 类型 | 空 |
---|---|---|---|
id (主键) | 主键 | int(20) | 否 |
exampaper_id | 所属试卷id(外键) | int(20) | 否 |
examquestion_name | 试题名称 | varchar(200) | 否 |
examquestion_options | 选项,json字符串 | longtext | 是 |
examquestion_score | 分值 | int(20) | 是 |
examquestion_answer | 正确答案 | varchar(200) | 是 |
examquestion_analysis | 答案解析 | longtext | 是 |
examquestion_types | 试题类型 | int(20) | 是 |
examquestion_sequence | 试题排序,值越大排越前面 | int(20) | 是 |
create_time | 创建时间 | timestamp | 否 |
表3 考试记录表
字段 | 注释 | 类型 | 空 |
---|---|---|---|
id (主键) | 主键 | int(20) | 否 |
examrecord_uuid_number | 考试编号 | varchar(200) | 是 |
yonghu_id | 考试用户 | int(20) | 否 |
exampaper_id | 所属试卷id(外键) | int(20) | 否 |
total_score | 所得总分 | int(200) | 是 |
insert_time | 考试时间 | timestamp | 否 |
create_time | 创建时间 | timestamp | 否 |
三、系统实现
1 管理员功能实现
1.1 学习视频管理
- 图为学习视频管理界面,管理员可以发布学习视频,修改学习视频的相关内容(如封面、讲师、学习类型等),并可以删除学习视频。

1.2 试卷管理
- 图为试卷管理界面,管理员可以新增试卷,修改或删除试卷信息,并通过搜索框查询试卷信息。

1.3 试题管理
- 图为试题管理界面,管理员可以增加、修改、查询和删除试题信息。

1.4 考试记录
- 图为考试记录界面,管理员可以查看用户考试的记录信息,包括用户考试所得总分和考试详情信息。

1.5 用户管理
- 图为用户管理界面,管理员可以为用户重置密码,更改用户基础信息,查询用户,删除用户等。

2 用户功能实现
2.1 试卷表
- 图为试卷表界面,用户可以选择试卷并参与在线考试。

2.2 学习视频
- 图为学习视频界面,用户可以播放学习视频进行知识学习,并在视频下方查看留言、发布留言和查看留言回复信息。

2.3 错题表
- 为错题表界面,用户可以查看错题信息,包括试卷名称、考生作答、试题类型和分值等信息。

2.4 论坛信息
- 为论坛信息界面,用户可以查看论坛区域的所有帖子,发布帖子,并在查看帖子后发布评论。