酒店餐饮点菜系统的开发.docx
- 文档编号:4420091
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:27
- 大小:1.48MB
酒店餐饮点菜系统的开发.docx
《酒店餐饮点菜系统的开发.docx》由会员分享,可在线阅读,更多相关《酒店餐饮点菜系统的开发.docx(27页珍藏版)》请在冰豆网上搜索。
酒店餐饮点菜系统的开发
酒店餐饮点菜系统的开发
课程设计说明书
设计依据、要求及主要内容(可另加附页):
系统具有点菜、结帐、查询、统计、设置功能。
点菜时可用菜名的拼音简码搜索菜。
查询功能包括查询菜和点菜单。
统计可统计一天的营业额。
设置功能包括查询操作员和菜。
系统采用B/S结构,用ASP开发,后台数据库采用SQLServer2005。
在本次课程设计中完成需求分析、系统设计、系统实现和测试。
在课程设计过程中可参考以下文献:
[1]赵慧勤.网络数据库应用技术.北京:
机械工业出版社,2004.
[2]柳青,刘渝妍,何文华.VisualBasic程序设计教程[M].北京:
高等教育出版社,2000.
[3]王春才,高春艳,李俊民.VisualBasic数据库系统开发完全手册[M].北京:
人民邮电出版社,2004.
[4]杨富国,王健,王倩.VisualBasic程序开发案例解析[M].北京:
清华大学出版社,2005.
[5]齐治昌,谭庆平,宁洪.软件工程[M].北京:
高等教育出版社,2004.
指导教师(签字):
教研室主任(签字):
批准日期:
年月日
摘要
在大多数的餐饮场所点菜、查看菜谱等是人工完成的,速度慢,效率低,极易出错,造成人力物力的极大浪费。
然而随着我国市场经济的快速发展,酒店餐饮点菜系统成为酒店提升服务档次,提高办公效率,提高竞争力的关键因素之一。
本系统用ASP开发,后台数据库采用SQLServer2005,并对整体进行需求分析、总体设计、详细设计,实现了利用菜名的拼音简码对菜进行搜索,顾客点菜、账单入库、账单查询等功能。
对于系统管理员还具有查看营业额,对菜谱、桌台进行管理等功能,满足中小型酒店餐饮点菜功能。
关键词:
酒店餐饮点菜系统;ASP;SQLServer2005
目录
1课题描述1
2需求分析2
2.1系统介绍2
2.2用户需求分析2
2.3数据流图2
2.4数据字典2
3数据库设计4
3.1概念结构设计4
3.2逻辑结构设计4
3.3物理结构设计4
4系统详细设计及实现6
4.1数据库连接文件6
4.2客户端首页6
4.3酒店餐饮点餐6
4.4酒店餐饮结账11
4.5酒店餐饮管理13
5测试与分析17
总结22
参考文献23
1课题描述
随着我国市场经济的快速发展,各行业都呈现出生机勃勃的发展景象。
在餐饮业竞争越来越激烈的今天,酒店如何提高服务质量、管理能力显得越来越重要。
如果单凭手工操作,不仅效率低下,而且会极大地影响到酒店的服务质量。
酒店餐饮点菜系统作为餐饮管理规划的一部分,集点菜、结帐、查询、统计、设置等各种功能为一体,对于提高餐饮管理效率、增加收入发挥不可替代的作用。
本系统用ASP开发,利用此系统,使得前台服务不再和以前一样使用纸笔记录,只是轻点键盘就能完成,减少错误地发生,避免不必要的损失;顾客可方便查询自己的点菜信息,管理员也可以方便的实现管理,如查看营业额、查询操作员和菜的信息等。
所以把先进的技术运用到餐饮管理和服务中来促进餐厅各部门的协作,提高餐饮管理的效率,是系统开发的主要目的。
开发工具:
DreamweaverCS4SQL2005
2需求分析
2.1系统介绍
餐饮点菜系统拥有方便、快捷、效率高、掌控能力强等特点,它改变了传统的点菜管理观念,充分体现了信息化餐饮管理系统给企业的快速发展带来的好处。
所以,本系统是针对餐饮行业的点菜而开发的一个系统。
开发本系统的总体任务是实现点菜、结帐、查询、统计、设置的功能,点菜时可用菜名的拼音简码搜索菜,查询菜和点菜单,统计一天的营业额,实现酒店餐饮点菜的系统化和自动化。
2.2用户需求分析
本系统的总目标是为用户提供迅速、高效的服务,减免手工处理的繁琐与误差,及时、准确地反映酒店的工作情况、经营情况,从而提高酒店的服务质量,获得更好的经济效益。
其具体目标包括:
(1)快速完成顾客的点餐。
(2)准确无误地记录顾客的每笔消费记录。
(3)实时、快速、准确地提供最新餐单。
(4)方便查询顾客消费情况。
(5)方便查询酒店的营业额情况。
2.3数据流图
餐饮点菜系统数据流图如图2-1所示。
图2-1数据流图
2.4数据字典
⑴数据项
表2.1数据项表
编号
数据项名称
说明部分
编号
数据项名称
说明部分
1
职员号
整型有唯一性
2
职员姓名
字符串类型长度50字符
3
职员性别
字符串类型男、女
4
职员年龄
字符串类型<=100
5
职员住址
字符串类型长度50字符
6
桌号
字符串类型有唯一性
7
桌台名称
字符串类型
8
餐桌状态
使用/空闲
9
桌台负责人
整型依据服务员表的服务员号
10
菜号
字符串类型有唯一性
11
菜名
字符串类型有唯一性
12
价格
货币数据类型
13
菜类型
字符串类型菜所属的类别
14
菜状态
整数类型菜是否选中
15
点菜菜号
字符串类型有唯一性
16
点菜桌号
字符串类型有唯一性
17
点菜时间
字符串类型
18
点菜份数
整型
19
管理员号
字符串类型有唯一性
20
管理员密码
字符串类型
21
管理员名称
字符串类型
22
⑵数据结构
表2.2系统数据结构表
编号
数据结构名
属性
1
职员
职员号、职员姓名、职员性别、职员年龄、住址
2
管理员
编号、名称、密码
3
餐桌
餐桌号、名称、状态、负责人
4
菜
菜号、菜名、价格、菜类型
5
点菜
菜号、桌号、时间、份数
3数据库设计
3.1概念结构设计
概念结构设计是将分析得到的用户需求抽象为概念模型的过程,即在需求分析的基础上,设计出能够满足用户需求的各种实体以及它们之间的相互关系的模型。
概念结构的主要特点是能真实、充分地反映现实世界,易于理解,易于更改,易于向关系、网状、层次等各种数据模型转换。
描述概念模型的有力工具是E-R模型。
基于数据库管理系统的餐饮点菜系统的E-R图如图3-1所示。
图3-1餐饮点菜系统数据库E-R图
3.2逻辑结构设计
逻辑结构设计的任务就是把概念模型结构转换成某个具体的DBMS所支持的数据模型。
设计逻辑结构时,首先是将概念结构转换为一般的关系、网状、层次模型,其次是将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换,最后是对数据模型进行优化。
将餐饮点菜系统的E-R图转换成关系数据模型。
关系模式如下:
菜(菜编号,菜名,类型,价格,状态);
桌台(桌台编号,桌台名称,状态,服务员);
服务员(编号,姓名,性别,年龄,电话);
管理员(编号,名称,密码)。
3.3物理结构设计
数据库的物理结构设计是对于给定的逻辑数据模型,选取一个最合适应用环境的物理结构。
数据库的物理结构指的是数据库在物理设备上的存储结构与存取方法,它依赖于给定的计算机系统,是在数据库逻辑结构的基础上设计出一组能够满足实际需求的关系、约束、和索引等信息。
餐饮点菜系统的数据库表结构如下:
⑴服务员基本表
表3.1服务员信息表
属性中文名称
属性名
类型
长度
说明
服务员号
ID
Int
酒店统一编号,具有唯一性
服务员姓名
Watiername
nvarchar
50
服务员名称
服务员性别
sex
CHAR
10
服务员性别
服务员年龄
age
char
10
电话
Tel
nvarchar
50
⑵桌台基本表
表3.2桌台信息表
属性中文名称
属性名
类型
长度
说明
桌台号
ID
CHAR
10
酒店统一编号,具有唯一性
桌台名
Tablename
nchar
10
房间名称
桌台状态
tablestatus
nchar
10
使用或空闲
桌台负责人
WID
int
外码,依据服务员表的服务员号
⑶菜单表
表3.3菜单信息表
属性中文名称
属性名
类型
长度
说明
菜号
ID
nchar
10
酒店统一编号,具有唯一性
菜名
cname
nchar
10
菜名
菜类别
ctype
nvarchar
50
菜类别
菜价格
cprice
money
状态
isselected
int
选中:
1;未选:
0
⑷管理员基本表
表3.4管理员信息表
属性中文名称
属性名
类型
长度
说明
管理员号
ID
Int
酒店统一编号,具有唯一性
管理员名称
Username
nvarchar
50
管理员名称
密码
Password
nvarchar
50
管理员密码
⑸点菜表
表3.5点菜信息表
属性中文名称
属性名
类型
长度
说明
菜号
CID
nchar
10
外码:
依据菜单表的菜号
桌号
ZID
char
10
外码:
依据桌台表中的桌号
点菜时间
dtime
nvarchar
50
提交菜单时间
点菜份数
number
int
默认:
1份
4系统详细设计及实现
4.1数据库连接文件
conn.asp文件负责建立与数据库的连接,并创建了关闭连接的过程。
该文件为系统的公共文件,在其他要实现数据操作的文件中会调用此文件,该文件的代码如下:
<%
dimconn,connStr
setconn=server.CreateObject("adodb.connection")
connStr="PROVIDER=SQLOLEDB;DATASOURCE=XDNGS-90EBAEBEE\SQLEXPRESS;UID=sa;PWD=123;DATABASE=keshe"
conn.open(connStr)
%>
4.2客户端首页
客户端首页由多个文件构建而成,其应用界面如图4-1所示。
图4-1客户端首页
4.3酒店餐饮点餐
⑴顾客通过首页顾客点餐可以进入酒店餐饮点餐界面,该界面列出了当前酒店的可用空桌号和酒店的菜谱列表,顾客可以通过自己的喜好进行点餐、加菜或返回首页。
在该页上还设置了搜索功能,顾客可以通过拼音简码搜索自己喜欢的菜,界面如图4-2所示。
图4-2点菜界面
主要代码如下:
桌台号:
<%
dimrs2,sql2
setrs2=server.CreateObject("adodb.recordset")
sql2="select*fromzhuotaiwheretablestatus='空闲'"
rs2.opensql2,conn,1,1
ifnotrs2.eofthen
dowhilenotrs2.eof
%>
<%
rs2.movenext
loop
endif
%>
<%
dimrs1,sql1
'dimCID
'CID=request.Form("cname")
setrs1=server.CreateObject("adodb.recordset")
'ifrequest.Form("cname")=""then
sql1="select*fromcaiList"
rs1.opensql1,conn,1,1
ifnotrs1.eofthen
dowhilenotrs1.eof
ifrs1("isselected")=1then
%>
this.bgColor='#33CCFF';"onMouseOut="javascript: this.bgColor='#FFFFFF';">
<%
else%>
this.bgColor='#33CCFF';"onMouseOut="javascript: this.bgColor='#FFFFFF';">
<%
endif
rs1.movenext
loop
endif
%>
⑵实现搜索处理的主要代码如下:
functiondoUp()
{varqstr="";
$("input[name='cai']").each(function(){if(this.checked){
if(qstr!
="")
qstr=qstr+"&";qstr=qstr+"cai="+$.trim(this.value);}});
window.location.href="slchuli.asp?
"+qstr;}
你好!
根据你的输入内容,搜索结果如下:
<%
dimCID
CID=request.Form("cname")
dimrs3,sql3
setrs3=server.CreateObject("adodb.recordset")
dimd:
d=CID&"%"
sql3="select*fromcaiListwhereIDlike'"&d&"'"
rs3.opensql3,conn,1,1
ifnotrs3.eofthen
dowhilenotrs3.eof
%>
<%
rs3.movenext
loop
endif
%>
⑶点菜后台处理主要代码如下:
<%dimzhuozi
session("time")=Now()
zhuozi=request("zhuozi")
dimids:
ids=split(request("cai"),",")
fori=0toubound(ids)
sql="insertintodiancai(CID,ZID,dtime,number)values('"&trim(ids(i))&"','"&zhuozi&"','"&session("time")&"',1)"
conn.execute(sql)
next
response.write"点菜成功,3秒后返回首页
"
%>
<%
sql2="update[zhuotai]settablestatus='使用'whereID='"&zhuozi&"'"
conn.execute(sql2)
fori=0toubound(ids)
sql3="update[caiList]setisselected=0whereID='"&trim(ids(i))&"'"
conn.execute(sql3)
next
conn.close
setconn=nothing
%>
functionreverse()
{
window.location.href="index.asp";
}
setTimeout("reverse()",3000)
4.4酒店餐饮结账
通过首页顾客结账通道可以进入酒店餐饮结账界面,如图4-3所示。
图4-3结账界面
在该界面,通过输入结账的桌号,可以显示出顾客的点菜记录,及计算出消费总额。
从此页也可以返回首页。
主要代码如下:
<%
dimzhuohao
zhuohao=cint(request.Form("zhuohao"))
dimrs1,sql1
setrs1=server.CreateObject("adodb.recordset")
sql1="selectMax(dtime)as[dctime]from[diancai]where[ZID]="&zhuohao
rs1.opensql1,conn,1,1
ifnotrs1.eofthen
dowhilenotrs1.eof
%>
<%dctime=rs1("dctime")
rs1.movenext
loop
endif
%>
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。 copyright@ 2008-2022 冰点文档网站版权所有 经营许可证编号:鄂ICP备2022015515号-1
冰豆网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。