小型餐饮管理系统.docx
- 文档编号:12341629
- 上传时间:2023-04-18
- 格式:DOCX
- 页数:31
- 大小:674.45KB
小型餐饮管理系统.docx
《小型餐饮管理系统.docx》由会员分享,可在线阅读,更多相关《小型餐饮管理系统.docx(31页珍藏版)》请在冰豆网上搜索。
小型餐饮管理系统
《数据库原理与应用》
课程设计
分析与设计报告
题目小型餐饮管理系统
专业班级
学号
姓名
指导老师
完成时间2012-1-13
目录
1设计任务与要求1
2需求分析1
2.1功能需求1
2.2性能需求1
2.3数据需求1
2.4运行需求1
3系统总体设计2
3.1系统总体框架设计2
3.2各模块功能分析2
(2)系统主界面主要功能:
3
4数据库设计4
4.1概念结构设计4
4.2逻辑结构设计4
4.3物理结构设计5
5运行结果和测试16
6参考资料21
1设计任务与要求
主要说明所选课题的目的、任务和意义。
使用软件工程的思路确定总体方案;使学生掌握数据库的基本概念;
完成详细的需求分析,涉及合理的数据库,能够实现对小型餐饮业的日常业务管理,包括客户信息、餐饮信息的增加、删除、修改和查询,客户消费的结账和查询等操作;
采用设计工具完成概念结构设计,形成清晰的ER模型,建立规范化程度较高的关系模型;
编码测试,最终完成开发任务;
具体过程包括:
系统方案的确定,数据库设计,数据库结构的实现,系统主界面设计,模块功能的详细实现,调试完成系统,撰写并提交设计报告。
设计报告内容包括:
设计题目、任务要求、系统总体方案、各个模块实现和数据流图,心得体会和参考资料。
2需求分析
2.1功能需求
餐饮管理系统中主要包括对以下几种管理:
账单管理,财务管理,订餐管理,菜品管理,系统管理。
(1)系统管理:
系统管理包括用户名和密码,主要用于用户登陆界面登陆和查询。
(2)账单管理:
账单管理包括账单号和餐台,每一个餐台对应一个一个账单号,通过餐台号的记录来对对应的餐台进行记账管理,即就是记录每一个餐台的消费金额。
账单管理是财务管理的一个小分支,是服务于财务管理的。
(3)财务管理:
包括账单号,时间和账目。
账目用于记录账单号的消费金额及时间,以便用于结算和汇总。
每日的结算要通过对每个餐台号的消费金额汇总来记录,然后由每日的结算汇总得出每月的结算。
帐务系统功能的完整性。
一旦该系统正式运行,餐厅每日营业帐和全部往来客户帐务的操作结算都将依靠计算机,该系统面对当前餐饮业各种复杂的结算要求应具有很强的应变能力。
(4)订餐管理:
订餐管理仅包括单价。
订餐管理是便于顾客订餐和账单管理时对各个菜品消费金额的记录,这样便于账单管理和财务汇总。
(5)菜品管理:
菜品管理包括菜名,菜品类别和菜品品种。
菜品管理便于顾客点菜和记录各个餐台的消费记账,菜品品种也便于餐馆的食材采购。
2.2性能需求
该餐饮系统操作简单方便可适应各类中小型餐馆。
2.3数据需求
账单管理中账单号是主键,每一个餐台对应一个账单号。
财务管理中账单号是主键,每一个账单号都有对应的时间和账目记录。
订餐管理中单价就是主键。
菜品管理中菜名是主键。
系统管理中用户名是主键。
2.4运行需求
2.4.1用户界面
本界面是由人工按菜单提示输入信号,软件对其进行处理。
2.4.2硬件接口
此系统存在点菜机按键与屏幕映射方面的接口
2.4.3软件接口
本软件同外部无软件接口
2.4.4故障处理
软件故障:
系统运行过程中可能在输入密码后并无任何提示信息,或者查询详单时无输出信息,内存泄漏等。
这些都给用户带来不必要的麻烦,故在程序设计中,代码编写以及测试的时候都要仔细关注这些方面的问题。
硬件故障:
某些硬件故障无法解决,应与相关部门及时联系,解决问题。
3系统总体设计
3.1系统总体框架设计
根据业务情况,该系统共分为开台管理、客人买单、菜谱信息设置、客户点菜、酒水信息设置等模块,系统结构图如图3.1所示。
图3.1餐饮管理系统结构图
3.2各模块功能分析
(1)系统登录窗口主要功能:
1)以图标形式显示数据库中操作员,并凭口令登入到主界面。
2)操作员输入错误密码提醒错误并返回,三次输入错误口令则退出系统。
3)实现权限登录:
系统管理员拥有一切权利,其他操作员则被限制一些操作权限。
(2)系统主界面主要功能:
1)根据操作员权限设置相应权限的菜单和工具栏功能。
2)可通过菜单或快捷键进入相应子界面。
3)显示了系统当前时间和相应操作员。
(3)系统菜谱信息设置界面主要功能:
实现对菜谱信息的添加、修改、删除、查询的功能。
(4)系统开台管理界面主要功能:
1)以图标模式显示空台、营业台,点击台号图标则自动显示相应台号信息。
2)通过输入台号检索符合条件的台号。
3)点击空房自动弹出与昂查询窗口从而自动开台。
(5)系统点菜界面主要功能:
1)实现菜谱,酒水查询的链接。
2)点击“开始点菜”按钮台号状态自动变为开台,并聚焦到编号栏。
3)在编号栏输入菜编号按回车自动录入菜的信息,。
4)自动生成结账编号,输入菜数量自动计算合计消费金额。
5)可实现挂单、读单、放弃开台和点菜完毕返回的功能。
4数据库设计
4.1概念结构设计
图4.1数据库的概念模型图
4.2逻辑结构设计
图4.2数据库的物理模型图
4.3物理结构设计
数据库结构设计是总体设计阶段非常重要的环节,好的数据库结构可以简化开发过程,使系统功能更加清晰明确。
因为数据库结构的变化会造成编码的改动,所以必须认真设计数据库后再进行编码,从而避免了无谓的重复的工作。
本系统采用了SQLServer数据库,数据库名称为060412079。
该数据库包含6个表,分别是:
登录、桌号表、消费单、菜食、商品、进货单表。
下面分别介绍数据表的结构。
1)数据库及表结构的创建
设本系统使用的数据库名为小型餐饮业管理系统,根据已设计的关系模式及各模式的完整性要求,现在就可以在SQLServer6.x数据库系统中实现这些逻辑结构。
下面是创建基本表的SQL语句:
/*==============================================================*/
/*DBMSname:
SybaseSQLAnywhere11*/
/*Createdon:
2012-3-411:
10:
53*/
/*==============================================================*/
ifexists(select1fromsys.sysforeignkeywhererole='FK_CAISHI_SHUYU_XIAOFEID')then
altertablecaishi
deleteforeignkeyFK_CAISHI_SHUYU_XIAOFEID
endif;
ifexists(select1fromsys.sysforeignkeywhererole='FK_JINHUO_JINHUO_JINHUODA')then
altertablejinhuo
deleteforeignkeyFK_JINHUO_JINHUO_JINHUODA
endif;
ifexists(select1fromsys.sysforeignkeywhererole='FK_JINHUO_JINHUO2_SHANGPIN')then
altertablejinhuo
deleteforeignkeyFK_JINHUO_JINHUO2_SHANGPIN
endif;
ifexists(select1fromsys.sysforeignkeywhererole='FK_XIAOFEID_GUANLIAN2_ZHUOHAO')then
altertablexiaofeidan
deleteforeignkeyFK_XIAOFEID_GUANLIAN2_ZHUOHAO
endif;
ifexists(select1fromsys.sysforeignkeywhererole='FK_XIAOFEID_ZONGSHOUR_SHOURU')then
altertablexiaofeidan
deleteforeignkeyFK_XIAOFEID_ZONGSHOUR_SHOURU
endif;
ifexists(select1fromsys.sysforeignkeywhererole='FK_ZHUOHAO_GUANLIAN_XIAOFEID')then
altertablezhuohao
deleteforeignkeyFK_ZHUOHAO_GUANLIAN_XIAOFEID
endif;
ifexists(
select1fromsys.sysindexi,sys.systablet
wherei.table_id=t.table_id
andi.index_name='shuyu_FK'
andt.table_name='caishi'
)then
dropindexcaishi.shuyu_FK
endif;
ifexists(
select1fromsys.sysindexi,sys.systablet
wherei.table_id=t.table_id
andi.index_name='caishi_PK'
andt.table_name='caishi'
)then
dropindexcaishi.caishi_PK
endif;
ifexists(
select1fromsys.systable
wheretable_name='caishi'
andtable_typein('BASE','GBLTEMP')
)then
droptablecaishi
endif;
ifexists(
select1fromsys.sysindexi,sys.systablet
wherei.table_id=t.table_id
andi.index_name='denglu_PK'
andt.table_name='denglu'
)then
dropindexdenglu.denglu_PK
endif;
ifexists(
select1fromsys.systable
wheretable_name='denglu'
andtable_typein('BASE','GBLTEMP')
)then
droptabledenglu
endif;
ifexists(
select1fromsys.sysindexi,sys.systablet
wherei.table_id=t.table_id
andi.index_name='jinhuo2_FK'
andt.table_name='jinhuo'
)then
dropindexjinhuo.jinhuo2_FK
endif;
ifexists(
select1fromsys.sysindexi,sys.systablet
wherei.table_id=t.table_id
andi.index_name='jinhuo_FK'
andt.table_name='jinhuo'
)then
dropindexjinhuo.jinhuo_FK
endif;
ifexists(
select1fromsys.sysindexi,sys.systablet
wherei.table_id=t.table_id
andi.index_name='jinhuo_PK'
andt.table_name='jinhuo'
)then
dropindexjinhuo.jinhuo_PK
endif;
ifexists(
select1fromsys.systable
wheretable_name='jinhuo'
andtable_typein('BASE','GBLTEMP')
)then
droptablejinhuo
endif;
ifexists(
select1fromsys.sysindexi,sys.systablet
wherei.table_id=t.table_id
andi.index_name='jinhuodan_PK'
andt.table_name='jinhuodan'
)then
dropindexjinhuodan.jinhuodan_PK
endif;
ifexists(
select1fromsys.systable
wheretable_name='jinhuodan'
andtable_typein('BASE','GBLTEMP')
)then
droptablejinhuodan
endif;
ifexists(
select1fromsys.sysindexi,sys.systablet
wherei.table_id=t.table_id
andi.index_name='shangpin_PK'
andt.table_name='shangpin'
)then
dropindexshangpin.shangpin_PK
endif;
ifexists(
select1fromsys.systable
wheretable_name='shangpin'
andtable_typein('BASE','GBLTEMP')
)then
droptableshangpin
endif;
ifexists(
select1fromsys.sysindexi,sys.systablet
wherei.table_id=t.table_id
andi.index_name='shouru_PK'
andt.table_name='shouru'
)then
dropindexshouru.shouru_PK
endif;
ifexists(
select1fromsys.systable
wheretable_name='shouru'
andtable_typein('BASE','GBLTEMP')
)then
droptableshouru
endif;
ifexists(
select1fromsys.sysindexi,sys.systablet
wherei.table_id=t.table_id
andi.index_name='zongshouru_FK'
andt.table_name='xiaofeidan'
)then
dropindexxiaofeidan.zongshouru_FK
endif;
ifexists(
select1fromsys.sysindexi,sys.systablet
wherei.table_id=t.table_id
andi.index_name='guanlian2_FK'
andt.table_name='xiaofeidan'
)then
dropindexxiaofeidan.guanlian2_FK
endif;
ifexists(
select1fromsys.sysindexi,sys.systablet
wherei.table_id=t.table_id
andi.index_name='xiaofeidan_PK'
andt.table_name='xiaofeidan'
)then
dropindexxiaofeidan.xiaofeidan_PK
endif;
ifexists(
select1fromsys.systable
wheretable_name='xiaofeidan'
andtable_typein('BASE','GBLTEMP')
)then
droptablexiaofeidan
endif;
ifexists(
select1fromsys.sysindexi,sys.systablet
wherei.table_id=t.table_id
andi.index_name='guanlian_FK'
andt.table_name='zhuohao'
)then
dropindexzhuohao.guanlian_FK
endif;
ifexists(
select1fromsys.sysindexi,sys.systablet
wherei.table_id=t.table_id
andi.index_name='zhuohao_PK'
andt.table_name='zhuohao'
)then
dropindexzhuohao.zhuohao_PK
endif;
ifexists(
select1fromsys.systable
wheretable_name='zhuohao'
andtable_typein('BASE','GBLTEMP')
)then
droptablezhuohao
endif;
/*==============================================================*/
/*Table:
caishi*/
/*==============================================================*/
createtablecaishi
(
caimingvarchar(12)notnull,
IDintegernull,
"zhuohao."integernull,
caijianumeric(10)null,
constraintPK_CAISHIprimarykey(caiming)
);
/*==============================================================*/
/*Index:
caishi_PK*/
/*==============================================================*/
createuniqueindexcaishi_PKoncaishi(
caimingASC
);
/*==============================================================*/
/*Index:
shuyu_FK*/
/*==============================================================*/
createindexshuyu_FKoncaishi(
IDASC,
"zhuohao."ASC
);
/*==============================================================*/
/*Table:
denglu*/
/*==============================================================*/
createtabledenglu
(
Unamevarchar(10)notnull,
Upasswdvarchar(12)notnull,
powerintegernull,
constraintPK_DENGLUprimarykey(Uname,Upasswd)
);
/*==============================================================*/
/*Index:
denglu_PK*/
/*==============================================================*/
createuniqueindexdenglu_PKondenglu(
UnameASC,
UpasswdASC
);
/*==============================================================*/
/*Table:
jinhuo*/
/*==============================================================*/
createtablejinhuo
(
shangpinmingvarchar(12)notnull,
sahngpinmingvarchar(12)notnull,
constraintPK_JINHUOprimarykeyclustered(shangpinming,sahngpinming)
);
/*==============================================================*/
/*Index:
jinhuo_PK*/
/*==============================================================*/
createuniqueclusteredindexjinhuo_PKonjinhuo(
shangpinmingASC,
sahngpinmingASC
);
/*==============================================================*/
/*Index:
jinhuo_FK*/
/*==============================================================*/
createindexjinhuo_FKonjinhuo(
shangpinmingASC
);
/*==============================================================*/
/*Index:
j
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 小型 餐饮 管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)