饭店餐饮管理系统样本.docx
《饭店餐饮管理系统样本.docx》由会员分享,可在线阅读,更多相关《饭店餐饮管理系统样本.docx(18页珍藏版)》请在冰豆网上搜索。
饭店餐饮管理系统样本
Xx学院
面向对象程序设计
课程设计阐明书
题目:
饭店餐饮管理系统
系(部):
电子与通信工程系
专业(班级):
07级电子信息工程专业1班
姓名:
万xx
学号:
xxxxxx
指引教师:
马xx、谢xx
起止日期:
.11.29~.12.4
课程任务书
课题名称
饭店餐饮管理系统
设计内容及规定
设计一种《饭店餐饮管理系统》,规定界面美观,具备操作菜单及工具栏;系统应涉及下列功能模块:
顾客管理模块:
顾客登录、顾客添加、删除、密码修改功能。
顾客依照口令进入系统,不同顾客拥有不同权限:
可读可写、只读、只读某些信息。
菜单浏览模块:
能浏览饭店所有菜品、菜样及价格,规定能显示菜样图片。
点菜模块:
进行点菜操作后能预览点菜成果,并记录金额;
买单模块:
进行买单操作,可记录菜单信息、时间信息及收款员等有关信息,并实现全款买单、打折买单及免单等功能;规定能准时间段查询买单信息。
留言模块:
记录并浏览顾客意见和建议;
抽奖功能:
当顾客消费达到指定金额时,可分档抽取小奖品。
长沙学院课程设计鉴定表
姓名
万xx
学号
xxxxxx
专业
电子信息工程
班级
1
设计题目
饭店餐饮管理系统
指引教师
马xx、谢xx
指引教师意见:
评估级别:
教师签名:
日期:
答辩小组意见:
评估级别:
答辩小组长签名:
日期:
教研室意见:
教研室主任签名:
日期:
系(部)意见:
系主任签名:
日期:
阐明
课程设计成绩分“先进”、“良好”、“及格”、“不及格”四类;
1.设计思路分析…………………………………………………………………………………….5
1.1、Access数据库…………………………………………………………………………5
1.2、餐厅系统……………………………………………………………………………….5
2.系统构造设计及分析……………………………………………………………………………6.2.1、某些程序与窗体………………………………………………………………………6
3.设计总结…………………………………………………………………………………………15
参照文献………………………………………………………………………………….......…….16
摘要 中华人民共和国是举世闻名美食大国,拥有五千年饮食文化和巨大餐饮市场,满足个人温饱问题已不是当今热点,人们生活方式逐渐在转变着,饮食已经成为了一种潮流,一种享有。
民以食为天,随着人民生活水平和生活方式转变,徐徐人们发现餐饮业具备巨大投资市场。
随着餐饮业投资者不断涌入,许多新一代快餐店,披萨店,餐馆在国内开始风靡,随处可见。
如今,国外饮食公司进入中华人民共和国,同步也是中华人民共和国公司进入国际市场重要开端,由此必将为国内外饮食公司提供更加辽阔市场机会。
餐饮业不但面临着巨大发展机遇,也面临着前所未有挑战和考验。
随着中华人民共和国对外不断开放,会有大量公司或公司介入到餐饮领域。
同步,随着中华人民共和国兑现承诺和中华人民共和国社会信息化深化,诸多地区性公司“环境优势”对国外公司障碍和不利条件被不断地消除,中华人民共和国市场竞争将更为激烈,并且随着餐饮业迅速扩展,其中所暴露问题也是不容忽视。
一方面,人才专业化限度不够导致内供局限性:
因餐饮业门坎较低,中华人民共和国大多数餐饮公司老板是从小店发展起来,家族式管理居多,还没有发展到聘请职业经理人,许多还是"人治",并没有一套当代公司制度和监督管理体制,因此从观念意识、经营思想和管理水平尚有待专业化。
另一方面,应变能力差,缺少先进信息工具:
当前餐饮市场火爆,许多此前做电子、房地产等其她行业老板都凭借雄厚资金实力挤进餐饮市场,争先恐后上规模、上档次、比菜品、比服务、拼价格,使餐饮市场竞争激烈,但是许多餐饮公司缺少对市场应变能力和敏捷信息工具,在现今网络经济时代,许多餐饮公司还处在手工及半手工状态,虽然有计算机也只当个点菜器和计算器用,并没有真正通过计算机系统来实现改造流程、强化管理、减少成本、堵漏节流等作用。
最后缺少科学和原则管理体系:
国外知名快餐连锁通过上百年摸索都形成了原则化工作流程和办法。
中餐因其菜品多样化和特色化服务很难实现原则化管理,这使中餐公司成本控制很难实现,但近两年也浮现了引进快餐式经营特点中餐公司,从流程、服务、出品都开了中餐原则化先河。
信息系统引进,则会缓和和解决以上问题:
一方面,餐饮管理信息系统不是单纯用于结帐计算工具,它有着科学、原则管理体系,它是通过对当前餐饮市场详细状况科学调研分析后设计而成,它可以针对中餐因其菜品多样化和特色化服务很难实现原则化管理,使中餐公司成本控制很难实现这些问题给与解决。
另一方面,餐饮管理信息系统可以给出详细相应符合公司自身规定较科学原则化管理流程,这暂时缓和了专业人才需求,通过使用该系统就能完毕专业人员所要做事。
最后,餐饮管理信息系统可以针对公司经营现状而做出科学分析,使得公司对市场应变能力得到了提高,从而通过餐饮管理信息系统来实现强化管理、减少成本、堵漏节流等作用。
更好完善公司经营管理,提高公司自身竞争实力。
一、设计思路
1.1、Access数据库
Access就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。
那么什么叫数据库呢?
数据库(Database)是由某些故意义和关于系数据(data)所组合而成。
一种数据库中,包括了许多条记录(Record),而每条记录是由各种字段(Field)所构成,不同字段存储这不同数据。
因此数据库严格定义是一组有关记录集合,而字段则是最基本数据项,也是数据库中最小单位。
在计算机中用来帮咱们管理数据库系统,咱们称之为数据库管理管理系统(DatabaseManagementSystemDBMS)。
数据库管理系统是架构在一种或各种数据库之上,并针对数据库中数据进行管理运用。
Access长处在于它能使用数据表达图或自定义窗体收集信息,数据表达图提供了一种类似于Excel电子表格,可以使数据库一目了然。
此外,Access容许创立自定义报表用于打印或输出数据库中信息。
Access也提供了数据存储库,可以使用桌面数据库文献把数据库文献置于网络文献服务器,与其她网络顾客共享数据库。
如上所述,Access作为关系数据库开发具备了许多长处,可以在一种数据包中同步拥有桌面数据库便利和关系数据库强大功能
1.2、餐厅系统
餐厅系统是按国内餐饮行业最新规定开发全新概念信息管理系统。
该系统将餐厅收银、往来帐务结算管理及销售状况记录工作在单微机或网络系统中完毕。
重要特点涉及:
(1)代码菜谱编制,以便记录,以便输入;
(2)开单、改单、结算、打印、顾客界面以便和谐;
(3)系统专设往来帐、内部帐,结算方式灵活多样,结算信息详尽翔实;
(4)帐务系统可扩充性。
由于餐厅业务扩展,势必规定帐务结算系统随之扩展,在不修改程序前提下,本系统可在相称可观范畴内,由顾客扩展其营业项目和结算手段。
(5)帐务操作数据可校验性。
本系统提供了各种以便查询、校核和记录功能,供帐务操作人员和专职核数人员自核及校对帐务数据。
例如,当班收银员下班时直接记录当班期间输单、收银状况。
为餐饮公司管理人员提供及时精确经营状况和帐务信贷状况。
餐厅系统需要完毕功能有如下几点。
(1)美食档案:
添加、修改、按菜系、原料、烹饪办法查询
(2)订餐管理:
订餐、订餐修改、订餐取消、订餐查询。
(3)收款管理:
立帐、折扣设定。
(4)销售查询:
可按年、月、日检查销售状况,也可按销售额查询并画出销售额图表。
二.系统构造设计及分析
上面咱们创立了饭店餐饮管理系统中餐饮管理某些数据库构造。
Access长处在于它能使用数据表达图或自定义窗体收集信息,数据表达图提供了一种类似于Excel电子表格,可以使数据库一目了然。
此外,Access容许创立自定义报表用于打印或输出数据库中信息。
Access也提供了数据存储库,可以使用桌面数据库文献把数据库文献置于网络文献服务器,与其她网络顾客共享数据库。
2.1、某些程序与窗体
------frmmain
进入主页面
PrivateSubForm_Load()
strExplain(0)="由餐饮部门工作人员输入各种菜肴原始资料,以供编辑菜单使用。
"
strExplain
(1)="编辑、制作出令客人满意菜单,并可预览所点各种美味佳肴,同步管理收费。
"
strExplain
(2)="供餐饮部门经理查看各种销售记录,记录分析各种数据。
"
strExplain(3)="退出《美食向导》程序。
"
strExplain(4)="本产品用于各级酒店餐饮部门订餐点菜及收费管理。
"
。
。
。
。
。
。
PrivateSublblDir_Click(IndexAsInteger)
lblDir(Index).MousePointer=11
SelectCaseIndex
Case0
IfMsgBox("您是“"&strHotelName&"”餐饮部门工作人员吗?
",vbYesNo+vbQuestion,"美食档案----输入、编辑菜单原始资料")=vbNoThen
ExitSub
EndIf
frmInput.Show
Me.Hide
Case1
LoadfrmGuest
Case2
IfMsgBox("您是“"&strHotelName&"”餐饮部门管理人员吗?
",vbYesNo+vbQuestion,"美食档案----销量查询")=vbNoThen
ExitSub
EndIf
LoadfrmQuery
Case3
IfMsgBox("要退出《美食向导》吗?
",vbQuestion+vbYesNo,"退出提示")=vbNoThen
ExitSub
EndIf
DimfrmAsForm
ForEachfrmInForms
Unloadfrm
Next
End
EndSelect
EndSub
------frmguest(code)
可以订餐、点餐、查看菜系等
PrivateSubcmdAdd_Click()
IflstCustomer.ListCount=0Then
IfTrim(txtCustomerID)=""Then
MsgBox"请填写您标记!
",vbInformation,"订餐提示"
txtCustomerID=""
txtCustomerID.SetFocus
ExitSub
EndIf
IfTrim(txtSetCount)=""Then
MsgBox"请填写订餐套数!
",vbInformation,"订餐提示"
txtSetCount=""
txtSetCount.SetFocus
ExitSub
EndIf
IfTrim(txtOrderDate)=""Then
MsgBox"请填写订餐日期!
",vbInformation,"订餐提示"
txtOrderDate=""
txtOrderDate.SetFocus
ExitSub
Else
WithtxtOrderDate
IfIsDate(Trim(.Text))Then
.Text=Format(Trim(.Text),"YYYY-MM-DD")
Else
MsgBox"订餐日期无效!
请按默认日期格式填写。
",vbInformation,"订餐提示"
.Text=Format(Date,"YYYY-MM-DD")
.SetFocus
.SelStart=0
.SelLength=Len(txtOrderDate)
ExitSub
EndIf
EndWith
EndIf
IfTrim(txtDinnerDate)=""Then
MsgBox"请填写用餐日期!
",vbInformation,"订餐提示"
txtDinnerDate=""
txtDinnerDate.SetFocus
ExitSub
Else
WithtxtDinnerDate
IfIsDate(Trim(.Text))Then
.Text=Format(Trim(.Text),"YYYY-MM-DD")
Else
MsgBox"用餐日期无效!
请按默认日期格式填写。
",vbInformation,"订餐提示"
.Text=Format(Date,"YYYY-MM-DD")
.SetFocus
.SelStart=0
.SelLength=Len(txtOrderDate)
ExitSub
EndIf
EndWith
EndIf
Rec2.FindFirst"CustomerID='"&Trim(txtCustomerID)&"'AndDinnerDate=#"&CDate(txtDinnerDate)&"#"
IfRec2.NoMatch=FalseThen
MsgBox"在相似用餐日期内("&txtDinnerDate&"),"&vbCrLf_
&"已有一位标记为“"&txtCustomerID&"”客人。
"&vbCrLf_
&"请您换一种标记吧!
",vbInformation,"订餐提示"
txtCustomerID.SetFocus
txtCustomerID.SelStart=0
txtCustomerID.SelLength=Len(txtCustomerID)
ExitSub
EndIf
txtCustomerID.Locked=True
txtSetCount.Locked=True
txtOrderDate.Locked=True
txtDinnerDate.Locked=True
cmdCheck.Enabled=True
cmdPreview.Enabled=True
AddToCustomerMenu
IftxtFindDate=txtDinnerDateThen
cmdFind_Click
EndIf
Else'如果lstCustomer中有内容话
DimIAsInteger
ForI=0TolstCustomer.ListCount-1
IfTrim(Mid(lstCustomer.List(I),4))=lstShowMenu.TextThen
lstCustomer.ListIndex=I
MsgBox"您已经选取了这道菜。
如果想再加一份话,请单击“增长一份”按钮。
",vbInformation,"请餐提示"
cmdAddOne.SetFocus
ExitSub
EndIf
NextI
AddToCustomerMenu
-----frmguest窗体
-----frminput
可添加、修改、删除菜单,可按菜色、烹饪办法、原料显示,可修改订餐电话等
PrivateSubFile1_Click()
IfLen(File1.FileName)>20Then
MsgBox"这个文献名字太长,请把它名字改为20个字以内。
",vbInformation,"输入、编辑菜单原始资料"
File1.Visible=False
ExitSub
EndIf
DimLAsLong
L=FileLen(AppDir&"Image\"&File1.FileName)
IfL>350000Then
MsgBox"图片太大,请把它缩为大概300×300象素,300k左右。
",vbInformation,"输入、编辑菜单原始资料"
File1.Visible=False
ExitSub
PrivateSubMnuFileSave_Click()
IfTrim(txtName)=""Then
MsgBox"菜名不能空白!
",vbExclamation,"输入、编辑菜单原始资料"
txtName=""
txtName.SetFocus
ExitSub
EndIf
IfTrim(txtABC)=""Then
MsgBox"请填写菜名拼音字头!
",vbExclamation,"输入、编辑菜单原始资料"
txtABC=""
txtABC.SetFocus
ExitSub
EndIf
IfDBState=AddThen
Rec.Close
SetRec=Nothing
SetRec=DB.OpenRecordset("Select*fromMenuorderbyABC,Name")
Rec.FindFirst"Name='"&txtName&"'"
IfRec.NoMatch=FalseThen
MsgBox"“"&txtName&"”这道菜已经存在!
",vbInformation,"保存提示"
txtName.SetFocus
SendKeys"{Home}+{End}"
ExitSub
EndIf
EndIf
OutputToDB
MnuShowWhole_Click
DBState=saved
FrameState(DBState)
EndSub
------frmnutrition
重要用于查看食物营养构成。
-----frmpreview
生成账单并打印出来。
DimsngHAsSingle
DimIAsInteger
W=12.5
cmdPrint.Visible=False
lblWait.Visible=True
DoEvents
WithPrinter
.ScaleMode=7
.Font.Size=12
sngH=.TextHeight(frmGuest.lblWelcome(0))+0.1
.Width=576*W
.Height=576*(10+lstCustomer.ListCount*sngH)
.Font.Name="隶书"
.Font.Size=20
.CurrentX=(W-.TextWidth(frmGuest.lblWelcome(0)))/2
.CurrentY=1
……
ForI=0TolstCustomer.ListCount-1
.CurrentX=2
.CurrentY=3+sngH*(I+6)
Printer.PrintlstCustomer.List(I)
NextI
.CurrentX=2
.CurrentY=3+sngH*(I+8)
Printer.PrintlblTotal
.CurrentX=2
.CurrentY=3+sngH*(I+9)
Printer.PrintlblPay
.CurrentX=2
.CurrentY=3+sngH*(I+12)
Printer.Print"------结束(打印日期:
"&Format(Date,"YYYY-MM-DD")&")------"
.CurrentX=2
.CurrentY=3+sngH*(I+16)
Printer.Print
lblWait.Visible=False
IfMsgBox("当前开始打印。
请加纸。
",vbInformation+vbOKCancel,"打印菜单")=vbOKThen
.EndDoc
Else
.KillDoc
EndIf
EndWith
cmdPrint.Visible=True
ExitSub
Eh:
MsgBox"打印时发生错误:
"&vbCrLf&Err.Description,vbInformation,"打印出错"
EndSub
------frmprice
按消费范畴进行查询等。
PrivateSubcmdOK_Click()
WithtxtPrice1
IfTrim(.Text)=""Then
.SetFocus
ExitSub
EndIf
EndWith
WithtxtPrice2
IfTrim(.Text)=""Then
.SetFocus
ExitSub
EndIf
EndWith
WithfrmGuest
.Rec1.Close
Set.Rec1=Nothing
Set.Rec1=.DB.OpenRecordset("SelectName,PriceFromMenuWhereOther3=0AndPriceBetween"&CCur(Trim(txtPrice1))&"And"&CCur(Trim(txtPrice2))&"OrderByABC,Name",dbOpenSnapshot)
.ShowNamePrice.Rec1,.lstShowMenu,"请选取(价格在"&txtPrice1&"-"&txtPrice2&"元之间):
"
EndWith
UnloadMe
EndSub
------frmquery
查销售额,可以按年、月、日进行查询,也可生成销售额柱状图。
----------月销售额查询
PrivateSubcmdMonthFind_Click()
DimdatFindAsDate
DimstrFindAsString
strFind=Trim(InputBox("请输入年、月:
(格式:
YYYY-MM如:
"&Format(Date,"YYYY-MM")&")","月销售额查询",Format(Date,"YYYY-MM")))
IfstrFind=""ThenExitSub
IfNotIsDate(Left(strFind,7))Then
MsgBox"“"&strFind&"”不是一种有效年月!
",vbInformation,"月销售额查询"
ExitSub
EndIf
datFind=Format(strFind