SpringBoot智慧食堂预点餐管理系统小程序
摘要
随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,餐饮业当然也不例外。智慧食堂预点餐管理系统小程序是以实际运用为开发背景,运用软件工程原理和开发方法,采用Java技术构建的一个管理系统。整个开发过程首先对软件系统进行需求分析,得出系统的主要功能。接着对系统进行总体设计和详细设计。总体设计主要包括系统功能设计、系统总体结构设计、系统数据结构设计和系统安全设计等;详细设计主要包括系统数据库访问的实现,主要功能模块的具体实现,模块实现关键代码等。最后对系统进行功能测试,并对测试结果进行分析总结,得出系统中存在的不足及需要改进的地方,为以后的系统维护提供了方便,同时也为今后开发类似系统提供了借鉴和帮助。
本论文系统地描绘了整个智慧食堂预点餐管理系统小程序的设计与实现,主要实现的功能有以下几点:首页,轮播图,网站公告,资源管理(美食资讯,资讯分类),系统用户(管理员,注册用户),模块管理(运营状态,取餐点,菜品分类,菜品信息,菜品订单)等功能,其具有简单的接口,方便的应用,强大的互动,完全基于互联网的特点。
关键词:点餐管理系统小程序;SpringBoot;Mysql数据库
SpringBoot Smart CanteenPre order Management System Mini Program
Abstract
With the rapid development of science and technology, all aspects of society and industries are striving to integrate with modern advanced technology and improve their own advantages through technological means, and the catering industry is no exception. The smart cafeteria pre order management system mini program is a management system built based on practical application, using software engineering principles and development methods, and Java technology. The entire development process starts with a requirement analysis of the software system to determine its main functions. Then proceed with the overall and detailed design of the system. The overall design mainly includes system functional design, system overall structure design, system data structure design, and system security design; The detailed design mainly includes the implementation of system database access, the specific implementation of main functional modules, and the key code for module implementation. Finally, functional testing was conducted on the system, and the test results were analyzed and summarized to identify the shortcomings and areas for improvement in the system. This provided convenience for future system maintenance and also provided reference and assistance for the development of similar systems in the future.
This paper systematically describes the design and implementation of the mini program for the pre order management system of the entire smart cafeteria. The main functions implemented include the following: homepage, rotation chart, website announcement, resource management (food information, information classification), system user (administrator, registered user), module management (operation status, food pick-up, food classification, food information, food order), and other functions. It has a simple interface, Convenient applications, powerful interactions, completely based on the characteristics of the Internet.
Key words: community distribution service system applet; SpringBoot;MySQL
目 录
第1章 绪 论
1.1课题背景意义
随着市场经济化,GDP的飞速增长,人们的生活水平也日益增高。高速的生活节奏使人们变得越来越匆忙,不论是学生还是上班族,传统的吃完饭去上班上课,下班放学吃饭的节奏已经不能适应这高速奔跑的社会。随着餐饮行业以及信息产业的迅猛增长,社会竞争的日益激烈化,优质的服务,高效经济的管理成为餐饮业的竞争保障。在巨大市场和客观利润的刺激下餐饮业突飞猛进。在校园里,食堂作为人流量巨大,所处环境复杂的一个场所,为了更好的服务师生,满足大家的需求,面临的诸多管理问题需要得到解决。智慧食堂的转型是必然趋势,易于管理,具有可扩展性的预点菜管理系统的开发是非常有必要的。
2023年处于信息科技高速发展的大背景之下。在今天,缺少手机和电脑几乎已经成为不可能的事情,人们生活中已经难以离开手机和电脑。针对增加的成本管理和操作,很多系统或软件都建立自己的微信小程序,这既可以让更多的人体验到网络所带来的方便,因此将智慧食堂预点餐管理系统小程序搭建在微信小程序平台更符合大众需求。
1. 2国内外现状
国际互联网的出现使市场竞争愈加激烈,人们感叹世界日益变小的同时也体会到要想在各行各业中立于不败之地,企业高效的管理和计算机信息系统建设至关重要。餐饮业作为我国第三产业中的一个传统服务性行业,始终保持着旺盛的增长势头,取得了突飞猛进的发展,展现出繁荣兴旺的新局面。
我国餐饮业总体仍处于小、散、弱的状态,90%以上的餐饮企业为小企业。此外,餐饮企业,特色和个性化经营更加明显,管理更趋于信息化,而且加上名优企业品牌扩展力度,加大、餐饮企业集团化步伐,加快等特点,均显示着传统餐饮正逐步向现代餐饮方向转化,而现代餐饮最显著,一个特征就是使用计算机信息化管理系统这也是餐饮企业经营者们的共识。计算机信息化管理系统以信息量大、数据准确、速度快、管理效能高,特点已获得了广大餐饮企业管理者,认可,它克服了人为因素、人情因素造成企业管理上的不便,明显提高了工作效率。例如,它能够帮助管理者解决在经营中常遇到,各种现实问题:如何杜绝内部管理漏洞和避免人为错误给企业造成损失;如何为顾客提供全方位满意服务;如何了解每个员工的具体工作情况。餐饮行业体现着各国的餐饮文化,并且在席卷全球的都市化潮流中,表现出强劲的成长与盈利能力。我国餐饮行业很有发展潜力,空间还很大,所以适合餐饮发展的软件如点餐管理系统开发很有价值与前景。
1.4 开发工具及技术
1.4.1 SpringBoot框架
Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。Spring集成多种事务模板,系统可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。Spring的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难。它不仅对Java:JDBC、iBATS/MyBATIs、Hibernate、Java数据对象(JDO)、ApacheOJB和ApacheCayne等所有流行的数据访问框架中提供支持,同时还可以与Spring的事务管理一起使用,为数据访问提供了灵活的抽象。Spring框架最初是没有打算构建一个自己的WebMVC框架,其开发人员在开发过程中认为现有的StrutsWeb框架的呈现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了SpringMVC。
1.4.2 Mysql数据库
Mysql Database,通常简称为Mysql,是一款关系型数据库的管理系统。Mysql数据库系统是目前最流行的关系型数据库管理系统之一,其系统具有良好的可移植性,功能强大且使用十分方便。Mysql支持很多系统和硬件,包括HP-UX,Linux,MicrosoftWindows,SunSolaris,AppleMac等。
Mysql系统的特点:
(1)Mysql的多线索服务器的体系结构使其只利用很少的资源就能够支持多用户的、大数据的高性能事务处理;
(2)Mysql支持大量的多媒体数据,例如声音、动画、二进制图形和多维数据结构等;
(3)Mysql提供了安全保密管理系统,具有良好的安全性、一致性和完整性;
(4)具有新的分布式数据库能力和分布处理的能力;
(5)提供了一些高级语言的接口软件,可以帮助快速开发基于客户端的应用程序,具有良好的移植性、可连结性和可兼容性。
Mysql数据库逻辑结构包含表空间(tablespace)、段(segment)、范围(extend)、数据块(datablock)、和模式对象(schemaobject) 。每一个数据库都可以逻辑划分为一个或多个表空间,每一个表空间都是由一个或多个数据文件来组成。Mysql数据库分为系统表空间和非系统表空间,每一个Mysql数据库都包含一个称作SYSTEM的系统表空间。
1.4.3 B/S结构
B/S(浏览器/服务器)结构是目前主流的网络化的结构模式,它能够把系统核心功能集中在服务器上面,可以帮助系统开发人员简化操作,便于维护和使用。只需要用户在用户端安装360浏览器、谷歌浏览器、QQ浏览器等当前大众浏览器,在电脑里面安装sqlserver、mysql数据库等数据库。安装好的浏览器与服务器端的数据库进行信息数据的交互。很多专门软件能够做到的事情,采用B/S结构模式也能实现,它能够结合Web浏览器技术,ActiveX技术以及多种脚本语言等技术。帮助程序开发者节约了不少开发成本。目前B/S结构成为程序开发主流结构,它最好的地方就是没有地点限制还不用专门安装软件,笔记本或者电脑能够上网就能访问系统。系统使用B/S进行开发在后期系统维护上面就会很省事,不用什么问题都在服务器上面操作,简单的用户端处理就解决部分问题,开发出来的程序跟用户交互性上面也会增强,还可以实时刷新浏览器进行程序局部的数据信息更新。
1.4.4 小程序框架
小程序是一种不需要下载即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。 体现了“用完即走”的理念,用户不用关心是否安装了太多 的应用这样的问题。应用将无处不在,随时可用,但又无须安装和卸载。无需下载,使用方便。
在APP时代,我们要用一项功能,一般需要许多步骤。通 常我们需要先去应用市场寻找能实现我们需要功能的应用,之后要下载并安装应用,在使用之前要在手机的桌面上找到 该应用,之后打开使用。而在小程序时代,只需要“搜索”或者“扫一扫”,就可以打开应用了,省去了下载和安装的环节,人和功能的联结将变得更简单,更直接。微信小程序依附于微信这个“航母”应用上,而微信拥有强大的用户群体,小程序继承了用户群这一强大优势,能够轻松解决流量访问问题。在微信平台上开发的小程序更容 易触达用户。对用户而言,如何使用、分享小程序,如何参与活动等都不需要再学习,这是其他平台都不具备的。
除了使用更加便捷外,小程序的“小身材”也能为我 们的手机大大减轻负担。我们的手机中都装了数量不少的APP,一般情况下,安装一个APP需要占用上百兆字节,有些游戏甚至需要用上几个吉字节的内存。手机容量小的用户一旦多装了几个 APP,就要面临内存不足的困扰。在这种情况下,大小不超过 2MB的小程序就成了小内存手机的救星。小程序 不需要安装,那些平时用不上、又不得不装的 APP,通过变身为小程序,就可以彻底从手机中移除了,同时也使得手机桌面更加整洁。
第2章 系统分析
2.1 可行性分析
可行性分析的目的是确定一个系统是否有必要开发、确定系统是否能以最小的代价实现。其工作主要有三个方面,分别是技术、经济和社会三方面的可行性。我会从这三个方面对智慧食堂预点餐管理系统小程序进行详细的分析。
2.1.1技术可行性
该系统主要使用JAVA、小程序和MySQL数据库进行开发,Java易于学习和使用灵活。在校期间也接触过小程序和MySQL数据库的课程,对此有一定的开发经验,因此开发难度不高,所以从技术上来说是可行的。
2.1.2经济可行性
本系统设计所选择的开发工具和服务器都是免费的开源软件,又或者是适合人民使用的免费版本,并不需要支付费用,而且由作者本人单独完成,也不存在团队费用,几乎没有经济成本,具备经济可行性。
2.1.3社会可行性
社会可行性主要包括法律和用户两个方面,下面将从这两方面进行分析。
(1)法律因素
本系统是学习开发所制作的程序,并不用作商业用途,是在根据实际调研的结果结合现有的智慧食堂预点餐管理系统小程序后得出的,而且系统制作的全部过程都是在个人的工作电脑中完成的,使用的都是开源和免费的开发环境、分析软件和数据库,不存在侵权问题。
(2)用户可行性
操作人员或者客户只需要具备一定的windows电脑操作常识,不需要精通计算机技能。此外系统管理人员,只需要在windows常识之上再熟悉下使用Tomcat服务器的操作流程,只要掌握一定的计算机知识即可,在正式上线运营之前,仅需要对操作人员进行简单的熟悉流程培训即可。所以从用户可行性上也是可行的。
2.2总体设计原则
一个系统要在开发和维护的过程中方便使用,必须采取一定的设计原则,其主要设计原则有:
简单性:系统功能简单易懂,只需要掌握基本的计算机操作能力即可使用。
针对性:针对特定的用户,没有多余的其他功能,使用户可以专心使用。
实用性:能够满足用户查看社区新闻,下单配送,家具安装,搬家拉货等方面的需求。
一致性:设计风格、命名规范一致,整个系统的各个功能模块色彩、摆放位置、功能等都是一致的。
先进性:本系统的代码采用读取数据的方式,方便后续开发、拓展。
2.3 系统需求分析
智慧食堂预点餐管理系统小程序需要满足的需求有以下几个:
1.信息获取方便,用户可在小程序上快速浏览到想要的信息
2.查看美食资讯,单独查看某一条资讯的详细信息。
3.注册登录,网站需要吸引用户,即通过注册来提高用户的存留率。
4.历史记录,用户可以查看自己留言信息及其他操作。
5.修改用户信息,可以修改用户密码或者用户名等一些个性化操作。
6.管理员功能,管理员可以对用户进行管理。
7.系统安全,操作简便,不过于复杂。
8.系统可以稳定运行,不存在卡顿等问题造成用户反感。
2.4 业务流程分析
2.4.1登录流程
登录模块主要满足管理员以及用户的权限登录,用户登录流程图如图2-1所示。
图2-1 登录流程图
2.4.2注册流程
未有账号的用户可进入注册界面进行注册操作,用户注册流程图如图2-2所示。
图2-2 注册流程图
2.4.3添加信息流程
用户在添加信息时,信息编号自动生成,系统会对添加的信息进行验证,验证通过则添加至数据库,添加信息成功,反之添加失败。添加信息流程如图2-3所示。
图2-3 添加信息流程图
2.4.4删除信息流程
用户可选择要删除的信息进行信息删除操作,在删除信息时系统提示是否确定删除信息,是则删除信息成功,系统数据库将信息进行删除。删除信息流程图如图2-4所示。
图2-4删除信息流程图
第3章 系统设计
3.1 系统概要设计
本智慧食堂预点餐管理系统小程序选择B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式。适合在互联网上进行操作,只要用户能连网,任何时间、任何地点都可以进行系统的操作使用。系统工作原理图如图3-1所示:
图3-1 系统工作原理图
3.2系统结构设计
整个系统是由多个功能模块组合而成的,要将所有的功能模块都一一列举出来,然后进行逐个的功能设计,使得每一个模块都有相对应的功能设计,然后进行系统整体的设计。本个系统结构图如图3-2所示。
图3-2 智慧食堂预点餐管理系统小程序结构图
3.3 数据库设计
数据库可以说是所有软件的根本,如果数据库存在缺陷,那么会导致系统开发的不顺利、维护困难、用户使用不顺畅等一系列问题,严重时将会直接损害企业的利益,同时在开发完成后,数据库缺陷也更加难以解决。所以必须要对数据库设计重点把握,做到认真细致。因此,数据库设计是这个智慧食堂预点餐管理系统小程序的重点要素。
3.3.1概念结构设计
(1)用户实体属性如下图3-3所示
图3-3用户实体属性图
3.3.2数据库表设计
将数据库概念设计的E-R图转换为关系数据库。在关系数据库中,数据关系由数据表组成,但是表的结构表现在表的字段上。
表access_token (登陆访问时长)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
token_id |
int |
10 |
0 |
N |
Y |
临时访问牌ID |
|
2 |
token |
varchar |
64 |
0 |
Y |
N |
临时访问牌 |
|
3 |
info |
text |
65535 |
0 |
Y |
N |
||
4 |
maxage |
int |
10 |
0 |
N |
N |
2 |
最大寿命:默认2小时 |
5 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
6 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
7 |
user_id |
int |
10 |
0 |
N |
N |
0 |
用户编号: |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
article_id |
mediumint |
8 |
0 |
N |
Y |
文章id:[0,8388607] |
|
2 |
title |
varchar |
125 |
0 |
N |
Y |
标题:[0,125]用于文章和html的title标签中 |
|
3 |
type |
varchar |
64 |
0 |
N |
N |
0 |
文章分类:[0,1000]用来搜索指定类型的文章 |
4 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击数:[0,1000000000]访问这篇文章的人次 |
5 |
praise_len |
int |
10 |
0 |
N |
N |
0 |
点赞数 |
6 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
7 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
8 |
source |
varchar |
255 |
0 |
Y |
N |
来源:[0,255]文章的出处 |
|
9 |
url |
varchar |
255 |
0 |
Y |
N |
来源地址:[0,255]用于跳转到发布该文章的网站 |
|
10 |
tag |
varchar |
255 |
0 |
Y |
N |
标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开 |
|
11 |
content |
longtext |
2147483647 |
0 |
Y |
N |
正文:文章的主体内容 |
|
12 |
img |
varchar |
255 |
0 |
Y |
N |
封面图 |
|
13 |
description |
text |
65535 |
0 |
Y |
N |
文章描述 |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
type_id |
smallint |
5 |
0 |
N |
Y |
分类ID:[0,10000] |
|
2 |
display |
smallint |
5 |
0 |
N |
N |
100 |
显示顺序:[0,1000]决定分类显示的先后顺序 |
3 |
name |
varchar |
16 |
0 |
N |
N |
分类名称:[2,16] |
|
4 |
father_id |
smallint |
5 |
0 |
N |
N |
0 |
上级分类ID:[0,32767] |
5 |
description |
varchar |
255 |
0 |
Y |
N |
描述:[0,255]描述该分类的作用 |
|
6 |