基于.NET餐饮管理系统的设计与实现毕业论文.doc

上传人:教**** 文档编号:88291617 上传时间:2023-04-24 格式:DOC 页数:37 大小:1,014.50KB
返回 下载 相关 举报
基于.NET餐饮管理系统的设计与实现毕业论文.doc_第1页
第1页 / 共37页
基于.NET餐饮管理系统的设计与实现毕业论文.doc_第2页
第2页 / 共37页
点击查看更多>>
资源描述

《基于.NET餐饮管理系统的设计与实现毕业论文.doc》由会员分享,可在线阅读,更多相关《基于.NET餐饮管理系统的设计与实现毕业论文.doc(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、河南机电高等专科学校毕业论文河南机电高等专科校毕业设计论文论文题目:基于. NET餐饮管理系统的设计与实现系 部 技算计科学与技术系 专 业 计算机网络技术 班 级 计网络121 学生姓名 学 号 指导教师 吕书波 2015 年 5 月 7日 摘要随着国情的发展,餐饮业在人们日常生活中的地位也越发增高,传统的手工作业记账方式已经不能满足快速发展的现代餐饮行业。在中型及以上规模的餐厅里,若从开启桌台一直到埋单结算都使用人工记录的方式来完成,非常浪费资源,使效率低下,并且记录也容易出现较多的错误,更有可能出现因保管不善而造成遗失或因年代久远而字迹模糊没有保存价值等无法避免的原因。然而,在科学技术发

2、达的当今时代,可以用计算机软件技术来设计一个餐饮管理系统,以解决上述问题。本系统应用了Microsoft SQL Server 2008为后台数据库,以Visual C# 2013为开发工具,实现了由点餐开始的一系列面向顾客的服务,和面向餐厅的后台管理类服务。本系统摒弃了传统手工记账的不足,利用计算机软件技术来达到餐饮管理的最高效,让计算易出错、易丢失等原因不再出现。真正达到了节能、高效。满足了餐饮业管理者对信息管理化的要求,降低了管理中需要的人力、物力、财力。系统应用C#+SQL Server2008技术,实现了一套集桌台显示、开台、点餐和结账四大核心功能的一款餐饮管理系统软件。关键字:服务

3、流程;Visual StudioAbstract With the development of the national conditions and the improvement of peoples consumptions levels,the status of the restaurant industry in peoples daily lives are increasingly high.And the traditional way of manual labor can no longer meet. In the medium and large-scale res

4、taurant, its inefficient to work by human recourse from founding to the checkout process and it easily lead to much mistakes .Such as loss of record and value because of the age and so on that cant be avoided. But once you design a catering management system by computer in this high-technical world,

5、 instead of the traditional manual record, those would be all worked out. The system uses the SQL Server and the Visual Studio, to achieve a series of front desk operations to guests , and back services.This system drops the shortcoming of the traditional way and make it the most efficient by comput

6、er software technic.Aimingattheexistingcateringmanagementproblems,thecateringmanagementsystemdevelopedinC#inMicrosoftVisualStudio2010developmentplatformbasedon.Beverageindustrytomeetthemanagementoftheinformationmanagementrequirements,reducingthefinancialneedofmanpowerandmaterialresources,management.

7、SystemusingC#+SQL2005technology,realizesasetoftabledisplay,founding,orderandcheck-outfourcorefunctionsofarestaurantmanagementsystemsoftware.Keywords:Catering Management System; Service process; Visual Studio.目录 1.引言12.系统分析22.1需求分析22.2功能需求描述22.3目标系统要求22.4系统平台选择32.5.1概念模型设计42.5.2逻辑结构设计73.系统总体设计113.1系统

8、的功能结构图113.2系统的业务流程图114.系统功能的实现134.1登录模块的设计134.2主窗体模块的设计154.3开台模块的设计174.4点菜模块的设计194.5结账模块的设计215.系统运行测试245.1测试方法245.2测试过程245.2.1.功能测试245.2.2.数据测试266. 系统的不足与改进设想306.1整体构架的不足306.2功能实现过程的改进306.3面向市场的价值体系307.结论31致谢32参考文献331.引言中国是举世闻名的美食大国,有五千年的饮食文化,中国料理在世界上享有盛誉。许多外国人偶然吃过中餐便无法自拔。世界在进步、经济在进步、美食当然也在进步。而与此同时,

9、不仅仅是内容上需要改革,形式上也同样需要改进。开发一个餐饮管理系统软件来代替旧时代的传统手工作业方式显得尤为重要。它需要包括登陆、开台、点菜、查询、加菜、结账以及权限管理等多种功能,一改以往的毫无结构、存在漏洞的手工管理方式。此系统运用C#语言进行开发,并且有良好的后台数据库的支持。现今,餐饮业拥有巨大的市场,餐饮行业在面对极大机遇的同时,也面临着极大挑战。导致它动荡不安的原因主要有几点:1.人工结算出错率较高,缺少标准的科学管理体系;2.缺乏先进的信息记录工具,缺乏应变能力;3.人才专业度不高,多没有经过专业餐饮管理的培训。同时科技的产物计算机对信息具有强大的处理的能力通过计算机管理该企业的

10、日常运作,给管理者以决策参考的模型,来不断完善管理水平,提高工作效率。目前我国餐饮业中对餐饮系统的运用,仅限于电脑点餐的操作层面,还没有涉及到对数据的应用以及流程的优化和改善,随着食品原材料成本、劳动力成本的增加以及管理人才的匮乏,传统餐饮行业的经营模式进入发展的瓶颈期,“粗放式、模糊式、经验式”的经营方式已不能适应信息化时代的发展需求,中国餐饮行业必然要进入一个“精细化、流程化、连锁模式化经营”的餐饮信息化管理时代。餐饮管理系统是在对饭店的特征、特点、主要作用及基本业务等各方面进行全面综合的了解、分析、归纳和总结后,将饭店的工作流程和计算机技术相结合,而开发出的应用软件。有饭店餐饮管理系统是

11、现代化饭店的标志,它对饭店的市场形象、服务质量、管理水平和经济效益都有至关重要的影响。应用饭店餐饮管理系统通过节省大量的人力和物力,增加饭店的服务项目,提高饭店的服务档次,减少管理上的漏洞,从整体上提高饭店的经济效益。332.系统分析2.1需求分析随着人民生活水平的提高,餐饮业在服务行业中占有越来越重要的地位。努力在当前餐饮行业日趋激烈的竞争中脱颖而出,已成为每位餐饮业经营者所追求的目标。计算机餐饮管理系统的使用解决了因为记账开单繁琐的限制而无法提高营业额的难题,是一个小投入大成效的经营新模式。 2.2功能需求描述按照饭店实际运行的模式,确定作为一个餐饮管理系统的主要需求如下:拥有客户开台、增

12、加消费、结账(账单的合并与拆分);操作人员的交班(盘库);餐区及餐台的添加删除;营业过程中的各类查询等。系统使整个营业流程清晰明了便于工作人员、管理人员及老板的管理。2.3目标系统要求充分考虑显示中的餐饮流程从而建立一个人性化、实用性强的系统。将理论与实际相结合,从最初的设计规划到最终的开发使用,一切为使用者考虑。此系统有以下功能: 1. 营业管理的设计与实现(1) 宾客开台;(2) 增加消费;(3) 宾客结账;(4) 账单合并与拆分。2. 营业查询的设计与实现(1) 消费查询;(2) 结账查询;(3) 挂账查询;(4) 押金查询。3.会员管理模块的设计与实现 (1)会员信息管理; (2)会员

13、登记;4. 系统常用功能的实现 (1)餐台管理;5. 系统常用功能的实现 (1)关于系统; (2)注销登陆; (3)退出系统。2.4系统平台选择 介于Windows系列平台、图形界面已经深入人心、功能也在日益增强、方便易懂、且目前大多数软件都是基于Windows等诸多特点,本系统应选择windows系统平台。1.最低硬件要求:(1) 内存:64MB;(2) 硬盘空间:1.5GB;(3) 显卡:4MB显存以上的PCI、AGP显卡;(4) 声卡:最新的PCI声卡;(5) CD-ROM:8x以上CD-ROM。2. 软件环境: (1) 配置.net4.0框架; (2) 安装sql2008数据库。3.

14、开发环境: (1). Microsoft Visual Studio 2013Visual Studio是微软公司支持Windows7应用程序开发的开发环境,支持多种数据库,例如:IBM DB2、SQL Server等。(2).Microsoft SQL Server 2008Microsoft SQL Server是由美国微软公司所推出的关系数据库解决方案,数据库的内置语言原本是采用美国标准局(ANSI)和国际标准组织(ISO)所定义的SQL语言, Microsoft SQL Server 2008加强的数据视觉化效果,为用户提供一个更加强大的图表引擎;全新的多维数据集向导让用户可以创造出更

15、好的Cube,用户能创造出一个更加针对其需求的CUBE;全新的报表设计器功能,它经过优化,可以用来创造海量的报告,使企业可以应付所有的报告需求。 (3). C#语言C#是微软公司发布的一种面向对象的、运行于.NETFramework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员AndersHejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软

16、公司.NET windows网络框架的主角。2.5数据库设计2.5.1概念模型设计该系统采用SQL Sever作为后台数据库存储数据,因为它能足够存储大量的必要的信息。 开单信息餐台座位餐台名称餐台编号账单编号宾客数目餐台费用房间计费服务计费开台押金服务员开台时间备注图2-1 开单信息表E-R图消费信息服务员餐台编号点菜员消费单编号消费金额消费类型消费内容餐台名称 图2-2 消费信息表E-R图员工信息联系方式登录密码员工姓名员工编号 图2-3员工信息表E-R图会员信息会员姓名卡类型会员类型会员编号卡内金额会员性别卡内积分证件号码生日联系电话头像密码 图2-4 会员信息E-R图结账信息宾客类型会

17、员类型餐台编号账单编号实付卡号卡内余额打折省去应付找零积分结账方式备注 图2-5 结账信息E-R图交班信息表刷卡营业操作员营业金额账单数量挂账金额实收金额现金营业消费金额会员交易量当班时间收押金额退押金充值金额销账刷卡销账现金 图2-6 交班信息E-R图2.5.2逻辑结构设计1. 开单信息表如下: 表2-1开单信息表列名数据类型是否主键长度餐台编号Int是餐台名称Nvarchar(50)否50餐台座位Nvarchar(50)否50餐台费用Nchar(10)否10房间计费Nchar(10)否10服务计费Nchar(10)否10开台押金Nchar(10)否10服务员工Nvarchar(50)否50

18、宾客数目Nchar(10)否10开单时间Nvarchar(50)否50开单备注Nvarchar(MAX)否2.消费信息表如下: 表 2-2 消费信息表列名数据类型是否主键长度消费单编号Int是点菜员Nchar(10)否10餐台编号Nchar(10)否10服务员Nchar(10)否10餐台名称Nchar(10)否10消费内容Nvarchar(MAX)否消费类型Nchar(10)否10消费金额Nchar(10)否103.员工信息表如下: 表 2-3 员工信息表列名数据类型是否主键长度员工编号Int是员工姓名Nchar(10)否10员工密码Nchar(10)否10员工性别Nchar(10)否10员工

19、密码Nvarchar(50)否50 4. 会员信息表如下: 表 2-4 会员信息表列名数据类型是否主键长度会员编号Int是卡类型Nchar(10)否10会员姓名Nchar(10)否10会员类型Nchar(10)否10密码Nchar(10)否10会员性别Nchar(10)否10卡内积分Nchar(10)否10证件号码Nvarchar(50)否50生日Nchar(10)否10失效日期Nvarchar(50)否50联系电话Nvarchar(MAX)否状态Nchar(10)否10联系地址Nchar(10)否10备注Nvarchar(MAX)否卡内金额Nchar(10)否10税换记录Nchar(10)否

20、10注册日期Nvarchar(50)否50头像Byte否 5. 结账信息表如下: 表 2-5 结账信息表列名数据类型是否主键长度账单编号Int是餐台编号Nchar(10)否10会员类型Nchar(10)否10宾客姓名Nchar(10)否10卡号Nchar(10)否10卡内积分Nchar(10)否10卡内余额Nchar(10)否10会员打折Nchar(10)否10省去Nchar(10)否10结账方式Nchar(10)否10应付Nchar(10)否10实付Nchar(10)否10找零Nchar(10)否10操作员Nchar(10)否10结账时间Nchar(10)否10备注Nvarchar(MAX)

21、否 6. 交班信息表如下:表2-6交班信息表列名数据类型是否主键长度当班时间Nvarchar(50)是50操作员Nchar(10)否10营业金额Nchar(10)否10实收金额Nchar(10)否10挂账金额Nchar(10)否10账单数量Nchar(10)否10现金营业Nchar(10)否10刷卡营业Nchar(10)否10会员交易量Nchar(10)否10充值金额Nchar(10)否10消费金额Nchar(10)否10销账金额Nchar(10)否10收押金Nchar(10)否10退押金Nchar(10)否103.系统总体设计3.1系统的功能结构图 餐饮管理系统营业管理营业查询会员管理常用功

22、能系统帮助宾客开台增加消费宾客结账交班管理消费查询结账查询挂账查询押金查询信息管理会员登记修改密码餐台管理免费物品营销活动关于系统注销登录退出系统图3-1 餐饮管理系统功能结构图3.2系统的业务流程图 它为我们展示的是一个完整的业务流程,我们可以通过它直观的感受到该系统大体上是如何处理事务的。它是一个整体的框架结构,一般不涉及具体数据及算法。 系统登陆 是 否 是否登录 是 系统主窗体帮助查询营业交班 退出 图3-2 餐饮管理系统的业务流程图前台使用人员键入正确用户名密码登录该软件后,对于桌台的情况一目了然,管理人员使用起来也非常方便,系统可以满足各种需要的功能而没有冗余,使用户操作起来得心应

23、手,十分方便。4.系统功能的实现4.1登录模块的设计登录模块可以阻挡非法人员进入系统。运行该模块之后,要想进入系统,需键入正确的用户名、密码,并点击“登录”;如图5-1所示。图 4-1 系统登录图为了提升代码利用率界面中的按钮同时注册在一个事件中,当用户点击登录时首先需要判断触发事件的事件源,如下将Object类的Sender对象转换为 Label 对象,由Label 对象的Nname 属性来确定。当用户点击登录后需要获取用户输入的数据并调用业务逻辑、数据访问层的方法来判断用户信息是否正确,该模块具体执行的过程如下:(1).前台UI层:private void button1_Click(ob

24、ject sender, EventArgs e) Label la=(Label )sender ; if (la = label5) this.Close(); if (la = label7) label2.Text = 正在验证用户信息.; if (BLL.yygl_bll.istrue(comboBox1.Text, textBox1.Text) label2.Text = 系统载入中.; progressBar1.Visible = true; timer1.Enabled = true; else label2.Text = 用户名或密码错误.; if (la = label6)

25、 comboBox1 .Text = textBox1.Text = ; (2).业务逻辑层: #region 用户登录 public static bool istrue (string strname,string strpow) return DAL.zr_data.istrue(strname ,strpow ); #endregion(3).数据访问层: public static bool istrue(string strname ,string strpow) bool istrue0=false ; using (SqlConnection con = new SqlConn

26、ection(set_bkkd.sqlconnectionstring) string SqlCommandstring = select count(*) from 员工表 where 员工姓名= + + strname + + and 员工密码= + + strpow + ; SqlCommand cmd = new SqlCommand(SqlCommandstring, con); try con.Open(); if (Convert.ToInt32(cmd.ExecuteScalar() 0) istrue0 = true; catch (SqlException sqlEx) M

27、essageBox.Show(sqlEx.ToString(); finally cmd.Dispose(); con.Close(); return istrue0; 4.2主窗体模块的设计 程序的主窗体模块是用户登录餐饮管理系统后首先映入眼帘的,也是系统主要的操作界面,一个简洁美观的界面界面设计必不可少。运行结果如图5-2所示。 图 4-2 系统主界面运行图界面中的餐台餐区均为动态创建需要在点击登陆后读取本地数据创建对象,设置属性,注册事件并添加控件。其载入过程流程图如下。读取数据将控件放入数组加载顶端菜单栏处理数据并赋值创建窗体对象并放入数组判断数据设置属性设置属性注册事件an设置窗体对

28、象属性 关闭登陆窗体显示主窗体加载餐区*加载餐台*判断数据判断数据 否 是设置登录窗体进度条属性 是 否图 4-3 主窗体载入流程图上图加载餐区和加载餐台部分流程如下:判断数据创建控件设置属性注册事件判断数据 是 否 是 是图 4-4主窗体载入流程图4.3开台模块的设计 双击某个桌台,弹出“宾客开台”窗体,用于填写开台的详细信息,如其中包括“确定”、“取消”、“前去增加消费”、“记住我的选择”等功能如图4-5。图 4-5 宾客开单运行图当用户点击确定时系统需要读取工作人员填写的数据并调用业务逻辑层、数据访问层的方法来实现功能,其核心代码如下:(1).前台UI层:private void lab

29、el2_Click(object sender, EventArgs e) /读取营业员输入数据并赋值 textbox_data = new List textBox7 ,textBox4,textBox2 ,textBox5 ,textBox1,textBox3 ,textBox6 , textBox9 ,textBox11 ,textBox8 ,textBox10 ; for (int i = 0; i 11; i+) /发送至业务逻辑层的数据 bkkd_datai = textbox_datai.Text; bkkd_data11 = bkkd_data10; bkkd_data10 =

30、 DateTime.Now.ToLongDateString(); yygl_bll.insertion_bkkd(bkkd_data);/业务逻辑层提供的方法 /业务逻辑层提供的方法系统主界面应该更新的内容 yygl_bll.set_name(textBox1.Text, textBox6.Text, DateTime.Now.ToShortTimeString(), 占用时间, 0.01, textBox9.Text, textBox11.Text, mf.lab_right_up, mf.lab_now); mf.index = 2; mf.number_占用+;mf.set_lab_r

31、ight_down(); this.Visible = false; if (checkBox1.Checked) mf.F_yygl2.Visible = true; (2).业务逻辑层:#region 宾客开单 /获取账单编号 public static int get_zdbh_bkkd() return DAL.set_bkkd.zdbh(); / 调用数据访问层方法 public static void insertion_bkkd(string bkkd_data) DAL.set_bkkd.set_data(bkkd_data); #endregion(3).数据访问层核心代码:

32、 #region 写入数据 public static void set_data( string bkkd_data) / sql语句 SqlCommandstring = Insert INTO 开单表 VALUES( +data+); #endregion4.4点菜模块的设计 点击确定之后默认进入增加消费模块,该模块为顾客选定好桌台,并且开台之后,会根据顾客的需要点菜或购买茶水烟酒之类的消费品,在点菜模块中会显示餐厅特有的一些菜系,用户可以对不同的菜系进行选择其运行结果如图:图 4-6 增加消费运行图当用户点击保存时系统需要读取工作人员填写的数据并调用业务逻辑层、数据访问层的方法来实现功

33、能,其核心代码如下:(1). 前台UI层:private void treeView1_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e) yygl_bll.zjxf_treeView1_NodeMouseDoubleClick(sender,e,value,dataGridView1); (2). 业务逻辑层:public static void zjxf_treeView1_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e, s

34、tring value, DataGridView dataGridView1) try TreeNode tn = (TreeView)sender).SelectedNode; if (tn.Parent != null) int index = dataGridView1.Rows.Add(); value = new string + (dataGridView1.Rows.Count - 1).ToString(), tn.Text.Substring(0, tn.Text.IndexOf(¥), 1, tn.Text.Substring(tn.Text.IndexOf(¥) + 1

35、, tn.Text.Length - tn.Text.IndexOf(¥) - 1) + ¥, DateTime.Now.ToShortTimeString(), 无 ; for (int i = 0; i = 3) dataGridView1.RowsdataGridView1.RowCount - 3.Selected = false; catch (3). 数据访问层: public static void set_data( string bkkd_data) /核心代码SQL语句 string SqlCommandstring = Insert INTO 消费表 VALUES( +data+); 4.5结账模块的设计 顾客消费完毕后,需要对顾客消费清单进行统计,即计算出消费的总额,这些都是通过结账模块实现的。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