1、中国矿业大学徐海学院计算机系软件课程设计2报告姓 名: 王旭 学 号: 22080348 专 业: 计算机科学与技术 设计题目: 餐饮管理系统 指导教师: 周海燕 2011年 10 月目 录第一章 系统需求分析41.1 系统功能需求分析41。2 系统数据流图4第二章 系统概要设计52。1 系统总体框图设计52.2各模块功能分析.。.。.。.。.。5第三章 数据库设计63.1 系统ER图设计73.2数据表的设计8第四章 系统详细设计及实现10 4。1系统登陆界面设计104。2主界面设计124。3食品信息设置界面设计21第五章 软件测试及调试。.。.。.。.。.。.。.。.。 275。1 软件功能
2、测试275.2数据模块的实现27第六章总结。.。28参考文献29摘要近几年来,随着我国国民经济的稳定增长,餐饮业的竞争也越来越激励,想在这样竞争激励的环境下生存,就必须运用科学的管理思想与先进的管理方法,使用点餐与管理一体化.这样不仅提高了工作效率,也避免了以前手工作业的麻烦,从而使得管理者能够准确,有效的管理餐饮.因此,餐饮业的管理者更需要一种综合实时的管理模式,希望从更科学的管理中取得竞争的优势,在竞争激烈的商业市场中取胜.结合管理信息系统的开发方法及步骤,以此为理论根据,开发出一个信息管理系统-餐饮管理系统。它采用国际通用的先进餐饮管理模式,并结合中国的管理实际特点开发而成.通过本系统功
3、能模块,可为各种大小不同的餐饮管理所使用.为管理者提供高效的管理手段,本系统有着人性理的设置理念,流程清晰、易懂。具有独特的功能对于开台管理、点菜、菜谱设置等为管理人员带来很大的方便,减少人为因素的错误,提高服务水平,提升企业形象.关键字:餐饮管理系统、提高服务水平、提高工作效率第一章 系统需求分析1。1系统功能需求分析随着现在连锁餐饮店的不断崛起,作为餐饮业不可缺少的一部分-餐饮管理系统,它的内容对于餐饮业的决策者和管理者来说都非常重要。本系统基于餐饮管理系统之下的一个子系统,可以把整个餐饮店的日常经营管理信息化,包括点餐、库存管理、员工信息等日常经营的一些统计功能。现在此系统还不够完善,将
4、来使此系统会集成更多的功能,例如:餐饮管理系统的开发成功,实现了餐饮业的现代化,表明了餐饮管理正与国际化接轨,有了更为深入的发展。餐软管理系统采用国际通用的先进餐饮管理模式,并结合中国的管理实际特点开发而成。通过本系统功能模块,可为各种大小不同的餐饮管理所使用.为管理者提供高效的管理手段,本系统有着人性理的设置理念,流程清晰、易懂。具有独特的功能对于开台管理、点菜、菜谱设置等为管理人员带来很大的方便,减少人为因素的错误,提高服务水平,提升企业形象.根据实际情况的需要,系统主要功能如下: 前台管理:开台管理、客户结账、退出系统。 系统管理:权限管理、系统管理、帮助。 基础信息管理:酒水信息查询、
5、菜谱信息查询及设置。1。2 系统数据流图根据实际情况要求,系统数据流图如图1。2。1所示图1.2.1数据流图第二章 系统概要设计2.1系统总体框架设计根据业务情况,该系统共分为开台、取消开台、客户点菜、消费查询、结账设置等模块。2。2各模块功能分析(1)系统登录窗口主要功能:1)以图标形式显示数据库中操作员,并凭口令登入到主界面。2)实现权限登录:系统管理员拥有一切权利,其他操作员则被限制一些操作权限。(2)系统主界面主要功能1)根据操作员权限设置相应权限的菜单和工具栏功能。2)可通过菜单或快捷键进入相应子界面。3)显示了系统当前时间和相应操作员.(3)系统菜谱信息设置界面主要功能:实现对菜谱
6、信息的添加、修改、删除、查询的功能。(4)系统开台管理界面主要功能:1)以图标模式显示空台、营业台,点击台号图标则自动显示相应台号信息。2)通过输入台号检索符合条件的台号。3)点击空房自动弹出与昂查询窗口从而自动开台。(5)系统点菜界面主要功能:1)实现菜谱,酒水查询的链接。2)点击“开始点菜按钮台号状态自动变为开台,并聚焦到编号栏。3)在编号栏输入菜编号按回车自动录入菜的信息,。4)自动生成结账编号,输入菜数量自动计算合计消费金额。第三章 数据库设计3.1系统ER图的设计 开台点菜ER图 食品信息ER图桌台信息E-R图职员信息ER图3.2数据库表设计数据库表设计是总体设计阶段非常重要的环节,
7、好的数据库表可以简化开发过程,使系统功能更加清晰明确。因为数据库结构的变化会造成编码的改动,所以必须认真设计数据库后再进行编码,从而避免了无谓的重复的工作。本系统采用了SQL Server数据库,数据库名称为db_mycy。该数据库包含4个表,分别是:food表,room表,user表,waiter表,zhangdan表。下面分别介绍数据表的结构。1、 food表food表用于保存food的相关信息。food表见表321所示.food表结构2、 room表room表用于显示房间和大厅的信息。room表见表322所示。3、user表用来显示的管理员经理和客户的信息。user表的如图323所示。表
8、3-23user结构4、waiter表用于方便用户选择自己喜欢的服务员为自己服务。user表的如图32-4示.表3-2-4waiter表5、zhangdan表用于账户更好的知道自己的消费记录,zhangdan表的如图3-25示。表325zhangdan表第四章 系统详细设计及实现4.1系统登陆界面设计1.实现目标 程序启动后,首先登陆此界面验证操作员的密码.主要实现的功能如下:输入用户名和密码系统登录界面如图4.1。1所示.图4。1。1 系统登录界面程序主要代码如下:public partial class frmLogin : Form public frmLogin() Initializ
9、eComponent(); 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(object sender, EventArgs e) if (txtName。Text = ) MessageBox.Show(”请输入密码, 警告
10、”, MessageBoxButtons.OK, MessageBoxIcon.Warning); else if (txtPwd.Text = ”) MessageBox。Show(请输入密码, ”警告?”, MessageBoxButtons。OK, MessageBoxIcon.Warning); else SqlConnection conn = BaseClass。DBConn.CyCon(); conn.Open(); SqlCommand cmd = new SqlCommand(”select count(*) from tb_User where UserName=” + t
11、xtName。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
12、.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 (MessageBox.Show(用户名或密码错误”,” 警告,MessageBoxButtons。OK,MessageBox
13、Icon。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、程序启动后。系统在“登陆界面”验证操作员密码后,将进入此界面.系统主界面主要功能:主程序界面如图4.2。1所示。图4.2.1主程序界面主要程序代码如
14、下: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) switch (power) case 0”: toolStripStatusLabel13。Text = 超
15、级管理员; break; case ”1”: toolStripStatusLabel13。Text = 经理”; break; case ”牢记密码”: toolStripStatusLabel13.Text = ”牢记密码”; break; / case ”2”: toolStripStatusLabel13。Text = ”一?般?用?户”; break; default : toolStripStatusLabel13.Text=一般用户;break; toolStripStatusLabel10。Text = Names; toolStripStatusLabel16。Text =
16、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 = false; 基础信息MToolStripMenuItem。Enabled
17、= false; private void AddItems(string rzt) if (rzt = 使用”) lvDesk.Items。Add(sdr”RoomName”。ToString(), 1); else lvDesk。Items。Add(sdrRoomName.ToString(), 0); private void 开a台ToolStripMenuItem_Click(object sender, EventArgs e) if (lvDesk。SelectedItems.Count != 0) string names = lvDesk。SelectedItems0。Sub
18、Items0。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(); SqlCommand cmd = new SqlCommand(”sel
19、ect 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。SelectedItems0。SubItems0。Text;
20、 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 = new frmSerch(); serch.RName = name
21、s; 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(); else MessageBox.Show(”请选择桌台”)
22、; 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。SubItems0.Text; SqlConnectio
23、n 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。Items0。Enabled =
24、 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.Items1.Enabled = false;
25、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 conn = BaseClass.DBConn.C
26、yCon(); 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 tb_Room set RoomZT=
27、待用,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_Click(object sen
28、der, 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(); ca
29、lender。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(obje
30、ct 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, EventArgs e) frmLock locksystem = new frmLock(); locksystem。Owner = this; locksystem。
31、ShowDialog(); private void 关于ToolStripMenuItem1_Click(object sender, EventArgs e) AboutBox1 ab = new AboutBox1(); ab。ShowDialog(); private void 退出系统ToolStripMenuItem1_Click(object sender, EventArgs e) if (MessageBox。Show(确定退出本系统吗?”, ”提示, MessageBoxButtons。OKCancel, MessageBoxIcon。Exclamation) = Dial
32、ogResult.OK) Application.Exit(); private void 系统维护ToolStripMenuItem_Click(object sender, EventArgs e) private void修改用户权限ToolStripMenuItem_Click(object sender, EventArgs e) frmXgQx qx = new frmXgQx(); qx。username = username; qx.ShowDialog(); private void 注册新用户ToolStripMenuItem_Click(object sender, EventArgs e) FrmZc zc = new FrmZc(); zc。ShowDialog(); private void 删除用户ToolStripMenuItem_Click(object sender, EventArgs e) FrmSch sch = new FrmSch(); sch。Sh
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100