餐饮就餐管理系统设计_第1页
餐饮就餐管理系统设计_第2页
餐饮就餐管理系统设计_第3页
餐饮就餐管理系统设计_第4页
餐饮就餐管理系统设计_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、餐饮就餐管理系统设计设计主要内容:一、开发平台:C#+ SQL SERVER 2005二、功能要求:1、设计内容设计一个餐饮就餐管理系统,该系统的用户由普通用户和管理员组成,然后不同的用户拥有不同的权限,各自完成各自的管理功能。首先是进入欢迎界面,在欢迎界面选择用户登录的身份,进入登录界面,已经有账号和密码的用户可直接登录,没有账号和密码的用户可以在登陆界面进行注册,合法的用户进入到系统主界面中,不同的用户看到不同的系统功能。餐饮就餐管理系统采用sql server2005创建后台数据库,然后利用程序设计语言(C#)编写程序实现对数据库的操作,按照要求完成所有的功能和模块。2、餐馆就餐管理系统

2、主要功能(1)用户登录:管理员登陆界面、服务员登陆界面、用户注册界面、本用户密码的修改界面等功能。(2)管理员管理:顾客管理界面(修改,删除)、订餐管理界面(修改,删除)、用户信息管理界面(查询,删除)等功能。(3)服务员管理:顾客信息登记界面(添加,打印等操作),顾客信息查询界面(按照姓名、证件号码、地址等条件查询),菜单信息登记界面(添加,打印等操作),菜单信息查询界面(按照编号、种类、名称、单价、风味等条件查询),订餐界面(添加),等功能。 3、餐馆就餐管理系统数据库表单 (1)用户信息表单(UserInfo):用户编号(UserID)(主码)、用户账号(UserName)、用户密码(U

3、serPwd)、用户权限(State)(2)菜单信息表单(FoodInfo):食品编号(FoodID)(主码)、食品名称(FoodName)、食品种类(FoodClass)、食品风味(FoodRelish)、食品单价(FoodPrice)、备注(FoodNote)(3)顾客信息表单(CustomerInfo):顾客姓名(CusName)(主码)、顾客性别(Sex)、顾客生日(Birthday)、证件号码(CardNum)、顾客等级(Rank)、顾客电话(PhoneNum)、顾客地址(Adress)、顾客入会时间(JoinTime)、顾客欠费数量(Debt)、备注(CusNote)(4)餐厅业务

4、信息表单(BussinessInfo):餐桌编号(TableID)、顾客姓名(CusName)(外码)、订餐时间(OrderTime)、用餐时间(EatTime)、用餐人数(EatNum)、价格(Prise)、电话(Call)、食品编号(FoodID)(外码)、备注(Note)三、课程设计报告主要内容: 1 餐厅就餐管理系统需求分析(给出系统的功能模块图,对各个功能作出详细介绍)2 餐厅就餐管理系统界面设计(给出界面截图及其主要控件的属性设置表格) 3 餐厅就餐管理系统数据库设计(给出数据库各个表单中数据的字段名,数据类型及其相应的说明)4 餐厅就餐管理系统程序设计(按功能模块给详细的代码,并

5、给出重点语句的注释)目录1、餐厅就餐管理系统需求分析11.1欢迎界面11.2登陆界面11.3 管理员管理主界面1用户信息查询与删除1顾客信息修改与删除1顾客订餐信息修改与删除21.4普通用户管理主界面2顾客信息添加、打印与查询2菜单信息添加、打印与查询2顾客订餐信息添加与查询22、餐厅就餐管理系统界面设计32.1系统功能界面设计(部分)32.2系统功能界面控件属性设置(部分)83、餐厅就餐管理系统数据库设计93.1数据库设计需求分析9餐厅业务流程9用户(包括管理员和普通用户)对该系统的功能要求9数据需求93.2数据库概念结构设计9用户信息实体E-R图9菜单信息实体E-R图10顾客信息实体E-R

