美食中心点餐系统

摘要

社会经济水平的提升促使普通百姓的生活水平质量也有所提升,吃饭不再只是简单的一日三餐,大众也有一定的经济能力可以支付在外享受美食。尤其对于商圈中的白领们,每日的工作已经占用了他们太多时间,再挤出时间做饭是给自己增加负担,也消磨了上班的热情。一日三餐得好食,这样才能够保证白领工作者有更充沛的精力面对工作的难题。

本课题结合上述理念研究与点餐相关的内容。并命名为美食中心点餐系统。在系统中使用B/S架构系统使用Java语言进行编写,框架选择目前主流的SSM框架进行项目搭建,根据美食中心的消费人群运用面向对象的方式分对系统进行分析数据库选用开源免费的MySQL进行数据的维护与存储,前台运用JSP等技术动态加载页面,实现的主要功能为用户登录美食浏览,平台点单餐桌使用情况查询美食管理,订单处理等功能,在编码完毕后使用常用测试手段和测试流程对系统在代码层面和实际使用过程进行测试,最终完善系统。

关键词

美食系统;商圈;美食中心;SSM


Abstract

The improvement of social and economic level has also improved the living standard and quality of ordinary people. Eating is no longer just three meals a day. The public also has a certain economic ability to pay to enjoy delicious food outside. Especially for white-collar workers in the business district, their daily work has taken up too much time. Squeezing out time to cook is not only a burden to themselves, but also a waste of enthusiasm for work. Three good meals a day can ensure that white-collar workers have more energy to face the difficulties of work.

This topic combines the above ideas to study the content related to ordering. And named the food center ordering system. B / S architecture is used in the system. The system is written in Java language. The framework selects the current mainstream SSM framework for project construction. The system is analyzed in an object-oriented manner according to the consumer groups in the food center. The database uses open source and free MySQL for data maintenance and storage. The front desk uses JSP and other technologies to dynamically load pages. The main functions are user login and food browsing, Platform order, table usage query, food management, order processing and other functions. After coding, use common test methods and test processes to test the system at the code level and actual use process, and finally improve the system.

Key words

Information technology;Business district;Food Center;SSM

目录

摘要

Abstract

第一章 绪论

1.1 研究背景

1.2 研究的意义

1.3 选题的目标

1.4 总体设计原则

1.5 开发技术及相关工具

1.5.1 SSM框架简介

1.5.2 Spring MVC框架

1.5.3 Spring 框架

1.5.4 Mybaits框架

1.6 论文结构

第二章 需求分析

2.1 系统需求分析

2.1.1 需求分析介绍

2.1.2 系统用户分析

2.2 可行性分析

2.2.1 技术可行性

2.2.2 经济可行性

2.2.3 操作可行性

2.3 系统性能分析

2.4 系统功能需求

2.4.1 用例建模

2.4.2 用例描述

2.5 本章小结

第三章 系统功能设计

3.1 系统整体功能

3.2 系统角色细化介绍

3.3 数据库设计

3.3.1 数据库概念设计

3.3.2 数据库逻辑结构设计

3.4 本章小结

第四章 系统功能实现

4.1 使用者登录

4.1.1 登录时序图

4.1.2 登录页面

4.1.3 登录流程图

4.2 菜单展示

4.2.1 菜单展示时序图

4.2.2 前台展示菜品信息

4.2.3 服务端订单结算

4.2.4 菜品展示流程图

4.3 订单处理

4.3.1 服务端餐桌管理时序图

4.3.2 服务端订单结算

4.3.3 订单流程图

4.4 菜品管理

4.4.1 菜品类型时序图

4.4.2 菜品类型展示

4.4.3 添加菜品

4.4.4 菜品管理流程图

4.5 系统管理

4.5.1 系统管理时序图

4.5.2 添加员工

4.5.3 员工管理

4.4.4 员工管理流程图

4.6 本章小结

第五章 系统测试

5.1 测试目的

5.2 测试方法

5.3 测试用例

5.3.1 登录测试

5.3.2 浏览菜单测试

5.3.3 订单管理测试

5.3.4 菜单管理测试

5.3.4 系统管理测试

5.4 本章小结

结论

参考文献

致谢

第一章 绪论

时代的进步,人们物质生活的提高,信息化技术的高速发展,导致人们的要求越来越高,为了满足各大消费者的需求,餐饮行业日益发展,为了帮助人们更快速,更高效的进行点餐,美食中心的点餐系统得以上线。

1.1 研究背景

餐饮行业是众多传统行业的典型代表,但是随着各种政策和社会发展的影响,餐饮行业也面临着巨大的挑战和机缘,最开始餐厅只有一些招牌老字号,其他餐厅经营相对困难,现在随处可见各种不同规模的餐厅美食广场,这都是经济快速发展和人们对各类新奇事物的接收程度带来的可观变化。现在,只要是能够想到的与食物又关联的内容都值得更多投资者关注,诸如食材采购、半成品加工、食品代工、食品销售等。在餐饮行业竞争越来越微烈的今天,努力在市场竞争中脱颖而出,己经成为每位餐饮经营者所追求的目标。

伴随着时代的进步,科技的发展信息技术和整个时代的各个领域都有结合。信息技术已经占用了我们大部分的生活。人们更喜欢用信息技术开发的应用来处理生活上事情。有信息技术的加入能够让生活中遇到的一些问题和工作更加方便快捷的处理。比如说就是在我们国家的一些科学研发上以及相关的管理工作上,都会使用信息技术来开发的系统[1]。在使用这些信息系统来进行管理工作的过程当中,通过信息系统所带的数据处理技术,能够让数据处理的过程当中更加的安全高效而且稳定。为了提高餐饮行业的效率作为传统代表的餐饮行业也需要结合信息技术来提升行业发展。因为经济的快速发展,所有的举措都是为了提高对消费者的服务质量以及消费者的用餐体验,从前人们并不推崇互联网经济,但现在人人使用的服务也随着时间有了新需求和新方向。各种餐饮相关的信息系统也能够帮助餐饮行业整个线上消费增加营业额,在给用户带去更优质的体验的同时,也增加了商圈的收益,达到一举多得的效果。

