基于SSM的海鲜自助餐厅系统(源码+L文+说明文档)
目录
4 系统设计
当前,系统的类型有很多,从系统呈现的内容来看,系统的类型有社交类,有商业类,有政府类,有新闻类等。那么,在众多系统类型中,先明确将要设计的系统的类型才是系统设计的首要工作,然后在此基础上明确系统的用户群,功能等,针对这些信息设计出具有独特体验和视觉的系统。如此才能让系统比较具有特色,也能够在众多相似系统中给用户留下深刻印象。
4.1系统目标
本系统在功能制定上,严格参照用户的要求,但是在设计本系统时,也要满足易操作,使用便利的设计要求。由此,设计出一个规范化并且符合用户需求的系统,一定要达到下述系统目标。
第一个系统目标:用户与系统之间的操作方式是基于人机对话,可视化界面的设计除了美观性之外,也具备友好性。可视化界面提供的各类信息符合准确性,可靠性的要求,并能够方便用户灵活查看。
第二个系统目标:用户与系统交互产生的数据,要严格规范的保存在数据库里,无论是后期管理人员查找与管理,都要确保数据安全。
第三个系统目标:实现用户需求的功能。根据对用户的调查得出的功能需求,完成海鲜自助餐厅系统的设计与实现。
第四个系统目标:在必要环节,对用户登记的数据进行检查,包括数据长度,以及数据输入类型等的检查,发现错误及时反馈,引导用户规范登记数据。常见的有密码修改,注册登录,用户资料填写等环节的数据核验。
第五个系统目标:设计开发本系统,需要尽最大努力,在系统具备易操作的特点外,也要求系统于后期使用中,维护方便,让系统具备易维护的特点。
第六个系统目标:本系统在交付用户使用时,可以达到运行稳定的目标,另外,系统具备安全性,也符合可靠性的条件,用户可以放心使用。
4.2功能结构设计
前面所做的功能分析,只是本系统的一个大概功能,这部分需要在此基础上进行各个模块的详细设计。
设计的管理员的详细功能见下图,管理员登录进入本人后台之后,管理食物库存,海鲜信息,管理预订和未预定餐桌,管理订单流水。
图4.1 管理员功能结构图
设计的用户的详细功能见下图,用户预订餐桌,对海鲜进行点餐,查看订单记录。
图4.2 用户功能结构图
4.3数据库设计
相比非关系型数据库来说,目前市场上使用率比较高,并且易于维护的数据库,当数关系型数据库了。这个数据库主要是基于关系模型的方式来对数据信息进行组织。也就是常见的二维表模型。可以说二维表和二维表之间的相互联系就构成了关系型数据库。
4.3.1数据库E-R图
为了更好地保存海鲜自助餐厅系统产生的数据,就需要在数据库的设计阶段对E-R模型进行建立,以及完成数据库中的表结构的创建。之所以要单独完成数据库的设计,主要有以下几点原因:
第一点:防止代码冗余;
第二点:防止占用过多内存;
第三点:提升数据库的整体性能,方便程序开发以及数据更新;
第四点:保证数据的完整性;
本部分内容主要在于建立本系统的E-R模型,需要先收集数据,然后根据数据库实现的思路,对用户的需求进行分析,这期间需要对实体,属性,还有关系进行标识,为绘制E-R模型做好充足准备。同时,在作图中,也要注意作图规范,注意每个符号的正确使用。
(1)设计的海鲜实体,其具备的属性见下图。
图4.4 海鲜实体属性图
(2)设计的管理员实体,其具备的属性见下图。
图4.5 管理员实体属性图
(3)设计的用户实体,其具备的属性见下图。
图4.6 用户实体属性图
(4)设计的餐桌实体,其具备的属性见下图。
图4.7 餐桌实体属性图
(5)设计的各实体间关系见下图。
图4.8 实体间关系E-R图
4.3.2 数据库表结构
为了设计出结构合理,性能优良的数据库,在设计数据库时,需要遵循三大范式:
第一范式:确保数据表当中的每列所代表的字段值都不能再进行分解了;
第二范式:在满足第一范式基础上,让数据表中每列与主键相关;
第三范式:在满足第二范式基础上,确保每列数据直接与主键相关,不是间接相关。
从上面的表述中可以看出,这三大范式,在等级上还是有区分的,最低等级的就数第一范式,最高等级的就是第三范式,趋于两者中间的是第二范式。总之,数据库设计按照这三大范式进行,可以简化设计过程,并且还会减少数据冗余,对于数据检索效率的提升也很有帮助。
表4.1 餐桌信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | int(20) | 否 |
| 主键 |
name | varchar(200) | 是 | NULL | 餐桌名称 |
tableLocation | varchar(200) | 是 | NULL | 餐桌位置 |
sf_types | tinyint(4) | 是 | NULL | 是否预定 |
表4.2 订单详情信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | int(20) | 否 |
| 主键 |
odd | varchar(200) | 是 | NULL | 订单号 |
hx_types | tinyint(4) | 是 | NULL | 海鲜名称 |
number | int(4) | 是 | NULL | 数量 |
money | decimal(10,2) | 是 | NULL | 单价 |
表4.3 海鲜信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | int(20) | 否 |
| 主键 |
hx_types | tinyint(4) | 是 | NULL | 海鲜名称 |
money | decimal(10,2) | 是 | NULL | 海鲜单价 |
img_photo | varchar(200) | 是 | NULL | 海鲜图片 |
haixian_content | varchar(200) | 是 | NULL | 海鲜描述 |
表4.4 库存信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | int(20) | 否 |
| 主键 |
name | varchar(200) | 是 | NULL | 海鲜名称 |
number | int(4) | 是 | NULL | 库存数量 |
表4.5 流水信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | int(20) | 否 |
| 主键 |
odd | varchar(200) | 是 | NULL | 订单号 |
cz_types | tinyint(4) | 是 | NULL | 餐桌名称 |
yh_types | tinyint(4) | 是 | NULL | 预定用户 |
sf_types | tinyint(4) | 是 | NULL | 是否支付 |
maxMoney | decimal(10,2) | 是 | NULL | 总价 |
create_time | timestamp | 是 | NULL | 支付时间 |
表4.6 管理员信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | int(20) | 否 |
| 主键 |
username | varchar(100) | 否 |
| 用户名 |
password | varchar(100) | 否 |
| 密码 |
role | varchar(100) | 否 | 管理员 | 角色 |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 新增时间 |
表4.7 用户信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | int(20) | 否 |
| 主键 |
name | varchar(200) | 是 | NULL | 名称 |
username | varchar(255) | 是 | NULL | 账号 |
password | varchar(255) | 是 | NULL | 密码 |
img_photo | varchar(255) | 是 | NULL | 头像 |
sex_types | tinyint(4) | 是 | NULL | 性别 |
phone | varchar(200) | 是 | NULL | 手机号 |
role | varchar(255) | 是 | NULL | 身份 |
表4.8 预定餐桌信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | int(20) | 否 |
| 主键 |
cz_types | tinyint(4) | 是 | NULL | 餐桌名称 |
yh_types | tinyint(4) | 是 | NULL | 预定用户 |
create_time | timestamp | 是 | 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.2 用户功能实现
5.2.1 海鲜点餐
用户权限中的海鲜点餐,其运行效果见下图。用户在已经预订餐桌的情况下,在本页面对需要的海鲜登记点餐数量,最后提交点餐订单即可。
图5.6 海鲜点餐页面
5.2.2 未预定餐桌
用户权限中的未预定餐桌,其运行效果见下图。用户选择未预定状态的餐桌进行预订。
图5.7 未预定餐桌页面
5.2.3 已预订餐桌
用户权限中的已预订餐桌,其运行效果见下图。用户可以查看已预订餐桌信息,可以取消已经预订的餐桌。
图5.8 已预订餐桌页面
5.2.4 订单记录
用户权限中的订单记录,其运行效果见下图。用户查看在该餐厅消费的订单明细。
图5.9 订单记录页面