1、专业课程设计报告餐饮管理系统中国矿业大学徐海学院计算机系软件课程设计2报告姓 名: 王旭 学 号: * 专 业: 计算机科学与技术 设计题目: 餐饮管理系统 * 2011年 10 月摘要近几年来,随着我国国民经济的稳定增长,餐饮业的竞争也越来越激励,想在这样竞争激励的环境下生存,就必须运用科学的管理思想与先进的管理方法,使用点餐与管理一体化。这样不仅提高了工作效率,也避免了以前手工作业的麻烦,从而使得管理者能够准确,有效的管理餐饮。因此,餐饮业的管理者更需要一种综合实时的管理模式,希望从更科学的管理中取得竞争的优势,在竞争激烈的商业市场中取胜。结合管理信息系统的开发方法及步骤,以此为理论根据,
2、开发出一个信息管理系统餐饮管理系统。它采用国际通用的先进餐饮管理模式,并结合中国的管理实际特点开发而成。通过本系统功能模块,可为各种大小不同的餐饮管理所使用。为管理者提供高效的管理手段,本系统有着人性理的设置理念,流程清晰、易懂。具有独特的功能对于开台管理、点菜、菜谱设置等为管理人员带来很大的方便,减少人为因素的错误,提高服务水平,提升企业形象。关键字:餐饮管理系统、提高服务水平、提高工作效率第一章 系统需求分析1.1系统功能需求分析随着现在连锁餐饮店的不断崛起,作为餐饮业不可缺少的一部分餐饮管理系统,它的内容对于餐饮业的决策者和管理者来说都非常重要。本系统基于餐饮管理系统之下的一个子系统,可
3、以把整个餐饮店的日常经营管理信息化,包括点餐、库存管理、员工信息等日常经营的一些统计功能。现在此系统还不够完善,将来使此系统会集成更多的功能,例如:餐饮管理系统的开发成功,实现了餐饮业的现代化,表明了餐饮管理正与国际化接轨,有了更为深入的发展。餐软管理系统采用国际通用的先进餐饮管理模式,并结合中国的管理实际特点开发而成。通过本系统功能模块,可为各种大小不同的餐饮管理所使用。为管理者提供高效的管理手段,本系统有着人性理的设置理念,流程清晰、易懂。具有独特的功能对于开台管理、点菜、菜谱设置等为管理人员带来很大的方便,减少人为因素的错误,提高服务水平,提升企业形象。根据实际情况的需要,系统主要功能如
4、下:前台管理:开台管理、客户结账、退出系统。系统管理:权限管理、系统管理、帮助。基础信息管理:酒水信息查询、菜谱信息查询及设置。1.2 系统数据流图根据实际情况要求,系统数据流图如图1.2.1所示图1.2.1数据流图第二章 系统概要设计2.1系统总体框架设计根据业务情况,该系统共分为开台、取消开台、客户点菜、消费查询、结账设置等模块。 2.2各模块功能分析(1)系统登录窗口主要功能:1)以图标形式显示数据库中操作员,并凭口令登入到主界面。2)实现权限登录:系统管理员拥有一切权利,其他操作员则被限制一些操作权限。(2)系统主界面主要功能1)根据操作员权限设置相应权限的菜单和工具栏功能。2)可通过
5、菜单或快捷键进入相应子界面。3)显示了系统当前时间和相应操作员。(3)系统菜谱信息设置界面主要功能:实现对菜谱信息的添加、修改、删除、查询的功能。(4)系统开台管理界面主要功能:1)以图标模式显示空台、营业台,点击台号图标则自动显示相应台号信息。2)通过输入台号检索符合条件的台号。3)点击空房自动弹出与昂查询窗口从而自动开台。(5)系统点菜界面主要功能:1)实现菜谱,酒水查询的链接。2)点击“开始点菜”按钮台号状态自动变为开台,并聚焦到编号栏。3)在编号栏输入菜编号按回车自动录入菜的信息,。4)自动生成结账编号,输入菜数量自动计算合计消费金额。第三章 数据库设计3.1系统E-R图的设计 开台点
6、菜E-R图 食品信息E-R图桌台信息E-R图职员信息E-R图3.2数据库表设计数据库表设计是总体设计阶段非常重要的环节,好的数据库表可以简化开发过程,使系统功能更加清晰明确。因为数据库结构的变化会造成编码的改动,所以必须认真设计数据库后再进行编码,从而避免了无谓的重复的工作。本系统采用了SQL Server数据库,数据库名称为db_mycy。该数据库包含4个表,分别是:food表,room表,user表,waiter表,zhangdan表。下面分别介绍数据表的结构。1、food表food表用于保存food的相关信息。food表见表3-2-1所示。food表结构2、room表room表用于显示房
7、间和大厅的信息。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 系统登录界面程序主
8、要代码如下: public partial class frmLogin : Form public frmLogin() InitializeComponent(); private void Form1_Load(object sender, EventArgs e) txtName.Focus(); private void txtPwd_KeyPress(object sender, KeyPressEventArgs e) if (e.KeyChar = 13) btnSubmit_Click(sender, e); private void btnSubmit_Click(obje
9、ct sender, EventArgs e) if (txtName.Text = ) MessageBox.Show(请输入密码, 警告, MessageBoxButtons.OK, MessageBoxIcon.Warning); else if (txtPwd.Text = ) MessageBox.Show(请输入密码, 警告?, MessageBoxButtons.OK, MessageBoxIcon.Warning); else SqlConnection conn = BaseClass.DBConn.CyCon(); conn.Open(); SqlCommand cmd =
10、 new SqlCommand(select count(*) from tb_User where UserName= + txtName.Text + and UserPwd= + txtPwd.Text + , conn); int i = Convert.ToInt32(cmd.ExecuteScalar(); if (i 0) cmd = new SqlCommand(select * from tb_User where UserName= + txtName.Text + , conn); SqlDataReader sdr = cmd.ExecuteReader(); sdr.
11、Read(); string UserPower = sdrpower.ToString().Trim(); conn.Close(); frmMain main = new frmMain(); main.username = txtName.Text; main.power = UserPower; main.Names = txtName.Text; main.Times = DateTime.Now.ToShortDateString(); main.Show(); this.Hide(); else txtName.Text = ; txtPwd.Text = ; if (Messa
12、geBox.Show(用户名或密码错误, 警告,MessageBoxButtons.OK,MessageBoxIcon.Warning)=DialogResult.OK) private void btnConcel_Click(object sender, EventArgs e) if (MessageBox.Show(确定退出系统吗?, 提示, MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk) = DialogResult.OK) Application.Exit(); 4.2主界面设计1、程序启动后。系统在“登陆界面”验证操作员密
13、码后,将进入此界面。系统主界面主要功能:主程序界面如图4.2.1所示。图4.2.1主程序界面主要程序代码如下:public partial class frmMain : Form public frmMain() InitializeComponent(); public SqlDataReader sdr; public string power; public string Names; public string Times; public string username; private void frmMain_Load(object sender, EventArgs e) sw
14、itch (power) case 0: toolStripStatusLabel13.Text = 超级管理员; break; case 1: toolStripStatusLabel13.Text = 经理; break; case 牢记密码: toolStripStatusLabel13.Text = 牢记密码; break; / case 2: toolStripStatusLabel13.Text = 一?般?用?户; break; default : toolStripStatusLabel13.Text=一般用户;break; toolStripStatusLabel10.Tex
15、t = Names; toolStripStatusLabel16.Text = Times; /* if (power = 2) 系统维护SToolStripMenuItem.Enabled = false; 基础信息MToolStripMenuItem.Enabled = false; */ if (power = 0 | power = 牢记密码) / if (power = 牢记密码) / / else if (power = 1) 系统维护SToolStripMenuItem.Enabled = false; else 系统维护SToolStripMenuItem.Enabled =
16、 false; 基础信息MToolStripMenuItem.Enabled = false; private void AddItems(string rzt) if (rzt = 使用) lvDesk.Items.Add(sdrRoomName.ToString(), 1); else lvDesk.Items.Add(sdrRoomName.ToString(), 0); private void 开a台ToolStripMenuItem_Click(object sender, EventArgs e) if (lvDesk.SelectedItems.Count != 0) stri
17、ng names = lvDesk.SelectedItems0.SubItems0.Text; frmOpen openroom = new frmOpen(); openroom.name = names; openroom.ShowDialog(); else MessageBox.Show(请选择桌台); private void frmMain_Activated(object sender, EventArgs e) lvDesk.Items.Clear(); SqlConnection conn = BaseClass.DBConn.CyCon(); conn.Open(); S
18、qlCommand cmd = new SqlCommand(select * from tb_Room, conn); sdr = cmd.ExecuteReader(); while (sdr.Read() string zt = sdrRoomZT.ToString().Trim(); AddItems(zt); conn.Close(); private void 点?菜?ToolStripMenuItem_Click(object sender, EventArgs e) if (lvDesk.SelectedItems.Count != 0) string names = lvDe
19、sk.SelectedItems0.SubItems0.Text; frmDC dc = new frmDC(); dc.RName = names; dc.ShowDialog(); else MessageBox.Show(请选择桌台); private void 消费查询ToolStripMenuItem_Click(object sender, EventArgs e) if (lvDesk.SelectedItems.Count != 0) string names = lvDesk.SelectedItems0.SubItems0.Text; frmSerch serch = ne
20、w frmSerch(); serch.RName = names; serch.ShowDialog(); else MessageBox.Show(请选择桌台); private void 结账?ToolStripMenuItem_Click(object sender, EventArgs e) if (lvDesk.SelectedItems.Count != 0) string names = lvDesk.SelectedItems0.SubItems0.Text; frmJZ jz = new frmJZ(); jz.Rname = names; jz.ShowDialog();
21、 else MessageBox.Show(请选择桌台); private void lvDesk_DoubleClick(object sender, EventArgs e) frmDetails details = new frmDetails(); details.TableName = lvDesk.SelectedItems0.SubItems0.Text; details.ShowDialog(); private void lvDesk_Click(object sender, EventArgs e) string names = lvDesk.SelectedItems0.
22、SubItems0.Text; SqlConnection conn = BaseClass.DBConn.CyCon(); conn.Open(); SqlCommand cmd = new SqlCommand(select * from tb_Room where RoomName= + names + , conn); SqlDataReader sdr = cmd.ExecuteReader(); sdr.Read(); string zt = sdrRoomZT.ToString().Trim(); sdr.Close(); if (zt = 使用) this.contextMen
23、uStrip1.Items0.Enabled = false; this.contextMenuStrip1.Items1.Enabled = true; this.contextMenuStrip1.Items3.Enabled = true; this.contextMenuStrip1.Items5.Enabled = true; this.contextMenuStrip1.Items6.Enabled = true; if (zt = 使用) this.contextMenuStrip1.Items0.Enabled = true; this.contextMenuStrip1.It
24、ems1.Enabled = false; this.contextMenuStrip1.Items3.Enabled = false; this.contextMenuStrip1.Items5.Enabled = false; this.contextMenuStrip1.Items6.Enabled = false; conn.Close(); private void 取消开台toolStripMenuItem_Click(object sender, EventArgs e) if (lvDesk.SelectedItems.Count != 0) SqlConnection con
25、n = BaseClass.DBConn.CyCon(); conn.Open(); string names = lvDesk.SelectedItems0.SubItems0.Text; SqlCommand cmd = new SqlCommand(Select * from tb_guestfood where roomname= + names + , conn); int i = Convert.ToInt32(cmd.ExecuteScalar(); if (i 0) MessageBox.Show(请先结账!); else cmd = new SqlCommand(update
26、 tb_Room set RoomZT=待用,Num=0 where RoomName= + names + , conn); cmd.ExecuteNonQuery(); cmd = new SqlCommand(delete from tb_GuestFood where roomname= + names + , conn); cmd.ExecuteNonQuery(); conn.Close(); frmMain_Activated(sender, e); else MessageBox.Show(请选择桌台); private void 桌台信息ToolStripMenuItem1_
27、Click(object sender, EventArgs e) frmDesk desk = new frmDesk(); desk.ShowDialog(); private void 职员信息ToolStripMenuItem1_Click(object sender, EventArgs e) frmUser users = new frmUser(); users.ShowDialog(); private void 日历ToolStripMenuItem1_Click(object sender, EventArgs e) frmCalender calender = new f
28、rmCalender(); calender.ShowDialog(); private void 记事本ToolStripMenuItem1_Click(object sender, EventArgs e) System.Diagnostics.Process.Start(notepad.exe); private void 计算器ToolStripMenuItem1_Click(object sender, EventArgs e) System.Diagnostics.Process.Start(calc.exe); private void 权限管理ToolStripMenuItem1_Click(object sender, EventArgs e) private void 口令设置ToolStripMenuItem1_Click(object sender, EventArgs e) frmPwd pwd = new frmPwd(); pwd.names = Names; pwd.ShowDialog(); private void 说定系统ToolStripMenuItem1_Click(object sender, EventA
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1