智能点餐系统_第1页
智能点餐系统_第2页
智能点餐系统_第3页
智能点餐系统_第4页
智能点餐系统_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章绪论

1.1课题背景与研究意义

随着我国社会经济的飞速发展,人民的生活水平日渐提高,中国餐饮行业得

到空前的增长错误味网引腓。现如今,中国餐饮服务行业竞争激烈,所以在这种环

境下,行业革新是必不可少的。当顾客在餐厅用餐的时候,客户的用餐服务流程

虽然看似十分简单,但是这当中的细节往往决定餐厅的满意度高低,因为在这个

过程中,不仅要求信息的传递速度快,更是需要信息的准确度高。用餐服务流程

不仅会影响餐厅的运行效率,更是顾客在这家餐厅用餐体验度的关键。随着人们

消费观念的提高,消费者更加乐于体验新鲜的,有活力的消费方式。而传统的点

菜方式通常仅通过人工来记录菜品、通知后厨顾客点菜的情况、结算用户用餐费

用等。传统点餐方式不仅耗费人力、物力资源,还使工作效率大打折扣,同时在

饭点、节假日时,人员流动量大幅度增加,传统点菜方式不仅难以应付,而且还

会出现数据传递和记录的错误,造成餐厅的服务质量降低、顾客的满意度下降、

餐厅的信誉度受损等。在这种餐厅运行模式下,传统的点餐方式体现了自身的不

全面性,由于传统点餐方式各方面的不足,从而导致了传统点餐已经跟不上当前

时代的快节奏生活。如果想要在这一行业中脱颖而出,就必须提高餐饮服务的管

理水平。因此,在信息化时代,餐饮行业与目前先进的计算机技术相结合,利用

其先进的信息技术实现顾客与餐厅的互动,餐厅局域信息的高效传递,并提供了

原来的点餐方式所没有的服务。使顾客在用餐过程中的体验度大幅度提高,餐厅

人员对餐厅的管理更加简便高效时"蜘皿O

1.2国内外研究现状

餐饮服务行业在20世纪70年代以前,整个餐饮服务流程都是由人力来直接

来完成的。由于轻工业的发展,使得造纸的成本大幅度下降,纸质菜单由于成本

低,菜品内容记录详维准确,避免服务人员口述英品时导致信息传递错误,方便

宣传等优点,受到大众的喜爱,逐渐成为餐厅中天可缺少的物品。但随着使用时

间的增长,纸质菜单的弊端也逐渐显现出来。比如对于新菜品和时令菜,餐厅需

要增加删除菜品的同时,需对菜单也进行更改,这无疑是增添了餐厅成本的负担。

而伴随着计算机应用技术的发展,人们意识到了传统的点餐方式不仅效率低

下,还需要大量成本,因此一些开发人员针对餐饮行业开发了与之相关的电子系

统,这大大促进了餐饮服务行业的发展。餐饮业的信息化管理相对于国内来说,

国外的研究要早上许多。国外己经在20世纪70年代开始对餐饮业系统的开发,

最初是通过计算机来进行账单结算,仅仅降低了工作人员的计算难度,同时也只

能实现统计数据,为顾客结算的功能*来找期用%。而到了20世纪80年代末,在计

算机收银的基础上,出现了电脑与打印机联合工作的方式。这种方式让餐饮服务

行业进入了信息化发展的萌芽阶段.在当时,计算机已经大范围的普及,软件的

1

功能也得到了巨大的改善。由于计算机的高效精准,应用在餐饮行业的性价比十

分高,得到了许多餐厅的青睐。在这种工作方式下,餐厅的服务人员接受完顾客

订单后,不需要再去后厨通知,只需将订单送往前台即可。这时,前台工作人员

将顾客的订单信息输入电脑,同时在后厨打印,厨师依据订单信息为顾客做菜,

从而省略工作人员去后厨递订单的步骤,提高了餐厅的工作效率。到2006年,

电子设备的广泛应用使手持点餐设备得到了普及。用点菜宝进行点餐操作使得点

餐流程所耗时间进一步缩减,它的基本工作方式是将数据传送到无线基站上,再

由无线基站把数据送到电脑上,然后通过局域网把数据发送给各部门的网络打印

机上,这样的功能使得服务人员不再频繁地与前台、后厨进行信息交流,降低了