6、图10订单信息实体E-R图113.3数据库逻辑结构设计114、餐厅就餐管理系统程序设计(部分)134.1欢迎界面程序设计134.2用户登录、注册以及密码修改界面程序设计14用户登录界面程序设计14用户注册界面程序设计15用户密码修改界面程序设计164.3用户主界面程序设计17管理员主界面程序设计18普通用户主界面程序设计184.4菜单信息添加界面程序设计204.4顾客信息查询界面程序设计214.5订单信息修改与删除界面程序设计234.6顾客信息打印界面程序设计24小结26参考文献271、餐厅就餐管理系统需求分析欢迎界面管理员登陆普通用户登录管理员管理主界面普通用户管理主界面顾客订餐信息添加与查

7、询菜单信息添加、打印与查询顾客信息添加、打印与查询用户信息查询与删除顾客订餐信息修改与删除顾客信息修改与删除注册与密码修改图1.1餐厅就餐管理信息系统功能模块图1.1欢迎界面餐厅就餐管理系统欢迎界面的主要功能是欢迎用户进入该系统以及用户登录身份的选择。当用户触发管理员的标签事件时,用户将进入管理员登陆界面;当用户触发普通用户的标签事件时,用户将进入普通用户登录界面。1.2登陆界面餐厅就餐管理系统有两个登录界面,即管理员登陆界面和普通用户登陆界面。并且,两个登录界面都设有用户注册以及本用户密码修改的功能按钮。用户从各自的登录界面登录成功后,将进入各自的管理界面。1.3 管理员管理主界面管理员可以

8、通过输入sql语句对用户、顾客以及顾客订餐信息进行查询、修改和删除等操作。用户信息查询与删除用户信息查询主要是通过用户的权限查询。在列表框中设置管理员和普通用户的两个选项,管理员选择管理员的选项就会出现所有管理员的信息,选择普通用户的选项就会出现所有普通用户的信息。对于无效的用户账号和密码,管理员可以通过触发删除按钮事件将其删除。顾客信息修改与删除顾客信息的修改主要是管理员对登记失误以及客户信息改变(如:顾客电话号码)的一些内容进行修改。对于无效的客户信息,管理员可以通过触发删除按钮事件将其删除。顾客订餐信息修改与删除顾客订餐信息的修改主要是管理员对登记失误以及客户订餐信息改变(如:订餐时间以

9、及用餐时间)的一些内容进行修改。对于无效的订餐信息,管理员可以通过触发删除按钮事件将其删除。1.4普通用户管理主界面普通用户可以通过输入sql语句对菜单、顾客以及顾客订餐信息进行添加、打印和查询等操作。顾客信息添加、打印与查询顾客信息添加和打印主要是普通用户将新增加的顾客信息进行登记以及将系统中现有的顾客信息打印出来使用。另外,普通用户可以按照姓名、证件号码、地址等条件对顾客信息进行查询。菜单信息添加、打印与查询菜单信息添加主要是普通用户将新增加的菜单信息进行登记以及将系统中现有的菜单信息打印出来使用。另外,普通用户可以按照编号、种类、名称、单价、风味等条件对菜单信息进行查询。顾客订餐信息添加

10、与查询菜单信息添加主要是普通用户将新增加的订餐信息进行登记。另外,普通用户可以按照姓名和价格等条件对订餐信息进行查询。2、餐厅就餐管理系统界面设计2.1系统功能界面设计(部分)(1)欢迎界面图2.1欢迎界面(2)普通用户登录界面图2.2普通用户登录界面(3)管理员登录界面图2.3管理员登录界面(4)注册界面图2.4注册界面(5)本用户密码修改界面图2.5本用户密码修改界面(6)管理员管理主界面图2.6管理员管理主界面(7)普通用户管理主界面图2.7普通用户管理主界面(8)客户信息添加界面图2.8客户信息添加界面(9)客户信息打印界面图2.9客户信息打印界面(10)菜单信息查询界面 图2.10菜

