版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章绪论1.1课题背景与研究意义随着我国社会经济的飞速发展,人民的生活水平日渐提高,中国餐饮行业得到空前的增长REF_Ref18662\w\h错误!未找到引用源。。现如今,中国餐饮服务行业竞争激烈,所以在这种环境下,行业革新是必不可少的。当顾客在餐厅用餐的时候,客户的用餐服务流程虽然看似十分简单,但是这当中的细节往往决定餐厅的满意度高低,因为在这个过程中,不仅要求信息的传递速度快,更是需要信息的准确度高。用餐服务流程不仅会影响餐厅的运行效率,更是顾客在这家餐厅用餐体验度的关键。随着人们消费观念的提高,消费者更加乐于体验新鲜的,有活力的消费方式。而传统的点菜方式通常仅通过人工来记录菜品、通知后厨顾客点菜的情况、结算用户用餐费用等。传统点餐方式不仅耗费人力、物力资源,还使工作效率大打折扣,同时在饭点、节假日时,人员流动量大幅度增加,传统点菜方式不仅难以应付,而且还会出现数据传递和记录的错误,造成餐厅的服务质量降低、顾客的满意度下降、餐厅的信誉度受损等。在这种餐厅运行模式下,传统的点餐方式体现了自身的不全面性,由于传统点餐方式各方面的不足,从而导致了传统点餐已经跟不上当前时代的快节奏生活。如果想要在这一行业中脱颖而出,就必须提高餐饮服务的管理水平。因此,在信息化时代,餐饮行业与目前先进的计算机技术相结合,利用其先进的信息技术实现顾客与餐厅的互动,餐厅局域信息的高效传递,并提供了原来的点餐方式所没有的服务。使顾客在用餐过程中的体验度大幅度提高,餐厅人员对餐厅的管理更加简便高效REF_Ref8252\w\h错误!未找到引用源。。1.2国内外研究现状餐饮服务行业在20世纪70年代以前,整个餐饮服务流程都是由人力来直接来完成的。由于轻工业的发展,使得造纸的成本大幅度下降,纸质菜单由于成本低,菜品内容记录详细准确,避免服务人员口述菜品时导致信息传递错误,方便宣传等优点,受到大众的喜爱,逐渐成为餐厅中不可缺少的物品。但随着使用时间的增长,纸质菜单的弊端也逐渐显现出来。比如对于新菜品和时令菜,餐厅需要增加删除菜品的同时,需对菜单也进行更改,这无疑是增添了餐厅成本的负担。而伴随着计算机应用技术的发展,人们意识到了传统的点餐方式不仅效率低下,还需要大量成本,因此一些开发人员针对餐饮行业开发了与之相关的电子系统,这大大促进了餐饮服务行业的发展。餐饮业的信息化管理相对于国内来说,国外的研究要早上许多。国外己经在20世纪70年代开始对餐饮业系统的开发,最初是通过计算机来进行账单结算,仅仅降低了工作人员的计算难度,同时也只能实现统计数据,为顾客结算的功能REF_Ref19560\w\h错误!未找到引用源。。而到了20世纪80年代末,在计算机收银的基础上,出现了电脑与打印机联合工作的方式。这种方式让餐饮服务行业进入了信息化发展的萌芽阶段。在当时,计算机已经大范围的普及,软件的功能也得到了巨大的改善。由于计算机的高效精准,应用在餐饮行业的性价比十分高,得到了许多餐厅的青睐。在这种工作方式下,餐厅的服务人员接受完顾客订单后,不需要再去后厨通知,只需将订单送往前台即可。这时,前台工作人员将顾客的订单信息输入电脑,同时在后厨打印,厨师依据订单信息为顾客做菜,从而省略工作人员去后厨递订单的步骤,提高了餐厅的工作效率。到2006年,电子设备的广泛应用使手持点餐设备得到了普及。用点菜宝进行点餐操作使得点餐流程所耗时间进一步缩减,它的基本工作方式是将数据传送到无线基站上,再由无线基站把数据送到电脑上,然后通过局域网把数据发送给各部门的网络打印机上,这样的功能使得服务人员不再频繁地与前台、后厨进行信息交流,降低了人力的消耗,使餐厅工作井然有序然地进行。而在这个过程中,顾客只是间接参与了点餐过程,也就是说这些功能对于顾客来说并没有直接参与操作,由于可能存在顾客在挑选菜品的时候,服务人员等待时间过长,所以这只是实现了餐厅的半自动化运营。2008年到2011年,随着网络的广泛应用,电子技术的革新,智能点餐系统应餐饮服务行业所需而诞生。智能点餐系统不仅结合了以上各阶段的优点并加以优化,还借助电子产品性能不断提升的“东风”,实现触摸屏点餐,使顾客点餐过程更加迅速、流畅。在智能点餐系统中,可以加入菜品和其他服务信息,降低了餐饮服务管理的复杂性,节省了餐厅的综合费用,餐厅的口碑在这种高效、高质的服务下不断提升。同时顾客可以及时了解到餐厅服务的信息,达到了餐饮行业与顾客之间的双赢,实现了餐厅的自动化管理。客户通过电子设备进行点餐,点餐的信息通过客户端传送给服务器,已达到智能点餐,但是目前大多数餐厅点餐系统里缺少餐桌的管理功能,一旦顾客大量涌入的时候由于没有座位只能等,这样就会流失一些顾客,本系统设计了餐桌管理功能,可以通过管理员可输入座位号与可座人数来创建新的餐桌,避免了客户流失现象,大大提高了客流量。1.3论文组织结构全文可分为七章,具体章节如下:第1章绪论:本章主要介绍智能点餐系统研究的意义和背景,与传统点餐方式进行优缺点的对比,同时参考国内外的现状,分析其发展趋势,为本次设计提供参考性的设计意见。第2章需求分析:本章主要介绍根据功能性与非功能性方面来分析智能点餐系统的各方面需求,并进行详细介绍,其中可行性分析对智能点餐系统在技术方面与经济方面是否可行进行分析,使得本次设计在科学、有效的方式下完成。第3章关键技术与工具介绍:本章主要介绍对本次设计用到的技术与工具进行简单描述,包括jQuery、bootstrap、SSH集成框架、MySQL数据库等。第4章智能点餐系统的功能设计与实现:本章主要是在第三章的基础上对系统功能进行详细设计与实现的介绍。第5章系统测试与结果分析:本章主要是对本次设计的系统进行测试研究,对可能出现的问题进行改正,最后对系统运行结果进行分析。第6章结论:本章主要是对本篇论文进行总结,并提出接下来要进行工作研究的主要方向。
第2章需求分析2.1功能性需求由于目前传统点餐方式的低效率,高浪费的弊端,智能点餐系统的设计十分必要且迫在眉睫。本文主要针对使用者的实际需要,以及传统点餐时的缺点进行分析,进而对智能点餐系统的各部分功能进行设计。本文认为一个全面的点餐系统应从三种角色进行考虑,首先,对于顾客来说,智能点餐系统所满足的需求应是能够为顾客在短时间内提供点餐信息,并且实现简单、快速、有效的点餐操作方式。其次,服务台也应可以通过点餐系统为顾客选择空闲餐桌,在顾客下单完成后能够对其点餐信息进行查看,并在顾客用餐结束后对顾客订单进行结算与统计。最后,后厨方也需要通过点餐系统随时查看顾客的点餐内容及额外要求,此时点餐系统需要为厨师提供一个简单、清晰的列表,以便厨师的阅读和快速配菜等操作。为了满足餐厅方面对整体系统管理的需求,该系统还将添加系统管理功能。利用系统管理,管理人员能够做到对系统的实时监控,编辑修改其他模块的一些重要的功能。以上的需求都将作为本次设计的智能点餐系统重点设计部分。2.2系统操作需求由于该系统所面对的用户量巨大,在系统操作方面就要适应不同的人群,当系统操作起来越简单,它所面向的用户就越多。系统界面设计要清晰明了,同时去除一些繁冗无用的操作,让所有使用者不借助系统手册就能使用本系统。2.3系统功能需求本系统分为员工管理模块、做菜管理模块、餐桌管理模块、订单管理模块、菜品管理模块五大模块,为了更细致的划分,对相应的子模块具体功能划分如下:1.餐桌查询功能:在显示餐桌查询页面中,系统会显示所有的餐桌位置信息,餐桌的状态,便于查看,合理安排顾客位置可以实现添加餐位信息、修改餐位信息、删除餐桌。2.结账功能:输入订单号和日期以确认结账。3.已买/未买功能:点击已买和未买的图标输入日期,就可以列出相应的订单详情。4.销售额查询功能:输入开始和结束的日期进行查询,就可以统计出来服务员在这一日期内所开过的总销售额,查看营收情况。5.员工管理功能:可以查询人员信息、员工数量可以做到增加新员工、删除离职员工、更改员工信息、查询员工、员工考勤的功能。6.菜谱管理功能:根据菜品的分类可以对新菜品的增加、菜品的删除、修改菜品信息的功能。根据菜品种类、原材料的数量、可以进行添加功能。2.4可行性分析2.4.1技术可行性本次设计的系统是在目前相对成熟的MyEclipse下开发,Web开发框架运用现在比较流行的SSH集成框架。由于SSH框架的功能较强,运行稳定且效率高,使得整个点餐系统的性能得到了很大提升。在前端方面使用采用Bootstrap框架,做到网站美观和功能全面。数据处理方面则使用占用小、效率快、成本低、易维护的MySQL。由于以上技术的可行性,让这次开发变的合理有效。2.4.2经济可行性在本次系统开发中,运用都是目前一些简单的开源开发工具,从而在系统开发方面和其日常维护方面所耗费的资金较低,随着可以让系统搭载的设备成本在不断减少,在硬件方面的花销也在减少。由于该系统的各个功能模块操作起来非常简单,对操作人员的要求不是那么高,这样大大缩减了对操作人员教学所使用的人力物力,在投入使用的过程中,不仅可以让顾客体验到好的服务,而且还为餐厅做到宣传作用,进一步降低了餐厅在广告方面所投入的资金。总而言之,该系统所带来的效益将远大于其所需的成本,在经济方面有着可行性。
第3章相关技术与工具介绍3.1技术介绍3.1.1JSPJavaServerPages是由许多网络公司一起创建出来的动态网页技术标准REF_Ref8797\w\h错误!未找到引用源。。它在超文本标记语言中,即HTML程序段里插入XML的JSP标签和java语言程序,这样就可生成拓展名为jsp的文件,这也就创建了一个JSP的页面。当客户端方面请求页面操作时,首先需要服务器对该请求进行判断,若只是普通的HTML请求就不需要对其进行处理,直接把它的相关代码直接发送回客户端浏览器上。若该请求是JSP页面,则需要Tomcat检查这个JSP页面,如果页面被首次请求或被修改,那么Tomcat将这个页面代码翻译为Servlet,然后Tomcat通过调用java编译器对其进行编译,使它变为可执行的字节码文件,同时Tomcat调用java虚拟机对字节码文件,即拓展名为.class文件进行读取和执行,最后将执行结果发送给客户端的浏览器上。由于该技术的可伸缩性和支持跨平台的优点,使之广泛应用于网页开发中。3.1.2JavaScriptJavaScript是由Sun公司设计的一种基于对象的解释型客户端脚本语言。由于该语言具有相对安全性、跨平台性和动态性,广泛用于客户端Web开发中。JavaScript通过控制对象来达到控制客户机,常常用来给HTML网页设计动态任务,比如动态菜单的设计和对用户操作的响应,同时可以为服务器分担数据检验等任务,总之,它是一种动态的弱类型、面向原型对象的内置支持类。3.1.3JDBCJDBC是由原Sun公司开发的一种连接数据库的规则,是执行SQL语句的应用程序编程接口。它的代码可以在很多数据库中执行,由于它可移植性强、操作数据库更加简便等特点,受到许多开发者的青睐。该技术通过加载MySQL数据库的驱动来建立MySQL服务器的连接,然后创建和封装sql语句对象并执行sql语句REF_Ref20102\w\h错误!未找到引用源。,迭代结果集,最后并依次关闭ResultSet、Statement、Connection。3.1.4SSH框架SSH是一种网络协议,用于计算机之间的加密登录REF_Ref9323\w\h错误!未找到引用源。。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。最早的时候,互联网通信都是明文通信,一旦被截获,内容就暴露无疑REF_Ref9565\w\h错误!未找到引用源。。1995年,芬兰学者TatuYlonen设计了SSH协议,将登录信息全部加密,成为互联网安全的一个基本解决方案,迅速在全世界获得推广,目前已经成为Linux系统的标准配置REF_Ref32121\w\h错误!未找到引用源。。SSH框架系统可以分为表示层、业务逻辑层、数据持久层、域模块层,共四层REF_Ref32595\w\h错误!未找到引用源。,Spring在2004年左右出现的一个轻量级的J2EE应用开源框架,它是由RodJohnson在其编写的ExpertOne-On-OneJ2EEDevelopmentandDesign中叙述了关于这一框架概念所演变而来的。3.2工具介绍3.2.1MySQL数据库MySQL的全称是MyStructuredQueryLanguage(构造化查询言语),它是目前应用最广泛的数据管理系统,由于它是一种关系型的系统,通过把数据存放在不同的表中的方式,提升了数据库运行的速度与灵活性,同时具有占用较少空间,总体所需成本少,移植性强,最主要的是有开放源码的特点,受到中小型网站开发者的青睐。目前有着许多的数据库管理工具,比如Navicat等,这进一步降低了数据库管理的复杂性,让使用者能够快速有效地对其进行操作。再设计的时候发生了表与表之间关系的忽略,所以设计表时字少要有一个主键来完成否则会造成混乱。3.2.2jQueryjQuery是一个可以兼容多种目前主流浏览器的JavaScript框架。在jQuery中封装了一些JavaScript使用频繁地代码,这样的设计模式给使用者提供了方便、快捷的设计感受,比如对文档对象模型的便捷操作、创建动画效果、Ajax的数据交互,因为jQuery可以做到快速轻松开发出功能全面,使用方便的网页,所以在世界访问量最多的网站中,使用jQuery的网站数量占总数的一半以上。3.2.3StrutsStruts是目前技术成型和应用常见的基于MVC设计模式的javaweb程序框架,它可分为模型、视图、控制器。Struts有着到对逻辑关系的控制处理的功能,而且还提供了taglib,降低代码的繁冗性。总之Struts可以实现在软件开发中各部分的细节开发。3.2.4HibrnateHibrnate是一种对象关系映射(ObjectRelationalMapping)的工具。它的工作原理是在java对象与数据库表之间实现映射关系。由于Hibernate对JDBC实现了轻量级的对象封装REF_Ref13\w\h错误!未找到引用源。,简化DAL层重复代码使得使用者通过操作这些对象形式来达到使用数据库的目的。具体步骤为首先创建持久化类persistentObjects,然后创建对象映射文件(*.hbm.xml)和配置文件(hibernate.cfg.xml),再通过被映射文件与配置文件映射在数据表中的persistentObjects来编辑数据库的代码REF_Ref157\w\h错误!未找到引用源。。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任REF_Ref274\w\h错误!未找到引用源。。
第4章智能点餐系统设计与实现4.1系统结构设计本系统采用SSH框架集,如图4-1SSH框架直观图所示。SSH框架集由StrutsMVC、Spring和Hibernate组成,整个系统可以分为表示层、业务逻辑层、数据持久层、共三层,Struts框架是系统的基础框架,它的模型功能实现业务的跳转REF_Ref486\w\h错误!未找到引用源。,并分离MVC,制造出DAO(DataAccessObjects)接口,用DAO接口由负责持久层的Hibernate框架来实现类与数据库的交互,最后以上的两种框架是由Spring框架管理REF_Ref1153\w\h错误!未找到引用源。。它的本质是一个可以实现IoC(控制反转)和AOP(面向切面)的容器,而它的目的是为降低使用者在开发软件应用的复杂过程。如图4-1SSH框架直观图:图4-1SSH框架直观图4.2系统总功能模块设计本系统分为五大模块员工管理模块、做菜管理模块、餐桌管理模块、订单管理模块、菜品管理模块,下面对其一些模块的功能进行划分,具体划分如图4-2智能点餐系统总设计功能图。图4-2智能点餐系统总设计功能图4.3用户登录设计顾客登录可以直接登录本系统点餐页面,为了顾客进入餐厅后能快速就坐用餐,因此顾客点击直接进入点餐页面,没有设置权限。在成功登录的前提下,浏览菜品进行点餐,输入菜品份数加以保存,也可以取消订单,系统不予保存,在留言板顾客可以查看留言也可以编写留言。员工登录,这时页面会显示输入密码,姓名,输入完密码之后验证是否正确,如果正确会进入下一页面,输入不正确会提示输入错误,返回首页。确认正确后用户点击登录进入餐厅主页面,根据页面图标,就会进入相应页面,来完成各项操作。如图4-3员工登录流程图图4-3员工登录流程图4.4员工管理模块本系统属于基础数据,为了方便管理员工专门设计了这一模块,可管理属性如:员工编号,工种、级别等,员工管理包括增加员工、员工离职、员工信息修改、员工权限,员工考勤、员工等级。本系统设计了对应的按钮,增加员工时选择添加员工,在此处不仅需要输入员工编号、姓名、身份证号、电话、基础工资等基本信息,还要为其创建对应的工种包括服务员、结算台人员、后厨人员以及每个工种登录名和密码。在服务员添加过程中输入相应的基本个人信息后还要为其分配工作区域,也就是每个服务员通过管理着一定区域内的餐桌来为在该餐桌用餐的顾客提供服务,同时赋予顾客订单的查看权限,这样可以按照不同顾客的要求来进行相应的服务工作。在结算台人员添加过程中,同样需要录入对应的基本信息,由于结算台管理整个餐厅的结算工作,所以为其赋予能够查看所有订单的权限,以及结算功能。后厨人员同样录入基本个人信息并有查看并管理菜品上全功能。管理员工离职时,选择删除对应员工信息即可,员工信息修改时能够对其相应人员的基本个人信息进行修改,同时按照餐厅人员变动来对员工进行升迁或降职操作。在对其相应人员考勤录入时,对员工出勤天数进行统计,在工资结算时可以按照出勤情况来对基础工资进行相应变动。图4-4员工管理功能图。图4-4员工管理功能图4.5做菜管理此功能属于基础数据,制作菜品的好坏是整个餐厅运营的重要部分,因此特地设计了这一模块,此系统根据订单优先对顾客所点的菜品进行先后排序,通过显示屏传递给厨师,厨师通过屏幕显示的菜品情况,按照菜品分类由相应的厨师制作完成,另外厨师可以根据菜品做法进行配料,登录页面点击食材就会出现食材列表,点击所做菜品名称,输入数量点击提交确定完成,显示屏就会出现食材的用量情况,厨师依据显示完成制作,同时页面有已完成菜品名称标识,和未完成菜品名称标识,厨师完成菜品制作点击相应图标,传递给餐厅,服务员装盘,上菜。如图4-5做菜管理功能图。图4-5做菜管理功能图4.6餐桌管理本系统属于数据管理,包含增加餐桌、删除餐桌、修改餐桌、本系统设计了对应的按钮,餐桌增加时选择添加餐桌按钮,输入餐桌号码,对餐桌的状态进行描述,餐桌删除时选择对应的餐桌号码并进行删除,选择修改餐桌信息时可对餐桌号码、最大容纳人数、预定时间、预定状态、餐桌位置进行修改,基于这几种情况,以增加餐桌的功能为例画出流程图,其它几项同理不予画出。如图4-6为餐桌管理功能图,图4-7为餐桌增加流程图。图4-6餐桌管理功能图图4-7餐桌增加流程图此设计是为了方便顾客快速入座,进入系统页面就可以查询到餐桌的情况,包含餐桌编号、餐桌位置可以方便看到每桌具体状态,可直接点击餐桌号码图标,选择增加餐桌、删除餐桌来完成,来完成餐桌的信息修改。如图4-8餐桌查询流程图:图4-8餐桌查询流程图4.7菜品管理本系统在菜品信息中可以按照菜品名称、菜品类型、菜品价格范围进行操作,通过操作可以获取菜品的详细信息。对于菜品种类的管理,按照热菜、凉菜、主食、饮品来划分,同时餐厅可以按照实际需求来进行对菜品种类添加或删除操作,由相应厨师进行做菜。本系统主要是属于基础数据:点击菜品类型可以对不同的菜品类型进行增加菜品、删除菜品、修改菜品、三部分,本系统设计了对应的按钮,选择增加菜品可以按照菜品名称、菜品价格、菜品种类、实物图片及菜品配料的属性来添加新的菜品,当要将菜品删除时,选择对应的菜品编号进行此菜品信息的删除,选择修改菜品信息可以对以上菜品的基本信息进行修改,同时修改菜品的供应状态,当菜品售卖完毕时,能够及时将菜品从供应转变到已售完状态。如图4-9菜品管理功能图:图4-9菜品管理功能图4.8订单管理本系统设计时,顾客在成功登录页面下,浏览菜品进行点餐,输入菜品份数加以保存,也可以取消订单,系统不予保存,在留言板顾客可以查看留言也可以编写留言。之后向服务器发送点餐信息,进入系统数据库。如图4-10点餐终端架构图。图4-10点餐中终端架构图为了方便统计每天的消耗设计了这一模板,主要就是对餐厅的每天流水进行统计,包括销售量统计、销售金额的统计和客流量统计,提供依据,在统计中,按照早餐时间、午餐时间、晚餐时间、夜宵时间来进行统计订单,管理者通过不同时间段的收入来预测食材数量。在销售金额统计中,可以统计餐厅目前的销售总额,可直观看出餐厅的运营收益。本系统的设计最终目的就是营业收入统计,功能就是经理可以在某个时间对餐厅的收入进行统计,登录页面,输入姓名和密码,点击订单管理模块,只要输入这个时间段的开始日期和结束日期按回车键,系统会自动显示这个时间段的全部支出和收入明细表,包括支出的名称和数量,收入的名称和数量,经理一目了然,结束按回车键返回主页面。可以根据具体情况拿出方案,达到餐厅创效。如图4-11订单管理功能图:图4-11订单管理功能图4.8.1已买/未买查询功能此设计中可以查询客户买单和未买单情况,根据订单状况对已买结账的订单进行标注,系统会自动显示为买单信息。如果没有买单系统会标注未买订单,输入开始日期和结束日期按回车键,系统会显示未买单菜品的名称、价格、份数详细列表。4.8.2结账功能此设计就是服务员根据输入餐桌号码或者订单号码,按回车键系统就会列出相应定单列表,输入实际金额来确认金额是否准确,之后输入要结算订单号或餐桌号,系统就会自动提示结账成功,输入未结算餐桌号码或者订单号码,系统就会显示未结算定单。4.8.3销售额查询功能此设计中为了避免统计上的错误,本系统设计了销售额的查询模块,如果服务员负责了收银工作此系统按日期也可以统计出销售金额总和。如图4-12销售额操作流程图:图4-12销售额操作流程图4.9数据库设计4.9.1实体之间关系本系统采用数据库的实体联系模型E-R图,其表达表达能力强,用户可以看懂表达出的信息,易于用户接受。通过对上面各部分的实体分析,得到本系统实体的联系,具体如下:用户实体可以分为四类即顾客、服务员、后厨、经理。来餐厅的顾客可以对多种菜品进行浏览,顾客与菜品之间是多对多的关系。不同的顾客可以发布不同的备注,与备注之间是多对多的关系。顾客下单操作与订单之间是一对多关系。每一种订单支付操作所生成的支付信息不同,因此订单与支付信息是一对多的关系。前台的人员可以管理所有订单,因此前台人员与订单是多对多的关系。后厨人员可以接收多个订单,所以后厨与订单是多对多关系。后厨人员可以查看多种菜品信息,因此与菜品之间是多对多关系。不同订单中包含了多种菜品信息,因此订单与菜品之间是多对多的关系。来餐厅的顾客可以对多种菜品进行浏览,顾客与菜品之间是多对多的关系REF_Ref30622\w\h错误!未找到引用源。。不同的顾客可以发布不同的备注,与备注之间是多对多的关系。顾客下单操作与订单之间是一对多关系。每一种订单支付操作所生成的支付信息不同,因此订单与支付信息是一对多的关系。前台的人员可以管理所有订单,因此前台人员与订单是多对多的关系。后厨人员可以接收多个订单,所以后厨与订单是多对多关系。后厨人员可以查看多种菜品信息,因此与菜品之间是多对多关系。不同订单中包含了多种菜品信息,因此订单与菜品之间是多对多的关系。4.9.2实体具体情况1.订单实体订单实体包含属性有操作人员、顾客人数、留言编号、是否支付、订单总价、菜是否上全、餐桌编号、下单时间,具体实体联系如下图4-13订单实体关系图。图4-13订单实体关系图2.菜品实体菜品实体包含属性有菜品名称、菜品价格、菜品图片、菜品介绍、菜品种类。图4-14实体菜品关系图3.实体与实体关系如下图:图4-15实体与实体关系图4.10系统实现4.10.1登录模块此页面只适合餐厅工作人员用户在使用该系统时,具体操作流程如图用户输入用户名,输入密码,点击确认,来验证密码和用户名正确与否,如果出现错误系统则提示返回重新输入,如果正确点击确认,进入页面。登录页面如下:图4-16登录页面图4.10.2注册模块用户注册操作如图需要填写用户信息点击立即提交,数据信息传输到数据库,用户可以使用新注册和密码进如页面。如图4-17用户注册成功图。图4-17用户注册成功图4.10.3顾客点餐在model层中定义DinnerNotice类,Action层的DianCanAction中设计OrderMenu用于获取订单号、菜品名称、菜品数量、顾客留言、菜品总价的信息。通过Action层引用相应的Service层,并结合Struts的配置文件来接受顾客的点餐请求REF_Ref30720\w\h错误!未找到引用源。。Service层中包含了DinnerNoticeserviceImpl.java实现类,通过该实现类实现了DinnerOrderService接口,引用相应的DAO层数据库操作。通过orderMenu的JS文件里生成表单验证和ajax,其中ajax是用来根据后台异步判断是否下单成功。设计setRemark()函数是为给顾客提供菜品备注的功能,并通过使用addOrder(order)方法获取订单小票,通过使用addOrder(order)方法获取订单小票,如果后台dinnerNoticeservice.addNotice(notice)这个方法可以得到数据就返回一个1,1的值设置为前台ajax的下单成功,若后台得不到顾客的订单数据就返回-1,表示顾客下单失败。如图4-18顾客点餐页面。图4-18顾客点餐页面4.10.4订单管理预结算通过DinnerOrder.Java定义DinnerOrder类,Action层的DinnerOrderAction中设计getAllOrderInfo用于获取餐桌编号、下单时间、开台人员、顾客人数、是否支付、订单总价、菜是否上全等信息。getOrderInfo用于订单结算后状态的自动改变,sumOrder用于订单总数的计算,isnOrderInfo用于订单菜品上全的管理。通过Action层引用相应的Service层,并结合Struts的配置文件来接受页面传递的请求数据REF_Ref30858\w\h错误!未找到引用源。。Service层中包含了DinnerOrderserviceImpl.java实现类,通过该实现类实现了DinnerOrderService.java接口,引用相应的DAO层数据库操作。由于DinnerOrderDaoImpl.java中的DinnerOrderDaoImpl写有SQL语句,所以该数据库可以通过服务人员的具体操作来进行编辑。结算页面中运用了layui框架对页面进行构建,在OrderJieSuan.js中,首先用layui对结算页面的table表格进行渲染,渲染完成table后,进行事件的监听,在jsp中设计lay-event事件,为detail(订单结算),前台的订单管理中的getAllOrderInfo()为按时查询订单信息,配置table.on('tool(tab)',function(obj)监听工具条对detail事件进行监听,当detail传过来时,使用$.post方法调用后台QianTaiAction中的updateOrder方法,在后台中判断订单是否已结算,当结算完成时,数据库中ispay字段的值将变为1,说明结算成功。如图4-19订单结算页面。图4-19订单结算页面4.10.5菜品功能菜品管理模块包含了Menu.java类,在其中定义了菜品名称、菜品类别、菜品价格、菜品类别、菜品图片路径信息。通过Action层引用相应的Service层,并结合Struts的配置文件来接受页面传递的请求数据。Action层的MenuAction.java中AddMenu、delMenu、UpdateMenu对菜品信息进行添加、删除操作。使用MenuType方法对菜品进行分类管理,getAllMenu用于对菜品价格、菜品名称、菜品描述的编辑修改。Service层中包含了MenuserviceImpl.java实现类,通过action层的调用,实现了使用Menuservice.java接口引用相应的DAO层数据库操作。由于MenuDaoImpl.java中的MenuDaoImpl写有SQL语句,所以菜谱数据库可以通过管理者的具体操作来进行编辑。4.10.6餐桌页面通过DiningTable.Java定义DiningTable类,在该类中包括了餐桌编号、最大就座人数、餐桌是否占用。通过Action层中的get方法查询餐桌信息功能,del删除餐桌,Update修改餐桌信息,add添加餐桌的方法来引用相应的Service层,并结合Struts的配置文件来接受页面传递的请求数据。Service层中包含了DiningTableserviceImpl实现类,通过该实现类实现了DiningTableService接口,引用相应的DAO层数据库操作。由于DiningTableDaoImpl写有SQL语句,所以餐桌数据库可以通过管理人员的具体操作来进行编辑。4.10.7员工管理通过Action层引用相应的Service层,来接受页面的请求数据。在它的Action层的UsersAction中使用getAllUsers、Update、Add、del方法实现获取所有员工信息,修改员工信息,添加员工和删除员工,同时还可通过UpUserPwd方式修改员工的登录名及密码。它的Service层中包含了UsersserviceImpl实现类,通过该实现类实现了Usersservice接口,引用相应的DAO层数据库操作。由于UsersDaoImpl中的UsersDaoImpl写有SQL语句,所以员工信息的数据库可以通过管理者的具体操作来进行编辑。1.删除员工信息功能在使用删除员工信息功能时,点击该客户信息后面的删除,系统就会弹出对话框“是否确定删除”,点击确定即可删除信息,点击取消则不继续进行操作。2.添加员工信息功能在使用添加员工信息功能时,在数据库页面中就会显示增加了一条客户信息。在列表界面中点击“新增”,即可弹出添加客户信息对话框,点击“保存”即可新增一条客户信息,并在列表界面显示。3.修改信息功能在使用修改功能时,不能将全部信息进行修改,需要选中一条客户点击修改,即可弹出修改客户信息的界面,界面中出现了该条客户信息的原始信息,将需要修改的部分点击删除,再填入新的信息内容,点击“保存”即可完成修改。
第5章系统测试与结果分析5.1系统测试方法从该系统的内部结构和系统实现角度可以进行黑盒测试与白盒测试。本次测试的主要方法为黑盒测试。黑盒测试的方法是把系统抽象成一个不可以看见内部的盒子,在这种情况下来对系统各部分功能接口进行测试操作,换句话说,在不看系统内部构成和代码前提下,检查本系统是否能按照用户需求来工作。为了使本文语言简洁有效,下面将对主要功能测试进行叙述。5.2系统测试用例5.2.1用户登录测试用户登录中的用户名和密码都是需要验证的项,如果没填写或填写错误,就会弹出相应的提示信息,通过四组测试可以看出都已经测试成功,从测试结果来看与预期结果完全相同。表5-1是本系统用户登录的测试表。表5-1用户登录测试表测试内容操作描述数据期望结果实际结果测试状态1输入用户登录名,点“登陆”按钮登录名qiantai,密码为空。显示警告信息“用户名为空!”显示警告信息“用户名为空!”与期望结果相同2输入密码,按“登陆”按钮。登录名为空密码:123显示警告信息“密码为空!”显示警告信息“密码为空!”与期望结果相同3输入用户登录名和密码,按“登陆”按钮。登录名qiantai密码:45
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 某变速器厂安全培训办法
- 齿轮厂操作工管理制度
- XX中学2025-2026学年春季学期校园劳动实践基地方案
- 校长在2026年春季开学工作部署会上的讲话:以“时时放心不下”的责任感抓实抓细各项任务
- 医学人文视角下的医学生职业倦怠干预
- XX中学2025-2026学年春季学期校园思政活动开展方案
- 2026年金属表面处理三级安全教育培训试题(答案)
- 2026届江西省宜春市上高县第二中学高一下生物期末经典模拟试题含解析
- 2026年疾控中心三级安全教育培训试题卷
- 吉林省集安市第一中学2026届高一生物第二学期期末学业质量监测模拟试题含解析
- 2026年湖南信息职业技术学院单招综合素质考试参考题库含详细答案解析
- 多胎羊养殖技术培训课件
- 隧洞爆破安全培训课件
- 2026年泰山职业技术学院单招综合素质笔试模拟试题带答案解析
- 博物馆讲解培训课件
- 《机械设计》课件-上
- 卧底侦查话术手册
- 2026年湖南高速铁路职业技术学院单招职业技能考试必刷测试卷及答案1套
- 2025福建福港拖轮有限公司招聘7人笔试历年备考题库附带答案详解试卷2套
- 广东省惠州市示范名校2025-2026学年物理高二第一学期期末学业水平测试试题含解析
- 多模态信息环境下虚假新闻智能检测技术研究
评论
0/150
提交评论