餐饮管理系统的设计与实现

随着我国经济发展和人民生活水平显著提高,全社会对餐饮业的需求量也越来越大;伴随着消费的持续增长,餐饮行业已经成为现代社会中发展最快的行业之一。要想在激烈的市场竞争中生存,就必须在经营管理、餐饮服务等方面提高管理意识。如何用先进的管理手段,提

  第一章前言

  1.1课题的来源及意义

  随着人民群众生活水平的提高,餐饮业的功能向社会交往、休闲享受等方面不断拓展,节日家宴、婚庆消费、日常快餐等大众消费成为餐饮业的消费主流,餐饮行业的个体工商户不断的注册成立,数量不断壮大。[1]但是目前阶段,餐饮业个体工商户由于市场准入门檻较低,技术含量不高,经营规模相对较小,产权的私有化和家庭化相融合,会计核算不健全或者根本没有会计核算。现行的手工管理方式,整体科技含量低。随着餐饮业规模和数量的不断增长,手工管理模式无论是在工作效率、人员成本还是提供决策信息方面都已难以适应现代化经营管理的要求,因此制约了整个餐饮业的规模化发展和整体服务水平的提升。对于一家现代化的餐馆,要做到在激烈的市场竞争中立于不败之地,具备更大的发展动力,则需要建立一套科学的信息化管理系统。信息化的应用可以显著提高员工工作效率、提高准确性、减少各种损失、降低成本、提高服务水平和顾客满意度、及时准确地提供决策支持等等一系列好处。具体来说此系统的意义主‘要有以下几个方面
  1、节约人力。通过系统实现自动传单、分单,大大减少这部分的工作人员;服务人员不需要往返帐台、厨房,节约大量跑动时间,可以照顾更多客人,服务人员也能相应减少;收银员不需要自己计算价格,结算几秒钟搞定;厨房、收银营业账单电脑控制、保证一致,再也不需要人员手工复核;一般可以节约‘的人力。
  2、提高准确性和效率,减少各种不必要的损失。在传统模式下,收银员和服务员要面对几十种甚至上百种菜品酒水,人工记忆菜品价格变得非常困难,菜品价格需要人工查找,不熟悉时速度很慢,还容易出错,启用系统后,电脑计算菜品酒水价格,准确无误;[2]在传统模式下,账单金额计算需要收银员手工汇总,时有会出错,算少了会导致损失,算多了则会引起顾客纠纷,启用系统后收银再也不需要计算价格,电脑会自动计算总额,结算在几秒钟搞定,不仅速度快,而且准确无误;在传统模式下,菜单手工填开,有时因为手写菜单字迹难以辨别,菜肴没有按客人要求制作、或者上错桌号的情况时常发生,不仅造成了损失,而且产生了不良影响。启用系统后,电脑打印出的菜单,字迹非常清晰明了,杜绝了因字迹难以分辩产生的错误。在传统模式下,库存商品的购买、销售需要手工记账,面对品目繁多的商品,麻烦至极,还易出错。启用管理系统后,库存的购买销售由电脑自动登记,需要核对库存时,收银员只需通过库存单进行核对。
  3、账目清楚易查。由于个体户小规模经营的原因,不适合请专业的财务人员这样财务将非常不健全。除非业主自己亲自收银管理,不然即使是用自己人,业主也还是担心每天的收银稽核情况,如果每天都进行逐条复核,需要大量的时间。如果有几个股东,更是容易产生不必要的猜疑和不信任。启用管理系统后,由电脑控制计算菜价、折扣,营业情况一目了然。[3]厨房、收银、财务共享同一份营业账单数据、杜绝了传统餐饮管理中掉单、飞单的漏洞。
  4、提高服务水平与客户满意度。传统模式下,如果客人多时,难免会顾此失彼,造成服务员忘记落单、下错单、或厨房失了单,导致客人抱怨点好的菜迟上、错上、甚至漏上的情况。启用系统后系统会根据点菜时间先后顺序、客人的要求来安排菜品得制作顺序,已下单得菜肴超过标准制作时间还没有完成,电脑就会提醒、催菜。
  5、辅助营销与决策。进行成本控制。根据菜肴销售的数量、标准配料单、实际原料消耗量,可以分析每段时间的标准成本与实际成本的差异,分析差异原因,不断积累经验,及时改进标准配料单。从而节约成本。
  6、进行客户价值分析和客户营销洁动。通过电脑记录下的客人的各方面信息(如生日、累计消费额、口味喜好、就餐频率)主动进行客户关怀如寄送生日贺卡,挖掘消费潜力。充分应用电脑记录下的客人的消费信息,随时可以了解客户变动情况如客户流失预警分析、新客户价值分析及时调整策略。畅销滞销的菜品、营业额、客人历史档案等各类营业数据,动态实时的反映出了餐馆的整体的运营状况。通过对这些数据的分析,及时采取替换滞销菜品、进行客户营销、举行各种促销活动等措施。本课题期望通过开发一个供餐饮业主使用的管理软件。[4]它能够切实有效地指导工作人员规范业务操作流程,更高效、快捷地实现业务的管理,保障顾客信息的安全,提高管理水平和工作效率,进而提高业务竞争能力。

  1.2国内外发展状况

  目前,国内外开发了大量的餐饮管理系统软件,但是国内外开发的餐饮管理系统软件大多数是面向大型餐饮酒店的。采用了先进的无线点菜系统或触摸屏点菜系统以及计算机网络系统统对餐饮企串为数很多的中小型餐饮企业而言,硬件系统功能过剩并且费用昂贵,软件功能过分繁多复杂,信息化投入成一本太大,风险过大反而不便子管理,会使餐饮企业投入大量的不必要的资金。繁多的餐饮系统较评便頁学习成本增高.[5]

  1.3本文主要研究内容

  随着信息化建设的普及,在社会各个领域都在进行不同程度的信息化建设,酒店系统也一样,不止需要将整个酒店的业务通过信息系统进行系统管理,同时需要将各类人工服务的工作交由计算机处理,比如点菜和菜单的传送。本次餐饮系统开发的总目标在于实现无线点菜功能,并通过无线局域网将点菜信息实时传输至后台系统,实现点菜单的实时传送,并能够根据菜品类别正确传送至相应的厨房打印机,且可以修改菜单,进行退菜催菜等。同时实现餐饮系统的各类信息维护和数据统计。本餐饮系统不同于其它传统的餐饮系统,由于的使用,使本餐饮系统带有浓郁的信息化气息,对于信息化不断普及的现今社会,特别是对于餐饮界的信息化建设就具有非常大的现实意义,当今世界已进入了在计算机信息管理领域中激烈竞争的时代,应用计算机已经变得十分普遍了,如同我们离不幵的自行车、汽车一样。[6]我们应该承认,谁掌握的知识多,信息量大,信息处理速度快,批量大,谁的效率就高,谁就能够在各种竞争中立于不败之地。随着科学技术的不断提高,计算机科学日渐成熟其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。越来越多的管理人员意识到信息管理的重要性。作为计算机应用的一部分使用计算机对餐饮企业信息进行管理,具有手工管理所无法比拟的优点例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高信息管理的效率也是企业的科学化、正规化管理与世界接轨的重要条件。

  第二章餐饮管理系统概述

  餐饮管2.2.NET技术理系统项目背景餐饮企业经营似乎比较简单,就是提供美食让顾客满意,从而实现企业2.3 C#技术的价值。[7]然而通过对餐饮企业业务进行深入分析,我们发现,其实餐饮管理非常不简2.4 ADO.NET技术单,一个客户的消费通常涉及餐饮企业的多个流程环节,任何一个环节出现问题都可能2.5 B/S结构技术发展简述在顾客中造成不良的影响。在点菜环节,传统管理方式下,一本菜谱、一支笔、加上点菜单就成为服务员的装备,看似简单,但要想做好服务,这种装备很难对提升服务水平提供支撑。[8]另外,顾客在就餐过程中的添加菜点就伴随新定单的产生,因缺原料而不能供应的菜在定单上的划去都会增加最终结账时出错的概率,难免与顾客产生不必要的误会。这些问题该如何解决?在顾客不能直接感触的后台供应链的管理同样重要。就餐高峰时刻,厨房供应相当紧张,会积压多张定单,如何才能把握好供应的先后顺序,严格按定单进入顺序,还是灵活将同样的菜一起作业。显然,传统粗放式手工经营管理方式很难适应餐饮企业对管理效率的需要。[9]

  2.1.C#

  C#是一种最新的、面向对象的编程语言,是微软在Microsoft.NET中推出的全新语言。这种全新的面向对象的语言使得开发者可以快速的构建从底层网站级到高层商业组件的不同应用。C#在保证了强大的功能和灵活性的同时,给C和C++带来了类似于VB的快速开发,并且它还针对.NET作了特别设计,比如C#允许XML数据直接映射为它的数据类型等等,这些特性结合起来使得C#成为优秀的下一代网络编程语言。

  2.2SQLServer2005技术

  SQLServer2005是Microsoft公司推出的SQLServer数据库管理系统的最新版本。它的特性包括:
  (1)Internet集成。SQLServer2005数据库引擎提供完整的XML支持。它还具有构成最大的Web站点的数据存储组件所需的可伸缩性、可用性和安全功能。SQLServer2005程序设计模型与WindowsDNA构架集成,用以开发Web应用程序,并且SQLServer2005支持EnglishQuery和Microsoft搜索服务等功能,在Web应用程序中包含了用户友好的查询和强大的搜索功能。
  (2)可伸缩性和可用性。[10]同一个数据库引擎可以在不同的平台上使用,从运行MicrosoftWindows®98的便携式电脑,到运行MicrosoftWindows2005数据中心版的大型多处理器服务器。SQLServer2005企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大Web站点所需的性能级别。
  (3)企业级数据库功能。SQLServer2005关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。SQLServer2005分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是SQLServer2005数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。
  (4)易于安装、部署和使用。SQLServer2005中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用SQLServer的过程。SQLServer2005还支持基于标准的、与WindowsDNA集成的程序设计模型,使SQLServer数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。这些功能使您得以快速交付SQLServer应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。
  (5)数据仓库。SQLServer2005中包括析取和分析汇总数据以进行联机分析处理(OLAP)的工具。[11]SQLServer中还包括一些工具,可用来直观地设计数据库并通过EnglishQuery来分析数据。

  2.3 ASP.NET技术

  ASP.NET微软公司开发的技术,这项技术可以让嵌入到Web网页中的脚本可由Internet服务器运行的服务器端的脚本技术。ASP.NET由ASP发展而来的,因为传统的ASP具有:代码逻辑混乱,难于管理;代码的可重用性差;弱类型造成的潜在出错的可能,所以,ASP.NET在这种情况下应运而生。
  ASP.NET不仅解决了现有开发环境造成的许多问题,而且提供了强大的可扩展性,同时也带来了强大的工具(Visual Studio 2010开发环境)支持[16]。
  ASP.NET是用于构建Web应用程序的一个完整的框架。这个模型的主要特性之一是选择编程语言的灵活性。ASP.NET通过脚本语言例如:JavaScript等以及开发语言例如:VB、C#等。
  有一个公用的语言运行环境(CLR)可以供这个新的框架使用;在这个新的语言环境中系统所采取的开发语言会先被翻译成能够识别中间语言代码,然后在新的语言环境中去执行代码,这个新的框架,具有OOP的编程思想,因此其具有封装、继承和多态的特点。
  除了编程语言和方法之外,当使用ASP.NET编程时,还可以使用ODBC(Open Database Connectivity,开放数据库互连)来对数据库做集成;因为ODBC提供了同一的可以访问数据库的函数。餐饮管理系统采用Asp.net主要因为ASP.NET具有以下一些优点[17]:

  2.4 AJAX

  AJAX是指异步的JavaScript及XML(Asynchronous JavaScript And XML)的结合[18],它是一种用于创建更好更快以及交互性更强的Web应用程序的技术,AJAX的核心是JavaScript对象XmlHttpRequest。该对象在Internet Explorer 5.0中首次引入,它是一种支持异步请求的技术。
  简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户[13]。使用这个对象JavaScript可在不重载页面的情况与Web服务器交换数据,AJAX在Web服务器和浏览器之间传输数据时异步的,通过这样每次可以从服务器获取少量的信息,而不是整个页面,从而带来页面无刷新的效果。AJAX与传统的Web请求相比如图2-1所示:
餐饮管理系统的设计与实现
  图2-1AJAX与传统Web对比
  Fig.2-1 Contrast between AJAX and Web
  AJAX与传统的Web请求相比,因其可使因特网应用程序更小、更快,更友好等特点。综上所述,AJAX的优点可以归纳为以下几点[14]:
  (1)页面无刷新,通过在浏览器页面的内部与服务器之间进行通信,这样给用户的使用体验很好。
  (2)因为AJAX是浏览器与服务器之间的交互式一步的,所以用户的操作不会被打断,因此响应的速度会更快。
  (3)通过AJAX,服务器端的一些功能利用客户端的一些闲置的能力可以处理这样就减轻了服务器端的压力,AJAX以“按需取数据”为原则在减少冗余请求方面最大程度的减少,在减少对服务器端负担方面也最大程度的减少。

  2.5 JQuery

  JQuery是实质上是一个JavaScript框架。它是轻量级的JavaScript库,它兼容CSS3,还兼容各种浏览器例如:IE 6.0+,Safari 2.0+,Opera 9.0+等。JQuery使用户能更方便地处理HTML Documents、Events、实现动画效果,并且方便地为网站提供AJAX交互[21]。
  JQuery能够使用户的HTML页,保持代码和HTML内容分离,也就是说,不用再在HTML里面插入一堆JavaScript来调用命令了,只需定义id即可,JQuery因其“用最少的代码,实现最多的功能”的原则[22],在ASP.NET页面不用写很多复杂的JavaScript代码,也可以实现很多页面的特效。
  JQuery提供了非常详细的API来帮助项目开发者学习JQuery,JQuery的结构如2-2图所示:
餐饮管理系统的设计与实现
  图2-2 JQuery结构
  Fig.2-2 Structure of JQuery
  如图2-6所示,可以在JQuery提供的中文API帮助文档中,学习Jquery的选择器、属性、事件等的所有语法,这个API为学习JQuery带来了极大地方便。[15]JQuery功能强大。[16]

  2.6.Net Framework

  .Net Framework是Microsoft为一个致力于敏捷软件开发(Agile software development)、快速应用开发(Rapid application development)、平台无关性和网络透明化的软件开发新平台,又叫.NET框架。
  .NET Framework是由Microsoft开发的一种全面且一致的编程模型,用于生成具有视觉震撼力的用户体验、无缝的安全通信和对一系列业务流程进行建模的能力的应用程序。
  NET Framework是用于Windows的新托管代码编程模型。[17].Net Framework强大功能与新技术结合起来,用于构建具有视觉上引人注目的用户体验的应用程序,实现了跨技术边界的无缝通信,并且能支持各种业务流程。餐饮管理系统开发采用的是.Net Framework 4.0,图2-3展示了.Net Framework 4.0的结构:
餐饮管理系统的设计与实现
  图2-3.NET Framework4.0结构
  Fig.2-3Structure of.NET Framework4.0
  .NET Framework是以一种采用系统虚拟机运行的编程平台,以通用语言运行库(Common Language Runtime)为基础,支持多种语言例如:C#、VB、C++等语言的开发。
  这个新平台使得程序设计员可以同时进行Windows应用软件和网络应用软件以及组件和服务(Web服务)的开发,因为.Net集成了各种开发语言,及将来还有可能推出在其它操作系统下运行的版本。图2-4展示的是.NET Framework的组件架构概况:
