springboot基于微信小程序的智能点餐系统的设计与实现

编程入门 行业动态 更新时间:2024-10-11 21:31:26

springboot基于微信小程序的<a href=https://www.elefans.com/category/jswz/34/1770939.html style=智能点餐系统的设计与实现"/>

springboot基于微信小程序的智能点餐系统的设计与实现

摘  要

对智能点餐管理的流程进行科学整理、归纳和功能的精简,通过软件工程的研究方法,结合当下流行的互联网技术,最终设计并实现了一个简单、易操作的智能点餐系统。内容包括系统的设计思路、系统模块和实现方法。系统使用过程主要涉及到管理员,用户和商家三种角色,主要包含个人中心,用户管理,商家管理,菜品分类管理,菜品信息管理,系统管理等功能。

系统开发主要在 Windows 系统下进行,采用java语言开发完成,因此可以运行在任意开发环境下。系统采用mysql数据库和B/S结构的方式,按照springboot框架进行开发。

关键词java;智能点餐; B/S结构; MySQL

Abstract

The process of intelligent ordering management is scientifically organized, summarized and the function is simplified. Through the research method of software engineering, combined with the current popular Internet technology, a simple and easy to operate intelligent ordering management system is finally designed and implemented. The content includes system design idea, system module and implementation method. System use process mainly involves administrator, user and business three roles, mainly includes personal center, user management, business management, dishes classification management, dishes information management, system management and other functions.

System development is mainly carried out under Windows system, using java language development is completed, so it can run in any development environment. The system uses mysql database and B/S structure, and is developed according to springboot framework.

Key words: java; Smart ordering; B/S structure; MySQL

 

目  录

第一章 绪  论... 1

1.1研究背景... 1

1.2系统研究现状... 1

1.3 研究意义... 2

第二章 开发工具和开发技术... 3

2.1开发工具... 3

2.2 开发技术... 3

2.2.1微服务架构概念... 3

2.2.2 Java语言... 4

2.2.3 Spring Boot框架... 4

2.2.4 MySQL数据库技术... 4

2.2.5 B/S架构... 5

第三章 需求分析... 6

3.1 需求描述... 6

3.2 系统角色需求分析... 6

3.3 系统功能需求分析... 6

3.4 非功能性需求分析... 7

3.4.1 先进性... 7

3.4.2 安全性... 7

3.4.3 易用性... 8

3.4.4 可扩展性... 8

3.4.5 可修改性... 8

3.5 系统流程分析... 8

3.5.1 登录流程... 8

3.5.2 添加信息流程... 9

3.5.3 删除流程... 9

3.6 本章小结... 10

第四章 系统设计... 11

4.1 系统总体设计... 11

4.2 数据库设计... 12

4.2.1 数据库逻辑设计... 12

4.2.2 数据库表设计... 14

4.3 本章小结... 21

第五章 详细设计与实现... 22

5.1小程序端实现... 22

5.1.1登录界面的实现... 22

5.1.2注册界面的实现... 22

5.1.3 小程序首页功能的实现... 23

5.1.4用户功能... 24

5.2 小程序后台管理员功能的实现... 25

5.3商家管理模块... 28

5.4 本章小结... 29

第六章 系统测试... 30

6.1 测试目的... 30

6.2 测试用例... 30

6.3 本章小结... 31

结  论... 32

参考文献... 33

致  谢... 34

第一章 绪  论

1.1研究背景

近年来互联网技术飞速发展,给人们的生活带来了极大便利,也改变人们的生活生产方式,互联网拥有存储量大、可靠性高、使用方便等不可替代的优点,也正在逐步取代传统的信息管理模式[1]。由代码编程实现的各种管理工具和系统替代传统的人工操作,不但提升了可靠性还降低了人力成本,节省了时间,提升了工作效率。全球视域下信息技术逐步渗透到各个领域,多样化的数据信息为智能点餐管理带来了深刻变革,打破了传统的方式与载体,智能点餐管理的事务性工作面临新形势和新挑战[2]。

计算机技术快速发展的同时也促进信息化发展。当下智能点餐规模不断扩大,新型管理模式也正逐步推进,推动其信息化发展可以为其改革、进步提供保障。信息技术的改革已成为必然方向,管理人员应该抓住时代的机遇,与时俱进[3]。通过这种方式可以提升智能点餐管理工作的效率,促进新举措的实施,加速改革进程,改善管理服务能力。

