首页 酒店点菜系统的开发与实现说明书

酒店点菜系统的开发与实现说明书

举报
开通vip

酒店点菜系统的开发与实现说明书PAGEPAGE2实训说明书实训名称:JavaEE框架与应用开发实训题目名称:酒店外卖网上订餐系统专业:班级:小组成员2016年1月任务分工情况说明一.功能需求分析1.概述网上订餐系统的设计与实施迎合了二十一世纪经济高速发展、人们的生活节奏日益加快以及现代餐饮业越来越发达和便捷这一现状。网上订餐系统将极大地方便食客的就餐。同时也有利于管理和售后服务。同时,订餐系统还能帮助酒店扩大营业范围,增加知名度等。2需求分析2.1软件需求此系统整体可以分为两个子系统,其中一个为针对顾客开放的网上点菜系统.另一个为针...

酒店点菜系统的开发与实现说明书
PAGEPAGE2实训说明书实训名称:JavaEE框架与应用开发实训题目名称:酒店外卖网上订餐系统专业:班级:小组成员2016年1月任务分工情况说明一.功能需求分析1.概述网上订餐系统的设计与实施迎合了二十一世纪经济高速发展、人们的生活节奏日益加快以及现代餐饮业越来越发达和便捷这一现状。网上订餐系统将极大地方便食客的就餐。同时也有利于管理和售后服务。同时,订餐系统还能帮助酒店扩大营业范围,增加知名度等。2需求分析2.1软件需求此系统整体可以分为两个子系统,其中一个为针对顾客开放的网上点菜系统.另一个为针对餐厅管理人员开放的菜单及订单管理系统。顾客点菜主要 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 如下:1.顾客登录网上点菜系统进行菜单的浏览或者注册为会员。2.会员可以对自己的个人信息进行更改,以会员形式登录的顾客享受优惠。3.如果顾客觉得菜单应该有所改变则可对已选的菜单进行选择、更改、删除。4.当顾客确定点菜完毕后,顾客可以将其提交至服务器并生成订单管理员订单管理的业务流程如下:1.管理员在本地登录后既可对服务器上的菜单进行添加、删除、修改。2.当菜单管理工作结束之后,管理员可以对订单进行管理,进行确认和查看详细信息操作。本系统解决传统的手工管理菜单、订单以及点菜信息效率低下等问题.酒店还可根据自己的特点添加特色模块,使酒店富于个性化.提高外卖业务的销售量。3.3.1客户端子系统功能分析根据对顾客点菜系统业务流程的分析,可以看出顾客点菜主要涉及到一些数据库的逻辑和程序应用逻辑。具体的功能归纳如下:(1)顾客通过房台号及随机密码登陆点菜系统进行菜单的浏览。(2)顾客可以在客户端查询自己的开台信息,包括当前消费金额及所交押金数额等。(3)顾客在点菜时,可以对已选的菜单进行更改数量或者取消选择。(4)当顾客确定点菜完毕后,顾客将其提交至服务器并生成菜单。(5)顾客可以查询已点菜单信息及已退菜单信息。(6)顾客提交过点单后,还可根据需要添加菜单。3.3.2服务端系统功能分析根据营业员及管理员的业务流程的分析,可以看出服务端系统要涉及到一些数据库的逻辑操作和程序应用逻辑。具体的功能归纳如下:(1)管理员在服务端登陆,可以创建新的管理员及营业员。(2)管理员对服务器上的菜单可进行添加、删除和修改,比如更改菜单的名称、类别、价格等等,还可以添加新的菜品类别及退菜原因设置。(3)管理员可以对一些打折的菜品进行折扣设置,设置折扣率。(4)管理员还可以对房台信息进行管理,主要包括添加及删除房台。(5)为保证数据的安全性,管理员可以对数据库进行定期的备份操作,以便系统出现故障导致数据丢失时可以恢复数据;管理员还可以随时清理一些没有使用价值的数据信息,如点单历史信息、结账历史信息,以减小数据库的负荷。以下是管理员及营业员都可以使用的功能:(6)开台顾客在前台登记交押金并开台,获取房台号及密码后方可进入点菜子系统。(7)并台顾客在就餐过程中,当遇到亲朋好友也在此就餐时,可以实现两房台合并至同一房台,并能保证数据的一致性。(8)转台顾客在就餐过程中,可能由于环境等各种原因需要换台,可以实现从一房台转至另一房台,并能保转台的数据的一致性。(9)退菜顾客在就餐过程中,可以会遇到菜品质量有问题或者不需要未上过的菜品时,可以向前台申请退菜,系统自动删除不需要的菜单,并自动重新计算消费金额。(10)结账当顾客消费完后,需要到前台结账,可以实现自动结账功能,包括自动计算消费金额、打印顾客账单等。(11)更改登陆可以通过此功能在不同用户间进行切换登陆。(12)更改密码此功能可以更改当前系统用户的登陆密码,确保密码安全。3.3.3查询/统计系统的查询主要包括顾客点单查询,可根据房台编号、顾客姓名、点单编号及顾客编号中的任一条件实现顾客的点单查询;房台信息查询;菜谱信息查询;退菜信息查询等。统计主要包括日营业统计及月营业统计。3.3.4数据报表主要是为了实现对一些重要的信息进行打印,主要包括顾客的消费账单、日营业报表及月营业报表的打印等。方便顾客及酒店管理者对相关数据的了解,使消费过程更加透明化,可视化,充分的体现了本系统的人性化设计。3.4系统结构图根据对系统的调研和系统功能分析,构绘出系统结构图,包括客户端和服务端。其中,客户端是顾客进行点菜、加菜等,该模块都是由顾客自主进行操作。而服务端是由管理员和营业员进行操作。系统结构图(客户端)如图3-1所示。顾客点菜系统点单加菜退菜查询点单查询开台信息查询退出系统顾客点菜顾客查询图3-1系统结构图(客户端)系统结构图(服务端)如图3-2所示。酒店点菜系统前台营业查询系统基本设置开台并台转台退菜结账点单查询房台信息查询结账情况查询退菜信息查询菜谱信息查询营业情况查询营业日报查询营业月报查询菜谱管理房台管理退菜原因设置添加菜品数据清理数据备份数据恢复营业报表日营业报表账单报表菜谱信息报表修改菜品删除菜品折扣设置添加房台删除房台数据维护数据报表月营业报表系统管理用户及权限管理更改登陆用户登入场地通知预约说明公示场地预约情况管理员登入我的预约预约登入场地预约管理系统模块退出系统修改密码图3-2系统结构图(服务端)4数据库设计成功的数据库设计意味着数据库能够存储所有必需的数据,而且其存储方式保证能够快速的保存、提取、编辑、删除数据。许多因素影响数据库设计是否成功,而数据库是否规范化是一个关键的因素。一个规范化的数据库应满足第三范式的要求,即应该竭力避免部分依赖和传递依赖,因为它们的存在表示存在数据冗余。数据冗余将会造成由于数据异常而引起的错误和不希望出现的数据管理问题。本系统按照概念设计、逻辑设计、物理设计的流程完成数据库设计,力求满足该设计原则。该系统的数据库服务器采用比较适合中型数据量的SQLserver2000。4.1数据库概要设计通过调查研究和需求分析,本系统可以定义出八个实体。它们分别是:用户、菜谱、房台类型、菜品类别、房台信息、开台信息、点单、结账。各实体的属性及属性间的联系见下面的E-R图。4.2系统E-R图根据以上系统分析,采用E-R图方法表示概念设计如下:系统E-R图如图4-1所示。顾客选择菜单管理或营业员生成点单管理图4-1系统E-R图mmmmnnnn管理员或营业员密码身份用户名用户用户实体E-R图如图4-2所示。图4-2用户实体E-R图菜谱实体E-R图如图4-3所示。菜谱菜品编号菜品名称菜品价格折扣菜品单位从属类别制作厨师图4-3菜谱实体E-R图菜品类型实体E-R图如图4-4所示。房台类型实体E-R图如图4-5所示。菜品类别类型编号类型名称房台类型备注类型编号名称图4-4菜品类型实体E-R图图4-5房台类型实体E-R图房台信息实体E-R图如图4-6所示。系统首页房台信息房台编号状态容纳人数类型说明图4-6房台信息实体E-R图开台信息实体E-R图如图4-7所示。开台信息顾客编号密码消费金额顾客姓名人数时间日期房台编号押金图4-7开台信息实体E-R图点单实体E-R图如图4-8所示。点单菜品编号菜品名称单位数量单价金额点单日期房台编号点单编号结账日期点单时间图4-8点单实体E-R图结账实体E-R图如图4-9所示。结账营业员点单编号消费总额支票现金优惠券账单编号点单日期结账时间结账日期图4-9结账实体E-R图数据库表结构设计用户表(tb_user)如表4-1所示。表4-1用户表(tb_user)字段名数据类型长度允许空用户名varchar20否身份varchar10是用户密码varchar20是菜谱表(tb_menu)如表4-2所示。表4-2菜谱表(tb_menu)字段名数据类型长度允许空菜品编号char5否菜品名称varchar20否菜品价格money8否折扣int4是菜品单位char4是从属类别Char4是制作厨师Varchar20是菜品类别表(tb_kind)如表4-3所示。表4-3菜品类别表(tb_kind)字段名数据类型长度允许空类型编号char2否类型名称varchar15否房台类型表(tb_tablekind)如表4-4所示。表4-4房台类型表(tb_tablekind)字段名数据类型长度允许空类型编号char1否名称Varchar15否备注varchar50是房台信息表(tb_table)如表4-5所示。表4-5房台信息表(tb_table)字段名数据类型长度允许空房台编号char4否状态Tinyint1否容纳人数Smallint2否类型Char1否说明Varchar50是5.核心代码packagenuc.B03.property.action;importjava.util.ArrayList;importjava.util.List;importnuc.B03.property.dao.CustomerDAO;importnuc.B03.property.model.Customer;importnuc.B03.property.model.User;importnuc.B03.property.service.BusinessServiceImpl;importcom.opesymphony.xwork2.ActionContext;importcom.opensymphony.xwork2.ActionSupport;importcom.opensymphony.xwork2.ModelDriven;publicclassCustomerActionextendsActionSupportimplementsModelDriven{/****/privatestaticfinallongserialVersionUID=1L;privateCustomercustomer=newCustomer();privateListcustomerList=newArrayList();publicListgetCustomerList(){returncustomerList;}publicvoidsetCustomerList(ListcustomerList){this.customerList=customerList;}privateStringpassword1;privateintid;privateinttemp;publicintgetTemp(){returntemp;}publicvoidsetTemp(inttemp){this.temp=temp;}publicintgetId(){returnid;}publicvoidsetId(intid){this.id=id;}publicStringgetPassword1(){returnpassword1;}publicvoidsetPassword1(Stringpassword1){this.password1=password1;}publicCustomergetCustomer(){returncustomer;}publicvoidsetCustomer(Customercustomer){this.customer=customer;}@OverridepublicCustomergetModel(){//TODOAuto-generatedmethodstubreturncustomer;}publicStringregistUser()throwsException{//TODOAuto-generatedmethodstubCustomerDAOdao=newCustomerDAO();if(dao.doInsert(customer)){ActionContext.getContext().getSession().put("customer",customer);return"registOK";}elsereturnINPUT;}}packagenuc.B03.property.model;publicclassFood{privateintuserId;privateStringusername;privateStringprice;privateStringopinion;publicStringgetOpinion(){returnopinion;}publicvoidsetOpinion(Stringopinion){this.opinion=opinion;}publicStringgetPrice(){returnprice;}publicvoidsetPrice(Stringprice){this.price=price;}publicintgetUserId(){returnuserId;}publicvoidsetUserId(intuserId){this.userId=userId;}publicStringgetUsername(){returnusername;}publicvoidsetUsername(Stringusername){this.username=username;}}packagenuc.B03.property.action;importjava.util.ArrayList;importjava.util.List;importnuc.B03.property.dao.CustomerDAO;importnuc.B03.property.model.Customer;importnuc.B03.property.model.User;importnuc.B03.property.service.BusinessServiceImpl;importcom.opensymphony.xwork2.ActionContext;importcom.opensymphony.xwork2.ActionSupport;importcom.opensymphony.xwork2.ModelDriven;publicclassCustomerActionextendsActionSupportimplementsModelDriven{/****/privatestaticfinallongserialVersionUID=1L;privateCustomercustomer=newCustomer();privateListcustomerList=newArrayList();publicListgetCustomerList(){returncustomerList;}publicvoidsetCustomerList(ListcustomerList){this.customerList=customerList;}privateStringpassword1;privateintid;privateinttemp;publicintgetTemp(){returntemp;}publicvoidsetTemp(inttemp){this.temp=temp;}publicintgetId(){returnid;}publicvoidsetId(intid){this.id=id;}publicStringgetPassword1(){returnpassword1;}publicvoidsetPassword1(Stringpassword1){this.password1=password1;}publicCustomergetCustomer(){returncustomer;}publicvoidsetCustomer(Customercustomer){this.customer=customer;}@OverridepublicCustomergetModel(){//TODOAuto-generatedmethodstubreturncustomer;}publicStringregistUser()throwsException{//TODOAuto-generatedmethodstubCustomerDAOdao=newCustomerDAO();if(dao.doInsert(customer)){ActionContext.getContext().getSession().put("customer",customer);return"registOK";}elsereturnINPUT;}}packagenuc.B03.property.action;importjava.util.ArrayList;importjava.util.List;importnuc.B03.property.dao.CustomerDAO;importnuc.B03.property.model.Customer;importnuc.B03.property.model.User;importnuc.B03.property.service.BusinessServiceImpl;importcom.opensymphony.xwork2.ActionContext;importcom.opensymphony.xwork2.ActionSupport;importcom.opensymphony.xwork2.ModelDriven;publicclassCustomerActionextendsActionSupportimplementsModelDriven{/****/privatestaticfinallongserialVersionUID=1L;privateCustomercustomer=newCustomer();privateListcustomerList=newArrayList();publicListgetCustomerList(){returncustomerList;}publicvoidsetCustomerList(ListcustomerList){this.customerList=customerList;}privateStringpassword1;privateintid;privateinttemp;publicintgetTemp(){returntemp;}publicvoidsetTemp(inttemp){this.temp=temp;}publicintgetId(){returnid;}publicvoidsetId(intid){this.id=id;}publicStringgetPassword1(){returnpassword1;}publicvoidsetPassword1(Stringpassword1){this.password1=password1;}publicCustomergetCustomer(){returncustomer;}publicvoidsetCustomer(Customercustomer){this.customer=customer;}@OverridepublicCustomergetModel(){//TODOAuto-generatedmethodstubreturncustomer;}publicStringregistUser()throwsException{//TODOAuto-generatedmethodstubCustomerDAOdao=newCustomerDAO();if(dao.doInsert(customer)){ActionContext.getContext().getSession().put("customer",customer);return"registOK";}elsereturnINPUT;}}
本文档为【酒店点菜系统的开发与实现说明书】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
正方体
暂无简介~
格式:doc
大小:156KB
软件:Word
页数:16
分类:
上传时间:2022-05-11
浏览量:0