《餐饮就餐管理系统设计范本.docx》由会员分享,可在线阅读,更多相关《餐饮就餐管理系统设计范本.docx(29页珍藏版)》请在三一办公上搜索。
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 管理员管理主界面11.3.1用户信息查询与删除11.3.2顾客信息修改与删除11.3.3顾客订餐信息修改与删除21.4普通用户管理主界面21.4.1顾客信息添加、打印与查询21.4.2菜单信息添加、打印与查询21.4.3顾客订餐信息添加与查询22、餐厅就餐管理系统界面设计32.1系统功能界面设计(部分)32.2系统功能界面控件属性设置(部分)83、餐厅就餐管理系统数据库设计93.1数据库设计需求分析93.1.1餐厅业务流程93.1.2用户(包括管理员和普通用户)对该系统的功能要求93.1.3数据需求9
6、3.2数据库概念结构设计93.2.1用户信息实体E-R图93.2.2菜单信息实体E-R图103.2.3顾客信息实体E-R图103.2.4订单信息实体E-R图113.3数据库逻辑结构设计114、餐厅就餐管理系统程序设计(部分)134.1欢迎界面程序设计134.2用户登录、注册以及密码修改界面程序设计144.2.1用户登录界面程序设计144.2.2用户注册界面程序设计154.2.3用户密码修改界面程序设计164.3用户主界面程序设计174.3.1管理员主界面程序设计184.3.2普通用户主界面程序设计184.4菜单信息添加界面程序设计204.4顾客信息查询界面程序设计214.5订单信息修改与删除界
7、面程序设计234.6顾客信息打印界面程序设计24小结26参考文献271、餐厅就餐管理系统需求分析欢迎界面管理员登陆普通用户登录管理员管理主界面普通用户管理主界面顾客订餐信息添加与查询菜单信息添加、打印与查询顾客信息添加、打印与查询用户信息查询与删除顾客订餐信息修改与删除顾客信息修改与删除注册与密码修改图1.1餐厅就餐管理信息系统功能模块图1.1欢迎界面餐厅就餐管理系统欢迎界面的主要功能是欢迎用户进入该系统以及用户登录身份的选择。当用户触发管理员的标签事件时,用户将进入管理员登陆界面;当用户触发普通用户的标签事件时,用户将进入普通用户登录界面。1.2登陆界面餐厅就餐管理系统有两个登录界面,即管理
8、员登陆界面和普通用户登陆界面。并且,两个登录界面都设有用户注册以及本用户密码修改的功能按钮。用户从各自的登录界面登录成功后,将进入各自的管理界面。1.3 管理员管理主界面管理员可以通过输入sql语句对用户、顾客以及顾客订餐信息进行查询、修改和删除等操作。1.3.1用户信息查询与删除用户信息查询主要是通过用户的权限查询。在列表框中设置管理员和普通用户的两个选项,管理员选择管理员的选项就会出现所有管理员的信息,选择普通用户的选项就会出现所有普通用户的信息。对于无效的用户账号和密码,管理员可以通过触发删除按钮事件将其删除。1.3.2顾客信息修改与删除顾客信息的修改主要是管理员对登记失误以及客户信息改
9、变(如:顾客电话号码)的一些内容进行修改。对于无效的客户信息,管理员可以通过触发删除按钮事件将其删除。1.3.3顾客订餐信息修改与删除顾客订餐信息的修改主要是管理员对登记失误以及客户订餐信息改变(如:订餐时间以及用餐时间)的一些内容进行修改。对于无效的订餐信息,管理员可以通过触发删除按钮事件将其删除。1.4普通用户管理主界面普通用户可以通过输入sql语句对菜单、顾客以及顾客订餐信息进行添加、打印和查询等操作。1.4.1顾客信息添加、打印与查询顾客信息添加和打印主要是普通用户将新增加的顾客信息进行登记以及将系统中现有的顾客信息打印出来使用。另外,普通用户可以按照姓名、证件号码、地址等条件对顾客信
10、息进行查询。1.4.2菜单信息添加、打印与查询菜单信息添加主要是普通用户将新增加的菜单信息进行登记以及将系统中现有的菜单信息打印出来使用。另外,普通用户可以按照编号、种类、名称、单价、风味等条件对菜单信息进行查询。1.4.3顾客订餐信息添加与查询菜单信息添加主要是普通用户将新增加的订餐信息进行登记。另外,普通用户可以按照姓名和价格等条件对订餐信息进行查询。2、餐厅就餐管理系统界面设计2.1系统功能界面设计(部分)(1)欢迎界面图2.1欢迎界面(2)普通用户登录界面 图2.2普通用户登录界面(3)管理员登录界面图2.3管理员登录界面(4)注册界面图2.4注册界面(5)本用户密码修改界面图2.5本
11、用户密码修改界面(6)管理员管理主界面图2.6管理员管理主界面(7)普通用户管理主界面图2.7普通用户管理主界面(8)客户信息添加界面图2.8客户信息添加界面(9)客户信息打印界面图2.9客户信息打印界面(10)菜单信息查询界面 图2.10菜单信息查询界面(11)订单信息修改与删除界面图2.11订单信息修改与删除界面2.2系统功能界面控件属性设置(部分)(1)用户订餐界面控件属性设置表2.1用户订餐界面控件属性设置表Name属性设置值Label1text餐桌编号:Label2text顾客姓名:Label3text订餐时间:Label4text用餐时间:Label5text用餐人数Label6t
12、ext价格:Label7text电话:Label8text食品编号:Label9text备注:btnOrderAddtext添加btnCancel5text取消txtidtext空txtnametext空txtordertimetext空txteattimetext空txtnumtext空txtpricetext空txtphonetext空txtfoodidtext空txtnotetext空Frametext空(2)用户信息管理界面控件属性设置表2.2用户信息管理界面控件属性设置表Name属性设置值dgvUserInfoSelectionModeFullRowSelectcomboBox1It
13、ems管理员和服务员btnUserIDtext按权限查询btnDel2text删除3、餐厅就餐管理系统数据库设计3.1数据库设计需求分析餐厅就餐管理系统是一个用来管理餐厅业务的数据库系统。本系统将利用现代化的计算机技术结合传统的餐厅业务信息管理工作过程,按照餐饮管理部门的业务流程设计完成。餐厅就餐管理系统需求分析的主要内容如下。3.1.1餐厅业务流程当顾客进入餐厅就餐时,服务员会为客户提供设计好的菜单并记录顾客信息,当顾客点好餐后,服务员将会在系统中记录订单信息,并告知厨房人员做菜,顾客用餐完后,查询订单信息并结账。顾客进入餐厅餐厅为顾客提供菜单顾客点餐顾客用餐并结账图3.1餐厅就餐管理业务流
14、程图3.1.2用户(包括管理员和普通用户)对该系统的功能要求(1)能根据不同的查询条件查询用户信息表,如按用户名、用户权限等查询。(2)能根据不同的查询条件查询顾客信息表,如按顾客姓名、证件号码、地址、顾客等级等查询。(3)能根据不同的查询条件查询订单信息表,如按餐桌编号、食品编号、订餐时间、价格、电话、用餐人数等查询。(4)能根据不同的查询条件查询菜单信息表,如按食品编号、食品名称、食品单价、食品种类、食品风味等查询。(5)管理用户基本信息,包括浏览、增加、修改和删除用户信息。(6)管理顾客基本信息,包括浏览、增加、修改、打印和删除顾客信息。(7)管理菜单基本信息,包括浏览、增加、修改、打印
15、和删除菜单信息。(8)管理订单基本信息,包括浏览、增加、修改、打印和删除订单信息。3.1.3数据需求(1)用户信息表=用户编号+用户账号+用户密码+用户权限(2)顾客信息表=顾客姓名+顾客性别+顾客生日+证件号码+顾客级别+顾客电话+地址+入会时间+欠费+备注(3)菜单信息表=食品编号+食品名称+食品种类+食品风味+食品单价+备注(4)订单信息表=食品编号+食品名称+食品种类+食品风味+食品单价+备注3.2数据库概念结构设计通过对系统的需求分析,可规划出系统中使用的数据库实体对象以及实体E-R图。3.2.1用户信息实体E-R图为了对系统进行不同的管理,需要为系统建立管理用户,这些用户通过登录模
16、块登录系统,登录成功之后会根据不同的权限对不同的功能模块进行管理。因此,在数据库中建立一个用户信息表,用于存储登录用户信息。用户信息实体E-R图如下所示:用户信息表UserInfo用户编号用户账号用户密码用户密码图3.2用户信息实体E-R图3.2.2菜单信息实体E-R图由于食品的种类很多,因此需要对食品进行分类,这样就可以对食品分门别类的进行存储,在查询时可以根据食品的编号及类别等进行查询。因此,在数据库中建立一个菜单信息表,用于存储食品信息。菜单信息实体E-R图如下所示:菜单信息表FoodInfo食品名称食品种类食品单价食品风味备注食品编号图3.3菜单信息实体E-R图3.2.3顾客信息实体E
17、-R图当顾客进入餐厅就餐或办理会员卡时,系统会将客户的信息存储到数据表中,以便后期查询。因此,在数据库中建立一个顾客信息表用于存储客户信息。客户信息实体E-R图如下所示:顾客信息表CustomerInfo顾客姓名顾客性别证件号码顾客生日顾客级别入会时间地址顾客电话欠费备注图3.4顾客信息实体E-R图3.2.4订单信息实体E-R图当顾客进行消费时顾客会根据自己的需求消费不同的食品,系统将顾客消费的所有信息存储到数据表中,以便餐厅服务员以及顾客自己查询。所以,在数据库中建立顾客消费信息表用于存储顾客消费记录。顾客消费信息实体E-R图如下图所示:订单信息表BussinessInfo餐桌编号顾客姓名用
18、餐时间订餐时间用餐人数价格电话备注食品编号图3.5订单信息实体E-R图3.3数据库逻辑结构设计根据设计好的E-R图在数据库中创建各表,系统数据库中个表的结果如下。1. UserInfo(用户信息表)表3.1用户信息表字段名称数据类型字段大小说明UserIDint4用户编号UserNamevarchar50用户账号UserPwdvarchar50用户密码Stateint4用户权限2. FoodInfo(菜单信息表)表3.2菜单信息表字段名称数据类型字段大小说明FoodIDvarchar8食品编号FoodNamevarchar50食品名称FoodClassvarchar50食品种类FoodReli
19、shvarchar50食品风味FoodPricemoney(7,4)食品价格FoodNotevarcharMAX备注3. CustomerInfo(顾客信息表)表3.3顾客信息表字段名称数据类型字段大小说明CusNamevarchar50顾客姓名Sexchar2顾客性别Birthdaydatetime顾客生日CardNumvarchar50证件号码Rankvarchar8顾客等级PhoneNumvarchar15顾客电话Adressvarchar50地址JoinTimedatetime入会时间Debtmoney(7,4)欠费CusNotevarcharMAX备注4. BussinessInfo
20、(订单信息表)表3.4订单信息表字段名称数据类型字段大小说明TableIDvarchar8餐桌编号CusNamevarchar50顾客姓名OrderTimedatetime订餐时间EatTimedatetime用餐时间EatNumint4用餐人数Prisemoney价格Callvarchar15电话FoodIDvarchar8食品编号NotevarcharMAX备注4、餐厅就餐管理系统程序设计(部分)4.1欢迎界面程序设计欢迎界面代码如下:using System;using System.Collections.Generic;using System.ComponentModel;usin
21、g System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace FoodManagement public partial class frm_WelcomeScreen : Form public frm_WelcomeScreen() InitializeComponent(); private void label1_Click(object sender, EventArgs e) frm_ManagerLogin f = new frm_ManagerLogin();/
22、当鼠标单击标签时,自动跳转到管理员登录界面 f.Show(); private void label1_MouseEnter(object sender, EventArgs e) label1.ForeColor = Color.Red;/当鼠标移动到标签上时,字体颜色由蓝色变为红色 private void label2_Click(object sender, EventArgs e) frm_UserLogin m = new frm_UserLogin();/当鼠标单击标签时,自动跳转到普通用户登录界面 m.Show(); private void label2_MouseEnter
23、(object sender, EventArgs e) label2.ForeColor = Color.Red;/当鼠标移动到标签上时,字体颜色由蓝色变为红色 private void label1_MouseLeave(object sender, EventArgs e) label1.ForeColor = Color.Blue; private void label2_MouseLeave(object sender, EventArgs e) label2.ForeColor = Color.Blue; 4.2用户登录、注册以及密码修改界面程序设计4.2.1用户登录界面程序设计用
24、户登陆界面代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace FoodManagement public partial class frm_UserLogin : Form public frm_UserLogin() InitializeComp
25、onent(); private void btnUserLog1_Click(object sender, EventArgs e) string name = txtuser.Text.Trim(); string pwd = txtpwd.Text.Trim(); /从外界获取name、pwd的值 DBOperation dbcon = new DBOperation(); string sql = Select count(*) From UserInfo where UserName= + name + and UserPwd= + pwd + ; /查询用户信息表中所有信息,看是获
26、取的name、pwd的值是否在数据表中 int n = Convert.ToInt32(dbcon.getSingle(sql); if (n = 1) MessageBox.Show(登录成功!); this.Close(); frm_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_Us
27、erRegistration();/跳转到用户注册界面 a.Show(); private void btnChaPwd1_Click(object sender, EventArgs e) frm_ChangePwd b = new frm_ChangePwd();/跳转到密码修改界面 b.Show(); 4.2.2用户注册界面程序设计用户注册界面代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using
28、System.Text;using System.Windows.Forms;namespace FoodManagement public partial class frm_UserRegistration : Form public frm_UserRegistration() InitializeComponent(); private void btnAddUser_Click(object sender, EventArgs e) string name = txtAddUser.Text.Trim(); string pwd = txtAddPwd.Text.Trim(); in
29、t state = comSelectUser.SelectedIndex; switch (state) case 0: comSelectUser.Text=管理员; break; case 1: comSelectUser.Text=服务员; break; /从外界获取name、pwd、state的值 DBOperation dbcon = new DBOperation(); string sql = insert into UserInfo values( + name + , + pwd + , + state + ); /将从外界获取的值插入到数据表中 if (dbcon.upd
30、ate(sql) MessageBox.Show(添加成功!); this.Close(); else MessageBox.Show(添加失败!); dbcon.Close(); private void btnCancel1_Click(object sender, EventArgs e) this.Close(); 4.2.3用户密码修改界面程序设计用户密码修改界面代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Dr
31、awing;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 sen
32、der, 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= + name + , conn); /获取用户信息表中
33、用户密码 DataTable dt = new DataTable(); sda.Fill(dt); if (dt.Rows0UserPwd.ToString() != txtOldPwd.Text) MessageBox.Show(旧密码错误请重新输入); return; if (txtAgainPwd.Text != txtNewPwd.Text) MessageBox.Show(两次密码不相同请重新输入); return; SqlCommand cmd = new SqlCommand(UPDATE UserInfo SET UserPwd=UserPwd WHERE UserName=
34、 + name + , conn); /更新用户账号为name的用户密码 cmd.Parameters.Add(UserPwd, SqlDbType.VarChar, 128).Value = txtAgainPwd.Text; cmd.ExecuteNonQuery(); MessageBox.Show(修改密码成功!(*)y ); conn.Close(); this.Close(); 4.3用户主界面程序设计4.3.1管理员主界面程序设计管理员主界面代码如下:using System;using System.Collections.Generic;using System.Compon
35、entModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace FoodManagement public partial class frm_MainManager : Form public frm_MainManager() InitializeComponent(); private void 添加用户ToolStripMenuItem_Click(object sender, EventArgs e) frm_UserInfoManage a
36、= new frm_UserInfoManage();/跳转到用户信息管理界面 a.Show(); private void 修改客户信息ToolStripMenuItem_Click(object sender, EventArgs e) frm_CustomerManage b = new frm_CustomerManage();/跳转到顾客信息管理界面 b.Show(); private void 修改订单信息ToolStripMenuItem_Click(object sender, EventArgs e) frm_OrderManage c = new frm_OrderMana
37、ge();/跳转到订单信息管理界面 c.Show(); 4.3.2普通用户主界面程序设计普通用户主界面代码如下: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_MainUser : Form public frm_MainUser() InitializeComponent(); private void 添加客户ToolStripMenuItem_Click(object sender, EventArgs e) frm_CustomerInfoAdd a = new frm_CustomerInfoAdd();/跳转到顾客信息添加界面 a.Show(); private void 查询客户信息ToolStripMenuItem_Click(object sender, EventArgs e) frm_CustomerInfoQuery b = new frm_CustomerInfoQuery();/跳转到顾客