1.2 研究的意义

无论是一线城市,还是二三线城市都逐步搭建各种商城和消费中心,这促使了商圈中心的形成。在社会经济快速发展的带动下,中国各个地区都开始了城市化的转变,随之带来的最明显的变化就是越来越多的工作者成为了原来人们口中的白领,这类人在社会中占据了非常庞大的比例。在一片又一片的商业化写字楼和各大商城的组合下,形成了一个新型名词,叫商圈,同时也带起了一种名为商圈经济的新的经济体系。对于每一位商圈工作者来说,每时每刻宝贵的时间都是不能被浪费的,而且对于这类人,中午休息时间都非常短暂,更多人对午餐的选择的最首要的要求便是距离办公地点近、价格实惠的同时能够保证可以快速用餐,也能够让自己吃饱。那么如何高效快速的让白领用户进行点餐。从预定座位到排号、从点餐到享用美食、从入店到结账付款等在每一个流程细节上都应该有巨大的改变,这也给更多不同类型的为群众服务的大众美食平台新的努力方向。大众消费水平的提高让餐饮行业拥有了更广阔的发展空间和市场。结合商圈的形成,更全面统一的平台服务将是未来餐饮的重要突破口。基于此本设计选择基SSM的美食中心点餐系统的设计与实现。

1.3 选题的目标

随着生活质量的提升,国内那些思维活跃,愿意接受新鲜事物的群体对于各种健康且美味的食物也是跃跃欲试,这也是商圈美食中心的突破口,而且很多人虽然想尝试着养成一个健康的饮食习惯,但是奈何专业知识的缺失,让很多人无从下手。大部分人对自己吃了些什么,怎么吃还是处于一个无知的状态,也没有一个比较有效的平台向这些渴望知道这一方面知识的人进行传播,所以在这一方面仍旧存在一定的发展趋势和研究空间。

对商圈美食中心的目标也比较明确:

  1. 系统的开发时为了方便所有人,让整个商圈美食中心朝着信息化,数据可查化进行发展的,所以系统一定需要便捷,安装简单易上手,也不会影响餐厅的正常营业。
  2. 在普通百姓的日常生活学习中,网络已经成为一个必备的技能,不和社会脱节至少需要了解一些基础的网络知识和操作技巧[2]。虽然是针对商圈设计的系统,传播力对平台来说依然重要,只有更多人知道系统,才会让更多人来美食中心消费,系统也算是美食中心的又一个宣传渠道。
  3. 平台定位精准有利于帮助管理人员明确自身的服务人群,也有利于制定经营计划。针对人群设计特定的有针对性的功能,分析普遍大众的消费习惯和系统使用习惯,合理规划系统布局。

整个商圈美食中心的最终目标就是帮助更多在商圈周边的工作人群和消费人群在美食中心快速用餐,也能够减少消费者等待的时间,帮助更多白领节约时间专注于自己的工作。工作忙碌也一样不能忽略好好吃饭,这也让众多消费者急需一个真正站在消费者角度设计的系统,为大众提供便捷和美食的享受。

1.4 总体设计原则

美食中心点餐系统在实际需求分析上,考虑到设计、实现以及后期运行维护的方便性的情况之下,采用了设计页面的简洁性、针对性和一致性的设计原则,下面具体介绍。

简洁性:以能够完全完成所设想功能为基础,并且可以正常运行的前提之下,在设计程序过程中让项目变得简单、清晰,易于用户的使用以及简单的学习操作。

针对性:本系统针对美食中心所设计,在设计过程中考虑到用户体验,所以针对这种情况,采用使用简单的使用界面。

一致性:作为一个正式的开发系统,在UI界面上一定要给用户一种有条不紊的秩序,在相同模块或者一致的功能上采用相同字体、相同颜色以及相同的背景,使得用户明确该模块的功能,做到心中有数,极大程度上避免了错误率

1.5 开发技术及相关工具

1.5.1 SSM框架简介

SSM框架并不是一个框架,他是由Spring,Spring MVC 和 MyBatis三个开源框架互相组成。下面Spring MVCSpring 和 MyBatis做详细介绍。

1.5.2 Spring MVC框架

Spring MVC是spring的衍生产物。其中M指的是Mode,即模型,一般叫做业务处理模型,它被Controller的调用,来进行业务以及数据的处理[3]其中V指的是View,即视图,通常解释为返回给客户方面看的结果,客户接受视图以接收信息,这里指的客户分不同种类,可能是浏览器,也可能是应用程序。其中C指的是Controller,即控制器,它从客户端接受请求,再调用Model进行业务处理,最后调出相匹配的View的传递给客户端。Spring MVC本质来讲是MVC框架,与Spring天生集成在一起。使用中央调度器(DispatcherServlet)来调用Model,View,Controller。

1.5.3 Spring 框架

Spring是一种分层的,适用于MVC的轻量级模式框架,包括了IOC(控制翻转)和AOP(面向切面)两大组成部分由于企业在开发专属应用的时候存在各种情况,复杂度较高,因此能够提供多种不同的,强大的功能的Spring框架更受企业欢迎。Spring主要存在的优点:

  1. 由于独特的低侵入式设计,所以很少扰乱代码的正常运行
  2. 与各种应用服务器相互独立,可以真正实现"写一次,到处跑"的承诺。
  3. Spring的IOC容器提供了众多例如但不限于事务消息管理处理服务等,且此功能无需使用人工控制,提高了便捷性。
  4. Spring的AOP支持提供了更好的复用。
  5. Spring的ORM和DAO提简化了底层的数据库访问。
  6. 轻量化,无论是造价还是容量大小,Spring都做到了节约资源的目的由于一整个可以运行的,具有完备功能的Spring框架在本系统中小5MB这相当于本系统整体所需容量的5%;又因为系统所调用的Spring都是开源的,易于学习,因此所需的内存与开销很少。

