餐饮管理信息系统分析与设计_第1页
餐饮管理信息系统分析与设计_第2页
餐饮管理信息系统分析与设计_第3页
餐饮管理信息系统分析与设计_第4页
餐饮管理信息系统分析与设计_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

酒店餐饮信息系统 PAGE《餐饮管理信息系统分析与设计》一、开发背景近年来,随着信息技术的迅速发展及管理理论的不断突破创新,管理信息系统也得到了飞速的发展,在人们的工作、生活与学习中扮演着越来越重要的角色。下面主要是以餐饮行业为切入点,重点探讨酒店餐馆信息系统。随着信息化的发展,信息系统不断提高着餐饮企业的管理效率,但是现有的信息系统只是对传统的点餐模式的“无纸化”办公,没有整合供应链与成本管理的思想。餐饮企业还处在厨师长的领导下的计划经济模式,整个菜系的管理由单纯的厨师长管辖。一个好的厨师长的去留关系到一个餐饮企业的命运,传统餐饮企业的扩张模式受到厨房体系的制约(火锅店除外)。究其原因,是没有对菜品实施标准化处理,没有对菜品生产流程标准化固定下来。因此,开发一个酒店餐馆信息系统是十分必要的,通过前台的菜品信息展示以及包厢展示,通过购物车的模式形成餐饮企业的电子商务平台,通过后台的库存系统,整合餐饮企业的供应链,提高其在信息化条件下的管理水平,对在现在激烈竞争的餐饮行业中求发展的餐饮企业来说,无疑是一个福音。我们通过对餐饮企业的菜品和菜料的标准化处理,大大压缩了企业的库存成本,提高餐饮企业的经济效益。二、系统分析本文开发的管理信息系统全称为酒店餐馆信息系统,作者主要负责此系统中的菜品信息与订餐管理模块,其中重点是物料分解模块的相关流程分析与开发。(一)系统概况1.系统简介订餐服务是酒店餐饮企业的一项日常工作,完成酒店餐饮企业订餐服务的订餐系统,作为酒店餐饮管理系统的一部分,将为酒店餐饮企业提高服务效率和质量,提高企业经济效益起到重要的作用。目前,我国餐饮业普遍采用的订餐工作方式是客户通过电话与餐厅联系,由餐厅工作人员通过参议企业内部的餐饮管理系统实施订餐工作。从一定程度上来讲,这种工作方式仍没有完全脱离手工式工作,工作效率低。同时,从客户订单需求角度考虑,客户希望在订餐前了解更多的有关信息,如餐厅能提供的菜的品种、各种菜的风味、菜的直观图片等,而这些信息仅仅从餐厅工作人员的电话中是不可能有全面的了解。这无疑给客户的订餐带来不便,同时也影响了餐厅的工作效率和企业的声誉。(二)可行性分析1.经济可行性对于高校来讲,在各项硬件购置以及软件系统的开发中不必要再追加过多资金,而只需要利用学校现有的资源就可以基本完成系统的开发实施工作。有实验室硬件环境的支持,有高校专业指导教师的帮助,以及对现实酒店的抽象。是这一系统的开发有了经济可行性。现代餐饮企业的不断发展,特别的中小餐饮企业的腾飞,为我们系统的开发提供了庞大的市场依托。2.技术可行性对于高校来说,其本身的工作的特殊性使得其对于信息技术的研究和应用一直走在各行业的前面。现代的数据库技术和网络技术趋于成熟,计算机管理在餐饮企业的管理业务过程中扮演着越来越重要的作用,特别是无线网络的发展,大大节约了管理成本。WEB开发语言的(如ASP、PHP、JSP等)发展为技术开发提供了参考开发工具。3.管理可行性现在酒店管理区域标准化,特别是星级标准的施行。有利于使系统建立在比较标准的管理体系基础上。特别是国外餐饮标准化企业(如麦当劳、肯德基等)在餐饮标准化上的探索和成功实施,为我们的开发提供的参考。(三)业务流程分析基于菜品信息与订单管理业务流程分析的基础上,本文进行了流程重构,以优化相关业务流图2-4-3第二层数据流程图3.第三层数据流程第三层数据流程主要是在顾客提交订单的过程中进行。通过查询顾客订单中菜品的编号和数量,查看菜品表里每种菜品所需要的菜料的数量,然后乘以订单中菜品的数量,将所得到的菜料的编号和菜料的数量写入到领料表里。生成出库菜料的信息发送给仓库,这样就可以实现仓库将所需要的菜料发送给厨房,如图3-4-4所示。图2-4-4第三层数据流程图(五)数据字典1.数据项编号:I1名称:菜品编号简述:菜品的识别编号类型:字符型宽度:4位编号:I2名称:菜料编号简述:识别菜料的编号类型:字符型宽度:4位编号:I3名称:订单编号简述:订单的识别编号类型:字符型宽度:10位2.数据处理编号:P1名称:订餐输入:点菜单处理:汇总点菜单输出:订单编号:P2名称:才品分解输入:订单处理:把菜品分解成菜料输出:领料单编号:P3名称:菜料定义输入:菜料单处理:汇总菜料单输出:菜料清单编号:P4名称:菜品定义输入:菜品信息处理:绑定菜品与菜料的关系输出:菜品信息和所需要的菜料信息3.数据流编号:D1名称:点菜单简述:返回前台点菜信息组成:编号+名称来源:顾客去向:订餐处理模块编号:D2名称:订单简述:汇总的点餐表组成:编号+菜品+数量来源:订餐处理模块去向:菜品分解模块编号:D3名称:领料单简述:记录领取菜料的信息组成:菜料编号+菜料名称+菜料编号来源:菜品分解模块去向:仓库编号:D4名称:菜料单简述:管理员录入的菜料单组成:菜料编号+菜料名称来源:管理员去向:菜料处理模块编号:D5名称:菜品单简述:菜品的详细信息组成:编号+菜品名称+菜品详情+菜品大图+菜品小图+菜品价格来源:管理员去向:菜品处理模块编号:D6名称:菜料清单简述:菜料的详细信息组成:菜料的编号+菜料的名称+菜料的数量来源:菜料处理模块去向:菜料表编号:D7名称:菜品清单简述:绑定菜品与菜料的信息组成:菜品编号+菜品名称+菜料名称+菜料数量来源:菜品处理模块去向:菜品表编号:D8名称:出库单简述:领料表里的信息组成:菜料编号+菜料名称+菜料数量来源:领料表去向:仓库编号:D9名称:订单号简述:订单表里生成订单号码组成:订单号来源:订单表去向:顾客4.数据存储编号:F1名称:订单表简述:储存订单的信息组成:编号+订餐人+菜品+价格+订餐时间+包厢号+总价格关键字:编号+订餐人编号:F2名称:领料表简述:出库的信息组成:编号+出库菜品+出库菜品数量关键字:编号编号:F3名称:菜料表简述:配菜需要的菜料组成:编号+名称+检索码关键字:编号+检索码编号:F4名称:菜品表简述:所有菜品信息组成:编号+菜品名称+价格+简介+大图+小图+检索码关键字:编号+检索码5.外部实体编号:S1名称:顾客简述:订餐的发起者输入的数据流:点菜单输出的数据流:无编号:S2名称:管理员简述:更新菜品和管理订单的部门输入的数据流:菜品信息输出的数据流:无编号:S3名称:仓库简述:配送菜料的部门输入的数据流:无输出的数据流:出库单三、模块分析系统的主要结构如图3-1-1所示。图3-1-1系统的主要模块四、系统设计1.概念结构设计概念结构设计的任务是在需求分析阶段产生的需求说明书的基础上,按照特定的方法把它们抽象为一个不依赖于任何具体机器的数据模型,即概念模型。概念模型使设计者的注意力能够从复杂的实现细节中解脱出来,而只集中在最重要的信息的组织结构和处理模式上。E-R图由三种符号组成,如图4-2-1所示。“实体”是现实世界中描述客观事物的概念。“属性”一般指试题具有的某种特性。“联系”可以分为两类:一类是实体没不得联系;另一类是实体之间的联系。图4-2-1E-R图组成符号图4-2-2全局E-R图为了简明图示,属性未在图中标出。各实体的属性分别为:顾客:(临时编号,IP地址)会员:(会员编号,会员名称,密码,电话,地址,邮箱)菜品:(菜品编号,菜品名称,数量,价格,简介)菜料:(菜料编号,菜料名称,检索码,数量)管理员:(管理员名称,密码)2.逻辑结构设计逻辑结构设计是将概念结构设计阶段完成的概念模型转换成能被选定的数据库管理系统支持的数据结构模型。数据模型由E-R模型转换而来。数据库的设计采用一库多表式设计。即设计了一个数据库。把每个独立的餐饮企业设计为独立的应用实体。采用这种设计的好处就是:符合餐饮企业餐饮供应链环节的处理及时迅速的特点,有利于在餐饮企业内部提高工作效率,降低成本。表4-2-1Cpb(菜品信息表)序号字段名称字段描述字段类型长度备注1Cpid菜品编号Varchar10非空,主键2Cpname菜品名称Varchar50非空3huiyuanjia会员价Numeric10非空4Shichangjia市场价Numeric10允许空5CPsp菜品小图Varchar50保存路径6Kucun菜品库存Varchar10默认值为1007Cplp菜品大图Varchar50保存路径8First一级分类Varchar10允许空9Second二级分类Varchar10允许空表4-2-1Ddb(订单表)序号字段名称字段描述字段类型长度备注1ID自动编号Int4主键2UserName用户名nvarchar50非空3Tprice总价Numeric10非空4details特别说明Varchar50允许空5Useremail电子邮件nvarchar255非空6room包厢号Varchar10允许空表4-2-3Clb(菜料表)序号字段名称字段描述字段类型长度备注1ID自动编号Int4主键2Cno菜料编码Varchar10非空3Cname菜料名称Varchar50非空4Amount数量Numeric8非空5Measurement计量单位Varchar10非空6Cpid关联菜品编号Varchar10非空表4-2-4Lld(领料表)序号字段名称字段描述字段类型长度备注1Lld领料单编号Int4主键,2Cno菜料编号Varchar10允许空3Cname菜品名称Varchar50允许空4Amount需求数量Varchar10允许空5Measurement计量单位Varchar10默认为g6Search检索码Varchar10菜料首字母7Room包厢号Varchar10可以空8Time订餐时间Datetime8非空9number菜料处理编码Numeric9默认为13.物理结构设计物理结构设计是在逻辑结构设计的基础上进一步设计数据存储模式的一些物理细节。物流结构设计通常分为两步:确定数据库的物理结构和评价物理结构。数据库的存放在非系统盘的高速存储硬盘中。数据采用顺序存放的放的方式,由一个数据库下设置多个表,这样可以提高检索的速度。这样的结构符合酒店餐馆信息系统的需求。五、系统开发(一)系统主要功能及界面1.登陆界面2.订餐页面图5-1订餐页面2.预定管理页面图5-2预定管理页面3.快餐外卖页面图5-3快餐外卖页面4.餐饮快速开单界面六、主要程序代码publicfrmMain(){InitializeComponent();ArrayListView.Clear();ArrayListView.Add(listViewHall);ArrayListView.Add(listViewGeneral);ArrayListView.Add(listViewLuxury);CurrentListView=(ListView)ArrayListView[0];}publicvoidGetUpToDate(){Used=CanUse=Book=StopUse=Dirty=0;DataTableEatRoom=Program.DBOpertor.GetAllDataOfEatRoom();EatRoomLab.Text=tabControl1.SelectedTab.Text;listViewHall.Clear();listViewGeneral.Clear();listViewLuxury.Clear();inti,count=EatRoom.Rows.Count,EatRoomClass=0;SumDeskAccount=count;for(i=0;i<count;i++){switch(EatRoom.Rows[i]["餐台状态"].ToString()){case"可供":EatRoomClass=0;CanUse++;break;case"预订":EatRoomClass=1;Book++;break;case"占用":EatRoomClass=2;Used++;break;case"停用":EatRoomClass=3;StopUse++;break;case"脏台":EatRoomClass=4;Dirty++;break;}switch(EatRoom.Rows[i]["房间类型"].ToString()){case"大厅":listViewHall.Items.Add("a",EatRoom.Rows[i]["餐台号"].ToString(),EatRoomClass);break;case"普通包间":listViewGeneral.Items.Add("a",EatRoom.Rows[i]["餐台号"].ToString(),EatRoomClass);break;case"豪华包间":listViewLuxury.Items.Add("a",EatRoom.Rows[i]["餐台号"].ToString(),EatRoomClass);//MessageBox.Show(break;}餐台总数.Text=SumDeskAccount.ToString();当前占用.Text=Used.ToString();当前可供.Text=CanUse.ToString();当前预订.Text=Book.ToString();当前停用.Text=StopUse.ToString();上座率.Text=Math.Round(((float)Used/(float)SumDeskAccount)*100,1)+"%";}}privatevoidfrmMain_Load(objectsender,EventArgse){GetUpToDate();Colorcol=Color.FromArgb(234,244,219);EatRoomLab.Parent=pictureBox;EatRoomLab.Location=newPoint(30,7);最低消费.BackColor=col;计费标准.BackColor=col;进店时间.BackColor=col;已用时间.BackColor=col;消费金额.BackColor=col;餐台总数.BackColor=col;当前占用.BackColor=col;当前可供.BackColor=col;当前预订.BackColor=col;当前停用.BackColor=col;上座率.BackColor=col;}privatevoidfrmMain_FormClosing(objectsender,FormClosingEventArgse){Program.DBOpertor.CloseConnection();Environment.Exit(1);}privatevoidtabControl1_SelectedIndexChanged(objectsender,EventArgse){CurrentSelect=tabControl1.SelectedIndex;CurrentListView=(ListView)ArrayListView[CurrentSelect];EatRoomLab.Text=tabControl1.SelectedTab.Text;//MessageBox.Show(CurrentSelect.ToString());}privatevoid大图标ToolStripMenuItem_Click(objectsender,EventArgse){CurrentListView.View=View.LargeIcon;}privatevoid小图标ToolStripMenuItem_Click(objectsender,EventArgse){CurrentListView.View=View.SmallIcon;}privatevoid列表ToolStripMenuItem_Click(objectsender,EventArgse){CurrentListView.View=View.List;}privatevoid详细信息ToolStripMenuItem_Click(objectsender,EventArgse){CurrentListView.View=View.Details;}privatevoidListView_ItemActive(objectsender,EventArgse){ListViewItemp=CurrentListView.SelectedItems[0];CurrentNo=p.Text;CurrentStatus=Program.DBOpertor.GetStatus(CurrentNo);//MessageBox.Show(status);if(CurrentStatus=="停用"||CurrentStatus=="脏台"){MessageBox.Show("非可供状态");return;}if(CurrentStatus=="可供"||CurrentStatus=="预订")newfrmOpen(CurrentNo,true).Show();elsenewfrmAdd(CurrentNo,true).Show();}privatevoidReresh_Click(objectsender,EventArgse){}privatevoidGetCurrentSum(DataGridViewg){//tryCurrentSum=0;for(inti=0;i<g.Rows.Count-1;i++)CurrentSum+=Convert.ToSingle(g.Rows[i].Cells["金额"].Value);//catch(Exceptionex){MessageBox.Show(ex.Message);}}privatevoidGetCount(DataGridViewg){CurrentAccount=0;for(inti=0;i<g.Rows.Count-1;i++)if(!g.Rows[i].Cells["金额"].Value.ToString().Contains("-"))CurrentAccount++;}#region计时间privatevoidGetMargin(DateTimet1){intshour,sminute;intyear1,month1,day1,hour1,minute1;intyear2,month2,day2,hour2,minute2;inty,m,d,h;DateTimet2;t2=DateTime.Now;year1=t1.Year;month1=t1.Month;day1=t1.Day;hour1=t1.Hour;minute1=t1.Minute;//second1=t1.Second;year2=t2.Year;month2=t2.Month;day2=t2.Day;hour2=t2.Hour;minute2=t2.Minute;//second2=t2.Second;if(minute2-minute1<0){hour2--;sminute=60-minute1+minute2;}elsesminute=minute2-minute1;y=year2-year1;m=month2-month1;d=day2-day1;h=hour2-hour1;shour=y*12*30*24+m*30*24+d*24+h;已用时间.Text=shour+"小时"+sminute+"分";}#endregionprivatevoidGetInfoFromEatRoomNo(stringno){//MessageBox.Show(no);//if(InfoData=Program.DBOpertor.GetInfoFromEatRoomNo(no);DataTableInfoT=InfoData.Tables[0];最低消费.Text=InfoT.Rows[0]["最低消费"].ToString();计费标准.Text=InfoT.Rows[0]["计费方式"].ToString();if(计费标准.Text.Equals(string.Empty)){计费标准.Text="不计费标准";}//MessageBox.Show(CurrentStatus);if(!CurrentStatus.Equals("占用")){进店时间.Text="";消费金额.Text="";已用时间.Text="";return;}//MessageBox.Show(CurrentStatus);DateTime.TryParse(InfoT.Rows[0]["进店时间"].ToString(),outInTime);进店时间.Text=InTime.Hour+":"+InTime.Minute+":"+InTime.Second;消费金额.Text=CurrentSum.ToString();GetMargin(InTime);//MessageBox.Show("abc");}privatevoidListView_SelectedIndexChanged(objectsender,EventArgse){try{stringno=CurrentListView.SelectedItems[0].Text;CurrentNo=no;CurrentStatus=Program.DBOpertor.GetStatus(CurrentNo);t=Program.DBOpertor.GetEatInfo(CurrentNo);dataGridView.DataSource=t.Tables[0].DefaultView;GetCurrentSum(dataGridView);GetCount(dataGridView);RoomNo.Text=CurrentNo+"餐台";Account.Text="消费数量"+CurrentAccount.ToString();Sum.Text="消费总额"+CurrentSum.ToString();GetInfoFromEatRoomNo(CurrentNo);}catch(Exceptionex){if(t!=null)t.Tables[0].Clear();}}privatevoidtoolStripButton1_Click(objectsender,EventArgse){newfrmManagement().Show();}privatevoidtoolStripButton2_Click(objectsender,EventArgse){try{if(CurrentStatus!="占用"){MessageBox.Show("请选择要结帐的餐台!");return;}stringno=CurrentListView.SelectedItems[0].Text;DataSett=Program.DBOpertor.GetEatInfo(no);newfrmCheckOut(CurrentNo,CurrentSum,InTime.ToString()).Show();}catch(Exceptionex){MessageBox.Show(ex.Message);}}privatevoidThreadTimer_Tick(objectsender,EventArgse){Time.Text=DateTime.Now.ToString();}privatevoidcontextMenuStrip_Opening(objectsender,CancelEventArgse){try{stringno=CurrentListView.SelectedItems[0].Text;if(CurrentStatus=="可供"||CurrentStatus=="预订"){结帐ToolStripMenuItem.Enabled=false;增加消费ToolStripMenuItem.Enabled=false;开单ToolStripMenuItem.Enabled=true;修改登记ToolStripMenuItem.Enabled=false;餐台状态ToolStripMenuItem.Enabled=true;宾客预订ToolStripMenuItem.Enabled=true;}else{结帐ToolStripMenuItem.Enabled=true;增加消费ToolStripMenuItem.Enabled=true;开单ToolStripMenuItem.Enabled=false;修改登记ToolStripMenuItem.Enabled=true;餐台状态ToolStripMenuItem.Enabled=true;宾客预订ToolStripMenuItem.Enabled=true;}}catch(Exceptionex){e.Cancel=true;}}privatevoid结帐ToolStripMenuItem_Click(objectsender,EventArgse){toolStripButton2_Click(sender,e);}privatevoid增加消费ToolStripMenuItem_Click(objectsender,EventArgse){ListView_ItemActive(sen

温馨提示

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

评论

0/150

提交评论