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)下图是新闻信息实体和其具备的属性。
新闻信息实体属性图
4.2.2逻辑设计
本系统使用MySQL数据库管理与系统相关的数据信息。逻辑设计阶段是将上一个阶段中的概念数据模型,转换为方便数据库进行存储的关系模型,即基本表的形式,方便开发人员后期对数据模型进行优化和管理[20]。逻辑设计阶段是整个数据库设计设计的关键,与系统有关的信息将会在这一阶段中被存储在数据库中,当用户使用本系统进行相关的功能操作时,与之有关的数据信息所在的基本表会发生相应的更新变化。数据库的逻辑设计阶段主要任务是将与系统相关的数据信息,设计成为方便数据库存储和管理的基本表格的形式,具体内容如下。
表4.1客服聊天表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
---|---|---|---|---|
1 |
Id |
Int |
id |
否 |
2 |
yonghu_id |
Integer |
提问用户 |
是 |
3 |
chat_issue |
String |
问题 |
是 |
4 |
issue_time |
Date |
问题时间 |
是 |
5 |
chat_reply |
String |
回复 |
是 |
6 |
reply_time |
Date |
回复时间 |
是 |
7 |
zhuangtai_types |
Integer |
状态 |
是 |
8 |
chat_types |
Integer |
数据类型 |
是 |
9 |
insert_time |
Date |
创建时间 |
是 |
表4.2字典表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
---|---|---|---|---|
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.3公告表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
---|---|---|---|---|
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.4新闻信息表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
---|---|---|---|---|
1 |
Id |
Int |
id |
否 |
2 |
news_name |
String |
新闻名称 |
是 |
3 |
news_photo |
String |
新闻图片 |
是 |
4 |
news_types |
Integer |
新闻类型 |
是 |
5 |
insert_time |
Date |
新闻发布时间 |
是 |
6 |
news_content |
String |
新闻详情 |
是 |
7 |
create_time |
Date |
创建时间 |
是 |
表4.5物品维修订单表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
---|---|---|---|---|
1 |
Id |
Int |
id |
否 |
2 |
weixiuyuan_id |
Integer |
维修员 |
是 |
3 |
yonghu_id |
Integer |
用户 |
是 |
4 |
weixiudingdan_uuid_number |
String |
维修编号 |
是 |
5 |
weixiudingdan_name |
String |
物品名称 |
是 |
6 |
weixiudingdan_photo |
String |
物品照片 |
是 |
7 |
weixiuyuyue_types |
Integer |
维修类型 |
是 |
8 |
weixiudingdan_baojia |
BigDecimal |
维修价格 |
是 |
9 |
yuyue_time |
Date |
维修时间 |
是 |
10 |
weixiudingdan_content |
String |
维修内容 |
是 |
11 |
weixiudingdan_types |
Integer |
维修状态 |
是 |
12 |
insert_time |
Date |
录入时间 |
是 |
13 |
create_time |
Date |
创建时间 |
是 |
表4.6维修员表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
---|---|---|---|---|
1 |
Id |
Int |
id |
否 |
2 |
weixiuyuan_name |
String |
维修员姓名 |
是 |
3 |
weixiuyuan_phone |
String |
维修员手机号 |
是 |
4 |
weixiuyuan_id_number |
String |
维修员身份证号 |
是 |
5 |
weixiuyuan_photo |
String |
维修员头像 |
是 |
6 |
weixiuyuan_email |
String |
维修员邮箱 |
是 |
7 |
create_time |
Date |
创建时间 |
是 |
表4.7物品维修预约表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
---|---|---|---|---|
1 |
Id |
Int |
id |
否 |
2 |
yonghu_id |
Integer |
用户 |
是 |
3 |
weixiuyuan_id |
Integer |
维修员 |
是 |
4 |
weixiuyuyue_name |
String |
物品名称 |
是 |
5 |
weixiuyuyue_uuid_number |
String |
预约编号 |
是 |
6 |
weixiuyuyue_photo |
String |
物品照片 |
是 |
7 |
weixiuyuyue_types |
Integer |
物品维修类型 |
是 |
8 |
yuyue_time |
Date |
预约维修时间 |
是 |
9 |
weixiuyuyue_content |
String |
物品损坏详情 |
是 |
10 |
insert_time |
Date |
申请时间 |
是 |
11 |
weixiuyuyue_yesno_types |
Integer |
预约状态 |
是 |
12 |
weixiuyuyue_yesno_text |
String |
审核意见 |
是 |
13 |
weixiuyuyue_shenhe_time |
Date |
审核时间 |
是 |
14 |
create_time |
Date |
创建时间 |
是 |
表4.8用户表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
---|---|---|---|---|
1 |
Id |
Int |
id |
否 |
2 |
yonghu_name |
String |
用户姓名 |
是 |
3 |
yonghu_phone |
String |
用户手机号 |
是 |
4 |
yonghu_id_number |
String |
用户身份证号 |
是 |
5 |
yonghu_photo |
String |
用户头像 |
是 |
6 |
new_money |
BigDecimal |
余额 |
是 |
7 |
yonghu_email |
String |
用户邮箱 |
是 |
8 |
create_time |
Date |
创建时间 |
是 |
表4.9管理员表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
---|---|---|---|---|
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公告类型管理界面