湖南农业大学 课程设计论文
餐饮管理系统
一、需求分析
随着社会服务行业的发展,餐饮业对自身服务的质量和能力也有了更高的要求。餐
饮管理系统正是在这样的情况之下越来越受到重视。餐厅的内部服务项目众多,既需
要完成前台的服务工作,还需要完成后台的管理工作,如果没有一套可靠的餐饮管理
系统,单凭手工操作,不仅效率低,而且会极大地影响到酒店的服务质量。
设计的目标:实现餐饮管理的科学化、自动化,提高各个模版的办公效率,为高质
量的餐饮服务提供保证。
系统功能概述
民以食为天,随着人民生活水平的提高,餐饮业在服务行业中占有越来越重要的地
位。经过多年发展,餐饮管理已经逐渐由定性管理,进入到重视定量管理的科学阶段。
众所周知,在定量管理的具体实现方法和手段方面,最有效的工具就是计算机管理。
传统的手工操作管理存在着许多无法避免的问题,例如:
人工计算机账单金额出现差错;
收银工作中跑单、漏单、偷钱现象普遍;
个别服务员作弊、改单、宰客情形时有发生;
客人消费单据难以保存和查询。
如果借助计算机来管理,就可以轻松的解决处理这些问题。一个餐饮管理信息系统
应该包括基本的餐厅的服务管理、管理人员信息的维护等,以及与之相应的操作。所
以整个餐饮管理信息系统分为两个大部分,即后台的数据管理维护和前台的操作。后
台数据库的管理能保证系统各项功能正常运行,前台操作能提供给客户尽可能方便快
捷的服务。
功能模块划分
1. 前台操作系统
订餐管理模块:点菜(输入桌台代码和食物代码)、加菜、下单。
结账管理模块:结账(输入桌台代码)、结账方式选择(包括现金结账、信用卡结
账、支票结账、签单等)。
交班管理模块:统计当班数据(包括桌台数、人民币结账金额以及总金额等),为
下班操作作准备。
2. 后台管理维护系统
用户权限设置:可以查询员工的基本资料(姓名、性别、年龄、出生年月、籍贯、
家庭住址等),员工登录名称、密码、员工操作权限等,可以根据需要进行设置。
- 1 -
湖南农业大学 课程设计论文
菜谱设置:新菜单录入(包括菜式名称、代码、类型、价格、成本等)、菜式修改、
删除等菜式维护。
付款方式设置:分为人民币付款、信用卡、支票签单等,可以根据需要进行添加和
删除。
系统流程分析
系统流程图 1 所示。当用户进入系统主界面以后,新用户经过注册后才能凭借其用
户名和密码登录,老用户可以直接登录。用户登录以后,系统自动判断出其操作权限。
操作权限包括普通员工和管理人员。新用户的操作权限默认为是普通员工。普通员工
只能进行订餐、结账操作,而管理人员除此之外还可以进行系统设置与营业分析。
否
管理人员
启 动
新用户
是
注 册
登 录
权 限
- 2 -
·
系
统
管
理
湖南农业大学 课程设计论文
普通员工
点 菜
结 账
交 班
注 销
退 出
图 1
当有顾客订餐的时候,员工输入桌台号和食物代码即可进行点菜,在结账以前,加
菜是允许的。当顾客结账的时候,员工输入桌台号,选择顾客的付款方式,即可完成
结账。
在下班时间,员工可以统计当班期间的消费情况。这样,员工注销此次登录,退出
系统,一天的工作就到此结束。
管理人员可以随时进行系统设置,包括菜谱设置、用户权限设置、付款方式设置等。
功能模块调用
餐饮管理系统调用了以下功能模块:
- 3 -
湖南农业大学 课程设计论文
用户注册模块、用户登录模块、数据显示模块。
二、概念设计
编 号
姓 名
性 别
密 码
权 限
住 址
年 龄
收银员
1
订 餐
付款方式
收银员
M
N
说 明
时 间
餐 桌
菜 单
成 本
价 格
编 号
实 收
是否结账
编 号
名 称
类 型
图 2
E-R 图
- 4 -
湖南农业大学 课程设计论文
图 2 给出了餐饮管理系统的 E-R 实体关系图。收银员、餐桌、菜单三者之间的关系
是订餐,其中订餐关系包括的属性有:餐桌编号、菜肴编号、菜肴名称、菜肴单价、
菜肴数量、菜肴价格、菜肴折扣、是否结账、结账时间。
三、逻辑设计
将 E-R 关 系 模 型 转 化 为 二 维 表 。 本 系 统 主 要 需 要 6 个 表 , 分 别 为 用 户 信 息 表
( UserInfo )、 菜 谱 信 息 表 ( MenuInfo )、 订 餐 信 息 表 ( OrderInfo )、 桌 台 信 息 表
(DeskInfo)、付款方式表(PayModeInfo)、当班统计表(CaldayInfo),各个表中字
段的类型以及说明如表 1-表 6 所示。
表 1 用户信息表
表 2 菜谱信息表
表 3 订餐信息表
- 5 -
湖南农业大学 课程设计论文
表 4 桌台信息表
表 5 付款方式表
表 6 当班统计表
其中,用户信息表主要存储用户的基本信息,权限项决定了用户的操作权限。菜谱
信息表存储食物的基本信息。价格项为结账与结算提供依据。桌台信息表存储各个桌
台的消费情况,如消费金额、是否结账等。订餐信息表存储各个桌台的点菜情况。付
款方式表存储了基本的付款方式,供结账时选择。当班统计表存储员工当班期间的营
业情况。
四、数据库设计
数据库管理系统采用 Microsoft SQL Server 2000 作为后台数据库。首先,在企业
管理器中建立一个名为 MenuManageSys 的数据库,然后建立以上 6 个数据库表,并设
定主键、长度。这样,数据库的设计已经完成。
五、详细设计
本餐饮管理系统采用 Visual C++ + SQL Server 来开发。利用 ADO 技术调用后台数
- 6 -
湖南农业大学 课程设计论文
据库,使用了两个 ADO 智能指针_ConnectionPtr 和_RecordsetPtr,其中_ConnectionPtr
用来连接后台 SQL Server 数据库,_RecordsetPtr 指针用来对数据库的表中的记录集
进行操作。工程使用的是基于对话框的程序,每个对话框为一个类,父类为 CDialog,
实现的一些功能都封装在类的函数中,体现了面向对象编程语言 C++的特性。
导入 ADO 接口:在工程的 stdafx.h 文件里直接引入符号#import 引入 ADO 库文件,加
入下面一行代码,以使编译器能正确编译:
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace
rename ("EOF","adoEOF")
用_ConnectionPtr 指针连接数据库:在 CmenuManageSysApp 类的 BOOL InitInstance()
函数中加入以下代码:
m_pConnection.CreateInstance("ADODB.Connection");
try
{
m_pConnection->ConnectionTimeout = 8;
m_pConnection->PutCursorLocation(adUseClient);
m_pConnection->Open("driver={SQL
Server};Server=172.29.130.47;
DATABASE=MenuManageSys;UID=;PWD=","","",adModeUnknown);
}
catch(_com_error e)
{
AfxMessageBox("数据库连接失败!");
return FALSE;
}
1.设计工程框架
餐饮管理系统的框架是一个对话框类型的操作界面,用户注册、登录后,可对餐饮
管理的各个功能模块进行操作。
1.1 设置主界面
系统主界面如图 3:
- 7 -
湖南农业大学 课程设计论文
图 3
每个事件的对应代码如下:
(1) 单击“注册”菜单,弹出“注册”对话框,代码如下:
void CMenuManageSysDlg::OnRegister()
{
CRegisterDlg dlg(this);
dlg.DoModal();
}
(2) 单击“登录”菜单,弹出“登录”对话框,代码如下:
void CMenuManageSysDlg::OnLogin()
{
CLoginDlg dlg(this);
dlg.DoModal();
}
(3) 单击“订餐”菜单,判断用户是否登录,代码如下:
void CMenuManageSysDlg::OnUpdateOrderSystem(CCmdUI* pCmdUI)
{
if(theApp.m_Level==0||theApp.m_Level==1)
{
pCmdUI->Enable(true);
}
else
{
}
}
pCmdUI->Enable(false);
AfxMessageBox("请您先登录");
(4) 如果用户已经登录,弹出“餐桌信息”对话框,否则提示用户登录,代码如下:
void CMenuManageSysDlg::OnOrderSystem()
{
CDeskDlg dlg;
dlg.DoModal();
}
(5) 单击“结账”菜单,判断用户是否登录,代码如下:
void CMenuManageSysDlg::OnUpdatePayCheck(CCmdUI* pCmdUI)
{
if(theApp.m_Level==0||theApp.m_Level==1)
{
pCmdUI->Enable(true);
}
else
{
pCmdUI->Enable(false);
AfxMessageBox("请您先登录");
- 8 -