1.5.4 Mybaits框架

MyBatis功能强大,作为一个高度可自定义的功能结构框架,不同用户使用时都可以根据自己对SQL的需求对它进行改动,并且由于调用MyBits时使用的储存过程比其他调用存储过程简单,并且不仅仅局限于单张表操作,还能够使用高级映射来处理多张表(包括一对一,一对多等等类)之间的关系,因此基于JAVA语言设计的持久层框架中的横向表现对比显得出类拔萃。Mybaits的优点:

1. 简单易学,第三方依赖性极低,易于使用。

  1. 安装方便,可以使得参数自动生成,用户在自行配置文件后SQL语句会自动生成。

3. 灵活,可以解除SQL和程序间的耦合性。

4. 提供包括映射,xml在内的多种标签。

1.6 论文结构

论文从五个章节进行论述:

第一章绪论:通过选题的研究背景,研究目的,选题的目标总体的设计原则,以及技术选型,确定项目的主要功能。

第二章需求分析:进行项目具体的分析,通过技术可行性,经济可行性,操作可行性三个方面进行分析,确保系统的可行性。

第三章系统功设计:本章主要是对系统的整体功能进行设计,以及数据库表的设计,为后期做开发提供牢固的基础条件。

第四章系统功能实现:主要描述了系统开发中各个功能模块的所实现的功能、运行后页面的展示情况和业务流程的展示。

第五章系统测试:本章主要对系统功能进行测试,确保代码的实用性,确保项目上线后能正常运行,完成项目开发的最后过程。


第二章 需求分析

2.1 系统需求分析

根据项目开发流程,在进行开发之前需做详细的需求分析,这也是一个系统从0到1重要的组成部分之一,本章针对基于SSM的美食中心的点餐系统可研分析,确定最终的实现方法。

2.1.1 需求分析介绍

需求分析处于系统分析和软件分析之间,是它俩一个沟通的桥梁。它主要通过描述系统以及对系统整体的一个规划当做项目的基础,并且对软件有着检查检测的功能。好的分析工作有助于减少早期开发的错误,大大提升了产品的开发效率,减少开发项目所花费的成本并提升了产品的质量。

2.1.2 系统用户分析

1. 商圈美食中心点餐服务人员

在商圈美食中心,大众来用餐时进行点单,需要有平台服务人员帮助用户快速的完成餐食的选择和下单,提高买单、出餐的效率。

查看菜谱、菜品:在点餐人员服务端查看商圈美食中心都提供了哪些菜让消费者选择。

用户点餐:消费者在服务人员的帮助下确定餐食。

订餐信息:消费者确定自己想要吃的菜,完成点餐操作之后,服务人员帮助记录后续的餐桌信息,消费者等待用餐即可。

订单结算:完成用餐之后需要确定消费情况之后付款结账。

餐桌使用情况:服务人员需要管理商圈美食中心的所有餐桌的使用情况,保证用户有地方也能及时用餐,毕竟工作日的商圈都是人来人往,快速高效是这个时候的大众更希望得到的服务效果。

2. 商圈美食中心后台管理人员

(1) 菜品类型管理:要想让消费者在商圈美食中心服务端迅速定位不同类型的菜,就需要从后台对菜品类型管理,保证存在用户心里想选择的菜品类型。

(2) 菜品管理:消费者在平台上看到的所有菜品就对应了商圈美食中心拥有的菜品,如果不对菜品管理,系统中就没有,用户就看不到,那菜品的线下销售也就少了渠道,没有人会知道还有这样一道菜。需要根据实际情况实时调整网络。

(3) 订单管理:当用户点餐后商圈美食中心根据订单备餐,及时为消费者提供服务。

(4) 餐桌管理:对餐厅拥有的餐桌现状维护。

(5) 报表:在商圈美食中心的后台是指商圈美食中心的经营和管理者,平台的维护是需要成本和精力的,对应得到的回报就是更多的客流和维护的小成本置换而来的更多收益,报表信息可以很明确的帮助经营者了解销售状况。

2.2 可行性分析

在此次研究开发美食中心点餐系统项目之前,需要对项目地一个前期需求和现在生活当中的一些现状进行研究分析。将分别从技术可行性,经济可行性以及操作可行性三方面进行简要分析。

2.2.1 技术可行性

开发美食中心点餐系统选用的设计工具与语言都是比较简单的Idea、Java、JSP、MySQL。在大学期间已经系统专业的学习了JSP与Java,当时因为学习兴趣。自学了MySQL数据库的操作方法和它的基本使用[8]。同时,也对各种技术工具的使用和开发系统应用环境,系统语言都有了基本的了解,有了一些对系统、语言、工具的有效选择能力。在研究开发此次系统过程当中所使用的技术和软件。都是之前接触过的。 也是跟随着老师做过一些项目开发和程序的研究因此在技术可行性方面是没有问题的。

2.2.2 经济可行性

开发美食中心点餐系统当中所使用的一些技术或软件都是之前在课堂上就使用过的,而且是免费开源的技术,选用的系统模板,编程语言,数据库等都是免费的,所花费的只是实地的考查和信息归纳,再加上系统运行阶段的推广,所需的人力,物理,均小于一般的系统建立。而且开发系统的硬件主体就是计算机。计算机本人拥有。所以也没有多大的开发成本。在真正投入使用时,有一台服务器就可以完全满足用户需求。综合之后,未来的经济收益远大于开发过程中和维护过程的消费。

2.2.3 操作可行性

