基于ssm+vue的校园驿站管理系统+(源码+部署说明+演示视频+源码介绍)(1)https://developer.aliyun.com/article/1558367
4.3 数据库设计
开发一个系统也需要提前设计数据库。这里的数据库是相关数据的集合,存储在一起的这些数据也是按照一定的组织方式进行的。目前,数据库能够服务于多种应用程序,则是源于它存储方式最佳,具备数据冗余率低的优势。虽然数据库为程序提供信息存储服务,但它与程序之间也可以保持较高的独立性。总而言之,数据库经历了很长一段时间的发展,从最初的不为人知,到现在的人尽皆知,其相关技术也越发成熟,同时也拥有着坚实的理论基础。
4.3.1 数据库概念设计
这部分内容需要借助数据库关系图来完成,也需要使用专门绘制数据库关系图的工具,比如Visio工具就可以设计E-R图(数据库关系图)。设计数据库,也需要按照设计的流程进行,首先还是要根据需求完成实体的确定,分析实体具有的特征,还有对实体间的关联关系进行确定。最后才是使用E-R模型的表示方法,绘制本系统的E-R图。不管是使用亿图软件,还是Visio工具,对于E-R模型的表示符号都一样,通常矩形代表实体,实体间存在的关系用菱形符号表示,实体的属性也就是实体的特征用符号椭圆表示。最后使用直线将矩形,菱形和椭圆等符号连接起来。接下来就开始对本系统的E-R图进行绘制。
(1)下图是物流信息实体和其具备的属性。
图4.4 物流信息实体属性图
(2)下图是用户实体和其具备的属性。
图4.5 用户实体属性图
(3)下图是留言实体和其具备的属性。
图4.6 留言实体属性图
- 下图是管理员实体和其具备的属性。
图4.7 管理员实体属性图
- 下图为上述各实体间相互之间的关系。
图4.8 实体间关系E-R图
4.3.2 数据库物理设计
本数据库是关系型数据库,因此对二维表的结构设计也比较关键。毕竟二维表格模型就是关系型数据库中的关系模型。而一些常用的关系模型中的概念也需要了解,才可以对关系模型进行设计。下面就简单介绍关系,元组,属性,域,关键字等常用概念的含义。
关系:关系就是数据库中的一张数据表,每张数据表都有命名,也就是每个关系也有名字,那就是数据表名;
元组:元组就是数据表中的一行记录;
属性:属性就是数据表中的字段,也就是数据表中的一列;
域:域就是对数据表中属性的取值进行限定;
关键字:关键字就是数据表中的主键;
在了解了表结构设计的常用概念后,接下来就需要使用前面绘制的E-R模型完成表结构的设计工作,并在数据库中创建数据表,并为各个数据表进行命名。以下就对设计的结果通过表格形式进行展示。
表4.1 快递仓库信息表
字段 |
类型 |
空 |
默认 |
注释 |
id |
int(11) |
否 |
主键 |
|
logistics |
varchar(255) |
是 |
NULL |
物流单号 |
name |
varchar(255) |
是 |
NULL |
快递名称 |
kd_types |
tinyint(4) |
是 |
NULL |
快递类型 |
courier |
varchar(255) |
是 |
NULL |
送件人 |
cmobile |
varchar(255) |
是 |
NULL |
手机号 |
warehouse_time |
timestamp |
是 |
NULL |
入库时间 |
recipients |
varchar(255) |
是 |
NULL |
收件人 |
rmobile |
varchar(255) |
是 |
NULL |
手机号 |
consigneeaddress |
varchar(255) |
是 |
NULL |
收件地址 |
express_types |
tinyint(4) |
是 |
NULL |
快递状态 |
notice_content |
varchar(255) |
是 |
NULL |
描述信息 |
表4.2 快递发货信息表
字段 |
类型 |
空 |
默认 |
注释 |
id |
int(11) |
否 |
主键 |
|
logistics |
varchar(255) |
是 |
NULL |
物流单号 |
name |
varchar(255) |
是 |
NULL |
快递名称 |
kd_types |
tinyint(4) |
是 |
NULL |
快递类型 |
addresser |
varchar(255) |
是 |
NULL |
发件人 |
yhid |
int(11) |
是 |
NULL |
用户id |
amobile |
varchar(255) |
是 |
NULL |
手机号 |
consigneeaddress |
varchar(255) |
是 |
NULL |
收件地址 |
recipients |
varchar(255) |
是 |
NULL |
收件人 |
rmobile |
varchar(255) |
是 |
NULL |
手机号 |
shipments_time |
timestamp |
是 |
NULL |
发货时间 |
notice_content |
varchar(255) |
是 |
NULL |
描述信息 |
表4.3 留言信息表
字段 |
类型 |
空 |
默认 |
注释 |
id |
int(11) |
否 |
id |
|
note |
varchar(255) |
是 |
NULL |
留言信息 |
yhnote |
varchar(11) |
是 |
NULL |
留言人 |
note_time |
timestamp |
是 |
NULL |
留言时间 |
reply |
varchar(255) |
是 |
NULL |
回复 |
glreply |
varchar(11) |
是 |
NULL |
回复人 |
reply_time |
timestamp |
是 |
NULL |
回复时间 |
表4.4 已收快递信息表
字段 |
类型 |
空 |
默认 |
注释 |
id |
int(11) |
否 |
主键 |
|
logistics |
varchar(255) |
是 |
NULL |
物流单号 |
name |
varchar(255) |
是 |
NULL |
快递名称 |
kd_types |
tinyint(4) |
是 |
NULL |
快递类型 |
yhid |
int(11) |
是 |
NULL |
签收人 |
recipients |
varchar(255) |
是 |
NULL |
收件人 |
rmobile |
varchar(255) |
是 |
NULL |
手机号 |
consigneeaddress |
varchar(255) |
是 |
NULL |
收件地址 |
addressee_time |
timestamp(4) |
是 |
NULL |
收件时间 |
notice_content |
varchar(255) |
是 |
NULL |
备注信息 |
表4.5 管理员信息表
字段 |
类型 |
空 |
默认 |
注释 |
id |
int(20) |
否 |
主键 |
|
username |
varchar(100) |
否 |
用户名 |
|
password |
varchar(100) |
否 |
密码 |
|
role |
varchar(100) |
否 |
管理员 |
角色 |
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
新增时间 |
表4.6 物流信息表
字段 |
类型 |
空 |
默认 |
注释 |
id |
int(11) |
否 |
主键 |
|
logistics |
varchar(255) |
是 |
NULL |
物流单号 |
name |
varchar(255) |
是 |
NULL |
快递名称 |
wuliu |
varchar(255) |
是 |
NULL |
物流信息 |
yhid |
int(11) |
是 |
NULL |
用户id |
表4.7 系统公告信息表
字段 |
类型 |
空 |
默认 |
注释 |
id |
bigint(20) |
否 |
主键 |
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
创建时间 |
biaoti |
varchar(200) |
是 |
NULL |
标题 |
leixing |
varchar(200) |
是 |
NULL |
类型 |
neirong |
longtext |
是 |
NULL |
内容 |
riqi |
datetime |
是 |
NULL |
日期 |
表4.8 用户信息表
字段 |
类型 |
空 |
默认 |
注释 |
id |
int(11) |
否 |
id |
|
name |
varchar(255) |
是 |
NULL |
用户名称 |
account |
varchar(255) |
是 |
NULL |
账号 |
password |
varchar(255) |
是 |
NULL |
密码 |
img_photo |
varchar(255) |
是 |
NULL |
头像 |
role |
varchar(255) |
是 |
NULL |
身份 |
表4.9 员工信息表
字段 |
类型 |
空 |
默认 |
注释 |
id |
int(11) |
否 |
id |
|
name |
varchar(255) |
是 |
NULL |
员工名称 |
account |
varchar(255) |
是 |
NULL |
账号 |
password |
varchar(255) |
是 |
NULL |
密码 |
img_photo |
varchar(255) |
是 |
NULL |
头像 |
role |
varchar(255) |
是 |
NULL |
身份 |
第5章 系统实现
进入到这个环节,也就可以及时检查出前面设计的需求是否可靠了。一个设计良好的方案在运用于系统实现中,是会帮助系统编制人员节省时间,并提升开发效率的。所以在系统的编程阶段,也就是系统实现阶段,对于一些不合理的设计需求,也是可以及时发现。因为设计的方案是完全指导系统的编码过程的。
5.1 管理员功能实现
5.1.1 快递仓库管理
管理员进入指定功能操作区之后可以管理快递仓库信息。其页面见下图。管理员在页面内增删改查快递仓库信息,查看各个快递的状态信息。
图5.1 快递仓库管理页面
5.1.2 待发货管理
管理员进入指定功能操作区之后可以管理待发货信息。其页面见下图。管理员在页面内增删改查待发货快递信息。
图5.2 待发货管理页面
5.1.3 已收快递管理
管理员进入指定功能操作区之后可以管理已收快递信息。其页面见下图。管理员在页面内查询已收快递,修改,删除已收快递信息。
图5.3 已收快递管理页面
5.1.4 物流管理
管理员进入指定功能操作区之后可以管理物流信息。其页面见下图。管理员在页面内更改物流信息,批量删除物流信息。
图5.4 物流管理页面
5.1.5 留言管理
管理员进入指定功能操作区之后可以管理留言。其页面见下图。管理员批量删除留言,针对留言内容进行留言回复。
图5.5 留言管理页面
5.2 员工功能实现
5.2.1 修改物流信息
员工进入指定功能操作区之后可以更改物流信息。其页面见下图。员工对各个快递的物流信息随时进行更新。
图5.6 修改物流信息页面
5.2.2 已收快递管理
员工进入指定功能操作区之后可以查询已收快递。其页面见下图。员工根据快递类型,还有快递名称可以查询已收快递信息,查询出来的信息包括了快递的收件人以及收件时间等信息。
图5.7 已收快递管理页面
5.2.3 待发货管理
员工进入指定功能操作区之后可以管理待发货快递信息。其页面见下图。员工在页面内只能新增,修改,查询待发货快递信息。
图5.8 待发货管理页面
5.3 用户功能实现
5.3.1 签收快递
用户进入指定功能操作区之后可以签收快递。其页面见下图。用户点击签收按钮即可快速签收快递。
图5.9 签收快递页面
5.3.2 查看公告
用户进入指定功能操作区之后可以查看公告。其页面见下图。公告信息太多时,可以使用公告查询功能快速获取指定的公告。
图5.10 查看公告页面
5.3.3 发布留言
用户进入指定功能操作区之后可以发布留言。其页面见下图。用户查看之前的留言和回复,也能点击留言按钮发布新的留言。
图5.11 发布留言页面
第6章 系统测试
进入这个环节就代表着系统已经结束了编码实现功能阶段,接下来要做的事情,就是对该系统进行检测,也就是系统测试,这个环节是很有必要进行的,原因是开发本系统的人员,其自身具备的开发技术以及开发思维是有限的,在面对具有复杂性操作逻辑的系统,都会出现大大小小的错误,并且这样的错误还都是不可避免的。通过及时的测试,可以尽早排除程序中的错误,这样也可以减少实际运行中产生的问题,从而真正避免在后期使用中为修复这些问题所付出的高昂代价。及时测试,及时发现问题并解决,也是提高开发过程的效率的一种表现形式。总而言之,在软件开发生命周期的每个阶段都需要加以重视,并做好每个阶段需要做的任务,从开始到结尾都需要保证开发软件的质量。
6.1 功能测试
通过设计一些数据检验校园驿站管理系统的功能是否根据预定进行数据输出,以此检验系统功能是否合格。接下来就选取部分功能进行检测。
6.1.1 登录功能测试
校园驿站管理系统提供的服务是给规定的用户使用的,其他无关用户是无法进入的,登录功能就是检验访问者是否是符合要求的用户,及时将不符合要求的用户拒之门外。以此保证系统安全。这里以管理员身份进行检测,测试的内容见下表。
表6.1 登录功能测试表
账号 |
密码 |
身份 |
结果 |
guanliyuan |
guanliyuan |
管理员 |
提示成功,进入系统后台 |
user |
guanliyuan |
管理员 |
提示失败,停留在登录页面 |
guanliyuan |
user |
管理员 |
提示失败,停留在登录页面 |
校园驿站管理系统在面对正确的账号,不匹配的密码时,会有相应的反馈,其反馈结果见下图。
图6.1 登录错误反馈提示
6.1.2 修改密码功能测试
这个功能的设置也是出于对系统的保护,让操作人员的密码可以一直变化,减少泄露的几率。测试的数据见下表。通过验证旧密码,确认操作者是本人,然后开始对新密码进行登记。一般修改完密码后,需要再次登录。
表6.2 修改密码功能测试表
旧密码 |
新密码 |
密码修改结果 |
guanliyuan |
gly |
成功 |
user |
gly |
失败 |
guanliyuan |
失败 |
本系统在面对登记错误的旧密码信息时,有相应的反馈提示,见下图。
图6.2 旧密码错误提示
6.2 测试结果
经过测试,从校园驿站管理系统功能的角度来看,本系统各个功能在符合用户要求的情况下,也能保持运行正常。从校园驿站管理系统性能的角度来看,本系统可以保持24小时不间断运行,而且面对用户的误操作行为,有提前设置的错误反馈机制应对,另外,本系统界面布局考虑用户阅读习惯,可以让用户短时间内获取需要的内容。总之,本系统可以投入生产,帮助用户解决实际问题,发挥其应用价值。