人力的消耗,使餐厅工作井然有序然地进行。而在这个过程中,顾客只是间接参

与了点餐过程,也就是说这些功能对于顾客来说并没有直接参与操作,由于可能

存在顾客在挑选菜品的时候,服务人员等待时间过长,所以这只是实现了餐厅的

半自动化运营。

2008年到2011年,随着网络的广泛应用,电子技术的革新,智能点餐系统

应餐饮服务行业所需而诞生。智能点餐系统不仅结合了以上各阶段的优点并加以

优化,还借助电子产品性能不断提升的“东风”,实现触摸屏点餐,使顾客点餐

过程更加迅速、流畅。在智能点餐系统中,可以加入菜品和其他服务信息,降低

了餐饮服务管理的复杂性,节省了餐厅的综合费用,餐厅的口碑在这种高效、高

质的服务下不断提升。同时顾客可以及时了解到餐厅服务的信息,达到了餐饮行

业与顾客之间的双赢,实现了餐厅的自动化管理。

客户通过电子设备进行点餐,点餐的信息通过客户端传送给服务器,已达到

智能点餐,但是目前大多数餐厅点餐系统里缺少餐桌的管理功能,一旦顾客大量

涌入的时候由于没有座位只能等,这样就会流失一些顾客,木系统设计了餐桌管

理功能,可以通过管理员可输入座位号与可座人数来创建新的餐桌,避免了客户

流失现象,大大提高了客流量。

1.3论文组织结构

全文可分为七章,具体章节如下:

第1章绪论:本章主要介绍智能点餐系统研究的意义和背景,与传统点餐方

式进行优缺点的对比,同时参考国内外的现状,分析其发展趋势,为本次设计提

供参考性的设计意见。

第2章需求分析:木章主要介绍根据功能性与非功能性方面来分析智能点餐

系统的各方面需求,并进行详细介绍,其中可行性分析对智能点餐系统在技术方

面与经济方面是否可行进行分析,使得本次设计在科学、有效的方式下完成。

第3章关键技术与工具介绍:木章主要介绍对本次设计用到的技术与工具进

行简单描述,包括jQuery、bootstrapSSH集成框架、MySQL数据库等。

2

第4章智能点餐系统的功能设计与实现:本章主要是在第三章的基础上对系

统功能进行详细设计与实现的介绍。

第5章系统测试与结果分析:本章主要是对本次设计的系统进行测试研究,

对可能出现的问题进行改正,最后对系统运行结果进行分析。

第6章结论:木章主要是对本篇论文进行总结,并提出接下来要进行工作研

究的主要方向。

3

第2章需求分析

2.1功能性需求

由于目前传统点餐方式的低效率,高浪费的弊端,智能点餐系统的设计十分

必要且迫在眉睫。本文主要针对使用者的实际需要,以及传统点餐时的缺点进行

分析,进而对智能点餐系统的各部分功能进行设计。本文认为一个全面的点餐系

统应从三种角色进行考虑,首先,对于顾客来说,智能点餐系统所满足的需求应

是能够为顾客在短时间内提供点餐信息,并且实现简单、快速、有效的点餐操作

方式。其次,服务台也应可以通过点餐系统为顾客选择空闲餐桌,在顾客下单完

成后能够对其点餐信息进行查看,并在顾客用餐结束后对顾客订单进行结算与统

计。最后,后厨方也需要通过点餐系统随时查看顾客的点餐内容及额外要求,此

时点餐系统需要为厨师提供一个简单、清晰的列表,以便厨师的阅读和快速配菜

等操作。为了满足餐厅方面对整体系统管理的需求,该系统还将添加系统管理功

能。利用系统管理,管理人员能够做到对系统的实时监控,编辑修改其他模块的

一些重要的功能。以.上的需求都将作为本次设计的智能点餐系统重点设计部分。

2.2系统操作需求

由于该系统所面充的用户量巨大,在系统操作方面就要适应不同的人群,当

系统操作起来越简单,它所面向的用户就越多。系统界面设计要清晰明了,同时

去除一些繁冗无用的操作,让所有使用者不借助系统手册就能使用本系统。

2.3系统功能需求

本系统分为员工管理模块、做菜管理模块、餐桌管理模块、订单管理模块、

菜品管理模块五大模块,为了更细致的划分,对相应的子模块具体功能划分如下:

