餐饮管理系统设计与测试.doc
- 文档编号:25584273
- 上传时间:2023-06-10
- 格式:DOC
- 页数:35
- 大小:631.62KB
餐饮管理系统设计与测试.doc
《餐饮管理系统设计与测试.doc》由会员分享,可在线阅读,更多相关《餐饮管理系统设计与测试.doc(35页珍藏版)》请在冰豆网上搜索。
餐饮管理系统系统设计与测试
学号:
20090307118
姓名:
陈炀
年级:
2009级
专业:
软件工程专业
班级:
软件工程一班
指导教师:
巫宗宾
成绩:
第一章设计 3
1.1需求分析 3
1.1.1概要 3
1.1.3功能需求分析 4
1.1.4运行需求 4
1.1.5其他需求 5
1.1.6系统的数据字典 5
1.2系统设计 6
系统登录退出模块:
7
菜单信息管理模块:
8
订餐信息管理模块:
8
员工信息管理模块:
8
1.2.2经理权限模块划分 8
经理权限划分如图1.2.2所示:
8
图1.2.2经理权限模块图 9
经理使用本系统将能使用系统的所有功能。
9
1.2.3员工权限模块划分 9
员工(领班和营业员)权限划分如图1.2.3所示:
9
图1.2.3员工(领班和营业员)权限模块图 9
1.2.4系统流程分析 9
系统流程分析如图1.2.4所示:
9
图1.2.4系统流程分析 10
1.3详细设计 10
1.3.1数据库 10
1.3.2系统的登录 12
第二章测试计划 20
2.1项目背景 20
2.1.1编写目的 20
2.1.2开发背景 20
2.2项目环境 20
2.2.1硬件环境 20
2.2.2软件环境 20
2.2.3人力资源 21
2.3测试周期 21
第三章测试报告 22
3.1测试内容 22
3.2测试详细设计 22
3.2.1用户登录模块测试:
22
3.2.2顾客开台模块 27
3.2.3员工注册模块 30
第四章总结 35
第一章设计
1.1需求分析
1.1.1概要
近年来,随着人民的生活水平的不断提高,餐饮的消费持续增长,竞争愈来愈激烈。
然而,传统餐饮企业的日常工作还是要靠人工管理,从原材料入库到客人点单,再到结账基本由人工完成记录,这样做不仅耗费人力资源而且容易导致记录丢失或重复等错误,造成管理水平低下。
作为传统的餐饮企业更是存在这些问题,进货库存有人工管理,客人点单需服务员记录并送至厨房,客人结账由于手工记录,人力耗费大,客人等待时间长,管理效率低下,这就迫切需要标准的、高效率的计算机管理方式发展,通过计算机管理企业的日常动作,给管理者以决策参考模型,来不断完善管理水平,提高工作效率。
当今世界已进入了在计算机信息管理领域中激烈竞争的时代,应用计算机已经变得十分普遍了。
我们应该承认,谁掌握的知识多,信息量大,信息处理速度快,批量大,谁的效率就高,谁就能够在各种竞争中立于不败之地。
作为计算机的一部分,使用计算机对餐饮企业信息进行管理,具有手工管理所无法比拟的优点。
例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高信息管理的效率,也是企业的科学化、正规化管理与世界接轨的重要条件。
经过分析,本系统运用了MicrosoftSQL为后台数据库,以MicrosoftVisualC++6.0为前端开发工具,系统实现了前台管理,桌台信息的查询、开台信息、点菜、收银、桌台信息管理、员工管理、菜单维护、消费查询、盈利信息查询等功能。
本系统具有良好的用户接口,使用方便。
具有完善的查询,对维护系统起到辅助决策的作用,能及时、方便、灵活地进行查询、修改、删除等维护性操作。
餐饮管理系统有足够的存储容量,满足餐馆每日营业的变动,另外,对于操作用户有一定的管理,并对用户的权限有一定的设置。
1.1.2系统性能分析
1、多层结构设计严格意义上的三层结构设计,其程序逻辑结构分为用户界面层、业务逻辑处理层和数据存储层。
本系统采用的上有三层结构进一步扩展而成的多层结构。
2、面向对象设计在系统中将菜品类型、员工等都封装成相应的类,同时每个类都有自己对应的集合类和操作类,从而再次提高了对数据库操作的安全性和程序的可扩展性。
3、指导经营的功能进销存管理系统并不仅仅能代替传统的书面操作,更重要的是它提供了信息分析的功能,只要单击一个按钮就可以查到目前销售最好的商品或是库存最多的商品,从而起到指导经营的作用。
4、技术可行性分析因为该系统具有友好的人机互操作界面,操作人员只要进行少量的培训,系统的功能和使用方法就基本上能够是系统顺利运行。
5、经济可行性分析该系统带来的经济效益明显的,其最主要的表现就是减少了企业管理费用和人力开支,不仅节省了大量的时间,还为企业的各项决策提供了宝贵的资料,为企业带来巨大的经济效益。
同时该系统可以提高我们餐厅的销售效率,即提高了餐厅的经济效益,所以从经济上完全是可行的。
6、操作可行性分析本系统采用基于Windows的图形用户界面,而该系统是大家熟悉的操作系统,对于那些有一般的计算机知识的人员就可以轻松上手。
而整个超市管理系统采用最友好的交互界面,简介明了,不需要对数据库进行深入的了解。
综上,该系统的操作是可行的,开发该系统可行。
1.1.3功能需求分析
通过对系统的需求分析,本系统将实现餐饮系统的系统化、规范化、自动化。
本系统有三种操作权限,其中,营业员只可以执行开台、点菜、买单及查询日收入操作;领班可以执行开台、点菜、买单、添加新员工、日收入及月收入查询等操作;经理具有最高权限,除了领班及营业员的操作权限外,还可以设置员工权限、添加商品信息及菜式信息、备份与恢复数据库及初始化数据等操作。
1.功能划分功能划分功能划分功能划分
(1)前台管理功能;
(2)后台管理功能;
(3)员工管理功能。
2.功能描述功能描述功能描述功能描述
(1)前台管理功能:
可以登录页面,查看空余桌位,安置顾客于空闲桌位。
输入顾客点菜信息,能够对消费客户进行结账,能够删除和重新输入顾客点菜信息(对客户已结账已经保存的信息无法改动),注册、查看客户,能够查看已保存的菜谱、消费情况等信息。
(2)后勤管理功能:
登陆软件页面,查看仓库库存情况,修改库存清单,修改菜谱中的欠缺情况(对于菜谱其他信息无法修改),查看录入进货详单等。
(3)员工管理功能:
能够行使一切管理功能,并能够增添删除和修改员工,可以查看并更改已保存的信息,改动菜单的信息(菜价、名称等),添加菜单信息,删减菜单信息。
本功能只限于经理操作。
1.1.4运行需求
1.用户界面用户界面用户界面用户界面
本软件是基于windows平台下的窗口图形界面软件,运行主界面为Windows的经典运行界面,采用多文档界面,从而可以使程序更加美观,整齐有序,简易操作。
2.硬件接口DVD光驱,打印机等。
3.软件接口软件运行基于windows平台上的1998,2000,NT,XP,Vista等。
4.故障处理故障处理故障处理故障处理在用户的输入有错误的情况下,对于用户的输入错误应给出适当的改正提示。
若运行时遇到不可恢复的系统错误,也必须保证数据库完好无损。
1.1.5其他需求
1.安全保密安全保密安全保密安全保密增加用户登录验证,确保信息安全性。
2.可维护性可维护性可维护性可维护性应具备改正性维护、适应性维护、扩充与完善性维护等。
3.可移植性可移植性可移植性可移植性软件能够安装于windows下的各种流行版本。
1.1.6系统的数据字典
餐桌状态表
名字:
餐桌状态表
别名:
描述:
记录餐桌当前状态的信息
定义:
餐桌状态表=餐桌号+状态+备注
位置:
桌号
桌号
名字:
桌号
别名:
描述:
唯一标识系统中唯一的餐桌
定义:
桌号
位置:
餐桌状态表
财务收入表
名字:
财务收入表
别名:
描述:
财务收入表=收入金额+收入日起
名字:
账单表
别名:
描述:
描述顾客消费明细信息
定义:
账单表=桌号+菜单+数量+价格
账单表
菜名
名字:
菜名
别名:
描述:
能具体描述没种菜的信息
定义:
cainamechar
价格
名字:
价格
别名:
描述:
描述没种菜的价格信息
定义:
caipricedouble
员工表
名字:
员工表
别名:
描述:
描述每个经营管理者的具体信息
定义:
员工表=姓名+密码+权限
菜单表
名字:
菜单表
别名:
描述:
描述餐厅所有菜单的信息
定义:
菜单表=编号+菜名+价格
1.2系统设计
1.2.1系统功能结构图
此系统的功能结构图如下图1.2.1餐饮信息管理系统功能模块图所示:
餐饮管理系统
系统管理
退出
帮助
基础信息
前台管理
后台管理
权限管理
关于我们
员工信息
桌台信息
退出系统
商品信息
员工管理
进货
开台
顾客结账
加菜减菜
本日结算
菜式信息
1.2.1餐饮信息管理系统功能模块图
系统登录退出模块:
本模块是被用于用户登录,注销和退出。
模块根据用户的不同类型赋予用户不同的管理权限。
低等级的用户不可访问高等级用户的个别功能,而高等级用户可以使用低等级用户的所有系统功能。
低级用户类似领班和营业员,高级用户类似经理。
菜单信息管理模块:
本模块将餐厅的菜品信息通过标准化的管理操作加以整合,使得菜品的价格、配料、功效和图片可以完全呈现在客户面前,使得客户可以方便地选择自己想要的食物。
本模块的分权限设计将限制普通员工对菜单信息加以修改,以防止菜单价格被恶意修改,以此保证餐厅正常可靠的运营。
并且后台进货管理仅限于经理账户操作其他如领班和营业员无权操作。
订餐信息管理模块:
通过订餐模块使得传统餐饮订餐过程变得轻松方便,订餐信息管理模块会在客户订餐的同时核对客户所预定的餐桌的使用情况,避免传统订餐易出现的预定重合问题。
并且本模块在客户订餐的同时会给出已预定的菜品价格,帮助客户开心合理地消费。
模块中包含的打折服务是本模块的一大特色。
它将参考客户以往的消费情况和管理员设定的折扣程度对客户进行打折服务。
而不是传统餐饮打折中的没有规律和凭据以询。
后台的厨房通过本系统可以清楚地知道客户预定的菜品,这样就节省了大量用于菜品核对的时间,提高了厨房的效率,缩短了厨房上菜的时间。
减少了不必要的人力物力财力资源的消耗,降低餐厅的运营成本,使餐厅以更好性价比服务于消费者,消费者可以得到更好的消费体验。
员工信息管理模块:
本模块只限于经理使用,经理使用它,可以添加删除用户。
用户类型分为领班和营业员。
经理删除用户时,如果要删除的是营业员及领班,系统将直接执行命令,如果要删除的是经理账户,系统会先查看剩下的经理账户数量,最少保留一个经理账户,以便下次的登录。
1.2.2经理权限模块划分
经理权限划分如图1.2.2所示:
经理权限
系统登录退出
餐桌信息管理
菜单信息管理
充值结算管理
进货信息管理
员工信息管理
帮助
系统维护管理
图1.2.2经理权限模块图
经理使用本系统将能使用系统的所有功能。
1.2.3员工权限模块划分
员工(领班和营业员)权限划分如图1.2.3所示:
员工权限
系统登录退出
顾客信息管理
餐桌信息查询
结账管理
帮助
预定信息管理
图1.2.3员工(领班和营业员)权限模块图
员工使用本系统可以使用除了菜单信息编辑、后台信息管理模块和员工信息管理模块之外的所有功能。
1.2.4系统流程分析
系统流程分析如图所示:
用户登录
员工
经理
客户
添加维护客户信息
添加客户的预定信息
客户买单
现金
账户余额
账户充值
客户结账
收款现金金额增加
财政收支
餐桌管理
菜品管理
员工管理
图系统流程分析
流程图简介:
员工登录系统后为客户添加基本信息,客户可以根据需要在开通的账户里充值(增加用户的收款金额)。
客户用完餐后来到服务台买单,用户可以选择使用现金或者从用户余额里扣除,支付成功会增加客户的已消费金额。
若余额不足,系统将会提示,那么客户只能使用现金支付。
使用现金支付的话会增加用户的收款金额。
经理登录的话可以使用员工的所有功能,而且可以进行后台管理类似员工管理,商品进货管理,菜式信息管理及其他普通员工都可进行的操作
1.3详细设计
1.3.1数据库
数据库的链接
为了便于用户使用和维护,我们将与数据库的连接,单独写出来并进行编译,这样系统在新的环境使用时,只需改动一处数据库连接代码,即可立即使用,连接关键代码如下:
PublicSharedconstrAsString="DataSource=************\SQLEXPRESS;InitialCatalog=dcdatebase;IntegratedSecurity=True"
其中PublicSharedconstrAsString="DataSource=WWW-3C702F2C1C8\SQLEXPRESS;Initial
Catalog=dcdatebase;IntegratedSecurity=True"是数据库连接语句
Is_SQL_Cmd方法
方法Is_SQL_Cmd是判断数据是否存在,当系统登录和添加客户需要验证数据库中是否存在提交的数据时会用到它。
其主要代码如下:
PublicFunctionIs_SQL_Cmd(ByValcmdstrAsString)AsBoolean
SqlConn=NewSqlConnection(constr)
SqlConn.Open()
SqlCmd=NewSqlCommand(cmdstr,SqlConn)
Try
SqlDr=SqlCmd.ExecuteReader()
IfSqlDr.HasRowsThen
ReturnTrue
Else
ReturnFalse
EndIf
CatchexAsException
ReturnFalse
Finally
SqlConn.Close()
EndTry
EndFunction
SQL_Ada方法
方法SQL_Ada是为了查询数据库,并将查询到的结果存放在内存中的datatable表中,餐饮信息管理系统中使用到的组件DataGridView再从datatable表中得到数据。
PublicFunctionSQL_Ada(ByValadastrAsString)AsDataTable
SqlConn=NewSqlConnection(constr)
SqlConn.Open()
SqlAda=NewSqlDataAdapter(adastr,SqlConn)
ds=NewDataSet
Try
SqlAda.Fill(ds)
Returnds.Tables(0)
CatchexAsException
ReturnNewDataTable
Finally
SqlConn.Close()
EndTry
EndFunction
ExecCmd过程
ExecCmd是为系统中的添加、删除、修改服务,系统里的客户、菜单和员工的添加、删除和修改都用到了该过程。
PublicSubExecCmd(ByValcmdstrAsString)
SqlConn=NewSqlConnection(constr)
SqlConn.Open()
SqlCmd=NewSqlCommand(cmdstr,SqlConn)
SqlCmd.ExecuteNonQuery()
EndSub
1.3.2系统的登录
用户登陆模块的实现
用户登录界面图
本图为经理登录操作,用户登陆模块是防止非法用户登陆的第一道防线,通过它可以保护后台数据库的安全性,当用户要进行系统操作时,首先要进入的就是身份验证界面,只有在密码正确的情况下才能进行以后的操作,如果输入的密码不正确,则不能进行登录对系统进行操作。
如果用户以职员的身份进入系统,则只能进行顾客信息管理、菜单信息查询、预定信息管理和结算管理,而菜单信息管理、员工管理这些功能将被屏蔽,如果用户以经理身份登录,系统的所有功能都将可以使用。
本系统登录类型只限账号密码而定,没有具体的经理、领班和营业员之分。
以下是“登录”按钮的代码:
voidCLogindlg:
:
OnOK()
{
UpdateData();
if(!
m_Uname.IsEmpty()||!
m_Upasswd.IsEmpty())
{
CStringsql="SELECT*FROMLoginWHEREUname='"+m_Uname+"'andUpasswd='"+m_Upasswd+"'";
try
{
m_pRs.CreateInstance("ADODB.Recordset");
m_pRs->Open((_variant_t)sql,theApp.m_pCon.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
if(m_pRs->adoEOF)
{
AfxMessageBox("用户名或密码错误!
");
m_Uname="";
m_Upasswd="";
i++;
UpdateData(false);
if(i==3)
{
OnCancel();
}
}
else
{
theApp.name=m_Uname;
theApp.pwd=m_Upasswd;
CDialog:
:
OnOK();
return;
}
}
catch(_com_errore)
{
CStringtemp;
temp.Format("连接数据库错误信息:
%s",e.ErrorMessage());
AfxMessageBox(temp);
return;
}
}
else
{
AfxMessageBox("用户名密码不能为空");
}
}
顾客开台模块实现
此为餐馆内部人员都能进行操作(经理、领班、营业员)。
客户只能选取空闲的餐桌进行就餐。
代码如下:
voidCKaitaidlg:
:
OnButtonOk()
{
UpdateData();
if(m_ZhuoHao.IsEmpty())
AfxMessageBox("桌号不能为空");
else
{
CStringStr="select*fromTableUSEwhereTableUSEID=1";
m_pRs=theApp.m_pCon->Execute((_bstr_t)Str,NULL,adCmdText);
while(!
m_pRs->adoEOF)
{
Value=(char*)(_bstr_t)m_pRs->GetCollect("桌号");
if(m_ZhuoHao==Value)
{
AfxMessageBox("有人了");
m_ZhuoHao="";
UpdateData(false);
return;
}
m_pRs->MoveNext();
}
m_pRs=NULL;
CStringStr1="select*fromTableUSEwhere桌号="+m_ZhuoHao+"";
m_pRs=theApp.m_pCon->Execute((_bstr_t)Str1,NULL,adCmdText);
if(m_pRs->adoEOF)
{
AfxMessageBox("没有这种餐台");
m_ZhuoHao="";
UpdateData(false);
return;
}
m_pRs=NULL;
CDiancaidlgdlg;
dlg.m_ZhuoHao=m_ZhuoHao;
dlg.DoModal();
CDialog:
:
OnOK();
}
}
菜品选择模块的实现
此部分为餐桌点菜部分
代码如下:
BOOLCJiacaidlg:
:
OnInitDialog()
{
CDialog:
:
OnInitDialog();
SetIcon(LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON_diancai)),TRUE);
CStringSql="select*fromcaishiinfo";
m_CaidanList.SetExtendedStyle(LVS_EX_FLATSB|LVS_EX_FULLROWSELECT|LVS_EX_HEADERDRAGDROP|LVS_EX_ONECLICKACTIVATE|LVS_EX_GRIDLINES);
m_CaidanList.InsertColumn(0,"菜名",LVCFMT_LEFT,100,0);
m_CaidanList.InsertColumn(1,"菜价(元)",LVCFMT_LEFT,100,1);
m_pRs=theApp.m_pCon->Execute((_bstr_t)Sql,NULL,adCmdText);
while(!
m_pRs->adoEOF)
{
CStringTheValue,TheVa
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 餐饮 管理 系统 设计 测试
![提示](https://static.bdocx.com/images/bang_tan.gif)