饭店餐饮管理系统设计说明样本.docx
《饭店餐饮管理系统设计说明样本.docx》由会员分享,可在线阅读,更多相关《饭店餐饮管理系统设计说明样本.docx(22页珍藏版)》请在冰点文库上搜索。
饭店餐饮管理系统设计说明样本
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