对美食中心进行了实地观察和考查,归纳整理实时信息,了解系统所需功能,之后对功能进行简化。保证用户操作便利性方面完全可行.在系统实现时也考虑到要让更多的消费者能够简单使用,所以本系统用户界面基于JSP技术开发。当大众都开始使用网络时,一些简单的系统操作基本都可以完成。在系统中主要是通过美食中心的服务人员帮助完成整个点单过程,用户看到餐品记录后只需要选择点餐,剩下的操作都由餐厅服务人员完成,所有有关工作人员在简单培训后即可熟练使用。便于管理,具有操作可行性。

2.3 系统性能分析

一个系统的性能影响了系统自身的使用效果,如果系统的性能不够好,往严重的说,可能会失去本身已经拥有的固定食客,也会让很多来到美食中心用餐的白领不仅没感受到便捷,甚至会背离消费者来美食中心用餐的本意。

  1. 点餐操作简单。要想提高服务效率,首先需要简化系统操作,越简单的流程越容易被理解,也会提升消费者的好感度。但是点餐的必要流程也不能缺少,所以业务在整体设计时,一定要考虑必须要实现的功能和可以被舍弃的功能,简化在美食中心上点餐的流程和操作。

2. 响应速度快。5G加快了生活的节奏,消费者也不希望有多余的等待时间,在系统使用高峰期,餐饮行业也是分秒必争,而系统的对订单的处理快慢,很大一部分取决于系统的响应速度,这就更要求系统能快速响应,减少页面加载出现卡顿。

3. 考虑安全性能。系统本身就是需要对用户展示,属于是直接面向互联网的内容,所以安全性问题很重要[9]。所有订单交易也就意味着商圈美食中心的盈利情况,这属于经营者的秘密,不能众人皆知,所以安全性需要考虑系统的权限设定和一些其它内容的拦截和校验等操作,从而降低系统安全性的事故问题。

商圈美食中心主要用于内部工作人员对整个平台进行管理使用和外部用户在平台上进行下单,根据功能分析,整个系统将会涉及到一些查询和修改等操作。在对用户使用的方面,在订餐高峰期可能会设计到高并发的情况,所以在系统设计时更需要改善整体的性能问题。

2.4 系统功能需求

美食中心点餐系统的出现解决了点餐浪费时间的问题对于用户来说,主要是查看菜品信息、点餐、餐桌管理情况菜单信息管理订单信息;对于管理员来说,可以对美食中心点餐系统的菜品信息,订单信息,等进行管理和维护

2.4.1 用例建模

本系统前台用户角色,后台管理员角色前台用户可以对菜品进行查看、点餐、查看餐桌使用情况、管理订单信息,同时管理员模块分别为:浏览菜品信息管理菜单信息、登录模块、管理报表。后台管理员可以对用户信息进行修改系统整体功能用例图,如图2-1所示。

图2-1 商圈美食中心功能用例图

2.4.2 用例描述

系统参与者如表2-1所示。

表2-1 使用者表

序号

词汇

描述

1

管理员

进入美食中心点餐系统后可以进行登录、餐桌信息管理、订单管理、用户管理的操作

2

用户

进入美食中心点餐系统后可以进行登录、菜品管理、订单管理的操作

登录模块用例详细描述如下表2-2所示。

表2-2 登录模块用例描述

用例条目

描述

用例名称

登录

主要业务参与者

用户、管理员

其他参与者

描述

在使用本系统前需要登录

前置条件

可以进行其他模块功能操作

后置条件

系统主页面

输出

登录操作

触发条件

1.用户或管理员输入用户名和密码

基本流程

2.系统对名称和密码进行验证

3.结束

浏览菜品模块用例详细描述如下表2-3所示。

表2-3 浏览菜品模块用例描述

用例条目

描述

用例名称

浏览商品

主要业务参与者

用户

其他参与者

描述

用户通过网上下单需要的菜品

输出

查看菜品的种类

基本流程

1.在线消费者提交选择菜品的请求

2.系统判断用户已登录

3.系统将录入菜品的信息

4.用户买单之后可以点击已买单

5.结束

菜品管理模块用例详细描述如下表2-4所示。

表2-4 菜品管理模块用例描述

用例条目

描述

用例名称

菜品管理

主要业务参与者

管理员

其他参与者

描述

管理员根据菜品可以选择对菜品信息,菜品分类进行修改、添加菜品、对菜品进行删除

前置条件

管理员已登录

基本流程

1.管理员浏览菜品信息

2.管理员对需要操作的菜品进行操作

3.更新数据库

4.显示修改成功

订单管理模块用例详细描述如下表2-5所示。

表2-5 订单管理模块用例描述

用例条目

描述

用例名称

订单管理

主要业务参与者

管理员

其他参与者

描述

管理员根据用户提交的订单可以选择对订单信息进行修改、删除

前置条件

管理员已登录

基本流程

1.管理员浏览订单信息

2.管理员对需要操作的菜品进行操作

3.更新数据库

4.显示修改成功

用户管理模块用例详细描述如下表2-6所示。

表2-6 用户管理模块用例描述

用例条目

描述

用例名称

用户管理

主要业务参与者

管理员

其他参与者

描述

管理员根据用户信息可以选择对用户信息进行修改、删除

前置条件

管理员已登录

基本流程

1.管理员浏览用户信息

2.管理员对需要操作的用户进行操作

3.更新数据库

4.显示修改成功

2.5 本章小结

本章主要是对系统的可行性分析,分别针对技术可行性,经济可行性,操作可行性三个方面对系统进行分析,从功能的设计,带出逻辑的实现,明确系统所要达到的目的,从而更好的完成整个系统。


第三章 系统功能设计

3.1 系统整体功能

面向对象的理念就是在开发的时候,把所有相关的东西都比作是一个对象,这个对象是干什么的,用什么完成,对象之间有什么交互,这样得出系统中的各种操作。面向对象的方法也可以看做是最接近人们思考方式去想问题的一个思路和认知了,这也是为什么它会被运用到各种开发技术上的重要原因[10]。Java的最大特性就是面向对象,在开发美食中心点餐系统时,结合了面向对象的策略实现整个系统的功能和模块。美食中心点餐系统总体功能结构的展示如图3-1所示。

