摘 要
点餐系统小程序采用B/S模式、采用JAVA语言、SSM框架、mysql数据库、小程序框架uniapp等开工具。促进了点餐系统小程序的业务发展。与传统线下点餐相比,点餐微信小程序不但节省了商家的线下运营的成本和门店曝光等难题,对用户而言提供了足不出户送餐上门的服务,针对现代城市而言,出门用餐停车难,排队麻烦等问题。特开发springboot点餐系统小程序。
本网站系统使用动态网页开发技术JSP,Java作为系统的开发语言,采用springboot框架、mysql作为后台数据库。设计开发具有用户和管理员两大模块,系统管理员模块功能主要分为:首页、站点管理(轮播图、公告栏)、用户管理(管理员、系统用户)、内容管理(餐饮资讯、资讯列表)、商城管理(商品中心、分类列表、订单列表)、更多管理(用户账户、账户充值、账户消费);用户小程序首页分为:首页、订单、购物车、餐饮资讯、我的;用户小程序后台功能分为:用户账户、账户充值、账户消费等功能模块的点餐系统小程序。在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。
关键词:点餐系统;java语言;springboot框架、mysql数据库;uniapp框架
ABSTRACT
Ordering system small program using B/S mode, using Java language, SSM framework, mysql database, small program framework uniapp open tools. Promote the business development of the small program of the ordering system. Compared with the traditional offline ordering, the wechat ordering app not only saves the cost of offline business operations and difficult problems such as store exposure, but also provides customers with the service of delivering food to their door without leaving their homes. For modern cities, go out to eat parking difficult, queuing trouble and so on. Special Development Springboot ordering system small program.
This website system uses dynamic web page development technology JSP, Java as the development language of the system, using springboot framework, mysql as the background database. Design and development of users and administrators with two major modules, the main functions of the system administrator module are as follows: home page, site management (map rotation, bulletin board) , user management (administrator, system user) , content management (restaurant information, Information List) , mall management (product center, classified list, order list) , more management (user account, account recharge, account consumption) ; User Small program home page is divided into: home page, orders, shopping carts, food and beverage information, my; User program background functions are divided into: user account, account recharge, account consumption and other functional modules of the order system small program. In the design process, fully ensure the system code of good readability, practicability, easy to expand, universal, easy to maintain, easy to operate and simple pages and so on.
Key words: Ordering system; Java language; Spring Boot framework, mysql database; UNIAPP framework
目 录
第1章 绪论 1
第二章 关键技术的研究......................................................................................................................
2.1 微信开发者工具 2
4.2 系统的流程分析 10
4.2.1操作流程 10
4.2.2添加信息流程 11
4.2.3删除信息流程 11
4.3. 数据库设计 11
4.3.1 数据库实体 12
4.3.2数据表 13
5.1 运行环境 25
5.1.1 硬件环境 25
5.1.2 软件环境 25
5.2 系统实现 25
5.2.1系统功能模块 25
5.2.2管理员功能模块 32
6.1系统测试的目的 37
6.2系统测试方法 37
6.3功能测试 37
第7章 总结 40
参考文献 41
致谢 43
1.1 课题背景及研究意义
1.1.1 课题背景
经过互联网近几年的蓬勃发展,整个社会的商品交易方式已经慢慢地从本质上发生了变化。上世纪90年代以后,我们国家整体经济水平逐渐提高,人民的生活水平有了极大的进步。互联网行业,乃至与其有关联的传统行业,例如物流行业的蓬勃发展,《电子商务法律法规》等一系列关于网络交易法规的出台,阻碍网上交易的各个难关被一一攻破,电子商务的大军越来越壮大。
现如今网络购物的流行,让人们的生活发生了极大的变化,客户可以不用再特地出门消费,能随时随地完成线上点餐以及购买任何商品。网上销售与购物成为当前商品流通的主要手段,这是一个互联网遍地开花的时代,是先进的时代。
1.1.2 研究意义
社会主义进入新时代,经济实力越来越强。我们也变得越来越忙碌、对生活的要求也变得更加严格,对快速和方便的服务的需求也在逐渐增加。因此,对餐饮行业的管理、服务的要求也越来越严格。为适应时代的发展,各大餐饮业开始广泛地使用电脑来进行管理,并推出各种在线点餐程序,为提高工作人员效率提供了一种新的方式,并且减轻了他们的工作强度,也免去排队和租赁场地的困扰。免除排队可以说在很大程度上降低客户的不舒适感,在树立企业形象的同时,为餐饮业客户提供更加方便、舒适、优质而高效的服务,实现双赢。
于此同时,实现餐饮店点餐的计算机化也是顺应时代潮流的举措,现如今餐饮种类正逐渐增加,浩繁的餐饮信息令餐饮业迎来管理上的难题。餐饮行业进入高速发展的时代,餐饮业的管理工作变得越来越困难,在这一客观需要的推动下,建立、完善、发展餐饮店在线点餐系统小程序,可以为餐饮业管理者带来极大的方便。
本系统即为方便餐饮店管理者和客户而制作的网上点餐系统小程序,结合了餐饮店和客户的需求,设计出的一个基于springboot框架、JAVA语言、MySQL数据库等技术的网上点餐系统小程序。
- 第二章 关键技术的研究
2.1微信开发者工具
微信开发者工具现在已经被小程序开发团队开发运行,目前微信开发者工具任然在不断的完善中,在开发小程序时经常要不断的更新。可以使用微信扫码登陆开发者工具,开发者工具将使用这个微信帐号的信息进行小程序的开发和调试。
机型选择:小程序以智能手机的屏幕尺寸为设计标准,进行切图。
预览界面:写好视图布局后点击编译,用来刷新视图界面。
控制台:方便调试打印输出信息。
上传代码:上传到腾讯服务器,提交审核必经步骤。上传代码时可以填写版本号和备注信息。
资源文件:一般可以在资源文件进行对应项目的文件目录的断点调试。
显示远程调试:手机端和PC端开发工具联调对用户而言是非常实用的。
本地数据存储:显示的是本地存储的数据。
视图调试:标组件以子父层级结构呈现,方便调试。
微信限制在2M 以内的代码体积;开发中一般不校验合法域名信息;小程序后台要做配置服务器域名。
以上就是在开发过程中微信开发者工具常用到的功能,微信开发者工具也在不断的完善。
2.2小程序框架以及目录结构介绍
整个小程序框架系统分为两部分:逻辑层和视图层。小程序开发框架的目标是通过尽可能简单、高效的方式让开发者可以在微信中开发具有原生小程序 体验的服务。小程序在视图层与逻辑层间提供了数据传输和事件系统,提供了自己的视图层以及逻辑层框架,让开发者能够专注于数据与逻辑。框架的核心是一个响应的数据绑定系统,可以让数据与视图非常简单地保持同步。在逻辑层做数据修改,在视图层就会做相应的更新。框架提供了一套基础的组件,这些组件自带微信风格的样式以及特殊的逻辑,开发者可以通过组合基础组件,创建出强大的微信小程序 。
2.3 JAVA技术
Java主要采用CORBA技术和安全模型,可以在互联网应用的数据保护。它还提供了对EJB(Enterprise JavaBeans)的全面支持,java servlet API,JSP(java server pages),和XML技术。
JAVA语言功能:
面向对象:面向对象是Java编程语言的标志之一,是一种软件开发方法。最重要的是将所有东西变成对象,然后以某种方式编程。编程时,代码和数据写在每个对象上。 面向对象编程方法的出现使得人们在编程过程中的设计思考和操作变得非常简单,同时也提高了程序的安全性。
跨平台:Java流行的一个关键特性是它的跨平台特性,这使得用Java编程变得容易。您可以用Java编写程序并在其他地方运行它,而无需在编译后更改它。
垃圾回收机制:用来将那些在程序不操作时无用的对象所占用的内存空间释放掉,C ++最被人厌恶的就是因为其不能将在编程的过程中所占用的内存空间进行及时的释放,导致随着编程时间的变长所占用的内存空间越来越多。对于一些编程高手而言,他们会在刚开始编程的时候配置一块内存地址放在堆栈上,然后在不需要的时候会对其进行释放,而一些新手和菜鸟在很多的时候会忘记删除这个内存地址,从而导致程序在运行的过程中会变得十分的不稳定,最终有可能会导致程序崩溃。所以很多C ++的高手在编写程序时往往都会将删除后的指针的值设置为NULL,然后在删除之前确定一个指针的值是否为NULL。
2.4 spring boot框架介绍
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。
2.5 MYSQL数据库
网站的开发必须配套相应数据库,数据库具有一定的组织结构,能够存放和管理数据信息,在以前数据库的功能仅仅是数据保存和管理操作,但是时代的变迁和发展,现在的数据库演变成了数据处理的方式,数据库从最开始的简单存放数据表格信息到现在的能够存放成千上万数据的大型数据库,期间还是经历了许多的改革。
本次开发的点餐系统小程序使用的数据库是MYSQL数据库,该数据库运行速度快,安全性能也很高,而且对使用的平台没有任何的限制,所以被广泛应运到系统的开发中。MySQL是一个开源和多线程的关系管理数据库系统,MySQL是开放源代码的数据库,具有跨平台性,虽然功能未必强大,导致很多人都了解这个数据库的基本应用,在数据库中,总共建立了10几个表,这里面每个表都是相对应的,都各自有各自的联系,数据库意义重大,如果没有数据库的链接,就没办法运行程序,这显然可以看见数据库与程序的重要性,是紧密相连接的。
2.6 B/S结构
B/S(浏览器/服务器)结构是目前主流的网络化的结构模式,它能够把系统核心功能集中在服务器上面,可以帮助系统开发人员简化操作,便于维护和使用。只需要用户在客户端安装360浏览器、谷歌浏览器、QQ浏览器等当前大众浏览器,在电脑里面安装sqlserver、mysql数据库等数据库。安装好的浏览器与服务器端的数据库进行信息数据的交互。很多专门软件能够做到的事情,采用B/S结构模式也能实现,它能够结合Web浏览器技术,ActiveX技术以及多种脚本语言等技术。帮助程序开发者节约了不少开发成本。目前B/S结构成为程序开发主流结构,它最好的地方就是没有地点限制还不用专门安装软件,笔记本或者电脑能够上网就能访问系统。系统使用B/S进行开发在后期系统维护上面就会很省事,不用什么问题都在服务器上面操作,简单的客户端处理就解决部分问题,开发出来的程序跟用户交互性上面也会增强,还可以实时刷新浏览器进行程序局部的数据信息更新。
![](https://i-blog.csdnimg.cn/blog_migrate/430f2a154dcc1e1d6b50fdb962614a44.png)
图1-1 B/S模式三层结构图
3.1 功能需求分析
点餐系统小程序主要是为了提高工作人员的工作效率和更方便快捷的满足用户,更好存储所有数据信息及快速方便的检索功能,对系统的各个模块是通过许多今天的发达系统做出合理的分析来确定考虑用户的可操作性,遵循开发的系统优化的原则,经过全面的调查和研究。
系统所要实现的功能分析,对于现在网络方便的管理,系统要实现用户可以直接在手机平台上进行查看所有数据信息,根据需求可以进行在线添加,删除或修改点餐系统小程序信息,这样既能节省时间,不用再像传统的方式耽误时间,真的很难去满足用户的各种需求。所以点餐系统小程序的开发不仅仅是能满足用户的需求,还能提高管理员的工作效率,减少原有不必要的工作量。
3.2 可行性分析
3.2.1技术可行性:技术背景
本企业网站在Windows操作系统中进行开发,并且目前PC机的性能已经可以胜任普通网站的web服务器。系统开发所使用的技术也都是自身所具有的,也是当下广泛应用的技术之一。
系统的开发环境和配置都是可以自行安装的,系统使用JSP开发工具,使用比较成熟的Mysql数据库进行对系统前台及后台的数据交互,根据技术语言对数据库,结合需求进行修改维护,可以使得网站运行更具有稳定性和安全性,从而完成实现网站的开发。
(1)硬件可行性分析
点餐系统小程序及信息分析的设计对于所使用的计算机没有什么硬性的要求,计算机只要可以正常的使用进行代码的编写及页面设计就可行,主要是对于服务器有些要求,对于平台搭建完成要上传的服务器是有一定的要求的,服务器必须选择安全性比较高的,然后就是在打开网站必须顺畅,不能停顿太长时间;性价比高;安全性高。
(2)软件可行性分析
开发整个系统使用的是云计算,流量的可扩展性和基于流量的智能调整云计算的优点就是流量的可扩展性和基于流量的智能调整,保障系统的安全及数据信息的及时备份。
因此,我们从两个方面进行了可行性研究,可以看出系统的开发没有问题。
3.2.2经济可行性
在点餐系统小程序开发之前所做的市场调研及其他的物流公司相关的管理系统,都是没有任何费用的,都是通过开发者自己的努力,所有的工作的都是自己亲力亲为,在碰到自己比较难以解决的问题,大多是通过同学和指导老师的帮助进行相关信息的解决,所以对于点餐系统小程序的开发在经济上是完全可行的,没有任何费用支出的。
使用比较成熟的技术,系统是基于JSP的开发,采用Mysql数据库。所以系统在开发人力、财力要求不高,具有经济可行性。
3.2.3操作可行性:
可操作性主要是对点餐系统小程序设计完成后,用户的使用体验度,以及管理员可以通过系统随时管理相关的数据信息,并且对于管理员、用户两个用户角色,都可以简单明了的进入到自己的系统界面,通过界面导航菜单可以简单明了地操作功能模块,方便用户信息的操作需求和管理员管理数据信息,对于系统的操作,不需要专业人员都可以直接进行功能模块的操作管理,所以在系统的可操作性是完全可以的。本系统的操作使用的也是界面窗口进行登录,所以操作人员只要会简单的电脑操作就完全可以的。
3.3 系统性能分析
(1)系统响应效率:页面响应时问应该在3秒以内,最长不能超过4秒,并支持至少10000人同时在线所有系统。
(2)界面简洁清晰:系统界面要求简单明了,容易操作,符合用户操作习惯。
(3)储存性高:因为点餐系统小程序中有很多的信息需要存储,因此对于系统的存储量有很大的要求,需要有一个强大的数据库的支持才能确保所有的信息都能安全稳定的进行存储。
(4)易学性:该系统在操作上必须简单好上手,没有很多复杂的操作,只需要简单的进行学习就能操作该系统。
(5)稳定性需求:开发的点餐系统小程序要求运行稳定,运行过程中无界面不清楚、字体模糊等现象。
(6)稳定性:开发的点餐系统小程序要求运行稳定,运行过程中无界面不清楚、字体模糊等现象。
4.1 系统的结构划分
本网站可以分为:用户使用的功能、管理员进行管理的功能。
用户使用功能:首页、订单、购物车、餐饮资讯、我的(用户账户、账户充值、账户消费)等功能。
管理员管理功能:首页、站点管理(轮播图、公告栏)、用户管理(管理员、系统用户)、内容管理(餐饮资讯、资讯列表)、商城管理(商品中心、分类列表、订单列表)、更多管理(用户账户、账户充值、账户消费)等功能。
点餐系统小程序的结构图4-1所示:
![](https://i-blog.csdnimg.cn/blog_migrate/7906630b95d07b3d4c8c3d2cb6b08609.png)
图4-1 系统结构
登录系统结构图,如图4-2所示:
![](https://i-blog.csdnimg.cn/blog_migrate/06fc9928a3bc324144177ff526ef0dba.png)
图4-2 登录结构图
这些功能可以充分满足点餐系统小程序的需求。此系统功能较为全面如下图系统功能结构如图4-3所示。
![](https://i-blog.csdnimg.cn/blog_migrate/195823120dc76154c7b06907359e59d0.png)
图4-3系统功能结构图
4.2 系统的流程分析
4.2.1操作流程
![](https://i-blog.csdnimg.cn/blog_migrate/4d4d4cbca635645b19cc98a1c3f08713.png)
图4-4登录流程图
4.2.2添加信息流程
添加信息流程图,如图所示:
图4-5添加信息流程图
4.2.3删除信息流程
删除信息流程图,如图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/0c6361037102c917d024728d132920cc.png)
图4-6删除信息流程图
4.3. 数据库设计
4.3.1 数据库实体
管理员信息结构图,如图4-7所示:
![](https://i-blog.csdnimg.cn/blog_migrate/e981279d59ca253d20dd9b7583c507b4.png)
图4-7 管理员信息实体结构图
用户管理实体属性图,如图4-8所示:
![](https://i-blog.csdnimg.cn/blog_migrate/d5eeff6a87db895c631d3f3872fce622.png)
图4-8用户管理实体属性图
菜品订单管理实体属性图如图4-9所示。
![](https://i-blog.csdnimg.cn/blog_migrate/eaedd45453986fde7dd9eda0ae884bbc.png)
图4-9订单列表管理实体属性图
4.3.2数据表
将数据库概念设计的E-R图转换为关系数据库。在关系数据库中,数据关系由数据表组成,但是表的结构表现在表的字段上。
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
account_consumption_id | int | 11 | 是 | 是 | 账户消费ID |
user_name | int | 11 | 否 | 否 | 用户名 |
card_no | varchar | 64 | 否 | 否 | 卡号 |
consumption_amount | int | 11 | 否 | 否 | 消费金额 |
consumption_content | text | 0 | 否 | 否 | 消费内容 |
recommend | int | 11 | 是 | 否 | 智能推荐 |
create_time | datetime | 0 | 是 | 否 | 创建时间 |
update_time | timestamp | 0 | 是 | 否 | 更新时间 |
account_recharge | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
account_recharge_id | int | 11 | 是 | 是 | 账户充值ID |
user_name | int | 11 | 否 | 否 | 用户名 |
card_no | varchar | 64 | 否 | 否 | 卡号 |
recharge_amount | int | 11 | 否 | 否 | 充值金额 |
recharge_description | text | 0 | 否 | 否 | 充值说明 |
recommend | int | 11 | 是 | 否 | 智能推荐 |
create_time | datetime | 0 | 是 | 否 | 创建时间 |
update_time | timestamp | 0 | 是 | 否 | 更新时间 |
address | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
address_id | int | 11 | 是 | 是 | 收货地址: |
name | varchar | 32 | 否 | 否 | 姓名: |
phone | varchar | 13 | 否 | 否 | 手机: |
postcode | varchar | 8 | 否 | 否 | 邮编: |
address | varchar | 255 | 是 | 否 | 地址: |
user_id | mediumint | 8 | 是 | 否 | 用户ID: |
create_time | timestamp | 0 | 是 | 否 | 创建时间: |
update_time | timestamp | 0 | 是 | 否 | 更新时间: |
default | tinyint | 1 | 是 | 否 | 默认判断 |
cart | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
cart_id | int | 11 | 是 | 是 | 购物车ID: |
title | varchar | 64 | 否 | 否 | 标题: |
img | varchar | 255 | 是 | 否 | 图片: |
user_id | int | 10 | 是 | 否 | 用户ID: |
create_time | timestamp | 0 | 是 | 否 | 创建时间: |
update_time | timestamp | 0 | 是 | 否 | 更新时间: |
state | int | 1 | 是 | 否 | 状态:使用中,已失效 |
price | double | 8 | 是 | 否 | 单价: |
price_ago | double | 8 | 是 | 否 | 原价: |
price_count | double | 10 | 是 | 否 | 总价: |
num | int | 8 | 是 | 否 | 数量: |
goods_id | mediumint | 8 | 是 | 否 | 商品id:[0,8388607] |
type | varchar | 64 | 是 | 否 | 商品分类: |
description | varchar | 255 | 否 | 否 | 描述: |
chart | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
chart_id | int | 10 | 是 | 是 | 聊天ID: |
user_id | int | 11 | 是 | 否 | 用户ID: |
title | varchar | 64 | 否 | 否 | 标题: |
content | longtext | 0 | 是 | 否 | 内容: |
nickname | varchar | 32 | 是 | 否 | 昵称: |
avatar | varchar | 255 | 否 | 否 | 头像: |
create_time | timestamp | 0 | 是 | 否 | 创建时间: |
update_time | timestamp | 0 | 是 | 否 | 更新时间: |
reply_id | int | 11 | 是 | 否 | 回复ID: |
collect | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
collect_id | int | 10 | 是 | 是 | 收藏ID: |
user_id | int | 10 | 是 | 否 | 收藏人ID: |
source_table | varchar | 255 | 否 | 否 | 来源表: |
source_field | varchar | 255 | 否 | 否 | 来源字段: |
source_id | int | 10 | 是 | 否 | 来源ID: |
title | varchar | 255 | 否 | 否 | 标题: |
img | varchar | 255 | 否 | 否 | 封面: |
create_time | timestamp | 0 | 是 | 否 | 创建时间: |
update_time | timestamp | 0 | 是 | 否 | 更新时间: |
comment | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
comment_id | int | 11 | 是 | 是 | 评论ID: |
user_id | int | 11 | 是 | 否 | 评论人ID: |
reply_to_id | int | 11 | 是 | 否 | 回复评论ID:空为0 |
content | longtext | 0 | 否 | 否 | 内容: |
nickname | varchar | 255 | 否 | 否 | 昵称: |
avatar | varchar | 255 | 否 | 否 | 头像地址:[0,255] |
create_time | timestamp | 0 | 是 | 否 | 创建时间: |
update_time | timestamp | 0 | 是 | 否 | 更新时间: |
source_table | varchar | 255 | 否 | 否 | 来源表: |
source_field | varchar | 255 | 否 | 否 | 来源字段: |
source_id | int | 10 | 是 | 否 | 来源ID: |
commodity_center | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
commodity_center_id | int | 11 | 是 | 是 | 商品中心ID |
trade_name | varchar | 64 | 否 | 否 | 商品名称 |
specifications | varchar | 64 | 否 | 否 | 规格 |
food_materials | text | 0 | 否 | 否 | 食材 |
practice | text | 0 | 否 | 否 | 做法 |
shop_name | varchar | 64 | 否 | 否 | 商铺名称 |
shop_logo | varchar | 255 | 否 | 否 | 商铺logo |
contact_number | varchar | 64 | 否 | 否 | 联系电话 |
business_hours | varchar | 64 | 否 | 否 | 营业时间 |
shop_introduction | text | 0 | 否 | 否 | 商铺介绍 |
recommend | int | 11 | 是 | 否 | 智能推荐 |
cart_title | varchar | 125 | 否 | 否 | 标题: |
cart_img | text | 0 | 否 | 否 | 封面图: |
cart_description | varchar | 255 | 否 | 否 | 描述: |
cart_price_ago | double | 8 | 是 | 否 | 原价:[1] |
cart_price | double | 8 | 是 | 否 | 卖价:[1] |
cart_inventory | int | 11 | 是 | 否 | 商品库存 |
cart_type | varchar | 64 | 是 | 否 | 商品分类: |
cart_content | longtext | 0 | 否 | 否 | 正文:产品的主体内容 |
cart_img_1 | text | 0 | 否 | 否 | 主图1: |
cart_img_2 | text | 0 | 否 | 否 | 主图2: |
cart_img_3 | text | 0 | 否 | 否 | 主图3: |
cart_img_4 | text | 0 | 否 | 否 | 主图4: |
cart_img_5 | text | 0 | 否 | 否 | 主图5: |
create_time | datetime | 0 | 是 | 否 | 创建时间 |
goods | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
goods_id | mediumint | 8 | 是 | 是 | 产品id: |
title | varchar | 125 | 否 | 否 | 标题: |
img | text | 0 | 否 | 否 | 封面图: |
description | varchar | 255 | 否 | 否 | 描述: |
price_ago | double | 8 | 是 | 否 | 原价:[1] |
price | double | 8 | 是 | 否 | 卖价:[1] |
sales | int | 10 | 是 | 否 | 销量: |
inventory | int | 11 | 是 | 否 | 商品库存 |
type | varchar | 64 | 是 | 否 | 商品分类: |
hits | int | 10 | 是 | 否 | 点击量: |
content | longtext | 0 | 否 | 否 | 正文:产品的主体内容 |
create_time | timestamp | 0 | 是 | 否 | 创建时间: |
update_time | timestamp | 0 | 是 | 否 | 更新时间: |
img_1 | text | 0 | 否 | 否 | 主图1: |
img_2 | text | 0 | 否 | 否 | 主图2: |
img_3 | text | 0 | 否 | 否 | 主图3: |
img_4 | text | 0 | 否 | 否 | 主图4: |
img_5 | text | 0 | 否 | 否 | 主图5: |
customize_field | text | 0 | 否 | 否 | 自定义字段 |
source_table | varchar | 255 | 否 | 否 | 来源表: |
source_field | varchar | 255 | 否 | 否 | 来源字段: |
source_id | int | 10 | 是 | 否 | 来源ID: |
user_id | int | 11 | 否 | 否 | 添加人 |
notice | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
notice_id | mediumint | 8 | 是 | 是 | 公告id: |
title | varchar | 125 | 是 | 否 | 标题: |
content | longtext | 0 | 否 | 否 | 正文: |
create_time | timestamp | 0 | 是 | 否 | 创建时间: |
update_time | timestamp | 0 | 是 | 否 | 更新时间: |
order | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
order_id | int | 11 | 是 | 是 | 订单ID: |
order_number | varchar | 64 | 否 | 否 | 订单号: |
goods_id | mediumint | 8 | 是 | 否 | 商品id:[0,8388607] |
title | varchar | 32 | 否 | 否 | 商品标题: |
img | varchar | 255 | 否 | 否 | 商品图片: |
price | double | 10 | 是 | 否 | 价格: |
price_ago | double | 10 | 是 | 否 | 原价: |
num | int | 8 | 是 | 否 | 数量: |
price_count | double | 8 | 是 | 否 | 总价: |
norms | varchar | 255 | 否 | 否 | 规格: |
type | varchar | 64 | 是 | 否 | 商品分类: |
contact_name | varchar | 32 | 否 | 否 | 联系人姓名: |
contact_email | varchar | 125 | 否 | 否 | 联系人邮箱: |
contact_phone | varchar | 11 | 否 | 否 | 联系人手机: |
contact_address | varchar | 255 | 否 | 否 | 收件地址: |
postal_code | varchar | 9 | 否 | 否 | 邮政编码: |
user_id | int | 10 | 是 | 否 | 买家ID: |
merchant_id | mediumint | 8 | 是 | 否 | 商家ID: |
create_time | timestamp | 0 | 是 | 否 | 创建时间: |
update_time | timestamp | 0 | 是 | 否 | 更新时间: |
description | varchar | 255 | 否 | 否 | 描述: |
state | varchar | 16 | 是 | 否 | 订单状态: |
praise | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
praise_id | int | 10 | 是 | 是 | 点赞ID: |
user_id | int | 11 | 是 | 否 | 点赞人: |
create_time | timestamp | 0 | 是 | 否 | 创建时间: |
update_time | timestamp | 0 | 是 | 否 | 更新时间: |
source_table | varchar | 255 | 否 | 否 | 来源表: |
source_field | varchar | 255 | 否 | 否 | 来源字段: |
source_id | int | 10 | 是 | 否 | 来源ID: |
status | tinyint | 1 | 是 | 否 | 点赞状态:1为点赞,0已取消 |
slides | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
slides_id | int | 10 | 是 | 是 | 轮播图ID: |
title | varchar | 64 | 否 | 否 | 标题: |
content | varchar | 255 | 否 | 否 | 内容: |
url | varchar | 255 | 否 | 否 | 链接: |
img | varchar | 255 | 否 | 否 | 轮播图: |
hits | int | 10 | 是 | 否 | 点击量: |
create_time | timestamp | 0 | 是 | 否 | 创建时间: |
update_time | timestamp | 0 | 是 | 否 | 更新时间: |
system_user | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
system_user_id | int | 11 | 是 | 是 | 系统用户ID |
user_name | varchar | 64 | 是 | 否 | 用户名 |
examine_state | varchar | 16 | 是 | 否 | 审核状态 |
recommend | int | 11 | 是 | 否 | 智能推荐 |
user_id | int | 11 | 是 | 否 | 用户ID |
create_time | datetime | 0 | 是 | 否 | 创建时间 |
update_time | timestamp | 0 | 是 | 否 | 更新时间 |
user_account | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
user_account_id | int | 11 | 是 | 是 | 用户账户ID |
user_name | int | 11 | 否 | 否 | 用户名 |
card_no | varchar | 64 | 否 | 否 | 卡号 |
balance | int | 11 | 否 | 否 | 余额 |
remarks | text | 0 | 否 | 否 | 备注 |
recommend | int | 11 | 是 | 否 | 智能推荐 |
create_time | datetime | 0 | 是 | 否 | 创建时间 |
update_time | timestamp | 0 | 是 | 否 | 更新时间 |
5.1 运行环境
5.1.1 硬件环境
开发本系统时,本人所使用的电脑带有酷睿i5的cpu,gtx 950m的显卡,4G的运行内存。
5.1.2 软件环境
开发本系统时本人使用的是windows win 10的操作系统,使用了MySQL数据库管理工具,版本为5.0,JDK版本为1.8,开发工具为ECLIPSE ,版本为8.5,web容器使用的为ECLIPSE 自带的tomcat。
5.2 系统实现
5.2.1系统功能模块
点餐系统小程序,在系统注册页面填写用户:账户、密码、确认密码、昵称、邮箱、手机、身份、用户名等内容进行注册操作,如图5-1所示。
![](https://i-blog.csdnimg.cn/blog_migrate/1646dc40d139dfaa9305ea2f01b5192b.png)
图5-1用户注册界面图
在小程序首页页面可以用户功能有首页、订单、购物车、餐饮资讯、我的等,如图5-2所示。
![](https://i-blog.csdnimg.cn/blog_migrate/cb5141983bf0043d597655d686cf2b95.png)
图5-2 小程序系统界面图
在我的管理页面我的用户账户、账户充值、账户消费等功能,如图5-3所示。
![](https://i-blog.csdnimg.cn/blog_migrate/2fae6ca678d036381ea40872b35a6261.png)
图5-3 我的界面图
在我的界面,用户点击头像进入个人资料页面,在该页面可以修改个人资料,如图5-4所示。
![](https://i-blog.csdnimg.cn/blog_migrate/f6021bcce780949930521ee47372ffee.png)
图5-4 个人资料界面图
用户点击餐饮资讯可以查看菜品信息菜品名称、还可在该页面进行点赞、收藏、发表评论等操作,如图5-5所示。
![](https://i-blog.csdnimg.cn/blog_migrate/6859e00c64b95f4a8b38fd099ad76b4d.png)
图5-5 菜品信息界面图
用户点击购物车,在购物车内可选择添加或减少菜品数量,确定数量后可立即下单,如图5-6所示。
![](https://i-blog.csdnimg.cn/blog_migrate/cff7306b057aa80982b43ed0ef9e6678.png)
图5-6 购物车界面图
用户在新增收货地址页面添加地址信息联系人、手机号、地址并可设置为默认地址,如图5-7所示。
![](https://i-blog.csdnimg.cn/blog_migrate/d648b35ac1958654369a35330b7bfbb9.png)
图5-7 用户添加地址界面图
在我的订单页面中可以对菜品订单进行支付或取消订单等操作,如图5-8所示。
![](https://i-blog.csdnimg.cn/blog_migrate/8269e4671577e6d289aaf61ac28bd19a.png)
图5-8 我的订单界面图
5.2.2管理员功能模块
在管理员登录页面添加登录信息用户名、密码、角色等进行登录,如图5-9所示。
![](https://i-blog.csdnimg.cn/blog_migrate/661cc09d6e2cabace813135d5f3c652d.png)
图5-9管理员登录界面图
在管理员功能页面中可以查看功能分为:首页、站点管理(轮播图、公告栏)、用户管理(管理员、系统用户)、内容管理(餐饮资讯、资讯列表)、商城管理(商品中心、分类列表、订单列表)、更多管理(用户账户、账户充值、账户消费)等功能,并可进行相应操作,如图5-10所示。
![](https://i-blog.csdnimg.cn/blog_migrate/123164993f2bf15ad02bc553d0e9a6ca.png)
图5-10 管理员功能界面图
在用户管理页面中可以对索引、用户名、昵称、密码、头像、邮箱、手机号码、手机认证、邮箱认证、状态等信息进行详情、修改或删除等操作,如图5-11所示。
![](https://i-blog.csdnimg.cn/blog_migrate/5e868480525bdd9a9a9f9876b841d60b.png)
图5-11 用户管理界面图
在资讯列表管理页面中可以对索引、频道名称等信息进行修改或删除等操作,如图5-13所示。
![](https://i-blog.csdnimg.cn/blog_migrate/c4c88019fa975401e2fe5b5e269bd190.png)
图5-12资讯列表管理界面图
在商品中心管理页面可以添加标题、封面图、卖价、原价、商品库存、描述、商品名称、规格、商铺名称、分类、食材、做法、数量、商铺logo、联系电话、营业时间、商铺介绍详情等内容,还可根据需要在商品信息查询页面对已有的菜品信息进行详细修改查看评论或删除等操作,如图5-13所示。
![](https://i-blog.csdnimg.cn/blog_migrate/eae8cc8ef728e3981efad2fec112d8b2.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8c0c3ed1d0c29879f23b1592dd8f990c.png)
图5-13 商品中心管理界面图
在用户账户管理页面中可以对索引、用户名、卡号、余额、备注等内容进行详情修改回复和删除等操作,如图5-14所示。
![](https://i-blog.csdnimg.cn/blog_migrate/d687d311e992c63546b48b9933a5d9a0.png)
图5-14用户账户管理界面图
在订单列表管理页面中可以对索引、商品名称、订单号、商品图片、价格、原价、购买数量、总价、联系人名称、联系人地址、订单状态、买家、联系手机号等内容进行详情修改回复和删除等操作,如图5-15所示。
![](https://i-blog.csdnimg.cn/blog_migrate/403acb6e14d86e31a9a0a80b84974958.png)
图5-15订单列表管理界面图
6.1系统测试的目的
程序设计不能保证没有错误,这是一个开发过程,在错误或错误的过程中都是难以避免的。虽然这是不可避免的,但我们不能使这些错误始终存在于系统中,错误可能会造成无法估量的后果,如系统崩溃,安全信息泄露,系统无法正常启动等,为了避免这些问题,我们需要测试程序,再测试过程中发现问题,并纠正它们,从而使系统更长时间稳定成熟。本章的作用是发现这些问题,并对其进行修改,虽然耗时费力,但对于长期使用而言是非常重要和必要系统的开发。
软件在设计后必须进行测试,调试过程中使用的方法是软件测试方法。在开发新软件时,系统测试是检查软件是否合格的关键步骤,以及是否符合设计目标的参考。测试主要是查看软件中数据的准确性,正确的操作与否,以及操作的结果,还有哪些方面需要改进。
点餐系统小程序的实现,对于系统中功能模块的实现及操作都必须通过测试进行来评判系统是否可以准确的实现。在点餐系统小程序正式上传使用之前必须做的一步就是系统测试,对于测试发现的错误及时修改处理,保证系统准确无误的供给用户使用。
6.2系统测试方法
在对点餐系统小程序进行测试的时候在找到问题的情况下必须在第一时间找到解决问题的办法,不要存在侥幸的心理,这样才能让点餐系统小程序开发的质量可以过关,并且开发的周期会大大缩短,还有就是在测试时,不要出现重复性的错误,遇到一个错误问题,要将整个点餐系统小程序开发所牵扯的该问题都必须一一解决,提高点餐系统小程序平台的安全性、稳定性。
白盒测试与黑盒测试是测试中比较常用的两种方法。
①结构测试俗称白盒测试:这种测试是在对程序的处理过程与结构都有详尽谅解的前提下,顺从程序内部的逻辑而完成的系统测试,以确定系统中所有的通路都能够遵照设计要求正常工作,不出现任何偏差。
②功能测试又成黑盒测试:主要是针对程序功能能够按照设计正常实现的一种检测,在程序接口处进行,检测程序手法数据是否正常,与外部信息的交换是否完整。
6.3功能测试
用户登录测试:
模块名称 | 测试用例 | 预期结果 | 实际结果 | 是否通过 |
登录模块 | 用户名:admin 密码:123 | 弹出错误提示,提示密码错误 | 弹出错误提示,提示密码错误 | 通过 |
登录模块 | 用户名:123 密码:admin | 弹出错误提示,提示用户名错误 | 弹出错误提示,提示用户名错误 | 通过 |
登录模块 | 用户名:admin 密码:admin | 管理员登录成功 | 管理员登录成功 | 通过 |
删除分类测试:
模块名称 | 测试用例 | 预期结果 | 实际结果 | 是否通过 |
删除分类模块 | 分类名:最新通知 | 删除成功、页面自动跳转 | 删除成功、页面自动跳转 | 通过 |
修改密码测试:
模块名称 | 测试用例 | 预期结果 | 实际结果 | 是否通过 |
修改密码模块 | 原密码:666 新密码:123 确认密码:123 | 弹出错误提示,提示原密码错误 | 弹出错误提示,提示原密码错误 | 通过 |
修改密码模块 | 原密码:admin 新密码:123 确认密码:333 | 弹出错误提示,提示确认密码不一致 | 弹出错误提示,提示确认密码不一致 | 通过 |
修改密码模块 | 原密码:admin 新密码:123 确认密码:123 | 密码修改成功 | 密码修改成功 | 通过 |
通过对功能的测试,点餐系统小程序的基本功能都是可行的,不管是系统里面的功能,还是界面的设计都是可值得推广宣传的。
2021年的今天,计算机技术已经相当成熟。它的发展推动了许多行业改头换面,计算机的出现使人类社会有了进一步降低人力物力和资源的方法,提高了人类社会的生产力,转变了社会生产方式。目前各大餐饮店都在积极备战,发展计算机和互联网,结合自身优势进军互联网行业成为各大企业的重点项目。
本文利用JAVA语言、springbont框架和MySQL数据库技术,通过分析现实餐饮业的点餐业务流程的基础上,并完成了在线点餐系统小程序。经调试结果显示,本系统基本可以满足一个在线点餐系统小程序的业务需要。系统界面简洁而有美感, 易操作,做出了自己的特色,然而因为时间仓促再加上缺乏系统开发经验和仅依靠少数问卷调查方式,因此本系统还存在不少缺陷、不足,比如:
1. 数据输入的格式并没有全部检验,所以很难保证数据的准确,可能有一些不符合规则的数据也可以通过检验。
2. 系统功能还不够完善,无法提供丰富多彩的在线功能,只能实现购买、注册和订单管理等一系列功能。
本系统还存在一些漏洞没有解决,在现实应用情境中很难保证完全不出错,但相信通过再次完善,可以调试出真正符合实际的在线点餐系统小程序。
参考文献
[1]种倩倩,孙丽英,陈滨,郭雅榕.基于微信小程序的点餐系统的设计与开发[J].电脑知识与技术,2022,18(19):66-69+73.DOI:10.14004/j.cnki.ckt.2022.1307.
[2]谷研硕,时振涛,孙申英,盛林.基于内容推荐算法的点餐系统的设计与实现[J].电脑知识与技术,2022,18(10):48-49.DOI:10.14004/j.cnki.ckt.2022.0815.
[3]王曼维,杨荻,李岩,及松洁.基于SpringBoot框架的智慧医疗问诊系统设计与实现[J].中国医学装备,2022,19(03):133-136.
[4]Liu Shaojie,Wang Jiangqi,He Gengsheng,Chen Bo,Jia Yingnan. Evaluation of Dietary Quality Based on Intelligent Ordering System and Chinese Healthy Eating Index in College Students from a Medical School in Shanghai, China[J]. Nutrients,2022,14(5).
[5]朱广跃.移动Web点餐系统的设计[J].集成电路应用,2022,39(01):124-125.DOI:10.19339/j.issn.1674-2583.2022.01.045.
[6]. CBEST: The Only Best Restaurant Online Ordering System in Canada[J]. M2 Presswire,2022.
[7]Hudnall Matthew,Yang Xin,Melnykov Yana,Zhu Xuwen,Lewis Dwight,Parton Jason. Finite mixture modeling of change point processes to discover opioid prescribing patterns: A case study of automated reports and consolidated ordering system data[J]. Communications in Statistics: Case Studies, Data Analysis and Applications,2022,8(1).
[8]陈帅.微信点餐系统小程序的设计与实现[J].电子技术与软件工程,2021(24):30-31.
[9]鹿俊聪.基于Android的食堂点餐系统的设计与实现[J].科学技术创新,2021(22):101-102.
[10]唐永洋,许嘉洁,乔波.基于MongoDB和微信小程序的点餐系统的设计与实现[J].电脑与信息技术,2021,29(01):25-27.DOI:10.19414/j.cnki.1005-1228.2021.01.008.
[11]李昊. 基于微信小程序的智能推荐点餐系统的设计与实现[D].南京邮电大学,2020.DOI:10.27251/d.cnki.gnjdc.2020.000283.
[12]李新锦,鲁志萍,刘苑如.基于微信小程序的校园点餐系统的设计[J].电脑知识与技术,2020,16(07):50-51+56.DOI:10.14004/j.cnki.ckt.2020.0756.
[13]姚佳哲,杜娟,郑意,蒋坤.关于大学食堂线上点餐的研究[J].作家天地,2020(02):91-92.
[14]蒋智慧,童莲.基于微信小程序的食堂点餐系统的设计与实现[J].现代信息科技,2019,3(24):14-16.DOI:10.19850/j.cnki.2096-4706.2019.24.004.
[15]杭莉,聂莉娟.基于微信小程序的点餐系统[J].电子制作,2019(23):54-58.DOI:10.16589/j.cnki.cn11-3571/tn.2019.23.019.
致谢
这次毕业设计能够完成,最重要的就是来自指导老师的帮助,老师不厌其烦的对我的论文及毕业设计提出非常有建设性的建议,我的毕设能够完成离不开老师的帮助。我对老师由衷的表示感谢,
其次要感谢大学四年里学院里所有的任课老师的教导,老师们在我整个大学四年里给予了我丰富的知识,让我能够在大学中不虚度光阴,踏踏实实的学习,没有这些老师不辞辛劳的教诲,我无法完成这四年的学业。
由于自己的水平有限,毕设仍然存在着很大的缺陷,各位老师若提出意见,我会努力改正。
关注+点赞&收藏+私信博主,免费领取项目源码