目 录
5.1.4菜品信息查看功能的实现............................................................................... 25
5.2.1管理员菜品信息功能的实现........................................................................... 28
5.2.2管理员用户管理功能的实现........................................................................... 28
5.2.3管理员供应商管理功能的实现....................................................................... 29
5.2.6管理员订单管理功能的实现........................................................................... 30
1 绪论
1.1 研究的目的和意义
长久以来,餐饮行业管理都是传统手工操作,对于外卖数据等管理都是由人工完成,容易造成失误和遗漏,管理效率比较低,特别是需求比较多的时候,传统的外卖方式已经基本不能满足要求,对于发展新用户、留住旧用户非常不利。 用上信息化管理以后这些问题都基本已解决,餐饮行业问题的关键在于怎样固定一批稳定的用户群体。求新求变是目前餐饮行业的发展方向。留住了用户就等于占有了市场,就等于拥有一批稳定的用户群体。
基于spring boot的阳光外卖系统是一套专门为餐饮行业定做的智能程序,极大地提高外卖的效率,节约经费,把阳光外卖管理与餐饮行业管理工作结合起来,形成了一套完整独到的阳光外卖系统。该系统能迅速提高餐饮行业管理水平,增加经济效益,同时用户可随时访问网站了解最新餐饮行业情况对自己何时阳光外卖做出参考。
1.2 研究现状
餐饮行业信息网上查询,就是供用户查阅相关餐饮行业信息,不限定用户阳光外卖的时间,由于是在网络上,用户就可以网上阳光外卖,提高了阳光外卖的效率,阳光外卖完成后,用户可以随时查看已经完成的阳光外卖信息。
随着国内经济的不断发展,餐饮行业条件的发展呈现出无法比拟的优势:提高阳光外卖的效率,节约阳光外卖成本,增强阳光外卖的安全性、时效性、高增值性等。目前类似的阳光外卖系统并不能按要求检索,还需要用户自己在返回的信息中去比对和选择,而返回的信息可能是海量的。尤其是在餐饮行业领域,网络阳光外卖成为必然的今天,人们对餐饮行业信息的需求更快、更新。而网站由于本身所具有的信息量大、传递快速,没有地域、时间、空间限制等特点恰好满足这种要求。
1.3 研究的主要内容
本系统在认真研究国内外同类程序的基础上,博取众家之长,并在多年从事餐饮行业专家的指导下开发而成,该系统适合餐饮行业的阳光外卖需求。 基于spring boot的阳光外卖系统从根本上解决了餐饮行业用户有关阳光外卖的烦恼,它不仅让餐饮行业能够方便的录入餐饮行业的基本信息,还能够方便查询、了解阳光外卖信息;从工作原理入手,介绍JAVA;并且介绍了Spring Boot框架的概念、特点;用软件工程的方法分析阳光外卖系统,对整个阳光外卖系统进行了需求分析、功能模块划分,并通过ER图对数据库进行概念设计;对阳光外卖系统的具体设计,描述了查询、录入菜品信息、菜品入库、菜品出库、购物车、订单、在线客服、菜品资讯模块的实现过程。最后,在结束语的总结部分指出了系统的不足之处,简单介绍了自己开发过程中的体会与心得:在摸索中实践,在实践中摸索。
2 系统相关知识和技术
-
- B/S架构简介
B/S架构也称为客户端浏览器/服务器架构。主要特点是基于浏览器访问网站等应用,服务器完成所有的业务逻辑,客户端浏览器只做页面的渲染和数据交换。最大优点是只研发服务器端,还能跨平台,可移植性强,主要缺点是其安全性低,用户体验感受较差。常见的B/S架构产品有淘宝网站,京东网站。
-
- 开发语言Java简介
Java作为一种面向对象、高效、跨平台的计算机编程语言,可以广泛应用于系统的开发。Java具有简单、面向对象和分布式的特点。
-
- MySQL数据库简介
MySQL是一个使用结构化查询语言的关系型数据库管理系统。具有执行时间较短、占用内存小、可靠的优点,有一部分网站为了降低开发成本选用MySQL作为数据库。
-
- Spring框架简介
Spring 框架用来解决软件开发过程复杂的问题。使用JavaBean 来完成之前复杂的企业级开发。Spring 解决了业务对象和功能模块之间的耦合,也是一个轻量级控制反转(IoC)和面向切面(AOP)的容器。
-
- SpringMVC框架简介
Spring MVC是基于Spring的一个框架,它为 Spring 框架提供了构建 Web 应用程序的能力。Spring MVC 也是 Spring 框架的一部分,完美和 Spring 框架集成。性能方面具有很大的优势,是当今业界最主流的 Web 开发框架。
-
- MyBatis-Plus框架简介
MyBatis能够直接在xml或注解中借助SQL语句操作数据库。不过各种操作都需要借助SQL语句进行,需要写大量的xml文件或者注解,很不方便。MyBatis-Plus就非常好的解决了这个难题。MyBatis-Plus是一个 MyBatis的强化版本,在 MyBatis 的基础上只做强化不做修改,简化了开发的步骤提高了生产力。
-
- SpringBoot框架简介
Spring Boot用来简化 Spring 应用程序创建和开发的中间过程,完完全全简化了xml的配置操作。采用 Spring Boot框架可以短时间内开发出 Spring 框架的程序,它让编码、配置和部署都越来越简单。因此广泛应用于各种软件的开发。
软件环境:
- 开发语言:Java语言;
- 开发平台:IDEA、WebStorm;
- 数据库:MySQL数据库;
- 运行环境:JDK1.8;
- 操作系统:Windows 10;
硬件环境:
- CPU:Intel(R) Core(TM) i5-8300H CPU;
- 显卡:Nvidia GeForce GTX 1050 独立显卡;
- 内存:20G;
- 主频:2.5GHz;
- 硬盘:512G固态;
3 系统的需求分析
3.1 需求概述
我国外卖市场经过数十年的发展,外卖产业规模不断增加,随着渗透率的不断提升,增速不断下降,但仍然维持近40%的增长速度。2019年中国餐饮外卖产业规模为6536亿元,相比2018年增长39%。与此同时,外卖产业的渗透率也继续提升。2019年全年外卖产业渗透率达到14.0%,相比2018年的11.0%提升了3个百分点。
本项目结合餐饮行业实际情况,开发设计一款基于spring boot的阳光外卖系统,主要适用于餐饮行业的用户、员工人员的使用。该软件系统包括用户浏览的前台和管理人员进行数据操作的后台。
- 用户可以以游客的身份进入系统浏览菜品,但是不能进行操作。
- 用户在阳光外卖系统进行注册和登录以及退出。
- 登录用户能够查看自己的个人资料,以及修改个人,订单,地址等信息。
- 能够查看一些关于本店铺的通知公告。
- 根据菜品的分类和名称搜索菜品的详细信息。
- 能够对已下单菜品进行评论。
- 能够在线联系客服。
- 能够加入购物车对菜品进行收藏。
- 管理员根据特定账号登录后台系统。
- 商家能够查看用户的信息并进行操作。
- 商家能够对菜品进行增删改查操作。
- 商家能够对用户提交的申请进行处理。
- 商家能够管理菜品的入库和出库。
- 商家能够对订单进行管理。
3.2 可行性分析
3.2.1技术可行性
阳光外卖系统开发主要运用了spring boot框架,数据库采用了my sql.这些知识一部分是通过课堂学习,另外一部分是通过上网自学,所以具有一定的可行性。
Spring Boot不但能创建传统的 war 包应用,还能创建独立的不依赖于任何外部容器(如:tomcat)的独立应用,使用 java -jar 命令就能启动。同时,Spring Boot也提供了一个命令行工具来执行 Spring 的脚本。总之,Spring Boot 是值得我们任何一个 Java 开发者尝试摸索的。
3.2.2运行环境可行性
本系统后端运用IDEA开发平台进行开发,相对于其他开发平台更加的智能。IDEA平台主要进行Java语言的开发,还提供很多强大的插件,如Git和Maven。
本系统前端系统设计基于Web,采用Eclipse工具和Vue.js技术。 vue可以简单写单个页面,也可以写一个大的前端系统。vue上手速度快,功能强大,且提供了非常好用的脚手架vue-cli,很简单就可以构建并让自己的项目跑起来。
本系统运用MySQL数据库进行数据的存储和操作。MySQL是一个经过互联网大厂检验过的生产级别的成熟数据库,在使用过程中注意以下几点,效率会更好:
1、SQL的查询一定要基于索引来进行数据扫描
2、避免索引列上使用函数或者运算符,这样会导致索引失效
3、where查询条件的like %号尽量放置在右边
4、使用索引扫描,联合索引中的列从左往右,命中越多越好
5、尽可能使用SQL语句用到的索引完成排序,避免使用文件的排序方式
3.2.3经济可行性
餐饮行业引入外卖订餐系统的初期投资比较大,但盈利能力很强,投资资金可在一年内收回。虽然餐厅会因为过度依赖信息系统而增加人们的敏感度,但是在加强维护的情况下,系统的抗过敏能力可以在一定程度上得到保证。
从以上两个方面的分析可以看出,餐饮业加入外卖订餐系统后,可以帮助管理者大大降低经营成本,同时也可以帮助餐厅评估员工和绩效绩效。它是餐厅经营的管理。餐饮外卖订餐系统的可行性分析报告表明,该系统的开发是有益的。
3.2.4操作可行性
操作可行性主要体现在开发出来的系统有没有用户使用,用户和系统的交互性是否良好。本系统的界面美观,操作简单,上手操作难度小。
因此,操作方面是完全可行的。
3.3 业务流程分析
业务流程图用于描述用户在操作程序时的具体流程,不同的角色登录后所操作的内容也不相同。通过矩形、菱形、箭头等符号来表示业务执行过程,这样就可以让读者直接观察到整个业务的过程。
阳光外卖系统的业务流程图介绍了游客、用户和管理员进入系统后如何操作系统。
阳光外卖系统的业务流程如图3-1所示:
图3-1阳光外卖系统业务流程图
3.4 系统流程分析
基于spring boot的阳光外卖系统系统集成模块化编程的有效方法,不仅便于用户管理系统相关功能的组合和部分修改,而且有利于今后对于程序的补充和维护,即使是未参与之前开发的技术人员。在分析系统的各种功能后考虑JAVA编程的各种因素,得到如下所示的系统核心功能流程图3-2
图3-2系统核心功能流图
基于spring boot的阳光外卖系统的数据流图如下:
1.0层数据流图3-3
图3-3 0层数据流图
根据登录者输入的账号、密码的数据来匹配数据库中的相应的记录值,由系统自动判断登录者的权限,然后根据用户权限来打开相对应的功能界面。
2.1层数据流图3-4
图3-4 1层数据流图
在1层数据流中,用户、员工、管理员可以作为数据的实体。
用户流程处理包含管理用户的资料、对购物车表、订单表、在线客服表的配置资料的查询;
员工流程处理包含管理员工的资料、对菜品入库表、菜品出库表的配置资料的查询;
管理员用户数据流程包括对菜品信息、菜品入库、菜品出库、购物车、订单、在线客服、菜品资讯模块的编辑、管理等;
用户数据流包含了一种或多种信息的增加、删除和修改;数据表包含了购物车表、订单表、在线客服表的内容。
员工数据流包含了一种或多种信息的增加、删除和修改;数据表包含了菜品入库表、菜品出库表的内容。
4 系统的总体设计
4.1 系统功能结构图设计
阳光外卖系统能够为一些餐饮公司和点外卖的用户提供一个平台。实现下单菜品、查看菜品信息、供应商管理、菜品收藏、公告通知等功能,让用户足不出户,不用排队等待,就能随时随地下单,给忙碌的人们带来便捷。该软件系统主要包括前台后台操作模块。
阳光外卖系统的功能模块如图4-1所示:
图4-1阳光外卖系统功能模块图
买家端模块:
- 买家信息模块:注册账号,用户信息修改。
- 菜品模块:菜品搜索,分类栏查看菜品,查看菜品详情,购买菜品 。
- 订单模块:订单查看,订单删除。
- 菜品收藏:新增收藏的菜品,删除收藏的菜品。
卖家端模块:
- 菜品资讯管理:资讯信息查询,资讯信息删除、资讯信息修改、咨询信息新增。
- 用户信息管理:用户信息查询,用户信息删除、修改、新增等。
- 卖家信息管理:卖家注册,卖家信息删除、修改、新增等。
- 菜品信息管理:菜品信息查询,菜品信息删除、修改、新增等。
- 订单管理:订单发货信息查看,订单信息删除、修改等。
- 类目信息管理:对菜品的编号、名称、价格进行修改、新增等。
- 菜品入库管理:员工可以添加菜品入库信息,管理员可以对菜品入库进行管理
- 菜品出库管理:员工可以添加菜品出库信息,管理员可以对菜品出库进行管理
- 供应商管理:管理员可增删改查供应商信息,可以进行添加,修改,删除,员工可以查看供应商信息
- 通知公告管理:管理员后可增删改查通知公告信息,员工可以查看通知公告
4.2 数据库设计
数据库将根据系统的需求进行规划设计,根据设计创建系统数据库,用来满足系统对数据存储的要求,保证系统的顺利运行。
4.2.1数据库的概念结构设计
数据库的设计分为六个阶段:需求分析、概念结构设计、逻辑结构设计、数据库物理设计、数据库实施、数据库运行和维护。首先分析阳光外卖系统的功能需求,根据需求进一步分析,确定实体对象。然后将概念转换成一个数据模型,创建阳光外卖系统的数据库。最后,经过调试在没有问题的情况下就可以正常的使用数据库。
在本次设计的数据库实体有:管理员、用户、菜品信息、菜品入库、菜品出库、购物车、在线客服、菜品资讯。
4.2.2数据库E-R图
E-R图也被称实体-联系图,用来描述现实世界的概念模型。系统实现餐饮行业管理功能,阳光外卖是餐饮行业的重中之重,设置一个权限能够有权利调配相关资源,对其系统进行信息的查询,所以提炼出以下几个实体:菜品信息、菜品入库、菜品出库、购物车、订单、在线客服、菜品资讯。
阳光外卖系统的E-R图如图4-2所示:
图4-2阳光外卖系统E-R图
菜品信息E-R图包含了菜品编号、菜品名称、菜品分类、口味、图片、上架日期、菜品介绍、单限、库存、赞、踩、最近点击时间、点击次数、价格等数据项,如图4-3
图4-3菜品信息E-R图
菜品入库E-R图包含了入库单号、菜品编号、菜品名称、库存、供应商、入库日期、备注、工号、姓名等数据项,如图4-3所示
图4-4菜品入库E-R图
菜品出库E-R图包含了出库单号、菜品编号、菜品名称、库存、出库日期、备注、工号、姓名等数据项,如图4-4所示
图4-5菜品出库E-R图
购物车E-R图包含了商品表名、用户id、商品id、商品名称、图片、购买数量、单价、会员价等数据项,如图4-6所示
图4-6购物车E-R图
订单E-R图包含了订单编号、商品表名、用户id、商品id、商品名称、商品图片、购买数量、价格、折扣价格、总价格、折扣总价格、支付类型、状态、地址、电话、收货人、备注、物流等数据项,如图4-7所示
图4-7订单E-R图
在线客服E-R图包含了用户id、