智能点餐系统作为信息化建设的重要一环,智能点餐系统的开发与实现,能够使智能点餐的工作开展得更加有序。

1.2系统研究现状

我国信息技术虽然起步较晚,但发展速度迅猛,如今已经跻身世界信息大国的行列。现在我们的生活离不开信息技术,人们可以利用计算机、互联网进行网上购物、视频学习、互动交流,信息技术已经渗透到我们的生活中,随着计算机技术、网络技术的迅速发展,研究并实现智能点餐系统是现代理论和科学技术相结合的产物[4]。国内信息化发展趋势越来越快,我国信息化建设也随之迅速发展,通过信息系统对大量复杂数据进行管理代替传统人工管理,很大程度的提升管理效率。目前智能点餐系统基本实现了应用网络进行管理,使用各种技术、实现各种不同附加功能的智能点餐系统数量众多。但随着近年来互联网技术的不断完善和更新,一些不适应当代信息化发展的技术正在被淘汰,而采用老旧技术实现的系统将出现维护困难的境况。因此符合现在社会发展的系统开发十分必要,智能点餐系统的设计和开发仍然有很大的进步空间。

国外部分发达国家的信息技术起步较早,以技术为基础引领的各行各业的变革产生时间也较早。信息化的理念由世界知名的美国麻省理工学院提出,接下来的三四十年随着网络技术的飞速发展,终于在全美形成了一系列非常完善成熟的信息化平台,自此美国国内大部分都实现了管理信息化[5]。虽然存在教育制度存在不同,但由于美国信息化管理的起步时间早,积累经验多,有关智能点餐系统的研究技术经验仍然值得世界学习。

1.3 研究意义

各行各业对互联网的运用正经历着质变,从技术支撑者的技术建构与技术运用转向产业需要为起点,通过重新构建智能点餐系统,实现制度上的发展变革[7]。本文将设计一个根据整理、归纳后进行精简的智能点餐系统。使用采取稳定、可靠且易于维护的开发技术进行系统的实现。系统可以直观、高效、便捷地实现对各个智能点餐信息进行管理,使工作人员有针对地安排和管理智能点餐,建立统一的智能点餐系统。

第二章 开发工具和开发技术

2.1开发工具

本系统开发使用到的工具包括Tomcat,MySQL和Vision,下边对它们进行简单的介绍。

(1)Tomcat;Java Web应用程序开发中常用的应用服务器,我们可以将自己开发好的项目部署到Tomcat中进行运行测试,重点是Tomcat体积很小,不需要复杂的安装和配置,下载之后可以直接使用,非常方便。

(2)MySQL数据库;一种项目开发中常用的关系型数据库,因为体积小、开源、免费、简单易学、安装简单等特点[8],深受开发人员的喜爱,是大多数互联网公司的首选。将系统中的数据统一存储到这个数据库中,然后借助程序将这些数据读取出来,显示在页面上。

(3)Vision;Office办公组件之一,安装之后,可以用来绘制相应的图形,帮助我们更好的理解系统的情况,建立对系统清晰的认识,是开发中最常使用的建模工具。

2.2 开发技术

本系统前台采用微服务架构。后台使用Java语言实现跨平台的处理,以B/S的结构方式以及springboot框架进行开发,数据库使用MySQL。

2.2.1微服务架构概念

微服务架构(Micro Services Architecture, MSA)最早由软件开发工程师Martin Fowler和James Lewis于2014年正式提出,是一种新兴的软件架构设计风格与组织模式。微服务架构从业务逻辑角度对传统的单体式应用程序进行了严格的拆分,从而得到多个职责单一、可独立部署与运行、开放RESTfuI风格接口的细粒度服务,不同服务之间通过超文本传输协议(Hypertext Transfer Protocol, HTTP)或远程过程调用(Remote ProcedureCall, RPC)机制进行通信,最终形成一个高内聚、低祸合的软件结构体系。

微服务架构的出现并不是一赋而就的,而是经历了从单体应用架构到垂直应用架构、到分布式架构、到SOA架构、再到微服务架构的演进过程。单体应用架构主要大规模应用于企业项目发展初期,其将系统中所有业务逻辑简单划分为表示层、控制层和数据层,所有功能代码祸合在一起,编译后打成一个war包或} ar包,最终部署在一台服务器上。

2.2.2 Java语言