3-1 商圈美食中心功能结构图

从点餐服务人员和后台管理员两个角色细化功能设计。

点餐服务人员拥有菜品查找,菜谱查询管理,提交订单,订单结算,餐桌使用情况等功能的操作功能。

后台管理员对商圈美食中心的数据有管理的权限,同时需要管理菜谱,订单和员工信息等,为了商圈的管理,还提供了报表统计功能。

3.2 系统角色细化介绍

对服务人员的功能具体设计,如图3-2所示

图3-2 前台服务功能结构图

对系统功能设计后,需要实现的功能模块也变得清晰,按照优先级需要依次实现服务人员登录、消费端菜谱展示、点餐后订单信息、餐桌使用以及用餐结算等功能。

1. 登录:登录后才能为大众服务。

2. 菜谱展示:食客可以选购食品。

3. 订单信息:菜谱信息组成订单。

4. 订单结算:对订单金额确认结算。

5. 餐桌使用:商圈美食中心拥有的餐桌情况描述。

对后台管理员的功能具体设计,3-3所示

图3-3 后台管理功能结构图

系统管理员作用非常重要,因为在页面上展示的菜品信息都是通过后台管理员实际添加的,成功添加之后才会对消费者展示和选择。在后台需要完成的功能包含后台首页,后台员工管理,餐桌信息管理,菜谱管理,订单管理和报表统计功能。

1. 首页:后台首页展示了一些汇总性数据,帮助美食中心确定整体的销售情况。

2. 员工管理:员工就是餐厅的服务人员,是需要对员工信息记录,也便于美食中心整合员工的服务情况。

3. 餐桌管理:定美食中心能够提供多少可供食客就坐的位置,根据美食中心实际营业情况修改餐桌数量,合理规划经营成本。

4. 菜谱管理:菜谱管理包括对菜的直接管理和菜的类型的维护,菜的类型是为了方便消费者点餐时定位菜的位置,菜品多的时候就更需要类型来帮助消费者找到自己想要的菜。分类的重要性在菜品管理上也是一样存在的。

5. 订单管理:成功下单的菜品就会形成一个完整的订单,订单信息里会展示菜的名字和数量单价,最终得到整个订单的价格,消费者付款后订单就会生效,美食中心后台就根据消费者订单为消费者上菜。

6. 报表统计:为了保证系统的最大优势,针对大数据环境也对系统的使用情况进行大数据的获取,根据数据进行分析,得到更适合发展的方向。

3.3 数据库设计

3.3.1 数据库概念设计

在企业级别开发的过程中,关系型数据库是最常使用的存储数据集合的数据库,因为这种类型能够把对象的属性和值相互对应,便于保存也便于理解。数据库的读写遵循ACID的原则保证数据实现的事务的一致性。

本系统主要有点餐服务人员、美食中心管理员、类型、菜品、餐桌、订单、订单详情7个实体对象。

 美食中心点餐系统使用数据库进行存储,本系统总体E-R如图3-4所示。

图3-4 整体E-R图

1. 点餐服务人员。记录人员信息是因为点餐服务人员需要帮助消费者完成点餐操作。如图3-5所示。

3-5 点餐服务人员实体图

2. 管理员。管理员在系统中帮助平台整体管理如3-6所示

3-6 管理员实体图

3. 菜品。菜品信息记录包含的属性值如图3-7所示。

3-7 菜品实体图

4. 菜品类型。对菜品类型分类,拥有的属性包含了图中的类别名称、父类别、类别等级等内容,如3-8所示

3-8 菜系类别实体图

5. 餐桌。餐桌的状态和信息确认都需要被记录,如图3-9所示。

3-9 餐桌实体图

6. 订单详情。对应订单中的菜品详情,也是订单信息表的子表,如图3-10所示

3-10 订单详情实体图

3.3.2 数据库逻辑结构设计

1. 点餐服务人员用于描述记录点餐服务人员信息。表结构如表3-1所示。

3-1 点餐服务人员表

字段含义

字段名

类型

长度

备注

人员ID

ryid

varchar

32

主键

姓名

ryxm

varchar

32

密码

rymm

varchar

32

性别

ryxb

int

2

1 男

2 女

年龄

rynl

int

2

电话

rydh

varchar

32

地址

rydz

varchar

64

2. 菜品类型用于描述菜品信息记录。表结构如表3-2所示。

3-2 菜品类型表

字段含义

字段名

类型

长度

备注

类型ID

lxid

varchar

32

主键

类别名称

lbmc

varchar

64

所属父类型

flx

varchar

32

有效

yx

int

4

1有效2无效

添加时间

tjsj

date

类别等级

lbdj

varchar

64

3. 管理员用于描述记录管理员信息。表结构如表3-3所示。

3-3 管理员表

字段含义

字段名

类型

长度

备注

管理员ID

adminid

varchar

32

主键

管理员姓名

adminxm

varchar

20

性别

adminxb

int

10

1 男

2 女

密码

adminmm

varchar

20

年龄

adminnl

int

10

电话

admindh

varchar

32

11位校验

登录时间

sycdlsj

date

有效

yx

int

2

1 有效

2 无效

入职时间

rzsj

date

添加时间

tjsj

date

4. 餐桌表用于描述餐桌信息记录。表结构如表3-4所示。

表3-4 餐桌表

字段含义

字段名

类型

长度

备注

餐桌ID

czid

varchar

32

主键

是否被用

sfby

varchar

20

1 是 2 否

餐桌状态

syzt

int

11

0:无人;1:正在使用

餐桌描述

ms

varchar

400

可用餐人数

kycrs

int

11

5. 菜品表用于描述菜品信息记录。表结构如表3-5所示。

3-5 菜品表

字段含义

字段名

类型

长度

备注

菜品ID

cpid

varchar

32

主键

菜品名称

cpmc

varchar

16

非空

市场价格

cpscjg

