当前位置:文档之家› 餐饮管理系统课程设计

餐饮管理系统课程设计

《Windows项目开发》课程设计专业:计算机科学与技术班级: 12级蒙文信息处理班*名:***学号:********指导教师:***2015年11月24日餐饮管理系统一.餐饮管理系统的目标与分析1.1 传统餐饮存在的问题由于传统酒店的管理还处于人工管理阶段,所以酒店的管理效率不高。

由于缺乏科学的管理和现代化的管理工具,传统酒店在管理上和业务的安排上都存在着不足。

1.包间的管理不够科学方便,使用情况不直观。

2.库管员不能随时掌握库存情况,不能及时发现商品缺货的情况,另外统计商品数量即费时又费力。

3.由于酒店的商品种类多,菜样多变,靠人工方式管理商品和菜品信息有很多不便。

例如商品数量大导致查找商品信息困难等。

1.2餐饮管理系统的目标面对服务行业的高速发展和餐饮企业信息发展的过程中出现的各种情况,本系统应达到以下目标:●系统采用人机交互的方式,界面美观友好,信息查询灵活、方便,数据存储安全可靠。

●实现对餐厅顾客开台、点菜/加菜、账目查询和结账等操作。

●对用户输入的数据,进行严格的数据检验,尽可能的避免人为错误。

●实现对消费账目自动结算。

●实现对消费的历史记录进行查询,支持模糊查询。

●系统应最大限度地实现易维护性和易操作性。

1.3可行性分析1.3.1 技术上的可行性技术方面的可行性就是根据现有的技术条件,能否实现系统的各项要求。

1.设备:该系统对所需的硬件设备,如pc机配件的性能要求一般,现有设备的性能完全能够满足系统功能的要求。

2.软件上,本系统属于数据库应用程序,本系统需要一个数据库服务器及其运行的操作系统平台,根据客户的数据量并不是十分巨大,我们选择目前市场上价格比较低廉的数据库服务器产品:SQL Server2000及配套的平台Windows XP。

而前台开发工具采用Microsoft Visual Studio 2005 ,利用其可视化的开发环境、丰富的控件资源,能快速开发出应用程序。

1.3.2 经济上的可行性1.费用:本系统属于小型的餐饮管理系统,软硬件费用要求不高,一般的餐饮行业都能支付的了费用。

2.效用:实施该系统也能给公司带来长期效益,它可帮助领导实现管理方法的现代化、科学化,极大地提高餐饮企业的工作质量与工作效率,减少管理支出的费用,从而保证企业管理的可持续的良好发展。

因此经济上具有了系统开发的可行性。

1.4 业务流程分析1.4 .1 系统功能结构为了实现对餐饮企业的基本管理,现对餐饮管理系统结构主要细分为四大模块。

如图表 1.1:图表 1.11)基础信息:桌台信息:主要是针对桌台的基本信息进行查询以及增删改的操作。

职工信息:主要是对公司职工的基本信息进行查询以及增删改的操作。

2)辅助工具:日历:显示日期工具,对日期进行查看。

计算器:通过调用系统的计算器来计算数据。

记事本:通过调用系统的记事本工具来记录数据。

3)系统维护:权限管理:对所有用户的权限进行设置。

系统备份:对数据库进行备份,以便通过系统恢复来还原数据。

系统恢复:还原备份的数据。

4).系统设置:口令设置:修改登录者的密码。

锁定系统:通过系统锁屏,通过密码才能解锁,增加系统的安全性。

1.4.2业务流程分析为了反映系统内部各个部分的联系程度,就必须对组织的业务流程进行分析。

业务流程图是分析业务功能流程的重要工具,它是一种描述系统内部各单位、人员之间业务关系、作业顺序和管理信息流向的图表。

首先要有一个登录模块对登录用户进行验证,如果验证成功则进入系统的主窗体,登录主窗体之后在根据登录的用户名判断是不是管理员,如果是管理员则可以操作所有的功能:系统维护、基础信息、系统设置、辅助工具、退出。

如果不是管理员则只能查看基础信息、使用辅助工具和退出。

系统业务流程如图表1.2所示:图表 1.2二.设计开发项目2.1 登录模块的设计为了使系统的安全性得到保障,为餐饮管理系统开发了登录模块。

通过该模块能对登录用户进行验证,只有系统的合法用户才能进入系统的主界面。