1.餐桌查询功能:在显示餐桌查询页面中,系统会显示所有的餐桌位置信息,

餐桌的状态,便于查看,合理安排顾客位置可以实现添加餐位信息、修改餐位信

息、删除餐桌。

2.结账功能:输入订单号和日期以确认结账。

3.已买/未买功能:点击已买和未买的图标输入日期,就可以列出相应的订单

详情。

4.销售额查询功能:输入开始和结束的日期进行查询,就可以统il出来服务

员在这一日期内所开过的总销售额,查看营收情况。

5.员工管理功能:可以查询人员信息、员工数量可以做到增加新员工、删除

离职员工、更改员工信息、查询员工、员工考勤的功能。

6.菜谱管理功能:根据菜品的分类可以对新菜品的增加、菜品的删除、修改

菜品信息的功能。根据菜品种类、原材料的数量、可以进行添加功能。

4

2.4可行性分析

2.4.1技术可行性

本次设计的系统是在目前相对成熟的MyEclipse下开发,Web开发框架运用

现在比较流行的SSH集成框架。由于SSH框架的功能较强,运行稳定且效率高,

使得整个点餐系统的性能得到了很大提升。在前端方面使用采用Bootstrap框架,

做到网站美观和功能全面。数据处理方面则使用占用小、效率快、成本低、易维

护的MySQL。由于以上技术的可行性,让这次开发变的合理有效。

2.4.2经济可行性

在本次系统开发中,运用都是目前一些简单的开源开发工具,从而在系统开

发方面和其日常维护方面所耗费的资金较低,随着可以让系统搭载的设备成本在

不断减少,在硬件方面的花销也在减少。由于该系统的各个功能模块操作起来非

常简单,对操作人员的要求不是那么高,这样大大缩减了对操作人员教学所使用

的人力物力,在投入使用的过程中,不仅可以让顾客体验到好的服务,而且还为

餐厅做到宣传作用,进一步降低了餐厅在广告方面所投入的资金。总而言之,该

系统所带来的效益将远大于其所需的成本,在经济方面有着可行性。

5

第3章相关技术与工具介绍

3.1技术介绍

3.1.1JSP

JavaServerPages是由许多网络公司一起创建出来的动态网页技术标准皿味找到

引Mo它在超文本标记语言中,即HTML程序段里插入XML的JSP标签和java

语言程序,这样就可生成拓展名为jsp的文件,这也就创建了一个JSP的页面。

当客户端方面请求页面操作时,首先需要服务器对该请求进行判断,若只是普通

的HTML请求就不需要对其进行处理,直接把它的相关代码直接发送回客户端

浏览器上。若该请求是JSP页面,则需要Tomcal检查这个JSP页面,如果页面

被首次请求或被修改,那么Tomcat将这个页面代码翻译为Servlet,然后Tomcat

通过调用java编译器对其进行编译,使它变为可执行的字节码文件,同时Tomcat

调用java虚拟机对字节码文件,即拓展名为.class文件进行读取和执行,最后将

执行结果发送给客户端的浏览器上。由于该技术的可伸缩性和支持跨平台的优

点,使之广泛应用于网页开发中。

3.1.2JavaScript

JavaScript是由Sun公司设计的一种基于对象的解释型客户端脚本语言。由

于该语言具有相对安全性、跨平台性和动态性,广泛用于客户端Web开发中。

JavaScript通过控制对象来达到控制客户机,常常用来给HTML网页设计动态任

务,比如动态菜单的设计和对用户操作的响应,同时可以为服务器分担数据检验

等任务,总之,它是一种动态的弱类型、面向原型对象的内置支持类。

3.1.3JDBC

JDBC是由原Sun公司开发的一种连接数据库的规则,是执行SQL语句的

应用程序编程接口。它的代码可以在很多数据库中执行,由于它可移植性强、操

作数据库更加简便等特点,受到许多开发者的青睐。该技术通过加载MySQL数

据库的驱动来建立MySQL服务器的连接,然后创建和封装sql语句对象并执行

sql语句"*枚*引冏弧,迭代结果集,最后并依次关闭ResultSet>StatementsConnectiono

3.1.4SSH框架

SSH是一种网络协议,用于计算机之间的加密登录如果一个用户

从本地计算机,使用SSH协议登录另一台远程「算机,我们就可以认为,这种