11、单信息查询界面(11)订单信息修改与删除界面图2.11订单信息修改与删除界面2.2系统功能界面控件属性设置(部分)(1)用户订餐界面控件属性设置表2.1用户订餐界面控件属性设置表Name属性设置值Label1text餐桌编号:Label2text顾客姓名:Label3text订餐时间:Label4text用餐时间:Label5text用餐人数Label6text价格:Label7text电话:Label8text食品编号:Label9text备注:btnOrderAddtext添加btnCancel5text取消txtidtext空txtnametext空txtordertimetext空tx

12、teattimetext空txtnumtext空txtpricetext空txtphonetext空txtfoodidtext空txtnotetext空Frametext空(2)用户信息管理界面控件属性设置表2.2用户信息管理界面控件属性设置表Name属性设置值dgvUserInfoSelectionModeFullRowSelectcomboBox1Items管理员和服务员btnUserIDtext按权限查询btnDel2text删除3、餐厅就餐管理系统数据库设计3.1数据库设计需求分析餐厅就餐管理系统是一个用来管理餐厅业务的数据库系统。本系统将利用现代化的计算机技术结合传统的餐厅业务信息管

13、理工作过程,按照餐饮管理部门的业务流程设计完成。餐厅就餐管理系统需求分析的主要内容如下。餐厅业务流程当顾客进入餐厅就餐时,服务员会为客户提供设计好的菜单并记录顾客信息,当顾客点好餐后,服务员将会在系统中记录订单信息,并告知厨房人员做菜,顾客用餐完后,查询订单信息并结账。顾客进入餐厅餐厅为顾客提供菜单顾客点餐顾客用餐并结账图3.1餐厅就餐管理业务流程图用户(包括管理员和普通用户)对该系统的功能要求(1)能根据不同的查询条件查询用户信息表,如按用户名、用户权限等查询。(2)能根据不同的查询条件查询顾客信息表,如按顾客姓名、证件号码、地址、顾客等级等查询。(3)能根据不同的查询条件查询订单信息表,如

14、按餐桌编号、食品编号、订餐时间、价格、电话、用餐人数等查询。(4)能根据不同的查询条件查询菜单信息表,如按食品编号、食品名称、食品单价、食品种类、食品风味等查询。(5)管理用户基本信息,包括浏览、增加、修改和删除用户信息。(6)管理顾客基本信息,包括浏览、增加、修改、打印和删除顾客信息。(7)管理菜单基本信息,包括浏览、增加、修改、打印和删除菜单信息。(8)管理订单基本信息,包括浏览、增加、修改、打印和删除订单信息。数据需求(1)用户信息表=用户编号+用户账号+用户密码+用户权限(2)顾客信息表=顾客姓名+顾客性别+顾客生日+证件号码+顾客级别+顾客电话+地址+入会时间+欠费+备注(3)菜单信

15、息表=食品编号+食品名称+食品种类+食品风味+食品单价+备注(4)订单信息表=食品编号+食品名称+食品种类+食品风味+食品单价+备注3.2数据库概念结构设计通过对系统的需求分析,可规划出系统中使用的数据库实体对象以及实体E-R图。用户信息实体E-R图为了对系统进行不同的管理,需要为系统建立管理用户,这些用户通过登录模块登录系统,登录成功之后会根据不同的权限对不同的功能模块进行管理。因此,在数据库中建立一个用户信息表,用于存储登录用户信息。用户信息实体E-R图如下所示:用户信息表UserInfo用户编号用户账号用户密码用户密码图3.2用户信息实体E-R图菜单信息实体E-R图由于食品的种类很多,因