int

11

菜系类别表

菜品描述

cpms

varchar

400

是否热门

cprm

int

2

1 是2 否

菜品图片

cptp

varchar

64

所属类别ID

lxid

varchar

32

添加时间

tjsj

date

更新时间

gxsj

date

添加菜品员工ID

adminid

varchar

32

6. 订单表用于描述订单信息记录。表结构:如表3-6所示。

3-6 订单表

字段含义

字段名

类型

长度

备注

订单ID

orderid

varchar

32

主键

服务人员ID

ryid

varchar

32

用餐餐位

yccw

varchar

32

用餐人姓名

ycrxm

varchar

16

订单状态

ddzt

int

11

1 未支付 2 已支付

付款金额

ddje

int

11

付款时间

fksj

date

3.4 本章小结

本章按照系统实际的功能进行详细的设计,拟定各个功能的模块,将要实现的功能列举出来,确定各个模块之间的划分,完成系统的设计。


第四章 系统功能实现

4.1 使用者登录

使用商圈美食中心时,首先点餐服务人员需要登录平台系统才能帮助用户点餐,而管理商圈美食中心的基本信息更需要登录后才能操作,是安全权限的必要手段之一[7]

4.1.1 登录时序图

登录主要是对用户权限的一个判断,通过前端向后端传入用户的账号和密码,进入不通的系统界面,后端通过拦截器进行拦截请求,判断用户的权限,登录时序图如图4-1所示。

4-1 登录时序图

4.1.2 登录页面

美食中心点餐系统,服务人员登录界面如图4-2所示

4-2 登录页面

在系统中服务人员或后台管理者在登录页面上输入信息之后点击确认按钮,请求就会根据前台页面定位到后台方法,在后台获取实际输入的参数,对参数处理后在数据库中查询,使用SQL语句对实际情况查询,服务人员信息准确则会跳转到图4-2,如果是匹配到管理员信息,则会跳转到图4-3所示

4-3 服务人员页面

4-4 管理员页面

4.1.3 登录流程图

4-5 登录流程

后台管理员添加新的服务人员,4-6所示

4-6 添加员工页面

对商圈中心的服务人员管理,员工列表的展示情况,如图4-7所示。

4-7 服务人员列表页面

4.2 菜单展示

前台服务人员登录后,可以对顾客点餐进行进行查看,以及对菜品订单进行结算。

4.2.1 菜单展示时序图

菜品时序图,如图4-8所示。

4-8 菜品时序图

前台服务人员对进行点菜,通过列表布局展示,包括菜品的基本信息和其他相关内容展示4-9所示

4-9 菜品列表页面

4.2.2 前台展示菜品信息

服务人员正产下单后展示点菜的信息以及是否支付,如图4-10所示

4-10 菜品类型维护页面

4.2.3 服务端订单结算

在服务端,订单结算可以进行订单的结算,同时订单信息同步到后台,如图4-11所示

4-11 订单结算页面

4.2.4 菜品展示流程图

菜品展示流程图如图4-12所示。

4-12 菜品展示流程图

4.3 订单处理

在服务人员的帮助下消费者完成点单操作,具有同步统一性。在商圈美食中心管理人员可以进行餐桌管理和订单管理

4.3.1 服务端餐桌管理时序图

餐桌管理时序图如图4-13所示。

4-13 餐桌管理时序图

服务人员查看餐桌信息4-14所示

4-14 餐桌管理页面

4.3.2 服务端订单结算

餐桌进行编辑后,可以根据餐桌号查看当前订单信息,如图4-15所示。

4-15 订单信息页面

4.3.3 订单流程图

可以通过订单管理,管理订单的信息,订单流程如4-16所示

4-16 订单流程图展示

4.4 菜品管理

管理人员可以添加菜品类型,并且可以添加新的菜系,查看菜单时展示新添加的菜系。

4.4.1 菜品类型时序图

菜品类型时序图如图4-17所示。

4-17 菜品类型时序图

4.4.2 菜品类型展示

商圈中心的所有菜品类型,如图4-18所示

4-18 菜品类型展示

4.4.3 添加菜品

管理人员可以在后台添加菜品如图4-19所示

4-19 添加菜品

4.4.4 菜品管理流程图

管理人员可以通过后台对菜品进行操作,包括添加菜品类型,添加菜品,查看菜品信息等,菜品管理流程图如图4-20所示。

4-20 添加菜品类型

管理人员可以通过后台对菜品进行操作,添加菜品流程图如图4-21所示

4-21 添加菜品

管理人员可以通过后台对菜品进行操作,管理菜品流程图如图4-22所示。

4-22 管理菜品流程

4.5 系统管理

管理人员可以添加员工信息,以及查看员工信息,可以对员工的信息进行操作,可以更加便捷的管理,增加系统的可用性。

4.5.1 系统管理时序图

系统管理时序图如图4-23所示。

4-23 系统管理时序图

4.5.2 添加员工

管理员可以通过管理员权限的页面,点击添加员工信息,可以为员工分配账号,分配权限,输入登录名和密码,姓名,性别,手机号,身份证号,地址后点击立即提交,即可为员工创建账号。

添加员工,如图4-24所示。

4-24 添加员工

4.5.3 员工管理

管理人员可以进行员工管理如图4-25所示

4-25 员工管理

4.4.4 员工管理流程图

管理人员可以对员工信息进行管理,如果4-26所示。

4-26 添加员工流程图

管理人员可以对员工信息进行管理,修改员工登录密码,如果4-27所示。

4-27 修改员工流程图

4.6 本章小结

本章主要对系统的订单管理、用户管理、销量统计、菜谱管理模块进行详细介绍,以及各个功能的操作流程进行详细介绍。


第五章 系统测试

5.1 测试目的

