饭店餐饮管理系统2cbkz.docx
X x学学 院面向对象象程序设设计课程设计计说明书书题目: 饭店餐餐饮管理理系统 系(部): 电电子与通通信工程程系 专业(班班级): 007级电电子信息息工程专专业1班班 姓名: 万万xx学号: 20007xxxxxxxx指导教师师: 马xxx、谢xxx起止日期期:2010.11.2920110.12.4 28课程任务务书课题名称称饭店餐饮饮管理系系统设计内容容及要求求设计一个个饭店店餐饮管管理系统统,要要求界面面美观,具具有操作作菜单及及工具栏栏;系统统应包括括下列功功能模块块:用户管理理模块:用户登登录、用用户的添添加、删删除、密密码修改改功能。用户根据口令进入系统,不同的用户拥有不同权限:可读可写、只读、只读部分信息。菜单浏览览模块:能能浏览饭饭店的所所有菜品品、菜样及及价格,要要求能显显示菜样样图片。点菜模块块:进行行点菜操操作后能能预览点点菜结果果,并统统计金额额;买单模块块:进行行买单操操作,可可记录菜菜单信息息、时间间信息及及收款员员等相关关信息,并并实现全全款买单单、打折折买单及及免单等等功能;要求能能按时间间段查询询买单信信息。留言模块块:记录录并浏览览顾客的的意见和和建议;抽奖功能能:当顾顾客的消消费达到到指定金金额时,可可分档抽抽取小奖奖品。长沙学院院课程设设计鉴定定表姓名万xx学号20077xxxxxxxx专业电子信息息工程班级1设计题目目饭店餐饮饮管理系系统指导教师师马xx、谢xx指导教师师意见:评定等级级: 教师签签名: 日期期:答辩小组组意见:评定等级级:答辩辩小组长长签名:日期:教研室意意见:教研室主主任签名名: 日期:系(部)意意见:系主任签签名:日期:说明课程设计计成绩分分“优秀”、“良好”、“及格”、“不及格格”四类;目录1 设计思路路分析.551.1、Access数据库51.2、餐餐厅系统统.52 系统结构构设计及及分析6.2.11、部分分程序与与窗体663 设计总结结155参考文献献.16摘 要 中国国是举世世闻名的的美食大大国,拥拥有五千千年的饮饮食文化化和巨大大的餐饮饮市场,满满足个人人的温饱饱问题已已不是当当今的热热点,人人们的生生活方式式逐渐在在转变着着,饮食食已经成成为了一一种时尚尚,一种种享受。民民以食为为天,随随着人民民生活水水平和生生活方式式的转变变,渐渐渐的人们们发现餐餐饮业具具有巨大大的投资资市场。随随着餐饮饮业投资资者的不不断涌入入,许多多新一代代的快餐餐店,披披萨店,餐餐馆在国国内开始始风靡,随随处可见见。 如今,国国外饮食食企业进进入中国国,同时时也是中中国企业业进入国国际市场场的重要要开端,由由此必将将为国内内外饮食食企业提提供更加加广阔的的市场机机会。餐餐饮业不不仅面临临着巨大大的发展展机遇,也也面临着着前所未未有的挑挑战和考考验。随随着中国国对外的的不断开开放,会会有大量量的企业业或公司司介入到到餐饮领领域。同同时,随随着中国国兑现承承诺和中中国社会会信息化化的深化化,很多多地区性性企业的的“环境境优势”对对国外企企业的障障碍和不不利条件件被不断断地消除除,中国国市场的的竞争将将更为激激烈,而而且随着着餐饮业业的迅速速扩展,其其中所暴暴露的问问题也是是不容忽忽视的。 首先,人才的专业化程度不够导致内供不足:因餐饮业门坎较低,中国的大多数餐饮企业的老板是从小店发展起来的,家族式管理的居多,还没有发展到聘请职业经理人,许多还是"人治",并没有一套现代企业制度和监督管理体制,所以从观念意识、经营思想和管理水平还有待专业化。其次,应变能力差,缺乏先进的信息工具:现在的餐饮市场火爆,许多以前做电子、房地产等其他行业的老板都凭借雄厚的资金实力挤进餐饮市场,争先恐后的上规模、上档次、比菜品、比服务、拼价格,使餐饮市场竞争激烈,但是许多餐饮企业缺乏对市场的应变能力和灵敏的信息工具,在现今网络经济的时代,许多餐饮企业还处在手工及半手工状态,即使有计算机也只当个点菜器和计算器用,并没有真正通过计算机系统来实现改造流程、强化管理、降低成本、堵漏节流等作用。 最后缺乏科学和标准的管理体系:国外著名的快餐连锁经过上百年的探索都形成了标准化的工作流程和方法。中餐因其菜品的多样化和特色化的服务很难实现标准化管理,这使中餐企业的成本控制很难实现,但近两年也出现了引进快餐式经营特点的中餐企业,从流程、服务、出品都开了中餐标准化的先河。信息系统的引进,则会缓解和解决以上问题:首先,餐饮管理信息系统不是单纯的用于结帐计算的工具,它有着科学的、标准的管理体系,它是通过对目前餐饮市场的具体情况科学的调研分析后设计而成的,它能够针对中餐因其菜品的多样化和特色化的服务很难实现标准化管理,使中餐企业的成本控制很难实现这些问题给与解决。其次,餐饮管理信息系统能够给出具体的相应的符合企业自身要求的较科学的标准化管理流程,这暂时缓解了专业人才的需求,通过使用该系统就能完成专业人员所要做的事。最后,餐饮管理信息系统可以针对企业的经营现状而做出科学的分析,使得企业对市场的应变能力得到了提高,从而通过餐饮管理信息系统来实现强化管理、降低成本、堵漏节流等作用。更好的完善企业的经营管理,提高企业自身的竞争实力。一、设计计思路1.1、 Access数据库Acceess220033 就是是关系数数据库开开发工具具,数据据库能汇汇集各种种信息以以供查询询、存储储和检索索。那么么什么叫叫数据库库呢?数数据库(Dattabaase)是由一一些有意意义和有有关系的的数据(datta)所所组合而而成。一一个数据据库中,包包含了许许多条记记录(RRecoord),而每每条记录录是由多多个字段段(Fiieldd)所组组成,不不同的字字段存放放这不同同的数据据。所以以数据库库的严格格定义是是一组相相关记录录的集合合,而字字段则是是最基本本的数据据项,也也是数据据库中最最小的单单位。在在计算机机中用来来帮我们们管理数数据库的的系统,我我们称之之为数据据库管理理管理系系统(DDataabasse MManaagemmentt Syysteem DDBMSS)。数数据库管管理系统统是架构构在一个个或多个个数据库库之上,并并针对数数据库中中的数据据进行管管理运用用。Acccesss 的的优点在在于它能能使用数数据表示示图或自自定义窗窗体收集集信息,数数据表示示图提供供了一种种类似于于 Exxcell 的电电子表格格,可以以使数据据库一目目了然。另另外,AAcceess 允许创创建自定定义报表表用于打打印或输输出数据据库中的的信息。AAcceess也也提供了了数据存存储库,可可以使用用桌面数数据库文文件把数数据库文文件置于于网络文文件服务务器,与与其他网网络用户户共享数数据库。如如上所述述,Acccesss 作作为关系系数据库库开发具具备了许许多优点点,可以以在一个个数据包包中同时时拥有桌桌面数据据库的便便利和关关系数据据库的强强大功能能1.2、餐餐厅系统统餐厅系统统是按国国内餐饮饮行业最最新要求求开发的的全新概概念信息息管理系系统。该该系统将将餐厅收收银、往往来帐务务结算管管理及销销售情况况统计工工作在单单微机或或网络系系统中完完成。主主要特点点包括:(1)代代码菜谱谱编制,方方便统计计,方便便输入;(2)开开单、改改单、结结算、打打印、用用户界面面方便友友好;(3)系系统专设设往来帐帐、内部部帐,结结算方式式灵活多多样,结结算信息息详尽翔翔实;(4)帐帐务系统统的可扩扩充性。由由于餐厅厅业务的的扩展,势势必要求求帐务结结算系统统随之扩扩展,在在不修改改程序的的前提下下,本系系统可在在相当可可观的范范围内,由由用户扩扩展其营营业项目目和结算算手段。(5)帐帐务操作作数据的的可校验验性。本本系统提提供了多多种方便便的查询询、校核核和统计计功能,供供帐务操操作人员员和专职职核数人人员自核核及校对对帐务数数据。例例如,当当班收银银员下班班时直接接统计当当班期间间的输单单、收银银情况。为为餐饮企企业管理理人员提提供及时时准确的的经营状状况和帐帐务信贷贷情况。餐厅系统统需要完完成的功功能有以以下几点点。(1)美美食档案案:添加加、修改改、按菜菜系、原原料、烹烹饪方法法查询(2)订订餐管理理:订餐餐、订餐餐修改、订订餐取消消、订餐餐查询。(3)收收款管理理:立帐帐、折扣扣设定。(4)销销售查询询:可按年年、月、日日检查销销售情况况,也可可按销售售额查询询并画出出销售额额图表。二系统统结构设设计及分分析上面我们们创建了了饭店餐餐饮管理理系统中中餐饮管管理部分分的数据据库结构构。Acccesss 的的优点在在于它能能使用数数据表示示图或自自定义窗窗体收集集信息,数数据表示示图提供供了一种种类似于于 Exxcell 的电电子表格格,可以以使数据据库一目目了然。另另外,AAcceess 允许创创建自定定义报表表用于打打印或输输出数据据库中的的信息。AAcceess也也提供了了数据存存储库,可可以使用用桌面数数据库文文件把数数据库文文件置于于网络文文件服务务器,与与其他网网络用户户共享数数据库。2.1、部分程序与窗体-ffrmmmainn进入主页页面Privvatee Suub FFormm_Looad()strEExpllainn(0) = "由餐餐饮部门门的工作作人员输输入各种种菜肴的的原始资资料,以以供编辑辑菜单使使用。""strEExpllainn(1) = "编辑辑、制作作出令客客人满意意的菜单单,并可可预览所所点的各各种美味味佳肴,同同时管理理收费。""strEExpllainn(2) = "供餐餐饮部门门经理查查看各种种销售记记录,统统计分析析各种数数据。""strEExpllainn(3) = "退出出美食食向导程程序。""strEExpllainn(4) = "本产产品用于于各级酒酒店餐饮饮部门的的订餐点点菜及收收费管理理。"。Privvatee Suub llblDDir_Cliick(Inddex As Inttegeer)lblDDir(Inddex).MoouseePoiinteer = 111Seleect Casse IIndeex Caase 0 If MsggBoxx("您您是“" && sttrHootellNamme && "”餐饮部部门工作作人员吗吗?", vbbYessNo + vvbQuuesttionn, ""美食档档案-输输入、编编辑菜单单原始资资料") = vbNNo TThenn EExitt Suub Endd Iff frmmInpput.Shoow Me.Hidde Caase 1 Loaad ffrmGGuesst Caase 2 If MsggBoxx("您您是“" && sttrHootellNamme && "”餐饮部部门管理理人员吗吗?", vbbYessNo + vvbQuuesttionn, ""美食档档案-销销量查询询") = vvbNoo Thhen EExitt Suub Endd Iff Loaad ffrmQQuerry Caase 3 If MsggBoxx("要要退出美美食向导导吗?", vbQQuesstioon + vbbYessNo, "退退出提示示") = vvbNoo Thhen EExitt Suub Endd Iff Dimm frrm AAs FFormm Forr Eaach frmm Inn Foormss UUnlooad frmm Nexxt EnddEnd SellecttEnd Subb-ffrmgguesst(ccodee)可以订餐餐、点餐餐、查看看菜系等等Privvatee Suub ccmdAAdd_Cliick()If llstCCusttomeer.LListtCouunt = 00 Thhen Iff Trrim(txttCusstommerIID) = """ TThenn MsggBoxx "请请填写您您的标识识!", vbbInfformmatiion, "订订餐提示示" txttCusstommerIID = """ txttCusstommerIID.SSetFFocuus Exiit SSub Ennd IIf Iff Trrim(txttSettCouunt) = "" Theen MsggBoxx "请请填写订订餐套数数!", vbbInfformmatiion, "订订餐提示示" txttSettCouunt = """ txttSettCouunt.SettFoccus Exiit SSub Ennd IIf Iff Trrim(txttOrdderDDatee) = """ Thhen MsggBoxx "请请填写订订餐日期期!", vbbInfformmatiion, "订订餐提示示" txttOrdderDDatee = "" txttOrdderDDatee.SeetFoocuss Exiit SSub Ellse Witth ttxtOOrdeerDaate If IsDDatee(Trrim(.Teext) TThenn .Texxt = Foormaat(TTrimm(.TTextt), "YYYYY-MM-DD"") Elsse MMsgBBox "订餐餐日期无无效!请请按默认认的日期期格式填填写。"", vvbInnforrmattionn, ""订餐提提示" .TTextt = Forrmatt(Daate, "YYYYYY-MMM-DDD") .SSetFFocuus .SSelSStarrt = 0 .SSelLLenggth = LLen(txttOrdderDDatee) EExitt Suub Endd Iff Endd Wiith Ennd IIf Iff Trrim(txttDinnnerrDatte) = """ TThenn MsggBoxx "请请填写用用餐日期期!", vbbInfformmatiion, "订订餐提示示" ttxtDDinnnerDDatee = "" txttDinnnerrDatte.SSetFFocuus Exiit SSub Ellse Witth ttxtDDinnnerDDatee If IsDDatee(Trrim(.Teext) TThenn .Texxt = Foormaat(TTrimm(.TTextt), "YYYYY-MM-DD"") Elsse MMsgBBox "用餐餐日期无无效!请请按默认认的日期期格式填填写。"", vvbInnforrmattionn, ""订餐提提示" .TTextt = Forrmatt(Daate, "YYYYYY-MMM-DDD") .SSetFFocuus .SSelSStarrt = 0 .SSelLLenggth = LLen(txttOrdderDDatee) EExitt Suub Endd Iff Endd Wiith Ennd IIf Reec2.FinndFiirstt "CCusttomeerIDD = '" & TTrimm(txxtCuustoomerrID) & "' Andd DiinneerDaate = #" && CDDatee(txxtDiinneerDaate) & "#"" Iff Reec2.NoMMatcch = Faalsee Thhen MsggBoxx "在在相同的的用餐日日期内("" & txttDinnnerrDatte && "),"" & vbCCrLff _ && "已已有一位位标识为为“" && txxtCuustoomerrID & ""”的客人人。" & vvbCrrLf _ && "请请您换一一个标识识吧!"", vvbInnforrmattionn, ""订餐提提示" txttCusstommerIID.SSetFFocuus txttCusstommerIID.SSelSStarrt = 0 txttCusstommerIID.SSelLLenggth = LLen(txttCusstommerIID) Exiit SSub Ennd IIf txxtCuustoomerrID.Locckedd = Truue txxtSeetCoountt.Loockeed = Trrue txxtOrrderrDatte.LLockked = TTruee txxtDiinneerDaate.Locckedd = Truue cmmdChheckk.Ennablled = TTruee cmmdPrreviiew.Enaableed = Trrue AdddTooCusstommerMMenuu Iff txxtFiindDDatee = txttDinnnerrDatte TThenn cmddFinnd_CClicck Ennd IIfElsee ''如果llstCCusttomeer中有有内容的的话 Diim II Ass Inntegger Foor II = 0 TTo llstCCusttomeer.LListtCouunt - 11 If Triim(MMid(lsttCusstommer.Lisst(II), 4) = lsttShoowMeenu.Texxt TThenn llstCCusttomeer.LListtInddex = II MMsgBBox "您已已经选择择了这道道菜。如如果想再再加一份份的话,请请单击“增加一一份”按钮。"", vvbInnforrmattionn, ""请餐提提示" ccmdAAddOOne.SettFoccus EExitt Suub Endd Iff Neext I AdddTooCusstommerMMenuu-frrmguuestt 窗体体-frrminnputt 可添添加、修修改、删删除菜单单,可按按菜色、烹烹饪方法法、原料料显示,可可修改订订餐电话话等Privvatee Suub FFilee1_CClicck()If LLen(Fille1.FilleNaame) > 20 Theen MssgBoox ""这个文文件的名名字太长长,请把把它的名名字改为为20个个字以内内。", vbbInfformmatiion, "输输入、编编辑菜单单原始资资料" Fiile11.Viisibble = FFalsse Exxit SubbEnd IfDim L AAs LLonggL = FilleLeen(AAppDDir & ""Imaage" && Fiile11.FiileNNamee)If LL > 35000000 Thhen MssgBoox ""图片太太大,请请把它缩缩为大约约3000×3000象素,3300kk左右。"", vvbInnforrmattionn, ""输入、编编辑菜单单原始资资料" Fiile11.Viisibble = FFalsse Exxit SubbPrivvatee Suub MMnuFFileeSavve_CClicck()If TTrimm(txxtNaame) = "" Theen MssgBoox ""菜名不不能空白白!", vbbExcclammatiion, "输输入、编编辑菜单单原始资资料" txxtNaame = """ txxtNaame.SettFoccus Exxit SubbEnd IfIf TTrimm(txxtABBC) = """ TThenn MssgBoox ""请填写写菜名的的拼音字字头!"", vvbExxclaamattionn, ""输入、编编辑菜单单原始资资料" txxtABBC = """ txxtABBC.SSetFFocuus Exxit SubbEnd IfIf DDBSttatee = Addd Thhen Reec.CClosse Seet RRec = NNothhingg Seet RRec = DDB.OOpennReccorddsett("SSeleect * ffromm Meenu ordder by ABCC,Naame"") Reec.FFinddFirrst "Naame='" & ttxtNNamee & "'"" Iff Reec.NNoMaatchh = Fallse Theen MsggBoxx "“" && txxtNaame & ""”这道菜菜已经存存在!"", vvbInnforrmattionn, ""保存提提示" txttNamme.SSetFFocuus SenndKeeys "HHomee+Endd" Exiit SSub Ennd IIfEnd IfOutpputTToDBBMnuSShowwWhoole_CliickDBSttatee = savvedFrammeSttatee (DDBSttatee)End Subb-ffrmnnutrritiion主要用于于查看食食物的营营养组成成。-frrmprreviiew生成账单单并打印印出来。Dim snggH AAs SSinggleDim I AAs IInteegerrW = 12.5cmdPPrinnt.VVisiiblee = FallselblWWaitt.Viisibble = TTrueeDoEvventtsWithh Prrintter .SScalleMoode = 77 .FFontt.Siize = 112 snngH = .TexxtHeeighht(ffrmGGuesst.llblWWelccomee(0) + 0.1 .WWidtth = 5776 * W .HHeigght = 5576 * (10 + llstCCusttomeer.LListtCouunt * ssngHH) .FFontt.Naame = ""隶书"" .FFontt.Siize = 220 .CCurrrenttX = (WW - .TeextWWidtth(ffrmGGuesst.llblWWelccomee(0) / 22 .CCurrrenttY = 1For I = 0 To lsttCusstommer.LisstCoountt - 1 .CuurreentXX = 2 .CuurreentYY = 3 + snngH * (I + 6) Priinteer.PPrinnt llstCCusttomeer.LListt(I) Neext I .CCurrrenttX = 2 .CCurrrenttY = 3 + ssngHH * (I + 88) Prrintter.Priint lbllTottal .CCurrrenttX = 2 .CCurrrenttY = 3 + ssngHH * (I + 99) Prrintter.Priint lbllPayy .CCurrrenttX = 2 .CCurrrenttY = 3 + ssngHH * (I + 112) Prrintter.Priint "-结束束(打印印日期:" && Foormaat(DDatee, ""YYYYY-MMM-DDD") & ")-"" .CCurrrenttX = 2 .CCurrrenttY = 3 + ssngHH * (I + 116) Prrintter.Priint lbblWaait.Vissiblle = FaalseeIf MMsgBBox("现在在开始打打印。请请加纸。"", vvbInnforrmattionn + vbOOKCaanceel, "打印印菜单"") = vbbOK Theen .EEndDDocElsee .KKilllDoccEnd IfEnd WitthcmdPPrinnt.VVisiiblee = TruueExitt SuubEh: MssgBoox ""打印时时发生错错误:"" & vbCCrLff & Errr.Deescrripttionn, vvbInnforrmattionn, ""打印出出错"End Subb-ffrmppricce按消费范范围进行行查询等等。Privvatee Suub ccmdOOK_CClicck()Withh txxtPrricee1 Iff Trrim(.Teext) = "" Theen .SeetFoocuss Exiit SSub Ennd IIfEnd WitthWithh txxtPrricee2 Iff Trrim(.Teext) = "" Theen .SeetFoocuss Exiit SSub Ennd IIfEnd WitthWithh frrmGuuestt .RRec11.Cllosee Seet .Recc1 = Noothiing Seet .Recc1 = .DDB.OOpennReccorddsett("SSeleect Namme,PPricce FFromm Meenu Wheere Othher33 = 0 AAnd Priice Bettweeen "" & CCuur(TTrimm(txxtPrricee1) & " AAnd " && CCCur(Triim(ttxtPPricce2) && " Ordder By ABCC,Naame"", ddbOppenSSnappshoot) .SShowwNammePrricee .RRec11, .lsttShoowMeenu, "请请选择(价价格在"" & txttPriice11 & "-"" & txttPriice22 & "元之之间):"End WitthUnlooad MeEnd Subb-ffrmqquerry查销售额额,可以以按年、月月、日进进行查询询,也可可生成销销售额的的柱状图图。-月销售售额查询询Privvatee Suub ccmdMMontthFiind_Cliick()Dim dattFinnd AAs DDateeDim strrFinnd AAs SStriingstrFFindd = Triim(IInpuutBoox(""请输入入年、月月:(格格式:YYYYYY-MMM 如:" && Foormaat(DDatee, ""YYYYY-MMM") & ")"", ""月销售售额查询询", Forrmatt(Daate, "YYYYYY-MMM")If sstrFFindd = "" Theen EExitt SuubIf NNot IsDDatee(Leeft(strrFinnd, 7) Thhen MssgBoox ""“" && sttrFiind & ""”不是一一个有效效的年月月!", vbbInfformmatiion, "月月销售额额查询"" Exxit SubbEnd IfdatFFindd = Forrmatt(sttrFiind, "YYYYYY-MMM")If MMsgBBox("您要要查询的的年月是是" && Yeear(dattFinnd) & ""年" & MMontth(ddatFFindd) && "月月吗?"", vvbQuuesttionn + vbYYesNNo, "月销销售额查查询") = vbNNo TThenn Exxit SubbEnd IfDim Recc Ass ReecorrdseetDim S AAs CCurrrenccySet Recc = DB.OpeenReecorrdseet(""Sellectt Suum(PPay) Frrom Salle WWherre YYearr(Daate) = " && Yeear(dattFinnd) & "" Annd MMontth(DDatee) = " & MMontth(ddatFFindd)If NNot IsNNulll(Reec.FFiellds(0) Thhen S = RRec.Fieeldss(0)End IfMsgBBox Yeaar(ddatFFindd) && "年年" && Moonthh(daatFiind) & "月的的销售额额是:"" & Forrmatt(S, "#0.00"") && "元元。", vbbInfformmatiion, "月月销售额额查询""Rec.ClooseSet Recc = NotthinngEnd Subb-年销售售额查询询Privvatee Suub ccmdYYearrFinnd_CClicck()Dim dattFinnd AAs DDateeDim strrFinnd AAs SStriingstrFFindd = Triim(IInpuutBoox(""请输入入2位或或4位年年份:(如:"" & Forrmatt(Daate, "YYYYYY") & ""或" & FFormmat(Datte, "YYY") & ""代表"" & Forrmatt(Daate, "YYYYYY") & ""年)"", ""年销售售额查询询", Forrmatt(Daate, "YYYYYY")If sstrFFindd = "" Theen EExitt SuubDim strrDatte AAs SStriingstrDDatee = Lefft(sstrFFindd & "-001-001", 100)If NNot IsDDatee(sttrDaate) Thhen MssgBoox ""“" && sttrFiind & ""”不是一一个有效效的年份份!", vbbInfformmatiion, "年年销售额额查询"" Exxit SubbEnd IfdatFFindd = CDaate(strrDatte)If MMsgBBox("您要要查询的的年份是是" && Yeear(dattFinnd) & ""年吗?", vbQQuesstioon + vbbYessNo, "年年销售额额查询"") = vbbNo Theen Exxit SubbEnd IfDim Recc Ass ReecorrdseetDim S AAs CCurrrenccySet Recc = DB.OpeenReecorrdseet(""Sellectt Suum(PPay) Frrom Salle WWherre YYearr(Daate) = " && Yeear(dattFinnd)If NNot IsNNulll(Reec.FF