登录是安全的,即使被中途截获,密码也不会泄露。最早的时候,互联网通信都

是明文通信,一旦被截获,内容就暴露无疑皿引用1995年,芬兰学者Tatu

Ylonen设计了SSH协议,将登录信息全部加密,成为互联网安全的一个基本解

决方案,迅速在全世界获得推广,目前已经成为Linux系统的标准配置•叱则所

SSH框架系统可以分为表示层、业务逻辑层、数据持久层、域模块层,共四

层联w,Spring在2004年左右出现的一个轻量级的J2EE应用开源框架,它

6

是由RodJohnson在其编写的ExpertOne-On-OneJ2EEDevelopmentandDesign

中叙述了关于这一框架概念所演变而来的。

3.2工具介绍

3.2.1MySQL数据库

MySQL的全称是MyStructuredQueryLanguage(构造化查询言语),它是目

前应用最广泛的数据管理系统,由于它是一种关系型的系统,通过把数据存放在

不同的表中的方式,提升了数据库运行的速度与灵活性,同时具有占用较少空间,

总体所需成本少,移植性强,最主要的是有开放源码的特点,受到中小型网站开

发者的青睐。目前有着许多的数据库管理工具,比如Navicat等,这进一步降低

了数据库管理的复杂性,让使用者能够快速有效地对其进行操作。再设计的时候

发生了表与表之间关系的忽略,所以设计表时字少要有一个主键来完成否则会造

成混乱。

3.2.2jQuery

jQuery是一个可以兼容多种目前主流浏览器的JavaScript框架。ftjQuery中

封装了一些JavaScript使用频繁地代码,这样的设计模式给使用者提供了方便、

快捷的设计感受,比如对文档对象模型的便捷操作、创建动画效果、Ajax的数

据交互,因为jQuery可以做到快速轻松开发出功能全面,使用方便的网页,所

以在世界访问量最多的网站中,使用jQuery的网站数量占总数的一半以上。

3.2.3Struts

Struts是目前技术成型和应用常见的基于MVC设计模式的javaweb程序框

架,它可分为模型、视图、控制器。Struts有着到对逻辑关系的控制处理的功能,

而且还提供了taglib,降低代码的繁冗性。总之Struts可以实现在软件开发中各

部分的细节开发。

3.2.4Hibrnate

Hibrnate是一种对象关系映射(ObjectRelationalMapping)的工具。它的工作

原理是在java对象与数据库表之间实现映射关系。由于Hibernate对JDBC实现

了轻量级的对象封装於"3*•,简化DAL层重复代码使得使用者通过操作这些对

象形式来达到使用数据库的目的。具体步骤为首先创建持久化类persistent

Objects,然后创建对象映射文件(*.计01次011)和配置文件(hibernate.cfg.xml),再通

过被映射文件与配置文件映射在数据表中的persistentObjects来编辑数据库的代

码倍族!未找W9I用■.

Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序

使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate

可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任”谡味"o

7

第4章智能点餐系统设计与实现

4.1系统结构设计

本系统采用SSH框架集,如图4-1SSH框架直观图所示。SSH框架集由

SlrulsMVC、Spring和Hibernate组成,整个系统可以分为表示层、业务逻辑层、

数据持久层、共三层,Struts框架是系统的基础框架,它的模型功能实现业务的

跳转鹏初到51底,并分离MVC,制造出DAO(DataAccessObjects)接口,用DAO

接口由负责持久层的Hibernate框架来实现类与数据库的交互,最后以上的两种

框架是由Spring框架管理总未如引用跖。它的本质是一个可以实现IoC(控制反转)和

AOP(面向切面)的容器,而它的目的是为降低使用者在开发软件应用的复杂过

程。如图4-1SSH框架直观图:

表示乂业务逻辑层数据持久层

Spring

事务处理

/I_\数

StrutsMVCHibernate

ServicsDAO,O娓

ActionServlet数据源/连接池

Hibernate

Session管理

图4-1SSH框架直观图

4.2系统总功能模块设计

本系统分为五大模块员工管理模块、做菜管理模块、餐桌管理模块、订单管

理模块、菜品管理模块,下面对其一些模块的功能进行划分,具体划分如图4-2

智能点餐系统总设计功能图。

智能点餐系统

图4-2智能点餐系统总设计功能图

4・3用户登录设计