16、此需要对食品进行分类,这样就可以对食品分门别类的进行存储,在查询时可以根据食品的编号及类别等进行查询。因此,在数据库中建立一个菜单信息表,用于存储食品信息。菜单信息实体E-R图如下所示:菜单信息表FoodInfo食品名称食品种类食品单价食品风味备注食品编号图3.3菜单信息实体E-R图顾客信息实体E-R图当顾客进入餐厅就餐或办理会员卡时,系统会将客户的信息存储到数据表中,以便后期查询。因此,在数据库中建立一个顾客信息表用于存储客户信息。客户信息实体E-R图如下所示:顾客信息表CustomerInfo顾客姓名顾客性别证件号码顾客生日顾客级别入会时间地址顾客电话欠费备注图3.4顾客信息实体E-R图订

17、单信息实体E-R图当顾客进行消费时顾客会根据自己的需求消费不同的食品,系统将顾客消费的所有信息存储到数据表中,以便餐厅服务员以及顾客自己查询。所以,在数据库中建立顾客消费信息表用于存储顾客消费记录。顾客消费信息实体E-R图如下图所示:订单信息表BussinessInfo餐桌编号顾客姓名用餐时间订餐时间用餐人数价格电话备注食品编号图3.5订单信息实体E-R图3.3数据库逻辑结构设计根据设计好的E-R图在数据库中创建各表,系统数据库中个表的结果如下。1. UserInfo(用户信息表)表3.1用户信息表字段名称数据类型字段大小说明UserIDint4用户编号UserNamevarchar50用户账

18、号UserPwdvarchar50用户密码Stateint4用户权限2. FoodInfo(菜单信息表)表3.2菜单信息表字段名称数据类型字段大小说明FoodIDvarchar8食品编号FoodNamevarchar50食品名称FoodClassvarchar50食品种类FoodRelishvarchar50食品风味FoodPricemoney(7,4)食品价格FoodNotevarcharMAX备注3. CustomerInfo(顾客信息表)表3.3顾客信息表字段名称数据类型字段大小说明CusNamevarchar50顾客姓名Sexchar2顾客性别Birthdaydatetime顾客生日C

19、ardNumvarchar50证件号码Rankvarchar8顾客等级PhoneNumvarchar15顾客电话Adressvarchar50地址JoinTimedatetime入会时间Debtmoney(7,4)欠费CusNotevarcharMAX备注4. BussinessInfo(订单信息表)表3.4订单信息表字段名称数据类型字段大小说明TableIDvarchar8餐桌编号CusNamevarchar50顾客姓名OrderTimedatetime订餐时间EatTimedatetime用餐时间EatNumint4用餐人数Prisemoney价格Callvarchar15电话FoodID

20、varchar8食品编号NotevarcharMAX备注4、餐厅就餐管理系统程序设计(部分)4.1欢迎界面程序设计欢迎界面代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace FoodManagement public partial class frm_WelcomeScreen : Form publi

21、c frm_WelcomeScreen() InitializeComponent(); private void label1_Click(object sender, EventArgs e) frm_ManagerLogin f = new frm_ManagerLogin();/当鼠标单击标签时,自动跳转到管理员登录界面 f.Show(); private void label1_MouseEnter(object sender, EventArgs e) label1.ForeColor = Color.Red;/当鼠标移动到标签上时,字体颜色由蓝色变为红色 private void

22、 label2_Click(object sender, EventArgs e) frm_UserLogin m = new frm_UserLogin();/当鼠标单击标签时,自动跳转到普通用户登录界面 m.Show(); private void label2_MouseEnter(object sender, EventArgs e) label2.ForeColor = Color.Red;/当鼠标移动到标签上时,字体颜色由蓝色变为红色 private void label1_MouseLeave(object sender, EventArgs e) label1.ForeColo

23、r = Color.Blue; private void label2_MouseLeave(object sender, EventArgs e) label2.ForeColor = Color.Blue; 4.2用户登录、注册以及密码修改界面程序设计用户登录界面程序设计用户登陆界面代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows

