专业课程设计报告餐饮管理系统Word文档格式.docx
《专业课程设计报告餐饮管理系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《专业课程设计报告餐饮管理系统Word文档格式.docx(33页珍藏版)》请在冰点文库上搜索。
现在此系统还不够完善,将来使此系统会集成更多的功能,例如:
餐饮管理系统的开发成功,实现了餐饮业的现代化,表明了餐饮管理正与国际化接轨,有了更为深入的发展。
《餐软管理系统》采用国际通用的先进餐饮管理模式,并结合中国的管理实际特点开发而成。
根据实际情况的需要,系统主要功能如下:
前台管理:
开台管理、客户结账、退出系统。
系统管理:
权限管理、系统管理、帮助。
基础信息管理:
酒水信息查询、菜谱信息查询及设置。
1.2系统数据流图
根据实际情况要求,系统数据流图如图1.2.1所示
图1.2.1数据流图
第二章系统概要设计
2.1系统总体框架设计
根据业务情况,该系统共分为开台、取消开台、客户点菜、消费查询、结账设置等模块。
2.2各模块功能分析
(1)系统登录窗口主要功能:
1)以图标形式显示数据库中操作员,并凭口令登入到主界面。
2)实现权限登录:
系统管理员拥有一切权利,其他操作员则被限制一些操作权限。
(2)系统主界面主要功能
1)根据操作员权限设置相应权限的菜单和工具栏功能。
2)可通过菜单或快捷键进入相应子界面。
3)显示了系统当前时间和相应操作员。
(3)系统菜谱信息设置界面主要功能:
实现对菜谱信息的添加、修改、删除、查询的功能。
(4)系统开台管理界面主要功能:
1)以图标模式显示空台、营业台,点击台号图标则自动显示相应台号信息。
2)通过输入台号检索符合条件的台号。
3)点击空房自动弹出与昂查询窗口从而自动开台。
(5)系统点菜界面主要功能:
1)实现菜谱,酒水查询的链接。
2)点击“开始点菜”按钮台号状态自动变为开台,并聚焦到编号栏。
3)在编号栏输入菜编号按回车自动录入菜的信息,。
4)自动生成结账编号,输入菜数量自动计算合计消费金额。
第三章数据库设计
3.1系统E-R图的设计
开台点菜E-R图
食品信息E-R图
桌台信息E-R图
职员信息E-R图
3.2数据库表设计
数据库表设计是总体设计阶段非常重要的环节,好的数据库表可以简化开发过程,使系统功能更加清晰明确。
因为数据库结构的变化会造成编码的改动,所以必须认真设计数据库后再进行编码,从而避免了无谓的重复的工作。
本系统采用了SQLServer数据库,数据库名称为db_mycy。
该数据库包含4个表,分别是:
food表,room表,user表,waiter表,zhangdan表。
下面分别介绍数据表的结构。
1、food表
food表用于保存food的相关信息。
food表见表3-2-1所示。
food表结构
2、room表
room表用于显示房间和大厅的信息。
room表见表3-2-2所示。
3、user表用来显示的管理员经理和客户的信息。
user表的如图3-2-3所示。
表3-2-3user结构
4、waiter表用于方便用户选择自己喜欢的服务员为自己服务。
user表的如图3-2-4示。
表3-2-4waiter表
5、zhangdan表用于账户更好的知道自己的消费记录,zhangdan表的如图3-2-5示。
表3-2-5zhangdan表
第四章系统详细设计及实现
4.1系统登陆界面设计
1.实现目标
程序启动后,首先登陆此界面验证操作员的密码。
主要实现的功能如下:
输入用户名和密码
系统登录界面如图4.1.1所示。
图4.1.1系统登录界面
程序主要代码如下:
publicpartialclassfrmLogin:
Form
{
publicfrmLogin()
InitializeComponent();
}
privatevoidForm1_Load(objectsender,EventArgse)
txtName.Focus();
privatevoidtxtPwd_KeyPress(objectsender,KeyPressEventArgse)
if(e.KeyChar==13)
btnSubmit_Click(sender,e);
privatevoidbtnSubmit_Click(objectsender,EventArgse)
if(txtName.Text=="
"
)
MessageBox.Show("
请输入密码"
"
警告"
MessageBoxButtons.OK,MessageBoxIcon.Warning);
else
if(txtPwd.Text=="
警告?
}
SqlConnectionconn=BaseClass.DBConn.CyCon();
conn.Open();
SqlCommandcmd=newSqlCommand("
selectcount(*)fromtb_UserwhereUserName='
+txtName.Text+"
'
andUserPwd='
+txtPwd.Text+"
conn);
inti=Convert.ToInt32(cmd.ExecuteScalar());
if(i>
0)
cmd=newSqlCommand("
select*fromtb_UserwhereUserName='
SqlDataReadersdr=cmd.ExecuteReader();
sdr.Read();
stringUserPower=sdr["
power"
].ToString().Trim();
conn.Close();
frmMainmain=newfrmMain();
main.username=txtName.Text;
main.power=UserPower;
main.Names=txtName.Text;
main.Times=DateTime.Now.ToShortDateString();
main.Show();
this.Hide();
txtName.Text="
;
txtPwd.Text="
if(MessageBox.Show("
用户名或密码错误"
"
警告"
MessageBoxButtons.OK,MessageBoxIcon.Warning)==DialogResult.OK)
privatevoidbtnConcel_Click(objectsender,EventArgse)
确定退出系统吗?
提示"
MessageBoxButtons.OKCancel,MessageBoxIcon.Asterisk)==DialogResult.OK)
Application.Exit();
}
4.2主界面设计
1、程序启动后。
系统在“登陆界面”验证操作员密码后,将进入此界面。
系统主界面主要功能:
主程序界面如图4.2.1所示。
图4.2.1主程序界面
主要程序代码如下:
publicpartialclassfrmMain:
publicfrmMain()
publicSqlDataReadersdr;
publicstringpower;
publicstringNames;
publicstringTimes;
publicstringusername;
privatevoidfrmMain_Load(objectsender,EventArgse)
switch(power)
case"
0"
:
toolStripStatusLabel13.Text="
超级管理员"
break;
1"
经理"
牢记密码"
//case"
2"
一°
?
般ã
用®
户¡
ì
default:
toolStripStatusLabel13.Text="
一般用户"
break;
toolStripStatusLabel10.Text=Names;
toolStripStatusLabel16.Text=Times;
/*if(power=="
系统维护SToolStripMenuItem.Enabled=false;
基础信息MToolStripMenuItem.Enabled=false;
*/
if(power=="
||power=="
{
//if(power=="
//{
//}
elseif(power=="
privatevoidAddItems(stringrzt)
if(rzt=="
使用"
lvDesk.Items.Add(sdr["
RoomName"
].ToString(),1);
].ToString(),0);
privatevoid开a台¬
¡
§
ToolStripMenuItem_Click(objectsender,EventArgse)
if(lvDesk.SelectedItems.Count!
=0)
stringnames=lvDesk.SelectedItems[0].SubItems[0].Text;
frmOpenopenroom=newfrmOpen();
openroom.name=names;
openroom.ShowDialog();
请选择桌台"
);
privatevoidfrmMain_Activated(objectsender,EventArgse)
lvDesk.Items.Clear();
select*fromtb_Room"
sdr=cmd.ExecuteReader();
while(sdr.Read())
stringzt=sdr["
RoomZT"
AddItems(zt);
privatevoid点Ì
菜?
frmDCdc=newfrmDC();
dc.RName=names;
dc.ShowDialog();
privatevoid消费查询ToolStripMenuItem_Click(objectsender,EventArgse)
frmSerchserch=newfrmSerch();
serch.RName=names;
serch.ShowDialog();
privatevoid结¨
¢
账?
frmJZjz=newfrmJZ();
jz.Rname=names;
jz.ShowDialog();
privatevoidlvDesk_DoubleClick(objectsender,EventArgse)
frmDetailsdetails=newfrmDetails();
details.TableName=lvDesk.SelectedItems[0].SubItems[0].Text;
details.ShowDialog();
privatevoidlvDesk_Click(objectsender,EventArgse)
select*fromtb_RoomwhereRoomName='
+names+"
sdr.Close();
if(zt=="
this.contextMenuStrip1.Items[0].Enabled=false;
this.contextMenuStrip1.Items[1].Enabled=true;
this.contextMenuStrip1.Items[3].Enabled=true;
this.contextMenuStrip1.Items[5].Enabled=true;
this.contextMenuStrip1.Items[6].Enabled=true;
this.contextMenuStrip1.Items[0].Enabled=true;
this.contextMenuStrip1.Items[1].Enabled=false;
this.contextMenuStrip1.Items[3].Enabled=false;
this.contextMenuStrip1.Items[5].Enabled=false;
this.contextMenuStrip1.Items[6].Enabled=false;
privatevoid取消开台toolStripMenuItem_Click(objectsender,EventArgse)
Select*fromtb_guestfoodwhereroomname='
请先结账!
!
updatetb_RoomsetRoomZT='
待用'
Num=0whereRoomName='
cmd.ExecuteNonQuery();
deletefromtb_GuestFoodwhereroomname='
frmMain_Activated(sender,e);
privatevoid桌台信息ToolStripMenuItem1_Click(objectsender,EventArgse)
frmDeskdesk=newfrmDesk();
desk.ShowDialog();
privatevoid职员信息ToolStripMenuItem1_Click(objectsender,EventArgse)
frmUserusers=newfrmUser();
users.ShowDialog();
privatevoid日历ToolStripMenuItem1_Click(objectsender,EventArgse)
frmCalendercalender=newfrmCalender();
calender.ShowDialog();
privatevoid记事本ToolStripMenuItem1_Click(objectsender,EventArgse)
System.Diagnostics.Process.Start("
notepad.exe"
privatevoid计算器ToolStripMenuItem1_Click(objectsender,EventArgse)
calc.exe"
privatevoid权限管理ToolStripMenuItem1_Click(objectsender,EventArgse)
privatevoid口令设置ToolStripMenuItem1_Click(objectsender,EventArgse)
frmPwdpwd=newfrmPwd();
pwd.names=Names;
pwd.ShowDialog();
privatevoid说定系统ToolStripMenuItem1_Click(objectsender,EventA