顾客登录可以直接登录本系统点餐页面,为了顾客进入餐厅后能快速就坐用

餐,因此顾客点击直接进入点餐页面,没有设置权限。在成功登录的前提下,浏

览菜品进行点餐,输入菜品份数加以保存,也可以取消订单,系统不予保存,在

留言板顾客可以查看留言也可以编写留言。

8

员工登录,这时页面会显示输入密码,姓名,输入完密码之后验证是否正确,

如果正确会进入下一页面,输入不正确会提示输入错误,返回首页。确认正确后

用户点击登录进入餐厅主页面,根据页面图标,就会进入相应页面,来完成各项

操作。如图4-3员工登录流程图

Z\

开始

输入用户名

输入密码

N

图4-3员工登录流程图

4.4员工管理模块

本系统属于基础数据,为了方便管理员工专门设计了这一模块,可管理属性

如:员工编号,工种、级别等,员工管理包括增加员工、员工离职、员工信息修

改、员工权限,员工考勤、员工等级。本系统设计了对应的按钮,增加员工时选

择添加员工,在此处不仅需要输入员工编号、姓名、身份证号、电话、基础工资

等基本信息,还要为其创建对应的工种包括服务员、结算台人员、后厨人员以及

每个工种登录名和密码。在服务员添加过程中输入相应的基本个人信息后还要为

其分配工作区域,也就是每个服务员通过管理着一定区域内的餐桌来为在该餐桌

用餐的顾客提供服务,同时赋予顾客订单的杳看权限,这样可以按照不同顾客的

要求来进行相应的服务工作。在结算台人员添加过程中,同样需要录入对应的基

本信息,由于结算台管理整个餐厅的结算工作,所以为其赋予能够查看所有订单

的权限,以及结算功能。后厨人员同样录入基本个人信息并有查看并管理菜品上

全功能。管理员工离职时,选择删除对应员工信息即可,员工信息修改时能够对

其相应人员的基本个人信息进行修改,同时按照餐厅人员变动来对员工进行升迁

9

或降职操作。在对其相应人员考勤录入时,对员二出勤天数进行统计,在工资结

算时可以按照出勤情况来对基础工资进行相应变动。图4-4员工管理功能图。

员工管理

图4-4员工管理功能图

4.5做菜管理

此功能属于基础数据,制作菜品的好坏是整个餐厅运营的重要部分,因此特

地设计了这一模块,此系统根据订单优先对顾客所点的菜品进行先后排序,通过

显示屏传递给厨师,厨师通过屏幕显示的菜品情况,按照菜品分类由相应的厨师

制作完成,另外厨师可以根据菜品做法进行配料,登录页面点击食材就会出现食

材列表,点击所做菜品名称,输入数量点击提交确定完成,显示屏就会出现食材

的用量情况,厨师依据显示完成制作,同时页而有已完成菜品名称标识,和未完

成菜品名称标识,厨师完成菜品制作点击相应图标,传递给餐厅,服务员装盘,

上菜。如图4-5做菜管理功能图。

做菜管理

图4-5做菜管埋功能图

4.6餐桌管理

本系统属于数据管理,包含增加餐桌、删除餐桌、修改餐桌、本系统设计了

对应的按钮,餐桌增加时选择添加餐桌按钮,输入餐桌号码,对餐桌的状态进行

描述,餐桌删除时选择对应的餐桌号码并进行删除,选择修改餐京信息时可对餐

桌号码、最大容纳人数、预定时间、预定状态、餐桌位置进行修改,基于这几种

情况,以增加餐桌的功能为例画出流程图,其它几项同理不予画出。如图4-6为

餐桌管理功能图,图47为餐桌增加流程图。

10

餐桌管理

图4-6餐桌管理功能图

此设计是为了方便顾客快速入座,进入系统页面就可以查询到餐桌的情况,

包含餐桌编号、餐桌位置可以方便看到每桌具体状态,可直接点击餐桌号码图标,

选择增加餐桌、删除餐桌来完成,来完成餐桌的信息修改。如图4-8餐桌查询流

程图:

查询餐桌

输入餐桌情况

显示结果

是否结束二.

增加、删除更

Y改、查询操作

结束

图4-8餐桌查询流程图

11

4.7菜品管理

本系统在菜品信息中可以按照菜品名称、菜品类型、菜品价格范围进行操作,

