Spring Boot编程训练系统:实战开发技巧

4系统概要设计

4.1概述

本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示:

图4-1系统工作原理图

4.2系统结构

本系统是基于B/S架构的网站系统,设计的功能结构图如下图所示:

图4-2功能结构图

4.3.数据库设计

4.3.1数据库实体

概念设计的目标是设计出反映某个组织部门信息需求的数据库系统概念模式,数据库系统的概念模式独立于数据库系统的逻辑结构、独立于数据库管理系统(DBMS)、独立于计算机系统。

概念模式的设计方法是在需求分析的基础上,用概念数据模型(例如E-R模型)表示数据及数据之间的相互联系,设计出反映用户信息需求和处理需求的数据库系统概念模式。概念设计的目标是准确描述应用领域的信息模式,支持用户的各种应用,这样既容易转换为数据库系统逻辑模式,又容易为用户理解。数据库系统概念模式是面向现实世界的数据模型,不能直接用于数据库系统的实现。在此阶段,用户可以参与和评价数据库系统的设计,从而有利于保证数据库系统的设计与用户的需求相吻合。在概念模式的设计中,E-R模型法是最常见的设计方法。本系统的E-R图如下图所示:

(1)试卷信息的实体属性图如下:

图4.12 试卷信息实体属性图

(2)留言板信息实体属性图如图4.13所示:

图4.13 留言板信息实体属性图

(3)训练通知信息实体属性图如图4.14所示:

图4.14 训练通知信息实体属性图

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 照片

结论

在这次毕业设计中遇到的最困难的方面就是在数据库方面的知识,在刚开始进行毕业设计的时候感觉十分困难,根本不知道该从何处下手,但不断的坚持,设计最终被完成。无论多么的困难,只要能够坚持下来,善于去找到好的材料来研究,在研究中充分利用资源,没有困难是不会被成功解决的。

在开发系统的过程中,本人运用到了JSP技术和平时学习中所了解的一些技术,通过实现这些技术,大大提高了整个系统的性能。在论文中这些技术都做了比较详细的介绍。本系统还存在很多缺点和不完善的地方,例如有些细节上做的还不够完善,有些功能模块还需要加强。在今后的日子里,能够对这些不足进行改善。

通过这次最终的毕业设计,平时所学到的知识不仅融合了,而且获得了许多计算机知识。在整个设计过程中明白了许多东西,也培养独立工作能力,树立信心,对自己能力的工作能力,我相信以后会学习和工作生活中有至关重要的作用。同时也大大提高了手的能力,使其难以充分体会探索的乐趣和成功的创作过程,设计过程中汲取的东西,是一笔宝贵的财富。

回顾过去做毕业设计的整个过程,充满了付出和收获,但是当你看到成果的时候的感觉,是一种难以用言语表达的喜悦之感这些在毕业设计过程中学习到的东西将会使我终身受益!

最后,感谢指导老师的关心和指导,在我毕业设计的整个过程中,他给与了我很多的帮助和讲解,在导师的帮助下我的毕业设计才能如此顺利的完成。

致谢语

经过几个多月的不断学习,我的毕业设计终于如期完成。此次毕业设计是对我们日常所学计算机理论知识的一次综合性评测,也是将理论应用到实践的一项考察。

首先我要感谢此次指导我的老师,是他的及时纠正我在设计当中出现的问题,使得我的设计高质量完成。指导老师在我本次编程训练系统的开发过程中,为程序、框架的设计、代码等方面以及论文设计提供了很多宝贵的意见,并且为我推荐了许多相关的资料,他的指导和建议使我受益匪浅,通过老师的耐心辅导和指点,我的论文顺利完成,在此,我表示深刻的感谢。

我也要感谢帮助过我的同学们,和我一起探讨论文的不足,给我的设计提出宝贵的建议,在这次设计中他们的帮助使得我的设计更加完善更加具体。

最后,我也要感谢学校为我们提供了一个良好的学校环境。祝愿学校的领导教师以及和我一起奋斗的同学们工作顺利,事业有成,也要祝愿学校的前景更加辉煌。

参考文献

[1]付昕. 基于B/S模式仓库管理系统的实现[J].山东省农业管理干部学院学报, 2010, 27(4):166-168

[2] 雷文华, 薛小文. MATLAB和Servlet在网络数据处理中的应用[J]. 电子测试, 2010, (11):81-86.

[3] 黄艳峰. 在Java语言中实施"案例教学"的研究与探索[J]. 电脑知识与技术, 2010, 6(5):1148-1149

[4] 王玉英. 基于JSP的MySQL数据库访问技术[J]. 现代计算机:专业版, 2010, 19(14):63-66

[5] 赵钢. JSP Servlet+EJB的Web模式应用研究[J]. 电子设计工程, 2013, 21(13):47-49

[6] David L.Anderson.Managing Information Systems.清华大学出版社,2002:16

[7] 王家华.软件工程[M],沈阳:东北大学出版社,2011:46

[8] 张孝祥,徐明华.软件开发课堂.清华大学出版社,2009:55

[9] 崔洋.MySQL数据库应用从入门到精通.中国铁道出版社,2013:27

[10] 王珊,萨师煊.数据库系统概论.高等教育出版社, 2006:16

[11] 崔洋.MySQL数据库应用从入门到精通.中国铁道出版社,2013:27

[12] 王珊,萨师煊.数据库系统概论.高等教育出版社, 2006:16

[13] 张海潘.软件工程导论.清华大学出版社,2008:86

[14] 黄艳峰. 在Java语言中实施"案例教学"的研究与探索[J]. 电脑知识与技术, 2010, 6(5):1148-1149

[15] 王玉英. 基于JSP的MySQL数据库访问技术[J]. 现代计算机:专业版, 2010, 19(14):63-66

相关推荐
魔道不误砍柴功3 分钟前
简单叙述 Spring Boot 启动过程
java·数据库·spring boot
锐策5 分钟前
〔 MySQL 〕数据库基础
数据库·mysql
枫叶_v6 分钟前
【SpringBoot】22 Txt、Csv文件的读取和写入
java·spring boot·后端
路在脚下@7 分钟前
Springboot 的Servlet Web 应用、响应式 Web 应用(Reactive)以及非 Web 应用(None)的特点和适用场景
java·spring boot·servlet
远歌已逝1 小时前
管理Oracle实例(二)
数据库·oracle
日月星宿~1 小时前
【MySQL】summary
数据库·mysql
爱吃土豆的程序员1 小时前
在oracle官网下载资源显示400 Bad Request Request Header Or Cookie Too Large 解决办法
java·数据库·oracle·cookie
睿思达DBA_WGX2 小时前
Oracle 11g rac 集群节点的修复过程
数据库·oracle
尘浮生2 小时前
Java项目实战II基于微信小程序的移动学习平台的设计与实现(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·学习·微信小程序·小程序
2401_857610032 小时前
Spring Boot框架:电商系统的技术优势
java·spring boot·后端