餐饮管理系统的设计与实现
  图2-4 Framework组件架构
  Fig.2-4 Module Structure of Framework

  第三章餐饮管理系统需求

  3.1系统功能设计

  系统设计是一个把系统需求转换成用系统表示的过程。通过对目标系统的分析和研究,做出了餐饮管理系统的总体规划,这是全面开发系统的重要基础。在对餐饮管理系统全面分析调查的基础上,制定出餐饮管理系统的总体规划。[18]系统设计包括系统总体设计、系统详细设计、系统数据库设计、系统开发工具、开发技术和开发模式等。

  3.1.1.系统目标

  本系统属于小型的餐饮管理系统,可以有效地对中小型餐厅的消费进行管理。本系统应达到以下目标:
  系统采用人机交互的方式,界面美观友好,信息查询灵活、方便,数据存储安全可靠。
  实现对餐厅顾客开台、点菜/加菜、账目查询和结账等操作
  对用户输入的数据进行严格的数据检查,尽可能地避免人为错误
  实现对消费账目自动结算
  实现对消费的历史记录进行查询,支持模糊查询
  系统应最大限度地实现易维护性和易操作性

  3.1.2.系统功能结构

  餐饮管理系统功能结构如图3-1所示。
餐饮管理系统的设计与实现
  图3-1功能结构图

  3.1.3.程序运行环境

  餐饮管理系统在运行中的具体运行环境如下:
  系统开发平台:Microsoft Visual Studio 2008
  系统开发语言:C#
  数据库管理系统:Micriosoft SQL Server 2005
  运行平台:Windows XP/Windows 7
  运行环境:Microsoft.NET Framework SDK v3.5
  分辨率:最佳效果1024×768像素

  3.2系统数据库设计

  数据库是本系统的核心和基础。它设计的好坏直接影响着整个系统的质量。数据是一切系统设计的基础,通俗地说,数据库设计就像高楼大厦的根基一样,如果设计的不合理、不完善,将在系统开发过程中,甚至到后期的系统维护、功能变更和功能扩充时,引起较多问题,严重时甚至要重新设计,重做大量已完成工作。
  在开发餐饮管理系统之前,分析了该系统的数据量。[19]由于系统管理餐饮方面的数据较多,商品信息、消费信息以及账目清单会占用较大的空间,因此选择Microsoft SQL Server 2005数据库存储这些信息,将数据库命名为db_MrCy,在数据库中创建了6个数据表用于存储不同的信息。

  3.2.1.数据库概念设计

  餐饮管理系统的数据库主要用于存储餐饮管理系统中的数据,由于餐饮管理系统的数据量很大,所以选择了Microsoft SQL Server 2005数据库,数据库中建立一个商品信息表,用于存储所有的商品信息。商品信息实体E-R图如图3-2所示。