通过操作可以获取菜品的详细信息。对于菜品种类的管理,按照热菜、凉菜、主

食、饮品来划分,同时餐厅可以按照实际需求来进行对菜品种类添加或删除操作,

由相应厨师进行做菜。

本系统主要是属于基础数据:点击菜品类型可以对不同的菜品类型进行增加

菜品、删除菜品、修改菜品、三部分,本系统设计了对应的按钮,选择增加菜品

可以按照菜品名称、菜品价格、菜品种类、实物图片及菜品配料的属性来添加新

的菜品,当要将菜品删除时,选择对应的菜品编号进行此菜品信息的删除,选择

修改菜品信息可以对以上菜品的基本信息进行修改,同时修改菜品的供应状态,

当菜品售卖完毕时,能够及时将菜品从供应转变到已售完状态。如图4-9菜品管

理功能图:

菜品管理

图4-9菜品管理功能图

4.8订单管理

本系统设计时,顾客在成功登录页面下,浏览菜品进行点餐,输入菜品份数

加以保存,也可以取消订单,系统不予保存,在留言板顾客可以查看留言也可以

编写留言。之后向服务器发送点餐信息,进入系统数据库。如图4-10点餐终端

架构图。

操作代理

监听调用

客户服务器系统数据庠

显示

图470点餐中终端架构图

为了方便统计每天的消耗设计了这一模板,主要就是对餐厅的每天流水进行

统计,包括销售量统计、销售金额的统计和客流量统计,提供依据,在统计中,

12

按照早餐时间、午餐时间、晚餐时间、夜宵时间来进行统计订单,管理者通过不

同时间段的收入来预测食材数量。

在销售金额统计中,可以统计餐厅目前的销售总额,可直观看出餐厅的运营

收益。本系统的设计最终目的就是营业收入统计,功能就是经理可以在某个时间

对餐厅的收入进行统计,登录页面,输入姓名和密码,点击订单管理模块,只要

输入这个时间段的开始日期和结束日期按回车键,系统会自动显示这个时间段的

全部支出和收入明细表,包括支出的名称和数量,收入的名称和数量,经理一目

了然,结束按回车键返回主页面。可以根据具体情况拿出方案,达到餐厅创效。

如图4-11订单管理功能图:

订单管理

图471订单管理功能图

4.8.1已买/未买查询功能

此设计中可以查询客户买单和木买单情况,根据订单状况对已买结账的订单

进行标注,系统会自动显示为买单信息。如果没有买单系统会标注未买订单,输

入开始H期和结束日期按回车键,系统会显示未买单菜品的名称、价格、份数详

细列表。

4.8.2结账功能

此设计就是服务员根据输入餐桌号码或者订单号码,按回车键系统就会列出

相应定单列表,输入实际金额来确认金额是否准确,之后输入要结算订单号或餐

桌号,系统就会自动提示结账成功,输入未结算餐桌号码或者订单号码,系统就

会显示未结算定单。

4.8.3销售额查询功能

此设计中为了避免统计上的错误,本系统设计了销售额的查询模块,如果服

务员负责了收银工作此系统按日期也可以统计出销售金额总和。如图4-12销售

额操作流程图:

图4-12销售额操作流程图

4.9数据库设计

4.9.1实体之间关系

本系统采用数据库的实体联系模型E-R图,其表达表达能力强,用户可以看

懂表达出的信息,易于用户接受。通过对上面各部分的实体分析,得到本系统实

体的联系,具体如下:

用户实体可以分为四类即顾客、服务员、后厨、经理°来餐厅的顾客可以对

多种菜品进行浏览,顾客与菜品之间是多对多的关系。不同的顾客可以发布不同

的备注,与备注之间是多对多的关系。顾客下单操作与订单之间是一对多关系。

每一种订单支付操作所生成的支付信息不同,因此订单与支付信息是一对多的关

系。前台的人员可以管理所有订单,因此前台人员与订单是多对多的关系。后厨

人员可以接收多个订单,所以后厨与订单是多对多关系。后厨人员可以查看多种

菜品信息,因此与菜品之间是多对多关系。不同订单中包含了多种菜品信息,因

此订单与菜品之间是多对多的关系。来餐厅的顾客可以对多种菜品进行浏览,顾

14

客与菜品之间是多对多的关系”供“引皿。不同的顾客可以发布不同的备注,与备

