基于SSM的餐饮管理系统的设计与实现

news/2024/5/19 5:41:30/文章来源:https://blog.csdn.net/newlw/article/details/127345183

目 录
前 言 1
第1章 概述 2
1.1 选题背景及意义 2
1.2 技术概述 2
1.2.1 JSP技术概述 2
1.2.2 Spring+SprngMVC介绍 3
1.2.3 MySQL数据库概述 3
1.2.4 Mybatis介绍 3
1.2.5 Maven介绍 3
1.3 开发平台介绍 4
1.3.1 Tomcat服务器 4
1.3.2 Eclipse简介 4
第2章 可行性研究 5
2.1 技术可行性 5
2.2 经济可行性 5
2.3 法律可行性 6
2.4 运行可行性 6
2.5 可行性研究结论 6
第3章 需求分析 7
3.1 用户需求描述 7
3.2用例模型 8
3.2.1 角色识别 8
3.2.2 用例识别 9
3.2.3 用例图 9
3.2.4 用例描述 12
3.3 概念模型 20
3.3.1 视图模型 21
3.6.2 逻辑模型 22
3.3.3 实体模型 22
3.4 实体-关系图 23
第4章 总体设计 24
4.1 设计目标 24
4.2 系统体系结构设计 24
4.2.1 体系结构概念 24
4.2.2 体系结构设计内容 25
4.3 系统功能设计 27
4.3.1 前台系统功能 27
4.3.2 后台系统功能 27
4.3.3 系统各功能模块功能描述: 28
4.4 模块结构设计 29
4.4.1 前台模块设计 29
4.4.2 后台模块设计 31
4.5 实体类设计 33
第5章 详细设计 34
5.1 系统文件组织结构 34
5.1.1 src/main/java文件夹 34
5.1.2 target文件夹 35
5.1.3 pom.xml文件 35
5.2 前台模块设计 35
5.2.1 用户登录 35
5.2.2 用户点餐 37
5.3 后台模块设计 39
5.4 数据库设计 40
5.4.1 数据库表结构详细设计 40
5.4.2 数据库连接详细设计 44
第6章 系统实现 46
6.1 前台界面系统实现 46
6.1.1 前台登陆 46
6.1.2 用户点餐 46
6.1.3 用户个人中心 47
6.2 后台界面系统实现 49
6.2.1 员工登录 49
6.2.2 菜品管理 50
6.2.3 餐桌管理 50
6.2.4 订单管理 51
结 论 53
致 谢 54
参考文献 55
第3章 需求分析
需求分析是与用户充分交流,获取详细的功能需求、数据需求以及性能需求的信息(见3.1节),对获得的原始信息进行整理、分析和加工得到需求模型和概念模型。本系统的分析和设计采用面向对象方法和过程,采用UML建立UseCase模型(见3.2.3节),用户的需求描述做到完整、准确、细致(见3.3.4节);在UseCase图的基础上按MVC模型划分类,得到概念模型的视图、逻辑和实体三大类模型(见3.4节),作为下一步软件设计的依据。
说明:本章只对用户的功能性需求进行简单的描述,未对数据需求和性能需求进行整理。
3.1 用户需求描述
1.餐饮管理系统是一个餐厅运营管理系统。餐厅在后台维护菜品信息,在前台系统界面上将菜品信息展示给前台用户。用户登录到系统前台后,可以浏览菜品,添加菜品到点餐单,提交菜品产生订单。用户可以在个人中心更新个人信息、查看历史订单、收藏商品,查看个人积分和消费支出。
(1)用户:具有注册、登录权限,可以添加菜品点餐单、提交菜单生成订单。可以收藏菜品、取消收藏。在个人中心修改个人信息、进行安全设置、查看积分明细、查看余额记录、查看收藏商品。
(2)注册登录:前台界面使用前需要餐桌登录,用户使用系统前需要注册后方可登录。
(3)点餐单和订单:用户可以在点餐中添加菜品、增减菜品数量、删除菜品、重置、提交点餐单。提交点餐单后生成订单,用户点击结账后,系统结账流程执行结束此订单状态改为已结账状态。
(4)个人中心:个人中心分为个人资料、个人资产、我的收藏。个人资料可以修改个人基本资料,进行安全设置:更改手机号、修改密码、启用/修改支付密码、实名认证、安全问题设置。
2.餐饮管理后台员工登录后,需要维护餐桌信息、菜品信息,查看订单数据。餐饮管理后台分为餐厅员工、餐厅管理者两个角色,餐厅员工可以修改本人部分信息,可以查看员工非隐私信息。餐厅管理者可以员工信息对进行增删改查操作。
(1)餐厅员工:餐厅员工有登录、餐桌管理、菜品管理、订单管理、员工管理的菜单权限。
(2)餐厅管理者:餐厅管理者和员工菜单权限一致。
(3)餐桌管理:员工可以查看所有餐桌的信息和运营状况,可以新增、修改、删除餐桌。
(4)菜品管理:员工可以查看菜品的详细信息,可以新增菜品、修改菜品信息、删除菜品。
(5)订单管理:员工可以查看未结账订单、历史订单和订单的明细信息。
(6)员工管理:餐厅管理者可以对于员工信息有增删改查操作权限。普通员工对本人部分信息有修改权限、对于非隐私信息有查看权限。
3.2用例模型
3.2.1 角色识别
用例图的建立采用角色驱动方式,首先确定系统角色Actor。分析的着手点是从需求描述中找出使用该系统有哪些人、与哪些外部系统交互、谁需要借助系统来完成工作、系统为那些人提供数据、谁来维护和管理系统[7]。
由用户需求的描述可知,系统包含两个角色:前台用户和后台员工。前台用户,主要是浏览菜品、点餐下单、个人信息管理等,后台员工包括餐厅员工和餐厅管理者,餐厅员工主要管理餐桌、订单、菜品等相关信息。餐厅管理者就主要是管理整个系统,对于餐厅各个模块都有最大管理权限,主要管理餐厅员工信息数据。
综上所述,此系统找到两个角色:前台用户,后台员工(餐厅员工和餐厅管理者)。系统Actor如图3-1所示。
在这里插入图片描述