餐饮管理系统的设计与实现
  图3-2商品信息表
  由于商品的种类很多,因此需要对商品进行分类,这样就可以对商品进行分门别类的存储,以便可以根据商品类别进行查询。在数据库中建立一个商品类别信息表,用于存储商品的所有类别信息。商品类别信息实体E-R图如图3-3所示。
餐饮管理系统的设计与实现
  图3-3商品类别信息表
  当顾客进行消费时,会根据自己的需求消费不同的商品,系统将顾客消费的所有信息存储到数据表中,以便顾客结账时查询,在数据库中建立一个顾客消费信息表用于存储顾客的消费记录。顾客消费信息实体E-R图如图3-4所示。
餐饮管理系统的设计与实现
  图3-4顾客消费信息表
  餐厅中会有多个桌台供顾客选择,每个桌台会有不同的信息。例如,大厅-01号桌台被顾客使用,顾客人数为5人等,为方便操作员对桌台的操作,在数据库中建立一个桌台信息表用于存储所有桌台的详细信息。桌台信息实体E-R图如图3-5所示。
餐饮管理系统的设计与实现
  图3-5桌台信息表
  为了对系统进行不同的管理,需要为系统建立管理用户。这些用户通过登录模块登录系统,登录成功之后会根据不同的权限对不同的功能模块进行管理,在数据库中建立一个用户信息表,用于存储登录用户信息。用户信息实体E-R图如图3-6所示。
餐饮管理系统的设计与实现
  图3-6用户信息表
  在餐饮行业中,餐厅服务员起着极其重要的作用,但是由于服务人员数目众多,如果不进行相应的信息记录,可能管理起来会非常困难。因此,需要对服务人员的详细信息进行记录。在数据库中建立一个职员信息表用于存储所有服务人员的信息。职员信息实体E-R图如图3-7所示。
餐饮管理系统的设计与实现
  图3-7职员信息表
  E-R模型的组成元素有:实体、属性、联系。E-R模型用E-R图表示。实体是用户工作环境中所涉及的事务,属性是对实体特征的描述。

  3.2.2.数据库逻辑结构设计

  根据设计好的E-R图在数据库中创建各表,系统数据库中各表的结构如下。
  tb_food(商品信息表)
  表tb_food用于保存所有商品信息,该表的结构如表4-1所示。
  表4-1商品信息表
  字段名数据类型长度主键描述
  ID int 4是系统编号
  foodty char 10否类别编号
  foodnum char 10否商品代号
  foodname varchar 50否商品名称
  foodprice decimal 9否商品价格
  tb_foodtype(商品类别信息表)
  表tb_foodtype用于保存商品类别信息,该表的结构如表4-2所示。
  表4-2商品类别信息表
  字段名数据类型长度主键描述
  ID int 4是系统编号
  foodtype varchar 50否商品类别名称
  tb_GuestFood(顾客消费信息表)
  表tb_GuestFood用于保存顾客的消费信息,该表的结构如表4-3所示。
  表4-3顾客消费信息表
  字段名数据类型长度主键描述
  ID int 4是系统编号
  foodnum char 10否商品代号
  foodname varchar 50否商品名称
  foodsum char 10否消费数量
  foodallprice decimal 9否商品价格
  waitername varchar 50否操作员姓名
  beizhu varchar 50否备注
  zhuotai char 10否消费桌台
  datatime varchar 50否消费时间
  tb_Room(桌台信息表)
  表tb_Room用于保存所有桌台信息,该表的结构如表4-4所示。
  表4-4桌台信息表
  字段名数据类型长度主键描述
  ID int 4是系统编号
  RoomName char 10否桌台名称
  RoomJC char 10否桌台简称
  RoomBJF decimal 9否桌台包间费
  RoomWZ char 10否桌台位置
  RoomZT char 10否桌台状态
  RoomType char 10否桌台类型
  RoomBZ varchar 50否桌台备注
  RoomQT varchar 50否桌台其他信息
  GuestName varchar 50否顾客姓名
  zhangdanDate varchar 50否开台时间
  Num int 4否顾客人数
  WaiterName varchar 50否操作员姓名
  tb_User(用户信息表)
  表tb_User用于保存所有系统用户信息,该表的结构如表4-5所示。
  表4-5用户信息表
  字段名数据类型长度主键描述
  ID int 4是系统编号
  UserName varchar 50否用户登录名
  UserPwd varchar 50否用户登录密码
  power char 10否用户权限
  WaiterID int 4否职员编号
  tb_Waiter(职员信息表)
  表tb_Waiter用于保存所有职员信息,该表的结构如表4-6所示。
  表4-6职员信息表
  字段名数据类型长度主键描述
  ID int 4是系统编号
  WaiterName varchar 50否职员姓名
  CardNum varchar 50否身份证号码
  WaiterNum char 10否职员编号
  Sex char 10否性别
  Age char 10否年龄
  Tel varchar 50否电话

  第四章系统测试

  测试是开发时期最后一个阶段,是保证系统质量的重要手段。系统测试就是在受控制的条件下对系统或应用程序进行操作并评价操作结果的过程,所谓控制条件应包括正常条件与非正常条件。[20]系统测试过程中应该故意地去促使错误的发生,也就是事情在不该出现的时候出现或者在应该出现的时候没有出现。从本质上说,系统测试是"探测",在“探测”中发现系统的毛病。

  4.1系统设计原则

  在现实社会中,因为许多小型餐饮公司或者企业的管理还停留在人工管理日常业务运作的水平上,这种传统的管理方式给餐饮企业的发展带来许多阻力,面对餐饮服务行业的这种情况,又加之计算机信息管理系统在当今信息管理时代中已经变得非常普遍,使用计算机对餐饮企业进行信息管理,具有手工管理无法替代的优势,例如:查询迅速、存贮量大、可靠性高、保密性好、成本较低等。这些优点能够极大地提高信息管理的效率,也是企业正规化、科学化管理与世界接轨的重要条件。因此,在进行餐饮管理系统设计的时候会遵循以下个设计原则:(1)系统稳定性原则
  系统的开发必须具有加强的应变能力,在一定时间内相对的稳定性。
  (2)实用性与先进性原则
  目前,我国餐饮服务行业的信息化管理发展还处于低水平的重复开发和片面追求高档次的硬件设备,以及信息化餐饮管理系统的使用还不够普遍,使用价值不高等问题。鉴于实际情况,在系统开发过程中,应遵循把实用性放在第一位,又要突出系统在技术上,管理上的先进性原则。
  (3)面向用户原则
  餐饮管理系统是为用户开发的,最终系统的使用者是用户,只有系统上线后,用户实际使用后,才能对系统做出一个全面客观的评价,因此必须从系统的整体方案规划设计到系统开发过程中的每一个环节,都必须坚持一切为了用户,一切服务于用户的观点,这是餐饮管理系统开发的首要前提。
  (4)可扩展性和维护性原则
  餐饮管理系统的开发必须考虑采用扩展性好的系统架构,保证能够适应将来的业务需求变化,预留扩展接口,适应业务需求变化,以利于系统的二次开发和升级。考虑到将来系统部署和维护的方便性,应尽量不采用客户端安装软件的方式。
  (5)集成性与灵活性
  餐饮管理系统各功能模块的建设应遵循软件平台的标准规范,进行有机地集成,满足数据交换和数据共享的要求,降低运行和维护成本。在集成性的基础上应兼顾灵活性,各功能模块之间及模块与软件平台之间形成松散耦合关系,以满足工作的特殊需要。

  4.2系统架构

  本小节主要介绍系统所涉及的整体架构问题,包括系统设计的技术架构路线,以及系统的运行环境。

  4.2.1系统整体架构

  本项目整体架构采用的是ASP.NET的三层架构,三层架构结构如图4-1所示:
餐饮管理系统的设计与实现
  图4-1系统架构
  Fig.4-1 Structure of System
  所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。
  三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不会和数据库直接打交道,则是通过COM/DCOM通讯和中间层建立一定的连接,通过中间层和数据库打交道的。
  (1)表示层
  位于最外层,即通常理解的界面,就是用户可以直接看到的界面。用户通过界面输入和接收从数据,表示层为用户提供一种交互式方便的操作界面
  (2)业务逻辑层
  业务逻辑层(Business Logic Layer)是系统架构中体现核心价值的部分也是承上启下的一部分。项目中的义务规则的制定与编写,业务内部逻辑、流程的控制,都会在这一层处理。有时候也会把业务逻辑层称作领域层。在业务逻辑层,有人又对其做了更为细致的划分,分为应用层和领域层,通过这样的分层,将进一步将领域逻辑和领域逻辑的解决方案分离。
  业务逻辑层在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是“无知”的,改变上层的设计对于其调用的底层而言没有任何影响。如果在分层设计时,遵循了面向接口设计的思想,那么这种向下的依赖也应该是一种弱依赖关系。
  因而在不改变接口定义的前提下,理想的分层式架构,应该是一个支持可抽取、可替换的“抽屉”式架构。正因为如此,业务逻辑层的设计对于一个支持可扩展的架构尤为关键,因为它扮演了两个不同的角色。对于数据访问层而言,它是调用者;对于表示层来说,它其实是一个被调用者。这种调用与被调用的关系都会在业务逻辑层上体现。
  (3)数据访问层
  它主要是负责数据库的访问的,数据访问层具有数据持久化的特征,数据访问层还可以访问数据库系统、二进制文件、文本文档或是XML文档。换句话说就是通过Select,Insert,Update,Delete的操作可以对数据库中的表进行各种基本的操作。如果要加入ORM的元素,那么就会包括对象和数据表之间的mapping,以及对象实体的持久化。

  4.2.2运行环境

  餐饮管理系统,采用的是B/S体系结构,B/S的体系结构如图4-2所示:
餐饮管理系统的设计与实现
  图4-2系统运行环境
  Fig.4-2 System Environment
  餐饮管理系统硬件环境如下:
  (1)Intel(R)Core(TM)i5-3317或者更高的处理器
  (2)2G内存,最好是4G内存或者以上
  (3)Windows支持的各类鼠标,UPS不间断的电源
  (4)硬盘500G以上
  餐饮管理系统软件环境如下:
  (1)本系统采用的是B/S结构,各职能部门客户机使用Windows7操作系统。
  (2)桌面最好采用1024*768的分辨率

  4.3系统测试的重要性

  系统测试在系统生命周期中占据重要的地位,在传统的瀑布模型中,系统测试学仅处于运行维护阶段之前,是系统产品交付用户使用之前保证系统质量的重要手段。近来,系统工程界趋向于一种新的观点,即认为系统生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难。
  事实上,对于系统来讲,不论采用什么技术和什么方法,系统中仍然会有错。采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能完全杜绝系统中的错误,这些引入的错误需要测试来找出,系统中的错误密度也需要测试来进行估计。测试是所有工程学科的基本组成单元,是系统开发的重要部分。自有程序设计的那天起测试就一直伴随着。统计表明,在典型的系统开发项目中,系统测试工作量往往占系统开发总工作量的40%以上。而在系统开发的总成本中,用在测试上的开销要占30%到50%。如果把维护阶段也考虑在内,讨论整个系统生存期时,测试的成本比例也许会有所降低,但实际上维护工作相当于二次开发,乃至多次开发,其中必定还包含有许多测试工作。

  4.4测试实例的研究与选择

  程序测试的主要方法分为两大类,白盒测试和黑盒测试。
  白盒测试:一种是以程序的内部逻辑结构为依据而设计测试用例的方法,因而又称结构测试或玻璃盒测试,将系统看成一个透明的白盒子,按照程序的内部结构和处理逻辑来选定测试用例,对系统的逻辑路径及过程进行测试,检查它与设计是否相符。白盒测试就是要选取足够的测试用例,对源代码实行比较充分的覆盖,以便尽可能多地发现程序中的错误。主要有两种方法:一种称为逻辑覆盖法,另一种称为路径覆盖法。
  黑盒测试:也称功能测试,数据驱动测试等,它将待测对象堪称是一个黑盒子,在完全不考虑程序的内部结构和特性的情况下,只依据规格说明书检查程序的功能是否能正常使用。
  黑盒测试主要是根据输入条件和输出条件的确定测试数据,来检查程序是否能产生正确的输出。进行黑盒测试主要有下面几种方法:等价分类法、边界值分析法、猜错法、因果图法。
  本系统的测试综合了白盒测试、黑盒测试两种方法,但主要使用的是黑盒测试方法。在测试当中遵循了“尽早地和不断进行测试”,“保证测试用例的完整性和有效性”原则。通过测试达到以下测试目的:
  功能检查:检查功能是否争取,是否遗漏或实现不了应该实现的功能等。
  接口检查:检查能否正确地接受信息或输出信息。
  数据检查:检查数据结构或外部信息是否有(如数据文件)访问错误。
  性能检查:检查性能需求能否得到满足。
  初始化、终止检查:检查是否能进行正确地初始化或终止。

  4.5测试环境与测试条件

  处理器:Inter(R)Core(TM)i3-2120 CPU 3.30GHz
  内存:4GB
  硬盘:1T
  操作系统:Windows 7
  数据库:SQL Server 2005

  4.6系统运行情况

  通过对系统的全面测试,所有测试条目都已经通过,实现了基本要求,系统可以正常运行。

  4.7系统评价

  系统评价是指系统在正式运行了一段时间之后,对它在功能上、技术上和经济上所进行的审核评价。针对本系统的评价如下:
  (1)系统功能评价。根据本系统开发前所订的目标,在系统完成后经过测试运行,该系统达到了预定的开发目标,在实际使用中的功能可以满足用户需求。
  (2)系统技术评价。本系统设计合理,功能达到了预期目标,且系统运行后稳定可靠,安全性高,具有实用性,大大提高了信访办公效率。
  (3)系统经济评价。在规定时间内,该系统完成了系统分析时所确定的系统开发目标,达到了设计要求,投入使用后为用户节省了大量人力物力财力,提高了科学管理水平。

  结论

  在餐饮管理系统开发的过程中,深深的体会到,准确分析理解项目的需求,是项目成败的关键。在技术飞速发展,日新月异的环境中,选择适合系统开发的技术也是至关重要的,程序的开发者不仅要努力学习掌握各种技术,更需要在实践中积累经验,这样才能为成功的开发系统提供保证,开发餐饮管理系统目标是提高企业管理效率,降低企业管理成本。伴随着餐饮行业的激烈竞争标准化的餐饮管理软件日渐普及,企业和客户对餐饮管理软件的要求也会越来越高,随着社会技术的进步餐饮管理系统还应提供与银行信用卡系统的借口,成本稽核等功能,以便更好的为企业和客户提供服务。
  系统虽然完成了大部分的餐饮管理功能,但是由于自身的技术及开发经验还有待提高,系统还未能实现所有功能模块的可配置化,整个系统的灵活性还有待提高。以后,还会考虑提供合适的通用的接口,以便系统和其它系统交换信息。

  参考文献

  [1]徐文燕.餐饮管理[M].上海:格致出版社,2011.55-56.
  [2]马开良,叶伯平,葛焱.酒店餐饮管理[M].北京:清华大学出版社,2013.251-252.
  [3]黄文波.餐饮管理[M].天津:南开大学出版社,2010.78-80.
  [4]温沁润主编.Java程序设计[M].北京:北京工业大学出版社,2010.165-166.
  [5](美)兰多夫,(美)加德.Visual Studio 2010高级编程[M].北京:清华大学出版社,2012.89-90.
  [6]张建军,史银龙,刘胜厚.C语言程序设计[M].北京:海洋出版社,2010.221-222.
  [7]田屏-餐饮管理系统的设计[J].数字技术与应用,2015,5(10):16-169.
  [8]刘居超,郑凤萍,谢芳.基于计算机信息化的酒店餐饮管理课程教学模式的改革探索[J].旅游纵览(行业版),2015,25(3):249.
  [9]王小敏-分析餐饮管理系统设计与实现[J].吉林广播电视大学学报,2014,11(8):253-254.
  [10]刘朝辉-实体店餐饮管理系统设计与实现[J].中国集体经济,2015,15(9):37-38.
  [11]Brett Spell.Pro Java 8 Programming[M].北京:清华大学出版社,2015.231-233.
  [12]Robert Fischer.Java Closures and Lambda[M].北京:海洋出版社,2015.66-68.
  [13]蔡泳浩.餐饮管理系统设计与实现[D].山东大学,2012.
  [14]徐明芳.基于PDA手持设备的餐饮管理系统的设计与实现[D].电子科技大学,2012.
  [15]李国晓.基于windows mobile的移动餐饮管理系统的设计与实现[D].南京理工大学,2012.
  [16]夏剑军.餐饮管理信息系统的设计与实现[D].广东工业大学,2005.
  [17]马墨南.黑河学院餐饮中心综合管理系统的设计与实现[D].吉林大学,2014.
  [18]潘骏.以JAVA为基础的酒店餐饮管理系统的设计与实现[D].电子科技大学,2012.
  [19]王冰.集团餐饮管理系统的设计与实现[D].西安电子科技大学,2009.
  [20]刘卓.基于某航空公司C/S模式的餐饮管理信息系统的设计与实现[D].电子科技大学,2014.

  致谢

  从论文选题到搜集资料,从提纲的完成到正文的反复修改,我经历了喜悦、聒噪、痛苦和彷徨,在写作论文的过程中,心情是如此复杂。如今,伴随着这篇毕业论文的最终成稿,复杂的心情烟消云散,自己甚至还有一点成就感。
  我要感谢我的导师※※※老师和※※※老师。他们为人随和热情,治学严谨细心。从选题、定题、撰写提纲,到论文的反复修改、润色直至定稿,两位老师始终认真负责地给予我深刻而细致地指导。正是有了老师们的无私帮助与热忱鼓励,我的毕业论文才得以顺利完成。
  我还要感谢我的班主任※※※老师以及在大学四年中给我们授课的所有老师们,是他们让我学到了很多很多知识,让我看到了世界的精彩,让我学会了做人做事。
  最后感谢四年里陪伴我的同学、朋友们,有了他们我的人生才丰富,有了他们我在奋斗的路上才不孤独,谢谢他们。
下载提示:

1、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“文章版权申述”(推荐),也可以打举报电话:18735597641(电话支持时间:9:00-18:30)。

2、网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。

3、本站所有内容均由合作方或网友投稿,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务。

原创文章,作者:写文章小能手,如若转载,请注明出处:https://www.447766.cn/chachong/9624.html,

Like (0)
写文章小能手的头像写文章小能手游客
Previous 2021年1月8日
Next 2021年1月8日

相关推荐

My title page contents