餐饮管理系统

  • 格式:doc
  • 大小:5.38 MB
  • 文档页数:31

目录第1章系统简介 (1)1.1 课题背景 (1)1.2 系统开发的意义 (1)1.3 系统开发及运行环境 (1)第2章需求分析 (2)2.1 餐饮管理系统的可行性分析 (2)2.1.1 技术水平分析 (2)2.1.2 经济效益分析 (2)2.1.3 市场分析 (2)2.2 餐饮管理系统的需求分析 (2)第3章总体设计 (3)3.1 项目规划 (4)3.2 系统业务流程分析 (5)3.3 系统功能结构 (5)第4章详细设计 (1)4.1 数据库设计 (1)4.1.1 数据表概要说明 (1)4.1.2 部分数据表E-R图 (1)4.1.3 数据表的结构 (3)4.2 系统主要功能模块设计与实现 (5)4.2.1 系统登录模块的设计与实现 (5)4.2.2 主窗体的设计与实现 (7)4.2.3 凭证信息录入窗体的设计与实现 (10)4.2.4 管理员信息窗体的设计与实现 (12)第5章测试与总结 (24)5.1 程序调试与错误处理 (24)5.2 总结 (24)第1章系统简介1.1 课题背景民以食为天,随着人民生活水平的提高,餐饮业在服务行业中占有越来越重要的地位。

努力在当前餐饮行业日趋激烈的竞争中脱颖而出,已成为每位餐饮业经营者所追求的目标。

经过多年发展,餐饮管理已经逐渐由定性管理,进入到重视定量管理的科学阶段。

众所周知,在定量管理的具体实现方法和手段方面,最有效的工具就是电脑管理。

传统的手工操作管理存在着许多无法避免的问题,该系统将能大大的降低许多问题,减轻人力与物力。

1.2 系统开发的意义本系统属于小型的餐饮管理系统,可以有效地对中小型餐厅消费进行管理,本系统应达到以下目标:系统采用人机交互的方式,界面美观友好,信息查询灵活、方便,数据存储安全可靠。

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

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

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

实现对消费的历史记录进行查询。

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

1.3 系统开发及运行环境系统开发平台:Microsoft Visual Studio 2008系统开发语言:C#数据库管理系统软件:SQL Server 2005运行平台:Windows XP(SP2)/Windows 2000(SP4)/Windows Server 2003(SP1) 运行环境: Framework SDK v2.0分辨率:最佳效果1024*768像素第2章需求分析2.1 餐饮管理系统的可行性分析2.1.1 技术水平分析本软件采用Microsoft Visual Studio 2005为前台开发工具,SQL Server 2005 数据库作为后台数据库支持。

本软件专为中小型餐厅消费管理而设计,本软件可在Windows 2000/XP 上运行,不用专业人士去配制服务器可以直接安装使用,具有很好的可移植性,有良好的中文界面,操作简便,适合餐饮服务人员使用。

2.1.2 经济效益分析本软件能在很大程度上解决中小型餐厅的消费管理,方便对顾客的消费进行管理,本系统运行时能在主菜单上看到当前的桌台情况——是否被占用,能很好分配顾客的用餐,顾客点菜时能很好的进行记录,有方便的结账功能,直接计算出找零,本系统还能对桌台信息进行管理,方便以后的增加与减少桌台,同时也能方便的对服务人员的信息进行管理,有系统数据库备份功能,防止系统在死机的情况下丢失大量重要信息。

2.1.3 市场分析现如今餐饮业发展壮大迅速,拥有一套良好的餐饮管理系统能在很大程度上解决许多问题,方便对服务人员的管理,以及内部的一些信息变化的管理——如菜品的增删,价格的改变、桌台的增删、人员的流动,还能很好的管理顾客的点菜、查询消费记录、结账,这将能改善传统意义上的管理,使管理变得方便并且有效,所以本系统有着很好的市场需求前景。

2.2 餐饮管理系统的需求分析通过实际了解,要求本系统具有以下功能:系统采用人机交互的方式,界面美观友好,信息查询灵活、方便,数据存储安全可靠。

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

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

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

实现对消费的历史记录进行查询。

实现对餐厅人员流动进行管理以及能够管理餐厅桌台信息。

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

餐饮管理系统的用例图,如下图2.1所示。

图2.1 餐饮管理系统的用例图第3章总体设计3.1 项目规划餐饮管理系统主要由用户登录、桌台信息管理、服务员信息管理、修改密码、开台、取消开台、点/加菜、消费查询、数据库管理和退出等模块组成,具体规划如下。

(1) 用户登录模块该模块主要用于实现验证用户是否合法,只有合法用户才能有权登录,只有登录成功情况下才能进入系统功能主界面,并且在登录的同时能验证登录人员的管理权限,根据权限显示其能管理范围。

(2) 桌台信息管理模块该模块主要用于管理桌台的信息,可以设置桌台名称,桌台位置,桌台占用所需价钱。