图3-1 餐饮管理系统参与者
3.2.2 用例识别
用例识别的任务就是在角色的基础上,识别与角色有关的用例,从而得到系统的用例模型[7]。
餐饮管理系统按照使用者不同划分为后台管理子系统和前台子系统。核心功能可分为餐桌管理模块、菜品管理模块、订单管理模块、员工管理模块、注册登录模块、点餐单功能模块、用户个人中心模块。
经过分析,前台用户有两个模块:个人信息管理模块、浏览菜品及点餐功能,用户注册登录后,之后可以维护个人信息数据,用户点餐后产生订单及个人使用信息。
个人信息管理模块有十三个用例:用户注册、用户登录、查看个人基本及历史订单信息、个人基本信息修改、登录密码修改、支付密码修改、手机验证、实名认证、设置安全问题、浏览用户积分详情、浏览账户余额、浏览收藏商品、添加收藏及取消收藏。
浏览菜品及点餐功能模块有浏览分类菜品、浏览首页及点餐单、餐桌登录、用户登录、浏览菜品、加入菜单、增加数量、提交菜单、结账八个用例。
后台管理有四个模块,分别是餐桌管理、菜品管理、订单管理、员工管理,这四个模块通用用例为员工登录、增改查这五个用例,本文转载自http://www.biyezuopin.vip/onews.asp?id=13580员工管理的增删改根据登录角色进行权限控制。订单管理有历史订单、在处理订单、订单明细用例。
3.2.3 用例图
在用例识别的基础上得到系统的用例模型,以前台用户和后台员工为维度组建用例模型。前台用户用例图如图3-2。后台员工用例图如图3-3。
在这里插入图片描述

图3-2 前台用户用例模型
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_24634.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis学习和笔记

Redis学习 作为一个程序员,你没有办法不学Redis redis是一个NoSql的(远程字典服务的,key_value的数据库) redis 能干嘛 内存存储,持久化,内存中是断电就失去,所有说持久化很重要效率高&#…

Linux Command mount 挂载

Linux Command mount 挂载 tags: 文件管理 文章目录Linux Command mount 挂载1. 简介2. 语法3. 退出状态4. 命令选项5. mount 挂载5.1 列出挂载的文件系统5.2 列出特定文件系统5.3 挂载文件系统5.4 使用 /etc/fstab 挂载文件系统5.5 挂载 USB 驱动器5.6 安装 CD-ROM5.7 挂载 I…

电路方案分析(十二)USB Type-C PD 移动电源参考设计方案

USB Type-C PD 移动电源参考设计方案 tips:TI设计方案参考分析:TI Designs:TIDA-01627 1.系统描述 2.系统概述 3.系统供电方案 4.测试数据 5.设计文件 6.关键术语 说明 此移动电源参考设计提供高度集成的 USB Type-C™电力传输 (PD) 解决…

Docter安装

上传安装包 docker-ce-18.06.0.ce-3.el7.x86_64.rpm 安装 yum install docker-ce-18.06.0.ce-3.el7.x86_64.rpm -y 启动docter systemctl start docker systemctl stop docker systemctl restart docker systemctl status docker(查看状态) 查看doct…

浮点型在内存中的存储

目录 1、浮点数的存储方式 (1) 转化为二进制 (2) 转化为国际标准形式 (3) 使用国际标准形式存储 (4) 存储方式验证 2、从内存中取出浮点数需满足的规则 (1) E 不全为0 或 不全为1 (2) E 全为 0 (3) E 全为 1 浮点数在内存中存储的方式和整型不一样。所以我们在存储的…

2022/10语音识别大作业:基于HMM(隐马尔可夫模型)的Matlab孤立数字语音识别

别看了你要找的就在这。csdn上所有这方面的资源都是收费的,而且没有直接能用的好的,我的也是基于重金买来的两份结合起来做了三天的大修之后才能运行。所以这也不是一份免费分享。但是本文解决了其他资源没有解决的问题,所以50是一个公道的价…

C++——程序员的逼格神器-github