在现代市场当中,每一个信息管理系统在接近完成之后,都要对系统的功能和结构进行测试,软件测试的功能在整个系统当中也存在着很重要的地位。而这个过程也是能够使整个系统功能更加完善。在处理相关信息时或者是进行测试工作的时候,能够有效地减少系统使用时存在的问题,并且通过这种方式能够提高整个系统的使用度,并且通过对页面的功能调试以及系统代码的功能调试,能够加快用户在后期使用系统时的效率[11]。总体来说,通过软件测试能够使更好地发现系统中存在的问题,并且要对找到的问题进行解决,这样也是能够方便维护人员在后期的工作。

5.2 测试方法

在美食中心点餐系统测试的过程当中,会使用各种各样的测试方法来测试系统当中的功能以及结构。使用的最多的测试方法就是系统的功能测试和结构测试。然后会对整个系统进行单元测试集成测试系统测试和验收测试。在系统测试的时候,通过使用对应的方法能够提高系统测试工作的效率,并且通过对系统方法的研究,也能够使系统测试的结果更加准确,保证系统测试的问题没有问题,才能够使整个系统的功能更加完善

主要的内容就是通过黑盒测试来测试系统当中的功能。

功能测试:在系统功能测试的过程当中,系统在测试的时候需要通过相关的数据来测试,系统的功能主要是输入系统的。测试数据,根据得到的结果来判断系统的功能是否正常运行,如果结果出现错误,那么就会对这一部分的功能进行解决。

系统测试:系统测试的过程就是将系统测试过的部分和软件进行结合使用,然后去找到系统中潜在的一些风险,将系统的风险找到并且解决。

验收测试:验收测试所代表的就是对系统的总体测试,在完成了一系列的测试工作之后,对整个系统的全部流程和测试内容进行运行,则在得到系统的结果时,看系统是否能够满足用户的需求。

5.3 测试用例

5.3.1 登录测试

整个系统登录的功能测试情况如表5-1所示。

5-1 登录注册测试用例

测试名称

测试用例

预期结果

实际结果

测试结果

前台用户登录

用户名001,密码000000

成功

成功

测试通过

用户名001,密码111111(错误密码)

失败,提示密码错误

失败,提示密码错误

测试通过

用户名001,密码不填

提示密码不能为空

提示密码不能为空

测试通过

用户名009(用户名正确,密码错误),密码000000

提示账号或密码有误

提示账号或密码有误

测试通过

用户名不填,密码000000

提示账号不能为空

提示账号不能为空

测试通过

在登录页面中,成功登录就会跳转到登录首页,而登录失败就会对应给出提示。在页面中服务人员和后台管理人员成功登录的页面不一致

5.3.2 浏览菜单测试

用户登录后浏览菜单的功能测试如表5-2所示。

表5-2 浏览菜单测试用例

测试名称

测试用例

预期结果

实际结果

测试结果

浏览菜单首页

输入系统地址,未登录

成功

成功

测试通过

输入系统地址,登录

成功

成功

测试通过

输入错误系统地址

无法访问系统

无法访问系统

测试通过

分类浏览菜单

选择上方导航栏,点击其中任意一个分类

页面刷新并展示该菜单下菜品

页面刷新并展示该菜单下菜品

测试通过

选择侧方导航栏,点击其中任意一个分类

页面刷新并展示该菜单下菜品

页面刷新并展示该菜单下菜品

测试通过

续表5-2

测试名称

测试用例

预期结果

实际结果

测试结果

分类浏览菜单

点击任意分类按钮

页面正常展示,系统反映不卡顿

页面正常展示,系统反映不卡顿

测试通过

查看某菜的详情

点击菜品名称

成功跳转到详情页;跳转信息准确

成功跳转到详情页;跳转信息准确

测试通过

点击菜品图片

成功跳转到详情页;跳转信息准确

成功跳转到详情页;跳转信息准确

测试通过

搜索菜单进行浏览

输入菜品名称,点击搜索按钮

成功展示

成功展示

测试通过

输入类别,点击搜索

成功展示

成功展示

测试通过

输入随机文字,点击搜索

页面菜品展示为空

页面菜品展示为空

测试通过

5.3.3 订单管理测试

管理人员登录后订单管理功能测试如图5-3所示。

5-3 订单管理功能测试用例

测试名称

测试用例

预期结果

实际结果

测试结果

后台订单管理

添加餐桌,正确输入各项信息

成功

成功

测试通过

添加餐桌,输入错误信息项

失败,提示输入有误

失败,提示输入有误

测试通过

添加餐桌,不填写任何信息

提示餐桌信息不能为空

提示餐桌信息不能为空

测试通过

删除订单

成功

成功

测试通过

删除订单

失败

失败

测试通过

5.3.4 菜单管理测试

管理人员登录后菜单管理功能测试如图5-4所示。

5-4 菜单管理功能测试用例

测试名称

测试用例

预期结果

实际结果

测试结果

后台菜单管理

添加菜品,正确输入信息

成功

成功

测试通过

添加菜品,输入错误信息

提示输入有误

提示输入有误

测试通过

5-4

测试名称

测试用例

预期结果

实际结果

测试结果

添加菜品类型,输入空值

提示餐桌信息不能为空

提示餐桌信息不能为空

测试通过

添加菜品类型,输入正确值

成功

成功

测试通过

删除菜品

成功

成功

测试通过

删除菜品

删除失败

删除失败

测试通过

5.3.4 系统管理测试

管理人员登录后系统管理功能测试如图5-5所示。

5-5 系统管理功能测试用例

测试名称

测试用例

预期结果

实际结果

测试结果

后台菜单管理

添加员工,输入正确员工信息

成功

成功

测试通过

添加员工,输入错误员工信息

失败,提示请输入正确员工信息

失败,提示请输入正确员工信息

测试通过

修改员工密码,输入错误密码信息

提示员工密码输入有误

提示员工密码输入有误

测试通过

修改员工密码,输入正确密码信息

成功

成功

测试通过

删除员工

成功

成功

测试通过

删除员工

删除失败

删除失败

测试通过

