编程训练系统(代码+数据库+LW)
摘要
随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了编程训练系统的开发全过程。通过分析编程训练系统管理的不足,创建了一个计算机管理编程训练系统的方案。文章介绍了编程训练系统的系统分析部分,包括可行性分析等,系统设计部分主要介绍了系统功能设计和数据库设计。
本编程训练系统管理员功能有管理员和用户。管理员功能有个人中心,用户管理,题库资源管理,用户交流,试卷管理,留言板管理,试题管理,系统管理,考试管理。用户可以查看题库资源,可以参加考试,进行留言等操作。因而具有一定的实用性。
本站是一个B/S模式系统,采用Spring Boot框架,MYSQL数据库设计开发,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得编程训练系统管理工作系统化、规范化。本系统的使用使管理人员从繁重的工作中解脱出来,实现无纸化办公,能够有效的提高编程训练系统管理效率。
关键词:编程训练系统;Spring Boot框架;MYSQL数据库
目录
1系统概述
1.1 研究背景
1.2研究目的
1.3系统设计思想
2相关技术
2.1 MYSQL数据库
2.2 B/S结构
2.3 Spring Boot框架简介
3系统分析
3.1可行性分析
3.1.1技术可行性
3.1.2经济可行性
3.1.3操作可行性
3.2系统性能分析
3.2.1 系统安全性
3.2.2 数据完整性
3.3系统界面分析
3.4系统流程和逻辑
4系统概要设计
4.1概述
4.2系统结构
4.3.数据库设计
4.3.1数据库实体
4.3.2数据库设计表
5系统详细实现
5.1 管理员模块的实现
5.1.1 用户信息管理
5.1.2 题库资源管理
5.1.3 试题信息管理
5.1.4 试卷信息管理
5.2 用户模块的实现
5.2.1 题库资源
5.2.2 用户交流
5.2.3 参加考试
6系统测试
6.1概念和意义
6.2特性
6.3重要性
6.4测试方法
6.5 功能测试
6.6可用性测试
6.7性能测试
6.8测试分析
6.9测试结果分析
结论
致谢语
参考文献
1系统概述
1.1 研究背景
随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理编程训练系统的相关信息成为必然。开发合适的编程训练系统,可以方便管理人员对编程训练系统的管理,提高信息管理工作效率及查询效率,有利于更好的为人们服务。
4.1概述
本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示:
4.2系统结构
本系统是基于B/S架构的网站系统,设计的功能结构图如下图所示:
4.3.2数据库设计表
编程训练系统需要后台数据库,下面介绍数据库中的各个表的详细信息:
表4.1 得分统计
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
tongjibianhao | varchar(200) | 是 | NULL | 统计编号 |
zhanghao | varchar(200) | 是 | NULL | 账号 |
xingming | varchar(200) | 是 | NULL | 姓名 |
shijuantimu | varchar(200) | 是 | NULL | 试卷题目 |
defen | float | 是 | NULL | 得分 |
defenfenxi | longtext | 是 | NULL | 得分分析 |
dengjiriqi | date | 是 | 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 | 创建时间 |
name | varchar(200) | 否 | 试卷名称 | |
time | int(11) | 否 | 考试时长(分钟) | |
status | int(11) | 否 | 0 | 试卷状态 |
表4.4 试题表
字段 | 类型 | 空 | 默认 | 注释 |
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.5 考试记录表
字段 | 类型 | 空 | 默认 | 注释 |
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.6 用户交流
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
title | varchar(200) | 是 | NULL | 帖子标题 |
content | longtext | 否 | 帖子内容 | |
parentid | bigint(20) | 是 | NULL | 父节点id |
userid | bigint(20) | 否 | 用户id | |
username | varchar(200) | 是 | NULL | 用户名 |
isdone | varchar(200) | 是 | NULL | 状态 |
表4.7 练题统计
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
tongjibianhao | varchar(200) | 是 | NULL | 统计编号 |
zhanghao | varchar(200) | 是 | NULL | 账号 |
xingming | varchar(200) | 是 | NULL | 姓名 |
lianticishu | int(11) | 是 | NULL | 练题次数 |
dengjiriqi | date | 是 | NULL | 登记日期 |
beizhu | varchar(200) | 是 | NULL | 备注 |
表4.8 留言板
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
userid | bigint(20) | 否 | 留言人id | |
username | varchar(200) | 是 | NULL | 用户名 |
content | longtext | 否 | 留言内容 | |
reply | longtext | 是 | NULL | 回复内容 |
表4.9 训练通知
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
title | varchar(200) | 否 | 标题 | |
introduction | longtext | 是 | NULL | 简介 |
picture | varchar(200) | 否 | 图片 | |
content | longtext | 否 | 内容 |
表4.10 收藏表
字段 | 类型 | 空 | 默认 | 注释 |
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.11 题库资源
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
ziyuanmingcheng | varchar(200) | 否 | 资源名称 | |
ziyuanleixing | varchar(200) | 是 | NULL | 资源类型 |
wenjian | varchar(200) | 是 | NULL | 文件 |
ziyuanneirong | longtext | 是 | NULL | 资源内容 |
fengmian | varchar(200) | 是 | NULL | 封面 |
shangchuanshijian | date | 是 | NULL | 上传时间 |
clicktime | datetime | 是 | NULL | 最近点击时间 |
clicknum | int(11) | 是 | 0 | 点击次数 |
表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 | 创建时间 |
zhanghao | varchar(200) | 否 | 账号 | |
mima | varchar(200) | 否 | 密码 | |
xingming | varchar(200) | 否 | 姓名 | |
nianling | varchar(200) | 否 | 年龄 | |
xingbie | varchar(200) | 是 | NULL | 性别 |
shouji | varchar(200) | 否 | 手机 | |
zhaopian | varchar(200) | 是 | NULL | 照片 |
5.1.1 用户信息管理
管理员对用户信息修改删除以及查询操作。具体界面的展示如图5.1所示。
5.1.2 题库资源管理
系统管理员可以对题库资源信息进行添加,修改,删除以及查询操作。具体界面如图5.2所示。、
5.1.3 试题信息管理
系统管理员可以对试题信息进行添加,修改,删除以及查询操作。界面如下图所示:
5.1.4 试卷信息管理
系统管理员可以对试卷信息进行添加修改删除操作。界面如下图所示:
5.2.1 题库资源
用户可以在前台看到题库资源信息。界面如下图所示:
5.2.2 用户交流
用户可以在用户交流的地方进行留言。界面如下图所示:
5.2.3 参加考试
用户可以在试卷信息地方参加考试。界面如下图所示:
6.5 功能测试
功能测试主要包括五项内容:适用性、准确性、可操作性、依从性、安全性。
本系统功能测试如表6.1所示:
表6.1 系统功能测试
测试内容 | 测试结果 |
适用性 | 好 |
准确性 | 好 |
可操作性 | 好 |
依从性 | 好 |
安全性 | 好 |
6.6可用性测试
可用性测试用于检测系统的可操作性、可理解性、可学习性等方面内容。具体测试方面如表6.2所示。
表6.2 系统可用性测试
测试项 | 测试人员的评价 |
窗口移动、大小改变、关闭等操作是否正常 | 是 |
操作模块是否友好 | 是 |
模块、提示内容等文字描述是否正确 | 是 |
模块布局是否协调、合理 | 是 |
模块的状态是否正确(对选中项能否发生对应切换) | 是 |
鼠标、键盘操作是否支持 | 是 |
所需数据项是否正确显示 | 是 |
操作流程是否合理 | 是 |
是否提供帮助信息 | 是 |
结论
在这次毕业设计中遇到的最困难的方面就是在数据库方面的知识,在刚开始进行毕业设计的时候感觉十分困难,根本不知道该从何处下手,但不断的坚持,设计最终被完成。无论多么的困难,只要能够坚持下来,善于去找到好的材料来研究,在研究中充分利用资源,没有困难是不会被成功解决的。
在开发系统的过程中,本人运用到了JSP技术和平时学习中所了解的一些技术,通过实现这些技术,大大提高了整个系统的性能。在论文中这些技术都做了比较详细的介绍。本系统还存在很多缺点和不完善的地方,例如有些细节上做的还不够完善,有些功能模块还需要加强。在今后的日子里,能够对这些不足进行改善。
通过这次最终的毕业设计,平时所学到的知识不仅融合了,而且获得了许多计算机知识。在整个设计过程中明白了许多东西,也培养独立工作能力,树立信心,对自己能力的工作能力,我相信以后会学习和工作生活中有至关重要的作用。同时也大大提高了手的能力,使其难以充分体会探索的乐趣和成功的创作过程,设计过程中汲取的东西,是一笔宝贵的财富。
回顾过去做毕业设计的整个过程,充满了付出和收获,但是当你看到成果的时候的感觉,是一种难以用言语表达的喜悦之感这些在毕业设计过程中学习到的东西将会使我终身受益!
最后,感谢指导老师的关心和指导,在我毕业设计的整个过程中,他给与了我很多的帮助和讲解,在导师的帮助下我的毕业设计才能如此顺利的完成。