24、.Forms;using System.Data.SqlClient;namespace FoodManagement public partial class frm_UserLogin : Form public frm_UserLogin() InitializeComponent(); private void btnUserLog1_Click(object sender, EventArgs e) string name = txtuser.Text.Trim();(); /从外界获取name、pwd的值 DBOperation dbcon = new DBOperation();

25、 string sql = " Select count(*) From UserInfo where UserName='" + name + "' and UserPwd='" + pwd + "'" /查询用户信息表中所有信息,看是获取的name、pwd的值是否在数据表中 int n = Convert.ToInt32(dbcon.getSingle(sql); if (n >= 1) MessageBox.Show("登录成功!"); this.Close(); frm

26、_MainUser m = new frm_MainUser(); m.Show(); else MessageBox.Show("登录失败!"); dbcon.Close(); private void btnUserReg1_Click(object sender, EventArgs e) frm_UserRegistration a = new frm_UserRegistration();/跳转到用户注册界面 a.Show(); private void btnChaPwd1_Click(object sender, EventArgs e) frm_Change

27、Pwd b = new frm_ChangePwd();/跳转到密码修改界面 b.Show(); 用户注册界面程序设计用户注册界面代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace FoodManagement public partial class frm_UserRegistration : For

28、m public frm_UserRegistration() InitializeComponent(); private void btnAddUser_Click(object sender, EventArgs e) string name = txtAddUser.Text.Trim(); string pwd = txtAddPwd.Text.Trim(); int state = comSelectUser.SelectedIndex; switch (state) case 0: comSelectUser.Text="管理员" break; case 1:

29、 comSelectUser.Text="服务员" break; /从外界获取name、pwd、state的值 DBOperation dbcon = new DBOperation(); string sql = "insert into UserInfo values('" + name + "','" + pwd + "'," + state + ")" /将从外界获取的值插入到数据表中 if (dbcon.update(sql) MessageBox.Sh

30、ow("添加成功!"); this.Close(); else MessageBox.Show("添加失败!"); dbcon.Close(); private void btnCancel1_Click(object sender, EventArgs e) this.Close(); 用户密码修改界面程序设计用户密码修改界面代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawi

31、ng;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace FoodManagement public partial class frm_ChangePwd : Form public frm_ChangePwd() InitializeComponent(); private void btnCancel4_Click(object sender, EventArgs e) this.Close(); private void btnOK1_Click(object sender

32、, EventArgs e) string url = "server=.sql2005;database=FoodManage;uid=sa;pwd=whkjdx" SqlConnection conn = new SqlConnection(url); conn.Open();/连接并打开数据库 string name = txtname.Text.Trim(); SqlDataAdapter sda = new SqlDataAdapter("SELECT UserPwd FROM UserInfo WHERE UserName='" +

33、name + "'", conn); /获取用户信息表中用户密码 DataTable dt = new DataTable(); sda.Fill(dt); if (dt.Rows0"UserPwd".ToString() != txtOldPwd.Text) MessageBox.Show("旧密码错误请重新输入"); return; if (txtAgainPwd.Text != txtNewPwd.Text) MessageBox.Show("两次密码不相同请重新输入"); return; SqlCo

34、mmand cmd = new SqlCommand("UPDATE UserInfo SET UserPwd=UserPwd WHERE UserName='" + name + "'", conn); /更新用户账号为name的用户密码 cmd.Parameters.Add("UserPwd", SqlDbType.VarChar, 128).Value = txtAgainPwd.Text; cmd.ExecuteNonQuery(); MessageBox.Show("修改密码成功!(*)y &quo

35、t;); conn.Close(); this.Close(); 4.3用户主界面程序设计管理员主界面程序设计管理员主界面代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace FoodManagement public partial class frm_MainManager : Form public

36、frm_MainManager() InitializeComponent(); private void 添加用户ToolStripMenuItem_Click(object sender, EventArgs e) frm_UserInfoManage a = new frm_UserInfoManage();/跳转到用户信息管理界面 a.Show(); private void 修改客户信息ToolStripMenuItem_Click(object sender, EventArgs e) frm_CustomerManage b = new frm_CustomerManage();

37、/跳转到顾客信息管理界面 b.Show(); private void 修改订单信息ToolStripMenuItem_Click(object sender, EventArgs e) frm_OrderManage c = new frm_OrderManage();/跳转到订单信息管理界面 c.Show(); 普通用户主界面程序设计普通用户主界面代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using

38、 System.Text;using System.Windows.Forms;namespace FoodManagement public partial class frm_MainUser : Form public frm_MainUser() InitializeComponent(); private void 添加客户ToolStripMenuItem_Click(object sender, EventArgs e) frm_CustomerInfoAdd a = new frm_CustomerInfoAdd();/跳转到顾客信息添加界面 a.Show(); private

39、 void 查询客户信息ToolStripMenuItem_Click(object sender, EventArgs e) frm_CustomerInfoQuery b = new frm_CustomerInfoQuery();/跳转到顾客信息查询界面 b.Show(); private void 添加菜单ToolStripMenuItem_Click(object sender, EventArgs e) frm_FoodInfoAdd c = new frm_FoodInfoAdd();/跳转到菜单信息添加界面 c.Show(); private void 查询菜单信息ToolSt

40、ripMenuItem_Click(object sender, EventArgs e) frm_FoodInfoQuery d = new frm_FoodInfoQuery();/跳转到菜单信息查询界面 d.Show(); private void 添加订单ToolStripMenuItem_Click(object sender, EventArgs e) frm_OrderFood f = new frm_OrderFood();/跳转到订单信息添加界面 f.Show(); private void 订单信息查询ToolStripMenuItem_Click(object sende

41、r, EventArgs e) frm_OrderInfoQuery g = new frm_OrderInfoQuery();/跳转到订单信息查询界面 g.Show(); private void 打印客户信息ToolStripMenuItem_Click(object sender, EventArgs e) frm_PrintCusInfo h = new frm_PrintCusInfo();/跳转到顾客信息打印界面 h.Show(); private void 打印菜单信息ToolStripMenuItem_Click(object sender, EventArgs e) frm_

42、PrintFoodInfo i = new frm_PrintFoodInfo();/跳转到菜单信息打印界面 i.Show(); 4.4菜单信息添加界面程序设计菜单信息添加界面代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace FoodManagement public partial class frm

43、_FoodInfoAdd : Form public frm_FoodInfoAdd() InitializeComponent(); private void btnFoodAdd_Click(object sender, EventArgs e) string id = txtFoodID1.Text.Trim();m(); string class1 = comFoodClass1.Text; switch (comFoodClass1.SelectedIndex) case 0: comFoodClass1.Text = "家常菜" break; case 1: c

44、omFoodClass1.Text = "凉菜" break; case 2: comFoodClass1.Text = "创意糕点" break; case 3: comFoodClass1.Text = "汤羹" break; case 4: comFoodClass1.Text = "素菜" break; string price = txtFoodPrice1.Text.Trim(); string relish = txtFoodRelish1.Text.Trim(); string note = txt

45、FoodNote.Text.Trim(); /从外界获取id、name、class1、price、relish、note的值 DBOperation dbcon = new DBOperation(); string sql = "insert into FoodInfo values('" + id + "','" + name + "','" + class1 + "','" + relish + "','" + pri

46、ce + "','" + note + "')" /将获取的值添加到菜单信息表中 if (dbcon.update(sql) MessageBox.Show("添加成功!"); this.Close(); else MessageBox.Show("添加失败!"); dbcon.Close(); 4.4顾客信息查询界面程序设计顾客信息查询界面代码如下:using System;using System.Collections.Generic;using System.ComponentMod

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论