4系统设计
4.1系统功能设计
本系统主要通过使用Java语言编码设计系统功能,MySQL数据库管理数据,AJAX技术设计简洁的、友好的网址页面,然后在IDEA开发平台中,编写相关的Java代码文件,接着通过连接语言完成与数据库的搭建工作,再通过平台提供的Tomcat插件完成信息的交互,最后在浏览器中打开系统网址便可使用本系统。本系统的使用角色可以被分为用户和管理员,用户具有注册、查看信息、留言信息等功能,管理员具有修改用户信息,发布新闻等功能,系统总体功能设计图如图4-1所示。
|
图4-1系统总体功能设计图
4.2 数据库设计
开发一个系统也需要提前设计数据库。这里的数据库是相关数据的集合,存储在一起的这些数据也是按照一定的组织方式进行的。目前,数据库能够服务于多种应用程序,则是源于它存储方式最佳,具备数据冗余率低的优势。虽然数据库为程序提供信息存储服务,但它与程序之间也可以保持较高的独立性。总而言之,数据库经历了很长一段时间的发展,从最初的不为人知,到现在的人尽皆知,其相关技术也越发成熟,同时也拥有着坚实的理论基础。
4.2.1 数据库概念设计
这部分内容需要借助数据库关系图来完成,也需要使用专门绘制数据库关系图的工具,比如Visio工具就可以设计E-R图(数据库关系图)。设计数据库,也需要按照设计的流程进行,首先还是要根据需求完成实体的确定,分析实体具有的特征,还有对实体间的关联关系进行确定。最后才是使用E-R模型的表示方法,绘制本系统的E-R图。不管是使用亿图软件,还是Visio工具,对于E-R模型的表示符号都一样,通常矩形代表实体,实体间存在的关系用菱形符号表示,实体的属性也就是实体的特征用符号椭圆表示。最后使用直线将矩形,菱形和椭圆等符号连接起来。接下来就开始对本系统的E-R图进行绘制。
(1)下图是实习分享留言实体和其具备的属性。
图4.1 实习分享留言实体属性图
(2)下图是实习成绩实体和其具备的属性。
图4.2 实习成绩实体属性图
(3)下图是老师实体和其具备的属性。
图4.3 老师实体属性图
(4)下图是实习实体和其具备的属性。
图4.4 实习实体属性图
(5)下图是实习周报实体和其具备的属性。
图4.5 实习周报实体属性图
(6)下图是实习分享收藏实体和其具备的属性。
图4.6 实习分享收藏实体属性图
(7)下图是论坛实体和其具备的属性。
图4.7 论坛实体属性图
(8)下图是实习分享实体和其具备的属性。
图4.8 实习分享实体属性图
(9)下图是学生实体和其具备的属性。
图4.9 学生实体属性图
(10)下图是公告实体和其具备的属性。
图4.10 公告实体属性图
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 |
forum_name |
String |
帖子标题 |
是 |
3 |
xuesheng_id |
Integer |
学生 |
是 |
4 |
laoshi_id |
Integer |
老师 |
是 |
5 |
users_id |
Integer |
管理员 |
是 |
6 |
forum_content |
String |
发布内容 |
是 |
7 |
super_ids |
Integer |
父id |
是 |
8 |
forum_types |
Integer |
帖子类型 |
是 |
9 |
forum_state_types |
Integer |
帖子状态 |
是 |
10 |
insert_time |
Date |
发帖时间 |
是 |
11 |
update_time |
Date |
修改时间 |
是 |
12 |
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 |
laoshi_name |
String |
老师姓名 |
是 |
3 |
laoshi_phone |
String |
老师手机号 |
是 |
4 |
laoshi_id_number |
String |
老师身份证号 |
是 |
5 |
laoshi_photo |
String |
老师头像 |
是 |
6 |
laoshi_email |
String |
电子邮箱 |
是 |
7 |
create_time |
Date |
创建时间 |
是 |
表4.5实习表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
---|---|---|---|---|
1 |
Id |
Int |
id |
否 |
2 |
xuesheng_id |
Integer |
学生 |
是 |
3 |
shixi_uuid_number |
String |
实习编号 |
是 |
4 |
shixi_name |
String |
单位名称 |
是 |
5 |
shixi_address |
String |
单位地址 |
是 |
6 |
shixi_types |
Integer |
单位性质 |
是 |
7 |
shixi_gangwei |
String |
实习岗位 |
是 |
8 |
kaishi_time |
Date |
实习开始时间 |
是 |
9 |
jieshu_time |
Date |
实习结束时间 |
是 |
10 |
shixi_content |
String |
实习详情 |
是 |
11 |
shixi_yesno_types |
Integer |
审核状态 |
是 |
12 |
shixi_yesno_text |
String |
审核意见 |
是 |
13 |
unpdate_time |
Date |
审核时间 |
是 |
14 |
insert_time |
Date |
录入时间 |
是 |
15 |
create_time |
Date |
创建时间 |
是 |
表4.6实习成绩表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
---|---|---|---|---|
1 |
Id |
Int |
id |
否 |
2 |
shixi_id |
Integer |
实习 |
是 |
3 |
xuesheng_id |
Integer |
学生 |
是 |
4 |
shixi_chengji_uuid_number |
String |
成绩编号 |
是 |
5 |
shixi_chengji_types |
Integer |
成绩结果 |
是 |
6 |
fenshu |
BigDecimal |
成绩分数 |
是 |
7 |
shixi_chengji_yesno_text |
String |
实习评语 |
是 |
8 |
insert_time |
Date |
录入时间 |
是 |
9 |
create_time |
Date |
创建时间 |
是 |
表4.7实习分享表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
---|---|---|---|---|
1 |
Id |
Int |
id |
否 |
2 |
xuesheng_id |
Integer |
学生 |
是 |
3 |
shixi_fenxiang_name |
String |
分享标题 |
是 |
4 |
shixi_fenxiang_photo |
String |
分享照片 |
是 |
5 |
shixi_fenxiang_types |
Integer |
分享类型 |
是 |
6 |
shixi_fenxiang_clicknum |
Integer |
热度 |
是 |
7 |
shixi_fenxiang_content |
String |
分享内容 |
是 |
8 |
shixi_fenxiang_delete |
Integer |
逻辑删除 |
是 |
9 |
create_time |
Date |
创建时间 |
是 |
表4.8实习分享收藏表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
---|---|---|---|---|
1 |
Id |
Int |
id |
否 |
2 |
shixi_fenxiang_id |
Integer |
实习分享 |
是 |
3 |
xuesheng_id |
Integer |
学生 |
是 |
4 |
shixi_fenxiang_collection_types |
Integer |
类型 |
是 |
5 |
insert_time |
Date |
收藏时间 |
是 |
6 |
create_time |
Date |
创建时间 |
是 |
表4.9实习分享留言表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
---|---|---|---|---|
1 |
Id |
Int |
id |
否 |
2 |
shixi_fenxiang_id |
Integer |
实习分享 |
是 |
3 |
xuesheng_id |
Integer |
学生 |
是 |
4 |
shixi_fenxiang_liuyan_text |
String |
留言内容 |
是 |
5 |
insert_time |
Date |
留言时间 |
是 |
6 |
reply_text |
String |
回复内容 |
是 |
7 |
update_time |
Date |
回复时间 |
是 |
8 |
create_time |
Date |
创建时间 |
是 |
表4.10实习周报表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
---|---|---|---|---|
1 |
Id |
Int |
id |
否 |
2 |
xuesheng_id |
Integer |
学生 |
是 |
3 |
shixi_id |
Integer |
实习 |
是 |
4 |
shixi_zhoubao_uuid_number |
String |
实习周报编号 |
是 |
5 |
shixi_zhoubao_name |
String |
周报标题 |
是 |
6 |
shixi_zhoubao_types |
Integer |
第几周 |
是 |
7 |
shixi_zhoubao_content |
String |
实习周报详情 |
是 |
8 |
insert_time |
Date |
录入时间 |
是 |
9 |
create_time |
Date |
创建时间 |
是 |
表4.11学生表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
---|---|---|---|---|
1 |
Id |
Int |
id |
否 |
2 |
xuesheng_uuid_number |
String |
学号 |
是 |
3 |
xuesheng_name |
String |
学生姓名 |
是 |
4 |
xuesheng_phone |
String |
学生手机号 |
是 |
5 |
xuesheng_id_number |
String |
学生身份证号 |
是 |
6 |
xuesheng_photo |
String |
学生头像 |
是 |
7 |
yuanxi_types |
Integer |
院系 |
是 |
8 |
banji_types |
Integer |
班级 |
是 |
9 |
xuesheng_email |
String |
电子邮箱 |
是 |
10 |
create_time |
Date |
创建时间 |
是 |
表4.12管理员表
序号 |
列名 |
数据类型 |
说明 |
允许空 |
---|---|---|---|---|
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会员管理界面