github的重要性: 网络时代的程序员必备。 github的作用: 版本管理多人协作开源共享 常用方案: gitTortoiseGitgithub [Tortoise,程序员常称其为小乌龟,小海龟] 安装配置步骤 1.注册 GitHub: Where the world bui…

JVM之对象的内存模型、创建过程、对象引用、生命周期

JVM之对象的内存模型、创建过程、对象引用、生命周期Java对象内存模型对象头实例数据对齐填充部分对象的创建类加载检查分配内存初始化零值设置对象头执行init方法引用计数法对象的引用强引用软引用弱引用虚引用对象的生命周期创建阶段(Created)应用阶段(In Use)不可见阶段(Inv…

代理ARP (路由式代理ARP+vlan内代理ARP+vlan间代理ARP) [理论+实验验证]

衷心感谢三位大佬的博客 ! ! ! ! 这篇博客主要是为了记录笔记方便查看而整理, 主要内容整理来源: (58条消息) 代理ARP实验_在下小黄的博客-CSDN博客_arp代理实验 (58条消息) 代理ARP_士别三日wyx的博客-CSDN博客_arp代理 (59条消息) 华为ARP代理的三种方…

字节在职三年,如何想要三个月内将软件测试学好,我建议你这样学

目录 13年本科毕业,目前已经工作将近7年时间,第一段工作是在字节工作3年时间,目前是再另外一家大厂工作。今天跟大家分享一下我工作的心得,希望对你有所帮助 我对软件测试的理解 软件测试是软件开发的最后一道防线,…

【Vue 快速入门系列】样式绑定与条件渲染

文章目录前言样式绑定条件渲染前言 在vue中好像一切数据都是可以动态的,那么我们应如何让dom元素中的样式动起来呢?我们既然可以改变dom元素的样式,我们能不能将其隐藏起来呢?今天将会介绍到Vue中如何将属性与dom元素的样式进行绑…

Java List 扩容机制探究(ArrayList 、Vector、LinkedList)

文章目录List扩容ArrayList 扩容机制结论:无参构造创建的ArrayList的初始空间为0,在添加第一个元素的时候空间会默认为10,之后扩容会为当前容量的1.5倍。0->10->15->22->33->49源码分析1.ArrayList list new ArrayList();2. …

Android多媒体架构

Android多媒体架构 要实现我们的媒体播放器 主要使用的就是android media MediaPlayer 这样的一个类 来为我们的播放器的实现提供一个主要功能 而这个类的实现又依赖于 JNI层的 1)一些接口 2)Libmedia.so 库 (这个库才是 mediaplayer类的真正实现) 再往下就是我们的se…

产品能力|书山有路-趣味算法(第二版)读书笔记part1

系列文章目录 趣味算法(第二版)读书笔记: day1: 序章|学习的方法和目标. day2:算法之美|打开算法之门与算法复杂性 day3.算法之美|函数特性与图形 day4.数学之美|斐波那契数列 后续补充完善 提示:写完文章后,目录可以…

Kubernetes_16_静态Pod网关apiserver的audit审计日志

系列文章目录 文章目录系列文章目录前言一、理论:kube-apiserver的审计日志1.1 kube-apiserver.yaml 文件的五行修改1.2 audit-policy.yaml文件的修改二、实践:编写策略文件,打印想要的审计日志2.1 步骤1:编写修改policy.yaml文件…

05_排序与分页

1.排序数据 1.1排序规则 如果没有使用排序操作,默认情况下查询返回的数据是按照添加数据的顺序显示的。 使用ORDER BY子句排序 ASC (ascend):升序 DESC (descend):降序 ORDER BY子句在SELECT语句的结尾。 1.2单列排序 1.简单使用排序 #如果没有使用排序操作&am…

每日算法、面试题

目录 2022/10/16 一、算法 翻转字符串里的单词 找出字符串中第一个匹配项的下标 二、面试题 SpringMvc中如何解决POST请求的中文乱码问题 SpringMvc的工作流程 2022/10/16 一、算法 翻转字符串里的单词 给你一个字符串 s ,请你反转字符串中 单词 的顺序。 …

【Nginx】三、Nginx实现四层负载均衡Nginx实现限流防盗链流量镜像

Nginx实现四层负载均衡一、Nginx实现四层负载均衡1、四层负载均衡与七层负载均衡区别2、Nginx四层负载均衡配置3、SocketTool工具4、TCP&UDPDebug工具二、Nginx实现限流三、Nginx实现防盗链四、Nginx流量镜像一、Nginx实现四层负载均衡 我们之前介绍的HTTP负载均衡&#x…

Silane-PEG-Alkyne,硅烷-聚乙二醇-炔基用于修饰蛋白类

An English name:Silane-PEG-Alkyne Chinese name:硅烷-聚乙二醇-炔基 Item no:X-GF-0314-10k CAS:N/A Formula:N/A MW:Silane-PEG-Alkyne5000、Silane-PEG-Alkyne3400、Silane-PEG-Alkyne2000、硅烷-…

【附源码】计算机毕业设计SSM美食菜谱网站

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…