代码实现部分如下:SqlConnection conn = BaseClass.DBConn.CyCon();conn.Open();SqlCommand cmd = 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.Read();string UserPower = sdr["power"].ToString().Trim();conn.Close();frmMain main = new frmMain();main.power = UserPower;s = txtName.Text;main.Times = DateTime.Now.ToShortDateString();main.Show();this.Hide();}else{MessageBox.Show("用户名或密码错误");conn.Close();}登录界面如图表2.1图表 2.12.2主窗体设计在餐饮管理系统中主窗体是由3部分组成的。

第一部分是位于主窗体模块上端的系统菜单,主要实现链接系统功能菜单。

第二部分是位于主窗体模块中间的桌台显示,主要用于显示餐厅中所有的桌台情况,包括桌台时候已使用、已使用桌台的客人数量等信息,方便了用户对桌台的管理。

第三部分是位于主窗体模块下端的状态栏,主要用于显示系统当前状态信息。

部分代码实现如下:private void开台ToolStripMenuItem_Click(object sender, EventArgs e){if (lvDesk.SelectedItems.Count != 0)string names = lvDesk.SelectedItems[0].SubItems[0].Text;frmOpen openroom = new frmOpen(); = names;openroom.ShowDialog();}else{MessageBox.Show("请选择桌台");}}private void frmMain_Activated(object sender, EventArgs e){lvDesk.Items.Clear();SqlConnection conn = BaseClass.DBConn.CyCon();conn.Open();SqlCommand cmd = new SqlCommand("select * from tb_Room", conn);sdr = cmd.ExecuteReader();while (sdr.Read()){string zt = sdr["RoomZT"].ToString().Trim();AddItems(zt);}conn.Close();}private void点菜ToolStripMenuItem_Click(object sender, EventArgs e){if (lvDesk.SelectedItems.Count != 0){string names = lvDesk.SelectedItems[0].SubItems[0].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.SelectedItems[0].SubItems[0].Text;frmSerch serch = new 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.SelectedItems[0].SubItems[0].Text;frmJZ jz = new frmJZ();jz.Rname = names;jz.ShowDialog();}else{MessageBox.Show("请选择桌台");}}private void lvDesk_DoubleClick(object sender, EventArgs e){frmDetails details = new frmDetails();details.TableName = lvDesk.SelectedItems[0].SubItems[0].Text;details.ShowDialog();}private void lvDesk_Click(object sender, EventArgs e){string names = lvDesk.SelectedItems[0].SubItems[0].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 = sdr["RoomZT"].ToString().Trim();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;}if (zt == "待用"){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;}conn.Close();}private void取消开台toolStripMenuItem_Click(object sender, EventArgs e){if (lvDesk.SelectedItems.Count != 0){string names = lvDesk.SelectedItems[0].SubItems[0].Text;SqlConnection conn = BaseClass.DBConn.CyCon();conn.Open();SqlCommand cmd = new SqlCommand("update tb_Room set RoomZT='待用',Num=0 where RoomName='" + names + "'", conn);cmd.ExecuteNonQuery();cmd = new SqlCommand("delete from tb_GuestFood where zhuotai='" + names + "'", conn); cmd.ExecuteNonQuery();conn.Close();frmMain_Activated(sender, e);}else{MessageBox.Show("请选择桌台");}}private void桌台信息ToolStripMenuItem1_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 frmCalender();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) {frmQxGl qx = new frmQxGl();qx.ShowDialog();}private void系统备份ToolStripMenuItem1_Click(object sender, EventArgs e) {frmBF bf = new frmBF();bf.ShowDialog();}private void系统恢复ToolStripMenuItem1_Click(object sender, EventArgs e) {frmHF hf = new frmHF();hf.ShowDialog();}private void口令设置ToolStripMenuItem1_Click(object sender, EventArgs e) {frmPwd pwd = new frmPwd();s = Names;pwd.ShowDialog();}private void锁定系统ToolStripMenuItem1_Click(object sender, EventArgs e){frmLock locksystem = new frmLock();locksystem.Owner = this;locksystem.ShowDialog();}主窗体界面如图表 2.2图表 2.22.3开台模块设计当顾客要进行消费的时候,首先要看一下是否还有可用的桌台,如果还有空闲的桌台,那么就要为顾客开台,只有在开台之后,才能为顾客点菜、查询和结账。

相关主题