数据库餐饮管理系统课程设计报告书.docx
《数据库餐饮管理系统课程设计报告书.docx》由会员分享,可在线阅读,更多相关《数据库餐饮管理系统课程设计报告书.docx(22页珍藏版)》请在冰豆网上搜索。
数据库餐饮管理系统课程设计报告书
第一章前言
1.1开发背景
近几年来,计算机网络。
分布及技术日趋成熟,随着科技的发展,餐饮业的竞争也越来越激烈。
想在这样激烈的环境中生存,就必须运用科学的管理思想与先进的管理方法,使点餐与管理一体化。
这样不仅可以提高工作效率,也避免了以前手工作业的麻烦,从而是管理者能够准确。
有效的管理。
因此,餐饮业的管理者更像从科学的管理中去的竞争的优势,在激烈竞争的商业市场中取胜。
1.2开发工具
硬件:
笔记本电脑
软件:
WindowsXP操作系统
MicrosoftVisualStudio2008
MicrosoftSQLServer2000
本系统是采用C#技术结合SQLServer数据库设计并实现的。
窗口的开发工具为MicrosoftVisualStudio2008,数据库使用的是SQLServer2000ExpressEdition。
编程语言采用的是c#。
1.3开发目标
1、系统采用人机交互的方式,界面友好美观,信息查询灵活方便,数据库存储安全可靠。
2、实现对餐厅顾客开台、点菜/加菜、账目查询和结账等操作。
3、对用户输入的数据进行严格的检验,尽可能的避免人为错误。
4、实现对消费账目自动结算。
5、实现对消费的历史记录进行查询,支持模糊查询。
6、系统应尽大限度的实现易维护性和易于操作性。
7、界面尽可能美观大方,易学易用。
第二章需求分析
随着餐饮业的不断发展,餐饮管理系统的容对于餐饮业的决策者和管理者来说都非常重要。
本系统主要包括桌台显示、消费查询、人事档案及权限等几大部分,具有良好的用户接口,使用方便具有完善的查询,对维护系统起到辅助决策的作用,能及时、方便、灵活的进行查询、修改删除等维护性操作。
餐饮管理系统有足够大的存储容量,满足酒店每日营业的变动,另外对于操作用户有一定的管理,并对用户的权限有一定的设置。
为了使系统更加人性化,便于管理员管理,此系统的用户将分为两种类型,一个是针对员工的餐饮管理系统,一个是针对管理员(店主)的餐饮管理系统。
超级管理员拥有所有权限。
经理除了系统维护外,其他操纵都可以,普通用户只能实现辅助工具的使用权限。
不同用户的权限如下:
员工使用本餐饮信息管理系统应可以实现以下功能:
1、使用辅助工具(日历、记事本、计算器)
2、查询统计(收入日报)
3、使用帮助菜单
4、退出系统
管理员使用本餐饮信息管理系统应可以实现以下功能:
1、进行基础信息的查询修改(开桌信息、职员信息、食品信息)
2、使用辅助工具(日历、记事本、计算器)
3、进行系统维护(权限管理)
4、系统设置(密码修改、系统锁定)
5、查询统计(收入日报)
6、使用帮助
7、退出系统
除了实现以上功能外,本系统还需要方便用户地使用,使得用户可以很快地熟练掌握,从而可以让用户快速的投入工作。
并且要避免逻辑错误的出现。
第三章总体设计
3.1系统功能结构
本餐饮管理系统需要分为以下几个功能模块并分别实现。
具体的功能结构如图3-1所示。
1、基础信息模块:
用来查询桌台信息和职员信息。
2、辅助工具模块:
包括日历,记事本,计算机等小的辅助工具。
3、系统维护模块:
用来管理权限,系统备份和恢复。
4、系统设置模块:
用来设置密码,锁定系统。
5、帮助模块:
用来存放有关本系统的信息。
6、退出模块:
退出系统。
图3-1系统功能结构图
3.2程序流程图
本系统程序流程图如图3-4所示。
首先用户打开系统,输入登录名和密码,若点击登录,验证登录名密码正确后进入主界面,若点击取消,则停留在系统登陆界面。
进入主界面之后,系统会验证该用户是管理员还是普通用户,若为管理员,则该用户可以使用系统维护,系统设置,基础信息功能模块,若不是管理员,则只能访问辅助工具,退出,帮助模块。
图3-2程序流程图
第四章数据库设计
4.1概念结构设计
1、商品信息表E-R图如图4-1所示
图4-1商品信息表实体E-R图
2、顾客消费信息表E-R图如图4-2所示
顾客消费信息表
系统编号
消费时间
消费桌台名称
备注信息
开单人
商品价格
消费商品数量
商品名称
商品代号
图4-2顾客消费信息表实体E-R图
3、桌台信息E-R图如图4-3所示
桌台信息表
顾客人数
开单人
开台时间
顾客名称
其他信息
系统编号
桌台备注
桌台类型
桌台名称
桌台简称
桌台包间费
桌台位置
桌台状态
图4-3桌台信息表实体E-R图
4、用户信息E-R图如图4-4所示
图4-4用户信息表实体E-R图
5、职员信息表E-R图如图4-5所示
职员信息表
职员电话
身份证号
职员姓名
系统编号
职员年龄
职员性别
职员编号
图4-5职员信息表实体E-R图
4.2逻辑结构设计
本系统的关系模式如下:
商品信息表(商品系统编号,商品类别编号,商品代码,商品名称,商品价格)
顾客消费信息表(消费时间,消费桌台名称,备注信息,开单人,商品价格,商品消费数量,商品名称,商品代号,系统编号)
桌台信息表(系统编号,桌台名称,桌台简称,桌台包间费,桌台位置,桌台状态,桌台类型,桌台备注,其他信息,顾客名称,开台时间,顾客人数,开单人)
用户信息表(系统编号,登陆账号,登录密码,账号权限)
职员信息表(系统编号,职员,号,职员编号,职员性别,职员年龄,职员)
4.3物理结构设计
根据各表的逻辑结构,创建表结构如下:
1、商品信息表如表4-1所示
表4-1
字段名
数据类型
长度
主键
描述
ID
Int
4
是
系统编号
Foodty
Char
10
否
类别编号
Foodnum
Char
10
否
商品代号
Foodname
Varchar
50
否
商品名称
Foodprice
Decimal
9
否
商品价格
2、顾客消费新表如表4-2所示
表4-2
字段名
数据类型
长度
主键
描述
ID
Int
4
是
系统编号
Foodnum
Char
10
否
商品代号
Foodname
Varchar
50
否
商品名称
Foodsum
Char
10
否
消费数量
Foodallprice
Decimal
9
否
商品价格
Waitername
Varchar
50
否
服务员
Beizhu
Varchar
50
否
备注
Zhuotai
Char
10
否
消费桌台
Datatime
Varchar
50
否
消费时间
3、桌台信息表如表4-3所示
表4-3
字段名
数据类型
长度
主键
描述
ID
Int
4
是
系统编号
Roomname
Char
10
否
桌台名称
Roomjc
Char
10
否
桌台简称
Roombjf
Decimal
9
否
桌台包间费
Roomwz
Char
10
否
桌台位置
Roomzt
Char
10
否
桌台状态
Roomtype
Char
10
否
桌台类型
Roombz
Varchar
50
否
桌台备注
Roomqt
Varchar
50
否
桌台其他信息
Guestname
Varchar
50
否
顾客
Zhangdandate
Varchar
50
否
开台时间
Num
Int
4
否
顾客人数
Waitername
Varchar
50
否
服务员
4、用户信息表如表4-4所示
表4-4
字段名
数据类型
长度
主键
描述
ID
Int
4
是
系统编号
Username
Varchar
50
否
用户登录名
Userpwd
Varchar
50
否
用户密码
Power
Char
10
否
用户权限
5、职员信息表如表4-5所示
表4-5
字段名
数据类型
长度
主键
描述
ID
Int
4
是
系统编号
Waitername
Varchar
50
否
职员
Cardnum
Varchar
50
否
Waiternum
Char
10
否
职员编号
Sex
Char
10
否
性别
Age
Char
10
否
年龄
Tel
Varchar
50
否
6、商品类别信息表如表4-6所示
字段名
数据类型
长度
主键
描述
ID
Int
4
是
系统编号
Foodtype
Varchar
50
否
商品类别名称
第五章详细设计
5.1登陆部分
登陆界面设计如图5-1所示。
运行系统,出现该界面,欢迎使用餐饮管理系统,有用户名和密码两个输入框,下方有登陆和取消供用户自主选择,另外输入完毕,按enter键作用和登陆相同。
图5-1
5.2主界面
主界面设计如图5-2所示
输入正确的用户名和密码后,点击登陆,系统验证无误后进入主界面,主界面上各个图标代表着各个桌台,图标下方有桌台号,绿色对号表示桌台空闲,红色叉号表示桌台正在被占用。
图5-2
5.3职工信息查询
职工信息查询模块设计如图5-3所示
了解职工信息,可通过基础信息功能模块中的职员信息进行查询。
图5-3
5.4桌台信息查询
桌台查询信息如图5-4所示
了解桌台信息,可通过基础信息功能模块中的桌台信息进行查询。
图5-4
5.5辅助工具
辅助工具如下:
日历如图5-5所示,记事本如图5-6所示,计算器如图5-7所示
图5-5图5-6
图5-7
5.6修改密码、锁定功能
系统设置模块的修改密码设计如图5-8所示,锁定系统如图5-9所示
图5-8图5-9
5.7开台部分
开台部分设计如图5-10所示
图5-10
5.8结账部分
结账部分设计如图5-11所示
图5-11
5.9点/加菜部分
点/加菜部分设计如图5-12所示
图5-12
5.10消费查询部分
消费查询设计如图5-13所示
结账之前可以先查询消费信息。
图5-13
5.11用户权限管理
用户权限管理设计如图5-14所示
用户可以设置用户的权限级别。
图5-14
第六章编码
几项关键代码如下:
1、连接数据库验证用户名密码:
publicfrmLogin()
{
InitializeComponent();
}
privatevoidForm1_Load(objectsender,EventArgse)
{
comboBox1.Focus();
}
privatevoidtxtPwd_KeyPress(objectsender,KeyPressEventArgse)
{
if(e.KeyChar==13)
{
btnSubmit_Click(sender,e);
}
}
privatevoidbtnSubmit_Click(objectsender,EventArgse)
{
if(comboBox1.Text=="")
{
MessageBox.Show("请输入用户名","警告",MessageBoxButtons.OK,MessageBoxIcon.Warning);
}
else
{
if(txtPwd.Text=="")
{
MessageBox.Show("请输入密码","警告",MessageBoxButtons.OK,MessageBoxIcon.Warning);
}
else
{
SqlConnectionconn=BaseClass.DBConn.CyCon();
conn.Open();
SqlCommandcmd=newSqlCommand("selectcount(*)fromtb_UserwhereUserName='"+comboBox1.Text+"'andUserPwd='"+txtPwd.Text+"'",conn);
inti=Convert.ToInt32(cmd.ExecuteScalar());
if(i>0){
cmd=newSqlCommand("select*fromtb_UserwhereUserName='"+comboBox1.Text+"'",conn);
SqlDataReadersdr=cmd.ExecuteReader();
sdr.Read();
stringUserPower=sdr["power"].ToString().Trim();
conn.Close();
frmMainmain=newfrmMain();
main.power=UserPower;
main.Names=comboBox1.Text;
main.Times=DateTime.Now.ToShortDateString();
main.Show();
this.Hide();}
else
{comboBox1.Text="";
txtPwd.Text="";
if(MessageBox.Show("用户名或密码错误!
","警告",MessageBoxButtons.OK,MessageBoxIcon.Warning)==DialogResult.OK)}
2、对菜品添加、删除、修改等操作。
privatevoidbutton5_Click(objectsender,EventArgse)
{
SqlConnectionconn=BaseClass.DBConn.CyCon();
//selectfoodname,foodtype,foodnum,foodpricefromtb_food,tb_foodtypewheretb_food.foodty=tb_foodtype.foodtyorderbyidasc
SqlDataAdapterda=newSqlDataAdapter("selectfoodname,foodty,foodnum,foodpricefromtb_food",conn);
DataSetds=newDataSet();
da.Fill(ds);
………………………………//部分代码省略
else
{
cmd=newSqlCommand("insertintotb_food(foodname,foodty,foodnum,foodprice)values('"+foodname.Text+"','"+cboxclass.SelectedItem.ToString().Trim()+"','"+textBox1.Text+"','"+txtprice.Text+"')",conn);
intx=cmd.ExecuteNonQuery();
conn.Close();
if(x>0)
{
MessageBox.Show("添加成功");
第七章测试
选用一测试用例对系统进行测试:
王浩带4位朋友开大厅二号桌,点了鸳鸯锅底一份,肥牛一份,鸭血一份,千一份,生菜两份,劲酒两瓶,中华一盒。
折扣后消费共计160.55元,王浩拿出两百元,需要找零39.45元。
测试结果如下:
1、未开台之前,大厅二号图标显示空闲状态,如图7-1所示
图7-1
2、开台时填写顾客,用餐人数等问题,开台单如图7-2所示
图7-2
3、开台之后,大厅二号台图标显示被占用状态,如图7-3所示:
图7-3
4、开始点菜,点菜单如图7-4所示
图7-4
5、消费完毕时,顾客结账,系统自动计算找零,如图7-5所示
图7-5
6、结账完毕,大厅二号桌图标恢复空闲状态,如图7-1所示。
第八章设计总结
本次课程设计之所以选择餐饮信息管理系统,不仅仅是因为其具有挑战性,更是因为它更加符合中国广大的中小餐饮企业的发展需要,大家都知道,中国的餐饮服务行业最多的是个体经营模式,他们根本不会花费过多的费用架设网络服务器,大多数店主都希望有一款产品可以满足餐饮管理的需要而且花费的价格也相对低廉,甚至一次投资终身受益。
而餐饮信息管理系统的出现就完全可以满足他们的愿望。
餐饮信息管理系统的诞生可以为他们提供便捷的管理服务。
并且几乎为零的错误率也使得餐厅可以更好的为顾客服务。
它不仅可以为餐厅降低人力资源的付出,节省了成本,而且也可以提升自身的形象,使餐厅迎来更多的食客。
此次程序设计,付出了很多的时间和精力,也遇到了许多的困难可挫折,但经过努力,餐饮信息管理系统终于得以实现其功能了,一种小小的成就感油然而生,虽然许多的代码都是参考着书上的实例,但是在输入的过程中,又对学习过的知识进行了回顾和复习,对新接触的东西有了初步的了解。
而编程过程中,我看到了自己许多不足,例如程序编写的有点杂乱,造成编译时错误不好找到,没有足够的耐心,有点急功近利,修改编译错误时不能做到系统的分析,造成程序越改越乱,影响了情绪,丢掉了信心。
同时,我也深切感受到了程序员的艰辛,明白了作为一个程序员应该尽可能的为用户考虑,缜密的思维,让程序不断地人性化,可操作性强,界面尽可能的友好,把完美作为自己的目标。
当然,世界上没有任何一样东西是十全十美的,在完成了餐饮信息管理系统后,我发现,原本看上去应该比较完善的系统又有了新的可以改进的地方,如预定的餐点要取消其中的一份该如何实现。
我想如果我把这个功能实现了,也许又会有新的功能需要我去做,系统的完善不是一朝一夕可以完成的,如果给我更多的时间,我一定能将它制作的更好。
这次任务完成的过程给我上了生动而难忘的一课,面对一次次的挫折与打击,我不会投降,不会屈服,我会选择咬牙坚持;为了远方的目标,我会不懈的努力,一点点的去接近,我相信,往往黎明前是最黑暗的,咬牙坚持挺过最困难的时候,也就意味着看到光明的时候。
致
在这次课程设计的撰写过程中,我得到了许多人的帮助。
首先我要感我的老师在课程设计上给予我的指导、提供给我的支持和帮助,这是我能顺利完成这次报告的主要原因,更重要的是老师帮我解决了许多技术上的难题,让我能把系统做得更加完善。
在此期间,我不仅学到了许多新的知识,而且也开阔了视野,提高了自己的设计能力。
其次,我要感帮助过我的同学,他们也为我解决了不少我不太明白的设计商的难题。
同时也感学院为我提供良好的做课程设计的环境。
最后再一次感所有在本次课程设计中曾经帮助过我的良师益友和同学。
参考文献
[1]甫迎、光会、王蓉.C#程序设计教程(第2版).:
电子工业,2008
[2]MicrosoftVisualC#2008help,2008
[3]兰友晓光.VisualC#.NET程序设计.:
清华大学北方交通大学,2004
[4]王昊亮,刚等.VisualC#程序设计教程.:
清华大学,2003
[5]佟伟光.VisualBasic.NET实用教程.:
电子工业,2003
[6]施燕妹培发吉.C#语言程序设计教程.:
中国水利水电.2004
[7]永强等.VisualC#.NET入门与提高.:
清华大学.2002
[8]郭胜等.C#.NET程序设计教程.:
清华大学.2002
[9]明月创作室.VisualC#编程精彩百例.:
人民邮电.2001
[10][期刊论文] C程序设计(第四版),《计算机教育》 -2011年15期谭浩强
[11][期刊论文] 《C#程序设计》《现代计算机:
下半月版》 -2012年24期荣王素芳