Java 语言是一门受众很广的语言,来自Sun Microsystems公司,Java可运行在很多平台,相较于C++语言,不仅吸收了C++很多优点,还摈弃了里面许多晦涩难懂的概念,Java的优点很多,可面向对象开发,平台多样性以及可移植性很高,目前市面上很多大型网站项目都使用Java编写,由此可知Java的受欢迎程度很高。

2.2.3 Spring Boot框架

Spring Boot是由Pivota公司的团队在Spring框架的基础上所开发出的一个轻量级应用框架,其设计目的是为了简化使用传统Spring框架开发时初始搭建、配置、开发、测试和部署等复杂的流程,满足快速、敏捷开发的需要[[49]。传统Spring框架开启某些特性或引入第三方依赖时,需要配置大量的XML文件,比较繁琐且非常容易出错。而SpringBoot的理念则是“约定大于配置”,它集成了大量第三方依赖的配置,再配合内部自动装配的机制,仅需在Maven工程的POM文件中添加相关依赖即可实现开箱即用的效果,这使得开发人员更加专注于实现业务逻辑,而不是繁琐的配置。此外,Spring Boot内置了S ervlet容器如Tomcat和Jetty,项目可以直接通过} ar命令在本地启动,无需打包成wa:文件再部署到服务器上,大大减少了测试和部署的成本。目前,Spring Boot己经成为了后端服务器应用开发的主流技术[[50],其特点和优势总结如下:

(1)简化配置,遵循“约定大于配置”的理念,减少了样板代码、注释和XML配置文件的编写。

(2)内置Servlet容器,可在本地独立运行项目,方便测试和部署。

(3)自动装配,可以非常方便地与Spring生态系统中其他框架或第三方依赖集成。

(4)便于快速构建项目,尤其适合构建基于微服务架构的系统。

2.2.4 MySQL数据库技术

数据库在软件项目中扮演着操作管理数据的角色同时还能够保证数据的独立性、一致性和安全性,并为系统访问数据提供有效方式不仅如此数据库还能大大减少程序员开发程序时间。在日常能够接触实用的一般有两类数据库,一类是以(Oracle,DB2,SQL Server,MySQL )为代表的关系型数据库和以(NoSql、MongeDB)为代表的非关系型数据库,两类数据库各有各的优缺点。其中非关系型数据库又分为网络数据库和层级数据库。-网络数据库是指在计算机网络系统中应用数据库技术然后借助网络技术将存储于数据库中的大量信息及时发布出去;在成熟的数据库技术的帮助下,计算机网络实现了对网络中的各种数据的有效管理,用户与网络中的数据库数据交互也借此得以进行。IMS也是最早研制成功的数据库系统。关系数据结构、关系操作集合、关系完整性约束构成了关系模型。作为数据库另外一种区分方式的存储介质被大家分为磁盘和内存这 两种。例如:关系型数据库就存储在磁盘中,非关系型数据库则存储在内存中。典型的关系型数据库有:Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL、SQLite。小型关系型数据库:Microsoft Access,SQLite;中型关系型数据库:SQL Server,Mysql;大型关系型数据库:Oracle,DB2。

大家常用的其他关系形数据库系统大多是MySQL AB公司开发的,其中MySQL也是由这家开发的,所应用的分布式数据库管理系统是客户机/服务器体系结构得益于此结构,而且用这个系统建造的数据库具有很强的适用性,用C和C++编写的系统让他拥有很强的适用性所以他可以在大部分操作系统上使用并能和php结合。不同的API函数针对不同的语言(C,C++,JAVA等)来处理不同数据;为了更好地支持多CPU多线程通过使用核心线程来实现;提供的存储机制分为事务和非事务存储机制;MySQL采用双重许可,不管是从MySQL AB公司获得正式的商业许可又或是许可条款下以免费软件或开放源码软件的方式使用MySQL软件都是被允许的。

MySQL作为数据库拥有很多优点,其中由于是开放源码,所以使用成本特别低,而它体积小的特点决定了速度快的特性。因此,My Sql具有开放性,多线程支持多种API,可跨数据库连接,国际化,数据库体积巨大等特点。简单的来说 ,MySql是一个开放的、快速的、多线程的、多用户的数据库服务器。

选用MySQL作为数据库的其中一个原因就是支持多线程,支持多线程的特点为利用系统资源提供了便捷并因此大大提高了系统运行速度和效率,而且连接数据库的方式多样包括但不局限于TCP/IP、ODBC和JDBC等途径;但是没有东西是完美无缺的,即便MySQL也如此,虽说它有着众多优点但其功能不够强大,规模也相对较小,无法应对大型数据哭的处理。但是对于本系统来说,选用MySQL作为数据库,其功能性能已绰绰有余,如果要进行二次开发的数据库表结构空间的扩展也是完全可行的。综上所述,MySQL是作为本系统数据库的最优选择。

2.2.5 B/S架构

B/S结构就是指系统客户端与服务器分离,客户端通过浏览器访问服务端进行操作[10]。

B/S结构目前广泛应用于绝大部分系统搭建中,这种结构摒弃C/S结构客户端服务端不分离的缺点,具有更多的优势:

(1)跨平台性:B/S的标准由标准化组织确立,适用于绝大多数的系统搭建,通用于应用之间[12]。

(2)低维护成本:客户端和服务器端分离,减轻了两端的压力,尤其是客户端,对客户端设备,硬件、软件要求都比较低,并且系统需要升级或维护时,只需要在服务器端升级或维护就可以,使相应的费用减少[13]。

 

第三章 需求分析

在软件的命周期中,需求分析是其中关键的一环。需求分析过程中不仅要对系统应该实现的功能提出准确和完善的请求,还要考虑需求的可行性。需求分析对设计和实现一个系统具有决定性的重大意义[11]。只有充分完整的需求分析才能为后续的系统开发过程和实现成果奠定基础。

3.1 需求描述

根据日常实际需要,一方面需要在系统中实现基础信息的管理,同时还需要结合实际情况的需要,提供智能点餐管理功能,方便智能点餐管理工作的展开,综合考虑,本套系统应该满足如下要求:

首先,在系统中需要实现对基础信息,包括登录注册、个人信息修改等信息的管理,这些是系统的基础信息,和系统中其他内容密切相关。

然后,系统中需要实现对用户信息的管理,允许管理员对用户信息进行必要的设置,同时要避免管理员对个人信息进行操作,保障用户的信息安全。

3.2 系统角色需求分析

综合智能点餐管理经历和对网上信息归纳整理的结果,在实际应用中,将用户分为两种:管理员,用户和商家三个角色。其中用户可以操作的内容是有限的,管理员可以进行的操作最多。了解系统用户的分类以及可以进行的操作,对于接下来实现相关的功能具有重要的意义。

3.3 系统功能需求分析

(1)管理员可以对个人中心,用户管理,商家管理,菜品分类管理,菜品信息管理,系统管理等进行基本的信息管理。其用例分析如图3-1所示。

图3-1管理员用例图

(2)用户可以实现对个人中心,用户充值,购物车,我的订单,我的收藏管理等信息进行操作,用例分析如图3-2所示。

图3-2用户用例图

(3)商家可以实现对个人中心,菜品分类管理,菜品信息管理,订单管理等信息进行操作,商家分析如图3-3所示。

图3-3商家用例图

3.4 非功能性需求分析

在系统的需求分析中除了保证系统功能需求分析准确完整,还应考虑与其相辅相成的各种其他因素,这样才能确保系统后续设计能够更加完善、清晰,确保系统实现后的有较高的使用价值。

3.4.1 先进性

为保证系统的先进性开发过程中应尽量使用先进的软件开发技术、设计方法、体系架构,符合当下的应用需求和保证性能可靠。

3.4.2 安全性

本系统中涉及三种用户角色,根据用户角色类型合理划分其页面访问权限。系统允许管理员对用户进行必要的设置,同时要避免管理员对个人重要信息进行操作,保障用户的信息安全。

3.4.3 易用性

系统使用方便、界面友好是提高用户使用体验的重要因素。系统实现其主体功能同时,界面设计要简洁大方、使用方便、美观清晰。系统的每一项反馈都要逻辑严密,弹窗信息也是简洁明了[12]。

3.4.4 可扩展性

可扩展性要求软件的设计要留有可升级接口和升级空间,便于今后根据新的模式需求进行功能的拓展。

3.4.5 可修改性

可修改性要求使用科学的方法设计软件,形成良好的结构和完备的文档[13]。它的前提要保证系统设计逻辑清晰,软件结构简单明了,代码编写过程中有良好的注释习惯,便于后续对系统性能进行调整。

3.5 系统流程分析

3.5.1 登录流程

每个用户都有专属的密码和账号,在输入合法的账号和密码之后即可进入系统。登录流程如图3-4所示:

图3-4登录流程图

3.5.2 添加信息流程

管理层人员有添加信息功能。添加信息流程如图3-5所示:

图3-5 添加信息流程图

3.5.3 删除流程

用户可以选择把自己发布的信息删掉,选择要删除的信息确认之后,删除信息的操作就完成了。删除信息流程图如图3-6所示。

图3-6 删除信息流程图

3.6 本章小结

本章首先对整个系统进行了详细的需求描述,然后按照这些要求对系统的角色和功能进行了详细的分析,并对这些要求进行了详细的说明。同时为保证需求分析的全面性,还对系统的一些非功能性需求进行描述和对系统流程进行分析,为以后的系统的开发提供了一个比较完善的参考依据。

第五章 详细设计与实现

5.1小程序端实现

5.1.1登录界面的实现

首先双击打开小程序客户端系统,连上网络之后会显示出本系统的登录界面,这是进入小程序的初始页面“登录”,能成功进入到该登录界面则代表小程序的开启是成功的,接下来就可以操作本系统所带有的其他所有的功能。

登录界面如图5-1所示。

图5-1 登录界面

5.1.2注册界面的实现

第一次使用本小程序的使用者,首先是要进行注册,点击“注册”,然后就会进入到注册的页面里面,将用户信息录入注册表,确认信息正确后,系统才会进入登录界面,用户登录成功后可使用本小程序所提供的所有功能。

注册界面如图5-2所示。

图5-2 注册界面

5.1.3 小程序首页功能的实现

小程序首页是用户注册登录后进入的第一个界面,在这里,人们能够看到小程序的导航条,内容包括首页,购物车,我的等。小程序首页界面如图5-3所示。

图5-3 小程序首页界面图

菜品信息:在菜品信息界面可以查看到菜品名称,菜品分类,菜品图片,菜品口味,菜品特色,菜品详情,商家编号,商家名称,联系电话,商家地址,单次限购,菜品库存,最近点击时间,价格等信息,按照提示即可完成评论或收藏操作。菜品信息详情如图5-4所示。

图5-4菜品信息详情界面图

5.1.4用户功能

用户登录成功后,点击“我的”进入我的页面,在我的页面可以对个人中心,用户充值,购物车,我的订单,我的收藏管理等进行详细操作。用户功能界面如图5-5所示。

图5-5用户功能界面图

5.2 小程序后台管理员功能的实现

管理员登录,通过填写账号和密码等信息进行登录操作,如图5-6所示。

图5-6管理员登录界面图

管理员登录进入小程序可以查看到个人中心,用户管理,商家管理,菜品分类管理,菜品信息管理,系统管理等功能进行详细操作,如图5-7所示。

图5-7管理员功能界面图

商家管理;在商家页面输入商家编号,商家名称和商家地址进行查询,新增或删除商家列表,并对商家信息进行详情,修改或删除操作;如图5-8所示。

图5-8商家管理界面图

菜品信息管理;在菜品信息页面输入菜品名称,菜品口味,商家名称和价格进行查询或删除菜品信息列表、菜品分类统计和菜品库存统计,并对菜品信息进行查看详情,修改和删除操作;如图5-9所示。

图5-9菜品信息管理界面图

系统管理;在公告信息页面输入标题进行查询,新增或删除公告信息列表,并对公告信息进行详情,修改或删除操作,还可以对关于我们,系统简介和轮播图管理;如图5-10所示。

图5-10系统管理界面图

用户管理;在用户页面输入用户名和姓名进行查询,新增或删除用户列表,并对用户进行查看详情,修改和删除操作;如图5-11所示。

图5-11用户管理界面图

5.3商家管理模块

商家登录进入小程序可以查看到个人中心,菜品分类管理,菜品信息管理,订单管理等功能进行详细操作,如图5-12所示。

图5-12 商家功能界面图

5.4 本章小结

本章主要基于前面系统设计的内容,详细介绍了管理员,用户和商家三个角色对智能点餐系统的主要功能界面进行详细介绍和展示。

更多推荐

springboot基于微信小程序的智能点餐系统的设计与实现

本文发布于:2024-02-27 09:42:54,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1706072.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:智能   程序   系统   springboot   微信小

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!