(3) 服务员信息管理模块该模块主要用于方便对服务人员的信息进行管理。

(4) 修改密码模块该模块主要用于实现对登录人员的密码进行管理,长时间不更换密码是不安全的,增加此模块能增加系统的安全性。

(5)开台模块该模块主要用于实现对顾客进行开台,已经占用的桌台不能被再次分配,方便分配未占用的桌台给顾客(6)取消开台模块该模块主要用于实现对已经开台的桌台进行取消开台。

(7)消费查询模块该模块主要用于实现客户能够查询自己已消费清单情况,进行核对自己的消费。

(8)结账模块该模块主要用于实现对客户的消费进行自动汇总,显示消费金额,能进行找零计算。

(9)数据库管理模块该模块主要用于实现对系统数据库的备份,防止系统在死机的情况下丢失大量重要信息。

3.2 系统业务流程分析餐饮管理系统的业务流程图如图3.1所示。

图3.1 餐饮管理系统的业务流程图3.3 系统功能结构系统功能结构图如图3.2所示。

图3.2 系统功能第4章详细设计4.1 数据库设计本系统采用SQL Server 2005作为后台数据库,数据库名称为restaurantManage,其中包含5张数据表。

下面分别介绍:4.1.1 数据表概要说明为了对本系统后台数据库中的数据表有一个更清晰的认识,在此设计了一个数据表树形结构图,该结构图包括系统所有数据表,如图4.1所示。

图4.1 数据表树状结构图4.1.2 部分数据表E-R图本里中规化出的实体主要有菜品信息实体、顾客点菜信息实体、桌台信息实体、用户登录信息实体和服务员信息实体。

其中部分实体的E-R图如下所示。

图4.2 用户表实体E-R图图4.3 菜品信息实体E-R图图4.4 桌台信息实体E-R图图4.5 员工信息实体E-R图图4.6 顾客点菜信息实体E-R图4.1.3 数据表的结构(1) food表(菜品信息表)表food用于保存菜品的基本信息,该表的结构如图4.7所示。

图4.7 菜品信息表(2) guestfood表(顾客点菜信息表)表guestfood用于保存顾客点菜的详细信息,该表的结构如图4.8所示。

图4.8 顾客点菜信息表(3) room表(桌台信息表)表room用于保存桌台的一些有关信息,该表的结构如图4.9所示。

图4.9 桌台信息表(4) userlogin 表(登录人员信息表)表userlogin用于保存登录用户基本信息,表的结构如图4.10所示。

图4.10 登录用户信息表(5) waiter表(餐厅服务人员信息表)表waiter用于保存餐厅服务人员的一些基本信息,表的结构如图4.11所示。

图4.11 餐厅服务人员信息表4.2 系统主要功能模块设计与实现4.2.1 系统登录模块的设计与实现系统登录主要用于对进入餐饮管理系统的用户进行安全性检查,以防止非法用户进入该系统。

在登录时,只有合法的用户,才可以进入该系统。

系统登录窗体如图4.12所示。

图4.12 系统登录代码设计单击【确定】按钮,程序执行判断用户输入的用户名和密码是否正确,如果正确,则成功登录餐饮管理系统,并将用户名、用户使用权限、用户登陆时间传到主窗体中,同时分别使用Names、power、Times全局变量进行接受。

否则,弹出“用户名或密码错误”信息提示。

【确定】按钮的Click事件代码如下:private void btnSure_Click(object sender, EventArgs e){if (txtUserName .Text == "")//判断用户名是否为空{MessageBox.Show("用户名不能为空", "警告", MessageBoxButtons.OK,MessageBoxIcon.Warning);}else{if (txtPwd.Text == "")//判断密码是否为空{MessageBox.Show("请输入密码", "警告", MessageBoxButtons.OK,MessageBoxIcon.Warning);}else//用户名及密码不为空的情况下执行如下代码{SqlConnection conn = connectToDatabase .restaurantManagementConn ();conn.Open();SqlCommand cmd = new SqlCommand("select count(*) from UserLogin where UserName='" + txtUserName .Text + "' and UserPwd='" + txtPwd .Text + "'",conn);int i = Convert.ToInt32(cmd.ExecuteScalar());if (i > 0){cmd = new SqlCommand("select * from UserLogin where UserName='" + txtUserName .Text + "'", conn);SqlDataReader sdr = cmd.ExecuteReader();sdr.Read();string UserPower = sdr["Power"].ToString().Trim();conn.Close();formMain main = new formMain();main.power = UserPower;s = txtUserName .Text ;main.Times = DateTime.Now.ToShortDateString();main.Show();this.Hide();}else{MessageBox.Show("用户名或密码错误");}}}}4.2.2 主窗体的设计与实现在正确验证用户的用户名和密码以后,就显示出餐饮管理系统的主窗体。