基于SSM的线上学习网站(源码+L文+说明文档)
目录
4 系统设计
4.1 系统结构设计
4.2系统结构
4.3.数据库设计
4.3.1数据库实体
4.3.2数据库设计表
5系统详细实现
5.1 管理员模块的实现
5.1.1 学生信息管理
5.1.2 教师信息管理
5.2 教师模块的实现
5.2.1 课程视频管理
5.2.2 试题信息管理
5.3 学生模块的实现
5.3.2 课程
5.3.2 试卷列表
4 系统设计
4.1 系统结构设计
本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示:
图4-1系统工作原理图
4.2系统结构
本系统是基于B/S架构的网站系统,设计的管理员功能结构图如下图所示:
图4-2管理员功能结构图
本系统是基于B/S架构的网站系统,设计的教师功能结构图如下图所示:
图4-3 教师功能结构图
本系统是基于B/S架构的网站系统,设计的学生功能结构图如下图所示:
图4-4 学生功能结构图
4.3.数据库设计
4.3.1数据库实体
概念设计的目标是设计出反映某个组织部门信息需求的数据库系统概念模式,数据库系统的概念模式独立于数据库系统的逻辑结构、独立于数据库管理系统(DBMS)、独立于计算机系统。
概念模式的设计方法是在需求分析的基础上,用概念数据模型(例如E-R模型)表示数据及数据之间的相互联系,设计出反映用户信息需求和处理需求的数据库系统概念模式。概念设计的目标是准确描述应用领域的信息模式,支持用户的各种应用,这样既容易转换为数据库系统逻辑模式,又容易为用户理解。数据库系统概念模式是面向现实世界的数据模型,不能直接用于数据库系统的实现。在此阶段,用户可以参与和评价数据库系统的设计,从而有利于保证数据库系统的设计与用户的需求相吻合。在概念模式的设计中,E-R模型法是最常见的设计方法。本系统的E-R图如下图所示:
(1)管理员信息的实体属性图如图4.5所示:
图4.5管理员信息实体属性图
(2)教师信息实体属性图如图4.6所示:
图4.6教师信息实体属性图
(3)学生信息实体属性图如图4.7所示:
图4.7学生信息实体属性图
4.3.2数据库设计表
线上学习网站需要后台数据库,下面介绍数据库中的各个表的详细信息:
表4.1 课程评论信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 |
| 主键 |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
refid | bigint(20) | 否 |
| 关联表id |
userid | bigint(20) | 否 |
| 用户id |
nickname | varchar(200) | 是 | NULL | 用户名 |
content | longtext | 否 |
| 评论内容 |
reply | longtext | 是 | NULL | 回复内容 |
表4. 2课程视频评论信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 |
| 主键 |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
refid | bigint(20) | 否 |
| 关联表id |
userid | bigint(20) | 否 |
| 用户id |
nickname | varchar(200) | 是 | NULL | 用户名 |
content | longtext | 否 |
| 评论内容 |
reply | longtext | 是 | NULL | 回复内容 |
表4.3 课程资料评论信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 |
| 主键 |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
refid | bigint(20) | 否 |
| 关联表id |
userid | bigint(20) | 否 |
| 用户id |
nickname | varchar(200) | 是 | NULL | 用户名 |
content | longtext | 否 |
| 评论内容 |
reply | longtext | 是 | NULL | 回复内容 |
表4.4 试卷信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 |
| 主键 |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
name | varchar(200) | 否 |
| 试卷名称 |
time | int(11) | 否 |
| 考试时长(分钟) |
status | int(11) | 否 | 0 | 试卷状态 |
表4.5 试题信息表
字段 | 类型 | 空 | 默认 | 注释 |
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 | 试题排序,值越大排越前面 |
表4.6 考试记录信息表
字段 | 类型 | 空 | 默认 | 注释 |
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.7 教师信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 |
| 主键 |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
gonghao | varchar(200) | 否 |
| 工号 |
mima | varchar(200) | 否 |
| 密码 |
xingming | varchar(200) | 是 | NULL | 姓名 |
xingbie | varchar(200) | 是 | NULL | 性别 |
xueyuan | varchar(200) | 是 | NULL | 学院 |
zhiwei | varchar(200) | 是 | NULL | 职位 |
shouji | varchar(200) | 否 |
| 手机 |
youxiang | varchar(200) | 是 | NULL | 邮箱 |
shenfenzheng | varchar(200) | 否 |
| 身份证 |
zhaopian | varchar(200) | 是 | NULL | 照片 |
表4.8 课程信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 |
| 主键 |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
kechengbianhao | varchar(200) | 是 | NULL | 课程编号 |
kechengmingcheng | varchar(200) | 是 | NULL | 课程名称 |
xuekemingcheng | varchar(200) | 是 | NULL | 学科名称 |
gonghao | varchar(200) | 是 | NULL | 工号 |
xingming | varchar(200) | 是 | NULL | 姓名 |
fengmian | varchar(200) | 是 | NULL | 封面 |
chuangjianshijian | datetime | 是 | NULL | 创建时间 |
kechengjieshao | longtext | 是 | NULL | 课程介绍 |
thumbsupnum | int(11) | 是 | 0 | 赞 |
crazilynum | int(11) | 是 | 0 | 踩 |
表4.9 课程视频信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 |
| 主键 |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
shipinbianhao | varchar(200) | 是 | NULL | 视频编号 |
shipinmingcheng | varchar(200) | 是 | NULL | 视频名称 |
xuekemingcheng | varchar(200) | 是 | NULL | 学科名称 |
kechengmingcheng | varchar(200) | 是 | NULL | 课程名称 |
gonghao | varchar(200) | 是 | NULL | 工号 |
xingming | varchar(200) | 是 | NULL | 姓名 |
shipin | varchar(200) | 是 | NULL | 视频 |
fengmian | varchar(200) | 是 | NULL | 封面 |
shipinjieshao | longtext | 是 | NULL | 视频介绍 |
shangchuanshijian | datetime | 是 | NULL | 上传时间 |
thumbsupnum | int(11) | 是 | 0 | 赞 |
crazilynum | int(11) | 是 | 0 | 踩 |
clicktime | datetime | 是 | NULL | 最近点击时间 |
表4.10 课程资料信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 |
| 主键 |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
ziliaobianhao | varchar(200) | 是 | NULL | 资料编号 |
ziliaomingcheng | varchar(200) | 是 | NULL | 资料名称 |
xueke | varchar(200) | 是 | NULL | 学科 |
kechengmingcheng | varchar(200) | 是 | NULL | 课程名称 |
gonghao | varchar(200) | 是 | NULL | 工号 |
xingming | varchar(200) | 是 | NULL | 姓名 |
wenjian | varchar(200) | 是 | NULL | 文件 |
fengmian | varchar(200) | 是 | NULL | 封面 |
wenjianshuoming | longtext | 是 | NULL | 文件说明 |
shangchuanshijian | datetime | 是 | NULL | 上传时间 |
thumbsupnum | int(11) | 是 | 0 | 赞 |
crazilynum | int(11) | 是 | 0 | 踩 |
表4.11 收藏信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 |
| 主键 |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
userid | bigint(20) | 否 |
| 用户id |
refid | bigint(20) | 是 | NULL | 收藏id |
tablename | varchar(200) | 是 | NULL | 表名 |
name | varchar(200) | 否 |
| 收藏名称 |
picture | varchar(200) | 否 |
| 收藏图片 |
表4.12 管理员信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 |
| 主键 |
username | varchar(100) | 否 |
| 用户名 |
password | varchar(100) | 否 |
| 密码 |
role | varchar(100) | 是 | 管理员 | 角色 |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 新增时间 |
表4.13 学科信息
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 |
| 主键 |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
xuekebianhao | varchar(200) | 是 | NULL | 学科编号 |
xuekemingcheng | varchar(200) | 是 | NULL | 学科名称 |
chuangjianshijian | datetime | 是 | NULL | 创建时间 |
表4.14 学生信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 |
| 主键 |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
xuehao | varchar(200) | 否 |
| 学号 |
mima | varchar(200) | 否 |
| 密码 |
xingming | varchar(200) | 是 | NULL | 姓名 |
xingbie | varchar(200) | 是 | NULL | 性别 |
banji | varchar(200) | 是 | NULL | 班级 |
shouji | varchar(200) | 否 |
| 手机 |
youxiang | varchar(200) | 是 | NULL | 邮箱 |
shenfenzheng | varchar(200) | 否 |
| 身份证 |
zhaopian | varchar(200) | 是 | NULL | 照片 |
5系统详细实现
5.1 管理员模块的实现
5.1.1 学生信息管理
线上学习网站的系统管理员可以管理员学生信息,可以对学生信息添加修改删除操作。具体界面的展示如图5.1所示。
图5.1 学生信息管理界面
5.1.2 教师信息管理
系统管理员可以教师信息进行添加,修改,删除操作。具体界面如图5.2所示。
图5.2 教师信息管理界面
5.2 教师模块的实现
5.2.1 课程视频管理
教师可以对课程视频进行添加,修改删除操作。界面如下图所示:
图5.3 课程视频管理界面
5.2.2 试题信息管理
教师登录后,可以对试题信息进行添加修改删除操作。界面如下图所示:
图5.4 试题信息界面
5.3 学生模块的实现
5.3.2 课程
学生登录后,点击导航课程,可以查看课程信息。界面如下图所示:
图5.5 首页课程界面
5.3.2 试卷列表
学生登录后可以在首页试卷列表找到对应的试卷,并可以参考考试。界面如下图所示:
图5.6 试卷列表界面
源码获取