注之间是多对多的关系。顾客下单操作与订单之间是一对多关系。每一种订单支

付操作所生成的支付信息不同,因此订单与支付信息是一对多的关系。前台的人

员可以管理所有订单,因此前台人员与订单是多对多的关系。后厨人员可以接收

多个订单,所以后厨与订单是多对多关系。后厨人员可以查看多种菜品信息,因

此与菜品之间是多对多关系。不同订单中包含了多种菜品信息,因此订单与菜品

之间是多对多的关系。

4.9.2实体具体情况

1.订单实体

订单实体包含属性有操作人员、顾客人数、留言编号、是否支付、订单息价、

菜是否上全、餐桌编号、下单时间,具体实体联系如下图4-13订单实体关系图。

图4-13订单实休关系图

2.菜品实体

菜品实体包含属性有菜品名称、菜品价格、菜品图片、菜品介绍、菜品种类。

图4T4实体菜品关系图

3.实体与实体关系如下图:

15

支付信息

臾号

支付

M

前台管理

图4T5实体与实体关系图

4.10系统实现

4.10.1登录模块

此页面只适合餐厅工作人员用户在使用该系统时,具体操作流程如图用户输

入用户名,输入密码,点击确认,来验证密码和用户名正确与否,如果出现错误

系统则提示返回重新输入,如果正确点击确认,进入页面。登录页面如下:

图476登录页面图

4.10.2注册模块

用户注册操作如图需要填写用户信息点击立即提交,数据信息传输到数据

库,用户可以使用新注册和密码进如页面。如图4-17用户注册成功图。

»11Mli23123男18844189674226M7896..K«・8口口

图4T7用户注册成功图

4.10.3顾客点餐

在model层中定义DinnerNotice类,Action层的DianCanAction中设计

OrderMenu用于获取订单号、菜品名称、菜品数量、顾客留言、菜品总价的信息。

通过Action层引用相应的Service层,并结合Struts的配置文件来接受顾客的点

餐请求“e的用,°Service层中包含了DinnerNoticeservicelmpLjava实现类,通过

16

该实现类实现了DinnerOrderService接口,引用相应的DA。层数据库操作。通

过ord6rMenu的JS文件里生成表单验证和ajax,其中ajax是用来根据后台异步

判断是否下单成功。设计setRcmark。函数是为给顾客提供菜品备注的功能,并

通过使用addOrder(order)方法获取订单小票,通过使用addOrder(order)方法获取

订单小票,如果后台dinnerNoticeservice.addNolice(nolice)这个方法可以得到数据

就返回一个U的值设置为前台ajax的下单成功,若后台得不到顾客的订单数据

就返回-1,表示顾客下单失败。如图4-18顾客点餐页面。

图4-18顾客点餐页面

4.10.4订单管理预结算

通过DinnerOrder.Java定义DinnerOrder类,Action层的DinnerOrderAction

中设计getAHOrderlnfo用于获取餐桌编号、下单时间、开台人员、顾客人数、是

否支付、订单总价、菜是否上全等信息。getOrderlnf。用于订单结算后状态的自

动改变,sumOrder用于订单总数的计算,isnOrderlnfo用于订单菜品上全的管理。

通过Action层引用相应的Service层,并结合Struts的配置文件来接受页面传递

的请求数据"秘即佣如oService层中包含了DinnerOrderservicelmpLjava实现类,通

过该实现类实现了DinnerOrderService.java接口,引用相应的DAO层数据库操

作。由于DinnerOrderDaoImpLjava中的DinnerOrderDaoImpl写有SQL语句,所

以该数据库可以通过服务人员的具体操作来进行编辑。结算页面中运用了layui

框架对页面进行构建,在OrderJieSuan.js中,首先用layui对结算页面的table表

格进行泡染,渲染完成table后,进行事件的监听,在jsp中设计lay-event事件,

为detail(订单结算),前台的订单管理中的gctAHO「dcrInfo()为按时查询订单信息,

配置lable.onCtool(tab)',function(obj)监听工具条对detail事件进行监听,当detail

传过来时,使用$.post方法调用后台QianTaiAction中的updateOrder方法,在后

台中判断订单是否已结算,当结算完成时,数据库中ispay字段的值将变为1,

说明结算成功。如图与19订单结算页面。

17

