4系统设计
4.1系统功能设计
本系统主要通过使用Java语言编码设计系统功能,MySQL数据库管理数据,AJAX技术设计简洁的、友好的网址页面,然后在IDEA开发平台中,编写相关的Java代码文件,接着通过连接语言完成与数据库的搭建工作,再通过平台提供的Tomcat插件完成信息的交互,最后在浏览器中打开系统网址便可使用本系统。本系统的使用角色可以被分为用户和管理员,用户具有注册、查看信息、留言信息等功能,管理员具有修改用户信息,发布新闻等功能,系统总体功能设计图如图4-1所示。
图4-1系统总体功能设计图
4.2数据库设计
4.2.1概念设计
在数据库设计过程中,概念设计阶段是逻辑设计阶段得以实现的基础,也是根据用户参与情况确定对数据的处理要求,从而使得数据库设计成功的关键。概念设计的主要任务是将现实世界的所收集到的使用需求转化为抽象的信息世界结构的过程,能够真实的反映现实生活中实体与实体之间的联系,数据库的相关语法和代码比较容易理解和修改,方便相关人员将相关的数据信息存储到数据库中,并对其进行修改和使用[18]。
通过将现实世界中的实体、属性、联系等内容进行概念设计,建立比较抽象的概念数据模型,即E-R图。通过E-R图可将现实世界抽象到的概念设计转变成数据库的实体设计,并且能够明显的看见各个实体之间,数据的流动情况,具体较强的表达能力,更加方便于开发人员寻找与发现用户具体的需求[19]。因此,E-R的建立,在整个数据库的设计过程中,起着至关重要的作用。本系统主要的实体有管理员、用户、留言等。在E-R图中,矩形表示实体集,椭圆形表示属性,菱形表示联系。其中,联系的类型包括1:1(一对一)、1:n(一对多)、n:m(多对多)关系。
(1)下图是三国视频收藏实体和其具备的属性。
三国视频收藏实体属性图
(2)下图是三国图文留言实体和其具备的属性。
三国图文留言实体属性图
(3)下图是用户实体和其具备的属性。
用户实体属性图
(4)下图是考试记录表实体和其具备的属性。
考试记录表实体属性图
(5)下图是答题详情表实体和其具备的属性。
答题详情表实体属性图
(6)下图是试卷选题实体和其具备的属性。
试卷选题实体属性图
(7)下图是错题表实体和其具备的属性。
错题表实体属性图
(8)下图是三国资讯实体和其具备的属性。
三国资讯实体属性图
(9)下图是三国视频实体和其具备的属性。
三国视频实体属性图
(10)下图是论坛实体和其具备的属性。
论坛实体属性图
(11)下图是试卷实体和其具备的属性。
试卷实体属性图
(12)下图是公告实体和其具备的属性。
公告实体属性图
(13)下图是三国图文收藏实体和其具备的属性。
三国图文收藏实体属性图
(14)下图是三国图文实体和其具备的属性。
三国图文实体属性图
(15)下图是试题表实体和其具备的属性。
试题表实体属性图
(16)下图是三国视频留言实体和其具备的属性。
三国视频留言实体属性图
4.2.2逻辑设计
本系统使用MySQL数据库管理与系统相关的数据信息。逻辑设计阶段是将上一个阶段中的概念数据模型,转换为方便数据库进行存储的关系模型,即基本表的形式,方便开发人员后期对数据模型进行优化和管理[20]。逻辑设计阶段是整个数据库设计设计的关键,与系统有关的信息将会在这一阶段中被存储在数据库中,当用户使用本系统进行相关的功能操作时,与之有关的数据信息所在的基本表会发生相应的更新变化。数据库的逻辑设计阶段主要任务是将与系统相关的数据信息,设计成为方便数据库存储和管理的基本表格的形式,具体内容如下。
表4.1字典表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | dic_code | String | 字段 | 是 |
3 | dic_name | String | 字段名 | 是 |
4 | code_index | Integer | 编码 | 是 |
5 | index_name | String | 编码名字 | 是 |
6 | super_id | Integer | 父字段id | 是 |
7 | beizhu | String | 备注 | 是 |
8 | create_time | Date | 创建时间 | 是 |
表4.2试卷表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | exampaper_name | String | 试卷名称 | 是 |
3 | exampaper_date | Integer | 考试时长(分钟) | 是 |
4 | exampaper_myscore | Integer | 试卷总分数 | 是 |
5 | kemu_types | Integer | 科目 | 是 |
6 | exampaper_types | Integer | 试卷状态 | 是 |
7 | zujuan_types | Integer | 组卷方式 | 是 |
8 | exampaper_delete | Integer | 逻辑删除(1代表未删除 2代表已删除) | 是 |
9 | create_time | Date | 创建时间 | 是 |
表4.3试卷选题表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | exampaper_id | Integer | 试卷 | 是 |
3 | examquestion_id | Integer | 试题 | 是 |
4 | exampapertopic_number | Integer | 试题分数 | 是 |
5 | create_time | Date | 创建时间 | 是 |
表4.4试题表表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | examquestion_name | String | 试题名称 | 是 |
3 | kemu_types | Integer | 科目 | 是 |
4 | examquestion_options | String | 选项,json字符串 | 是 |
5 | examquestion_answer | String | 正确答案 | 是 |
6 | examquestion_analysis | String | 答案解析 | 是 |
7 | examquestion_types | Integer | 试题类型 | 是 |
8 | examquestion_sequence | Integer | 试题排序,值越大排越前面 | 是 |
9 | create_time | Date | 创建时间 | 是 |
表4.5考试记录表表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | examrecord_uuid_number | String | 考试编号 | 是 |
3 | yonghu_id | Integer | 考试用户 | 是 |
4 | exampaper_id | Integer | 所属试卷id(外键) | 是 |
5 | total_score | Integer | 所得总分 | 是 |
6 | insert_time | Date | 考试时间 | 是 |
7 | create_time | Date | 创建时间 | 是 |
表4.6答题详情表表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | examredetails_uuid_number | String | 试卷编号 | 是 |
3 | yonghu_id | Integer | 用户id | 是 |
4 | examquestion_id | Integer | 试题id(外键) | 是 |
5 | examredetails_myanswer | String | 考生答案 | 是 |
6 | examredetails_myscore | Integer | 试题得分 | 是 |
7 | create_time | Date | 创建时间 | 是 |
表4.7错题表表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | yonghu_id | Integer | 用户id | 是 |
3 | exampaper_id | Integer | 试卷(外键) | 是 |
4 | examquestion_id | Integer | 试题id(外键) | 是 |
5 | examredetails_myanswer | String | 考生作答 | 是 |
6 | insert_time | Date | 记录时间 | 是 |
7 | create_time | Date | 创建时间 | 是 |
表4.8论坛表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | forum_name | String | 帖子标题 | 是 |
3 | yonghu_id | Integer | 用户 | 是 |
4 | users_id | Integer | 管理员 | 是 |
5 | forum_content | String | 发布内容 | 是 |
6 | super_ids | Integer | 父id | 是 |
7 | forum_types | Integer | 帖子类型 | 是 |
8 | forum_state_types | Integer | 帖子状态 | 是 |
9 | insert_time | Date | 发帖时间 | 是 |
10 | update_time | Date | 修改时间 | 是 |
11 | create_time | Date | 创建时间 | 是 |
表4.9公告表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | gonggao_name | String | 公告名称 | 是 |
3 | gonggao_photo | String | 公告图片 | 是 |
4 | gonggao_types | Integer | 公告类型 | 是 |
5 | insert_time | Date | 公告发布时间 | 是 |
6 | gonggao_content | String | 公告详情 | 是 |
7 | create_time | Date | 创建时间 | 是 |
表4.10三国视频表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | shipin_name | String | 三国视频名称 | 是 |
3 | shipin_uuid_number | String | 三国视频编号 | 是 |
4 | shipin_photo | String | 三国视频照片 | 是 |
5 | shipin_video | String | 三国视频 | 是 |
6 | shipin_types | Integer | 三国视频类型 | 是 |
7 | shipin_clicknum | Integer | 三国视频热度 | 是 |
8 | zan_number | Integer | 赞 | 是 |
9 | cai_number | Integer | 踩 | 是 |
10 | shipin_content | String | 三国视频详细介绍 | 是 |
11 | shangxia_types | Integer | 是否上架 | 是 |
12 | shipin_delete | Integer | 逻辑删除 | 是 |
13 | insert_time | Date | 录入时间 | 是 |
14 | create_time | Date | 创建时间 | 是 |
表4.11三国视频收藏表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | shipin_id | Integer | 三国视频 | 是 |
3 | yonghu_id | Integer | 用户 | 是 |
4 | shipin_collection_types | Integer | 类型 | 是 |
5 | insert_time | Date | 收藏时间 | 是 |
6 | create_time | Date | 创建时间 | 是 |
表4.12三国视频留言表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | shipin_id | Integer | 三国视频 | 是 |
3 | yonghu_id | Integer | 用户 | 是 |
4 | shipin_liuyan_text | String | 留言内容 | 是 |
5 | insert_time | Date | 留言时间 | 是 |
6 | reply_text | String | 回复内容 | 是 |
7 | update_time | Date | 回复时间 | 是 |
8 | create_time | Date | 创建时间 | 是 |
表4.13三国图文表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | tuwen_name | String | 三国图文名称 | 是 |
3 | tuwen_uuid_number | String | 三国图文编号 | 是 |
4 | tuwen_photo | String | 三国图文照片 | 是 |
5 | tuwen_types | Integer | 三国图文类型 | 是 |
6 | tuwen_clicknum | Integer | 三国图文热度 | 是 |
7 | zan_number | Integer | 赞 | 是 |
8 | cai_number | Integer | 踩 | 是 |
9 | tuwen_content | String | 三国图文详细介绍 | 是 |
10 | shangxia_types | Integer | 是否上架 | 是 |
11 | tuwen_delete | Integer | 逻辑删除 | 是 |
12 | insert_time | Date | 录入时间 | 是 |
13 | create_time | Date | 创建时间 | 是 |
表4.14三国图文收藏表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | tuwen_id | Integer | 三国图文 | 是 |
3 | yonghu_id | Integer | 用户 | 是 |
4 | tuwen_collection_types | Integer | 类型 | 是 |
5 | insert_time | Date | 收藏时间 | 是 |
6 | create_time | Date | 创建时间 | 是 |
表4.15三国图文留言表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | tuwen_id | Integer | 三国图文 | 是 |
3 | yonghu_id | Integer | 用户 | 是 |
4 | tuwen_liuyan_text | String | 留言内容 | 是 |
5 | insert_time | Date | 留言时间 | 是 |
6 | reply_text | String | 回复内容 | 是 |
7 | update_time | Date | 回复时间 | 是 |
8 | create_time | Date | 创建时间 | 是 |
表4.16用户表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | yonghu_name | String | 用户姓名 | 是 |
3 | yonghu_phone | String | 用户手机号 | 是 |
4 | yonghu_id_number | String | 用户身份证号 | 是 |
5 | yonghu_photo | String | 用户头像 | 是 |
6 | yonghu_email | String | 用户邮箱 | 是 |
7 | create_time | Date | 创建时间 | 是 |
表4.17三国资讯表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | zixun_name | String | 三国资讯名称 | 是 |
3 | zixun_photo | String | 三国资讯图片 | 是 |
4 | zixun_types | Integer | 三国资讯类型 | 是 |
5 | insert_time | Date | 三国资讯发布时间 | 是 |
6 | zixun_content | String | 三国资讯详情 | 是 |
7 | create_time | Date | 创建时间 | 是 |
表4.18管理员表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | username | String | 老师名 | 是 |
3 | password | String | 密码 | 是 |
4 | role | String | 角色 | 是 |
5 | addtime | Date | 新增时间 | 是 |
4.3本章小结
本章主要介绍了系统功能设计、数据库设计等内容。通过设计系统的总体功能框架,确定系统的功能设计主要包括三国图文等模块。数据库设计主要分为概念设计阶段和逻辑设计阶段,其中,概念设计是将现实世界中的数据转变为信息世界中的概念模型,逻辑设计是将概念设计中的概念模型转变成可以被数据库存储的数据表格。系统功能设计好坏是系统得以被编码实现的重要依据。数据库设计是否符合规范,是系统能够成功运行的基本保障,也是用户和系统实现交互处理的重要前提。
5系统实现
5.1管理员功能模块实现
5.1.1管理员登录
管理员可以选择任一浏览器打开网址,输入信息无误后,以管理员的身份行使相关的管理权限,管理员登录界面设计如图5-1所示。
图5-1管理员登录界面
5.1.2三国图文管理
管理员可以通过选择三国图文管理,管理相关的三国图文信息记录,比如进行查看三国图文信息标题,修改三国图文信息来源等操作,三国图文管理界面设计如图5-2所示。
图5-2三国图文管理界面
5.1.3公告管理
管理员可以通过选择公告管理,管理相关的公告信息记录,比如进行查看公告详情,删除错误的公告信息,发布公告等操作,公告管理界面如图5-3所示。
图5-3 公告管理界面
5.1.4公告类型管理
管理员可以通过选择公告类型管理,管理相关的公告类型信息,比如查看所有公告类型,删除无用公告类型,修改公告类型,添加公告类型等操作,公告类型管理界面设计如图5-4所示。
图5-4公告类型管理界面