5.4 本章小结

经过对各个模块的系统测试后,发现系统中存在的一些Bug,例如点击菜品分类选项,在菜品显示区不能进行正确的分类,再比如在管理员对菜品进行添加的时候,图片不显示等问题。经过努力的调试,发现其中的错误,最后解决了所有目前发现的Bug。


结论

美食中心点餐系统设计的目标人群是商圈周边的消费者,它的功能实现是从为消费者服务角度着手,在系统中,从服务人员和后台经营者的角度完成系统功能的实现,包括用户登录,美食中心餐桌管理,餐厅菜品类型管理,菜谱管理,服务点餐,订单管理,订单结算以及数据报表等功能。整个系统服务人员的功能端页面简介,直观的把消费者点菜的功能放在首页,来美食中心的人可以直接的完成选餐;后台为了便于经营者管理,在侧边导航里放了所有模块的入口,方便快捷。

通过这次毕业设计的整个开发过程,从需求分析到具体功能实现,再到最终测试和维护的理解有了很大的进步,在这样的发展时代,我们的各个方面是要和信息化技术相结合。通过这样的方式可以让我们的人力物力还有时间财力都能得到有效的节省。信息时代带来的改革也会使缴费方面更加的安全和便捷。经过了这次的实验,不仅让我对以前的知识有了一些复习,还让我对不一样的知识领域有了收获,真的是一举几得。

通过这次对美食中心点餐系统的开发,得出了些许不成熟的总结:

1.实践在我看来才是最重要的,把书本上的知识活学活用,才能更好的吸收、更好地掌握。之前在课堂上的学习并不能更好、更有效率的去消化吸收知识,只是了解了一些片面比较浅显的知识,只有与实践相结合,才能更加透彻的把书本上的知识与现实生活相结合,真正做到融会贯通。

2.通过多次实践,慢慢的就会有许多经验,经验总结的多了,平时写程序时的弯路也会有所减少,这样才能更高效的去做事,对未来也是有所帮助的。

3.做一个网站或者系统,感观很重要,第一眼是要看界面,你的界面如果赏心悦目也是大大大的加分的,多多去实践,以后的排版和界面设计也会越来越好的,本次对于页面的设计还是有些许的简陋,但是相信下次的会更好。并且还是会进一步去学习、去进步。


参考文献

[1]  石志国,薛为民,等.JSP应用教程[M].北京:清华大学出版社,2019.

[2]  刘京华.JavaWeb整合开发王者归来[M].北京:清华大学出版社,2019.

[3]  毕建信基于MVC设计模式的 Web 应用研究与实现[D].武汉:武汉理工大学,2019.

[4] Bruce Eckel.Thinking in Java[M].Upper Saddle River,New Jersey,USA:Prentice Hall,2019.

[5]  Craig Walls,Ryan BreidenBach.Spring In Action[M].Manning Publications,2019.

[6]  Walter Savitch.Absolute Java[M].北京:电子工业出版社,2019.

[7]  陈雄华.Spring企业级应用开发详解[M].北京:电子工业出版社,2019.

[8]  霍斯特曼科内尔.Java 核心技术[M] 北京:机械工业出版社,2020.

[9]  Eric.Java编程思想[M].第4版.机械工业出版社,机械工业出版社.2019.

[10] 朱二华.基于Vue.Js的Web前端应用研究[J].科技与创新,2019.

[11] 庄成三,洪玫,杨秋辉.数据库系统原理及其应用[M].电子工业出版社,2020.

[12] 杜波依斯.MySQL技术内幕[M].第4版.人民邮电出版社,2019.

[13] 孙卫琴.Tomcat 与 Java Web 开发技术详解[M].北京:电子工业出版社,2019.

[14] 朱红,司光亚.JAVA Web 编程指南[M].北京:电子工业出版社,2019.

[15] Rasoolzadegan A, Barforoush A A. Reliable yet flexible software through formal model transformation (rule definition)[J]. Knowledge & Information Systems, 2019, 40(1):79-126


致 谢

 本次设计历时三个月。在本次毕业设计中,能够基本顺利的完成任务,是与指导老师的耐心指导分不开的。指导老师丰富的学识、严谨的治学态度和可贵的敬业精神让我深深的敬佩、是我今后工作的航标和灯塔,同时指导老师的人格魅力也是我终生学习的楷模。我从指导老师身上学到了很多东西。无论是在理论上还是在实践中,我能力都得到不少的提高,这对于我以后的工作和学习都有一种巨大的帮助,在此,特向指导老师表示由衷的感谢。我将会永远记住一句话:师恩难忘!

随着毕业论文的完成,我也即将完成了我在大学的生活里,老师交给我的最后一项任务,大学在我的认知里不仅仅是学习知识的地方,更是提升自己能力的一个机会,在这两年当中我见识了系部各位老师的学术风采,从他们身上学习到了认真周密严谨的学术精神,也从他们的身上看到了爱岗敬业的影子,在今后求职的日子里,我会将这种精神继续发扬下去,不负自己也不负卿,我也一定会将在大学里所学的知识更好的运用在日后的工作中。在此,我想真挚对我大学期间所有的老师说一声感谢,道一句后会有期,我至此远走高飞,您原路返回,终有一天我们还会再次相遇。

最后,在整个系统开发过程中,我不仅是学习到了很多之前没有学过的知识,而且还感受到了其他人的热情,是他们的帮助才让我这个设计的路途不是那么的坎坷,也少走了许多的弯路,在这里我非常感谢他们的帮助。我身边的同学和朋友给了我很多的建议,让我很快的确定了系统的业务逻辑。在此,感谢所有的帮助与支持的我的人,你们的激励将使我不断进步!我会更加努力,不负你们的期望!感谢我的同学和家人们对我的无私付出,感谢学校对我的栽培。希望学校越来越好,学生成绩越来越棒,全体师生,一帆风顺美食

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

詹姆斯爱研究Java

感谢支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值