,经eaw:TWW:刷e皿^3

订■.gil*ra,rt13"皿金・5的

&2012019«rW880:…E120<Xf9

S3102018M田10110京文村

»«aonseeo:…*nio家夏付

ei皿MI*iate•

图4-19订单结算页面

4.10.5菜品功能

菜品管理模块包含了Mcnu.java类,在其中定义了菜品名称、菜品类别、菜

品价格、菜品类别、菜品图片路径信息。通过Aclion层引用相应的Service层,

并结合Struts的配置文件来接受页面传递的请求数据。Action层的

McnuAction.java中AddMcnu、delMenu、UpdateMenu对菜品信息进行添加、删

除操作。使用MenuType方法对菜品进行分类管理,getAHMenu用于对菜品价格、

菜品名称、菜品描述的编辑修改。

Service层中包含了MenuservicelmpLjava实现类,通过action层的调用,实

现了使用Mcnuscrvicc.java接口引用相应的DAO层数据库操作。由于

MenuDaoImpl.java中的MenuDaoImpl写有SQL语句,所以菜谱数据库可以通过

管理者的具体操作来进行编辑。

4.10.6餐桌页面

通过DiningTable.Java定义DiningTable类,在该类中包括了餐桌编号、最

大就座人数、餐桌是否占用。通过Action层中的get方法查询餐桌信息功能,del

删除餐桌,Update修改餐桌信息,add添加餐桌的方法来引用相应的Service层,

并结合Struts的配置文件来接受页面传递的请求数据。Service层中包含了

DiningTableservicelmpI实现类,通过该实现类实现\DiningTableService接口,

引用相应的DAO层数据库操作。由于DiningTableDaoImpl写有SQL语句,所

以餐桌数据库可以通过管理人员的具体操作来进行编辑。

4.10.7员工管理

通过Action层引用相应的Service层,来接受页面的请求数据。在它的Action

层的UsersAction中使用getAHUsers、Update、Add、del方法实现获取所有员工

信息,修改员T信息.添加员T和删除员T.同时还可通过HplkerPwd方式修

改员工的登录名及密码。它的Service层中包含了Usersservicelmpl实现类,通过

该实现类实现了Usersservice接口,引用相应的DAO层数据库操作。出于

UscrsDaoImpl中的UsersDaoImpl写有SQL语句,所以员工信息的数据库可以通

过管理者的具体操作来进行编辑。

1.删除员工信息功能

在使用删除员工信息功能时,点击该客户信息后面的删除,系统就会弹出对

话框“是否确定删除”,点击确定即可删除信息,点击取消则不继续进行操作C

18

2.添加员工信息功能

在使用添加员工信息功能时,在数据库页面中就会显示增加了一条客户信

息。在列表界面中点击“新增”,即可弹出添加客户信息对话框,点击“保存”

即可新增一条客户信息,并在列表界面显示。

3.修改信息功能

在使用修改功能时,不能将全部信息进行修改,需要选中一条客户点击修改,

即可弹出修改客户信息的界面,界面中出现了该条客户信息的原始信息,将需要

修改的部分点击删除,再填入新的信息内容,点击“保存”即可完成修改。

19

第5章系统测试与结果分析

5.1系统测试方法

从该系统的内部结构和系统实现角度可以进夕亍黑盒测试与白盒测试。本次测

试的主要方法为黑盒测试。黑盒测试的方法是把系统抽象成一个不可以看见内部

的盒子,在这种情况下来对系统各部分功能接口进行测试操作,换句话说,在不

看系统内部构成和代码前提下,检查本系统是否能按照用户需求来工作。为了使

本文语言简洁有效,下面将对主要功能测试进行叙述。

5.2系统测试用例

5.2.1用户登录测试

用户登录中的用户名和密码都是需要验证的项,如果没填写或填写错误,就

会弹出相应的提示信息,通过四组测试可以看出都已经测试成功,从测试结果来

看与预期结果完全相同。表5-1是本系统用户登录的测试表。

表5-1用户登录测试表

测试内容操作描述数据期望结果实际结果测试状态

1输入用户登录名,登录名显示警告信息显示警告信息与期望结

点“登陆”按钮qianlai,密“用户名为空!”“用户名为空!”果相同

码为空。

2输入密码,按“登登录名为空显示警告信息显示警告信息与期望结

陆”按

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论