毕业设计(论文)-基于.net的餐饮管理系统.doc_第1页
毕业设计(论文)-基于.net的餐饮管理系统.doc_第2页
毕业设计(论文)-基于.net的餐饮管理系统.doc_第3页
毕业设计(论文)-基于.net的餐饮管理系统.doc_第4页
毕业设计(论文)-基于.net的餐饮管理系统.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

滨江学院 毕业论文(设计)题 目 基于.net的餐饮管理系统 院 系 计算机系 专 业 软件工程(动画方向) 学生姓名 崔佳怡 学 号 20092358036 指导教师 李燕 职 称 副教授 二一三 年 五 月 二十 日声 明本人郑重声明:1、 持以“求实、创新”的科学精神从事研究工作。2、 本论文是我个人在导师指导下进行的研究工作和取得的研究成果。3、 本论文中除引文外,所有实验、数据和有关材料均是真实的。4、 本论文中除引文和致谢的内容外,没有抄袭其他人或其他机构已经发表或撰写过的研究成果。5、 其他同志对本研究所做的贡献均已在论文中作了声明并表示了谢意。作者签名: 日 期: 目 录1绪论11.1 研发背景11.2国内外研究现状21.3论文组织结构32系统开发技术简述42.1 Visual Studio.NET 200842.2 SQL SERVER 200852.3 C#语言52.4三层架构62.5 C/S模式63系统分析73.1系统可行性分析73.2系统需求分析83.3业务流程分析94系统设计104.1系统总体设计104.2 主要模块设计114.3数据库设计125系统实现175.1登录模块175.2桌台点菜结账管理模块185.3员工管理模块205.4菜品信息管理模块215.5统计查询模块236系统测试256.1 系统测试目的256.2 系统测试环境256.3系统测试方法266.4系统测试结果与评价267总结与展望277.1主要工作总结277.2进一步工作展望27参考文献28致谢29I基于.net的餐饮管理系统崔佳怡南京信息工程大学滨江学院,南京 210044摘要:本文主要介绍了依靠.net平台运作的餐饮管理系统。本系统在设计层面上采用C/S模式,运用了Microsoft SQL Server 2008为后台数据库,以Visual studio.NET 2008为前端开发工具。本系统的主要功能有前台管理、桌台信息的查询和管理、消费账单的查询和结算、员工信息的管理、菜单信息的管理和维护、餐馆历史报表的查询和打印等,基本实现了中小型餐馆从用户登录到开台点菜,到结账收银,到统计查询这一系列流程的信息化和规范化的管理需求。该系统的投入应用可基本解决现今中小型餐饮企业管理存在的工作效率低下,人力资源冗余和数据复杂易重复等问题。本系统具有运行稳定,高效实用,简单易操作等特点。 关键词:餐厅管理系统;sql2008; C/S;vs20081绪论1.1 研发背景 当今世界已进入了在计算机信息管理领域中竞争激烈的时代,计算机的应用已经变得十分普遍了,如同我们日常离不开自行车、汽车一样。我们必须承认,只有掌握的知识越多,信息量越大,信息处理速度越快,批量越大,才能使工作的效率更高,才能够在各种竞争中立于不败之地。随着科学技术的不断提高,计算机技术日趋成熟,其强大的功能已被人们深刻地认识,它已进入人类社会的各个领域并发挥着举足轻重的作用1。与此同时,越来越多的管理人员意识到科学管理信息的重要性。近年来,人民的生活水平快速提高,餐饮业消费激增的同时,人们对餐饮业的要求也越来越高。餐饮业繁荣的同时,竞争也日趋白热化。而传统餐饮企业的运作模式已经无法满足消费者的需求,那种传统的依靠人工管理、记录的模式,不仅耗费人力资源而且容易导致记录丢失或重复等错误,造成企业管理和运作的效率低下。在信息化高度发达的时代,传统餐饮业需要利用技术开发工具,对自身的管理和运作模式进行信息化升级,才能不被时代淘汰。具有信息化管理和运作模式特点的餐饮企业,不仅可以满足消费者对餐饮业高质量、高效率的服务需求,而且极大地节约了人力成本,提高了运作效率,降低了工作中可能存在的失误,提升了企业的综合竞争力。本课题旨在研发一种基于.net的餐饮管理系统,运用SQL Server 2008为后台数据库,以Visual Studio 2008为前端开发工具,利用信息化手段把先进的管理方法引入企业的日常运作实践中,为企业的管理改革提供切实易行的途径。本系统设计的最大意义在于它切实有效地指导工作人员规范业务流程,便于实现业务的管理,保障顾客信息的安全,减少人力损耗,增强企业的生命力。1.2国内外研究现状如今国内中小规模餐饮企业出于成本和企业规模的原因,大都采用人工管理,人工服务的运作模式。不仅花费更多的人力,物力,占用更大的空间,出错率也比较高,总之效率低,不宜于长期发展。大型餐饮企业已经采用信息化管理,目前市场上大多数餐饮软件是基于WINDOWS操作系统的。而系统数据库,有ACCESS、SYBASE、MYSQL、SQL Server等,对于餐饮系统来说,采用的数据库与餐厅规模相关,较小的餐厅可以采用比较简单的数据库如ACCESS,维护简单,而规模大的餐厅就应该用SQL Server等数据库,数据安全系数高且系统稳定,但同时也要求有专门的系统管理员来维护。目前国内外关于消费管理很多,各种系统的偏重点和采用的技术都不一样,但相同的就是都是与数据库相关的操作,利用数据库技术对大量的资料进行管理,摒弃了传统的人工管理阶段。国外很多设计中采用了先进的餐饮管理方法,融合了现代餐饮行业的特点。通过科学的管理方式、优化的管理流程和现代化的管理工具计算机网络系统,规范了餐饮行业管理标准,降低了服务成本、提高服务质量以及工作效率。本系统目的在于对企业运行中大量复杂的动态数据和信息进行到位、准确的分析和处理并及时反馈给管理层。最大限度地方便使用者,同时提高工作质量和效率,务求帮助企业快速长远地发展。由于当前餐饮的管理还处于人工管理阶段,仅在财务部门使用了计算机,所以餐饮的管理效率不高。由于缺乏科学的管理和现代化的管理工具,大多数餐饮企业在管理上和业务的安排上都存在着不足。(1)房间的管理不够科学方便,房间使用情况不直观。(2)库管员不能随时掌握库存情况,不能及时发现商品缺货的情况,另外统计商品数量即费时又费力。(3)由于该餐饮的商品种类多,菜样多变,靠人工方式管理商品和菜品信息有很多不便。例如商品数量大导致查找商品信息困难等。1.3论文组织结构本篇论文是以.NET为研究环境,从.NET的发展、体系结构等方面,介绍基于.NET的餐饮管理系统设计与开发实现。具体章节安排如下: 第1章:绪论,介绍了论文研究的背景,并阐述了餐饮管理系统的研究现状和意义。 第2章:系统开发技术和环境简述,主要介绍了Visual Studio2008、SQL Server2008数据库等技术。 第3章:系统分析,主要从可行性分析、需求分析和业务流程分析三方面对餐饮管理系统加以阐述。 第4章:系统设计,在系统体系结构的框架上进行了详细的总体设计、各主要模块设计以及数据库的设计。 第5章:系统实现,介绍了系统实现的研发环境,以系统运行实例简介该餐饮管理系统的主要功能模块的实习。第6章:系统测试,论述了系统测试的目标,对本系统进行了实例测试,并对测试结果作出分析评价。第7章:总结与展望,总结了系统实现的功能、解决的技术问题和一些收获,分析本系统不足之处分析,并对未来的工作进行了展望。2系统开发技术本系统选取C#为开发语言,利用SQL Server 2008建立后台数据库,并采用C/S结构和三层架构模式搭建系统框架。本章将对这些相关技术进行简要阐述。2.1 Visual Studio.NET 2008Visual Studio 2008 使开发人员能够快速创建高质量、用户体验丰富而又紧密联系的应用程序,充分展示了 Microsoft 开发智能客户端应用程序的构想。借助 Visual Studio 2008,采集和分析信息将变得更为简单便捷,业务决策也会因此变得更为有效2。任何规模的组织都可以使用 Visual Studio 2008 快速创建能够利用 Windows Vista 和 2007 Office system 的更安全、更易于管理并且更可靠的应用程序。Visual Studio 2008 在三个方面为开发人员提供了关键改进:(1)快速的应用程序开发为了帮助开发人员迅速创建先进的软件,Visual Studio 2008 提供了改进的语言和数据功能,例如语言集成的查询 (LINQ),各个编程人员可以利用这些功能更轻松地构建解决方案以分析和处理信息。(2)高效的团队协作Visual Studio 2008 还使开发人员能够从同一开发环境内创建面向多个 .NET Framework 版本的应用程序。开发人员能够构建面向 .NET Framework 2.0、3.0 或 3.5 的应用程序,意味他们可以在同一环境中支持各种各样的项目。Visual Studio 2008 提供了帮助开发团队改进协作的扩展的和改进的服务项目,包括帮助将数据库专业人员和图形设计人员加入到开发流程的工具3。(3)突破性的用户体验Visual Studio 2008 为开发人员提供了在最新平台上加速创建紧密联系的应用程序的新工具,这些平台包括 Web、Windows Vista、Office 2007、SQL Server 2008 和 Windows Server 2008。对于 Web,ASP.NET ,AJAX 及其他新技术使开发人员能够迅速创建更高效、交互式更强和更个性化的新一代 Web 体验4。Visual Studio 2008 包括各种增强功能,例如可视化设计器(使用 .NET Framework 3.5 加速开发)、对 Web 开发工具的大量改进,以及能够加速开发和处理所有类型数据的语言增强功能。Visual Studio 2008 为开发人员提供了所有相关的工具和框架支持,帮助创建引人注目的、令人印象深刻并支持 AJAX 的 Web 应用程序。开发人员能够利用这些丰富的客户端和服务器端框架轻松构建以客户为中心的 Web 应用程序。这些应用程序可以集成任何后端数据提供程序、在任何当前浏览器内运行并完全访问 ASP.NET 应用程序服务和 Microsoft 平台5。2.2 SQL SERVER 2008 SQL(Structured Query Language),结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。绝大多数流行的关系型数据库管理系统都采用了SQL语言标准6。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select, Insert, Update, Delete, Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。SQL Server 2008 在 Microsoft 的数据平台上发布,帮助用户的组织随时随地管理任何数据。它可以将结构化、半结构化和非结构化文档的数据(例如图像和音乐)直接存储到数据库中。SQL Server 2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQL Server版本。SQL Server 2008 提供一系列丰富的集成服务,可以对数据进行查询、搜索、同步、报告和分析之类的操作。数据可以存储在各种设备上,从数据中心最大的服务器一直到桌面计算机和移动设备,您可以控制数据而不用管数据存储在哪里。这个平台有以下特点:(1) 可信任性使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。(2) 高效性使得公司可以降低开发和管理他们的数据基础设施的时间和成本。(3) 智能性提供了一个全面的平台,可以在你的用户需要的时候给他发送观察和信息。2.3 C#语言C#编程语言是由微软公司的Anders Hejlsberg和 Scott Willamette领导的开发小组专门为.NET平台设计的语言,它可以使程序员移植到.NET上。这种移植对于广大的程序员来说是比较容易的,因为C#从C,C+和Java发展而来,它采用了这三种语言最优秀的特点,并加入了它自己的特性。C#是事件的驱动的,完全面向对象的可视化编程语言,我们可以使用集成开发环境来编写C#程序。使用IDE,程序员可以方便的建立,运行,测试和调试C#程序,这就将开发一个可用程序的时间减少到不用IDE开发时所用时间的一小部分。使用IDE迅速建立一个应用程序的过程称为快速反映开发。 正是由于C#面向对象的卓越设计,使它成为构建各类组件的理想之选无论是高级的商业对象还是系统级的应用程序。使用简单的C#语言结构,这些组件可以方便的转化为XML 网络服务,从而使它们可以由任何语言在任何操作系统上通过Internet进行调用7。 C#语言技术拥有以下优点:(1)效率与安全性。(2)支持现有的网络编程新标准。(3)消除大量程序错误。 (4)对版本的更新提供内在的支持降低了开发成本。 (5)商业过程和软件实现的更好对应。2.4 三层架构在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或称为领域层)、表示层。三层结构原理:3个层次中,系统主要功能和业务逻辑都在业务逻辑层进行处理。所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上8。三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互。表示层位于最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。业务逻辑层(Business Logic Layer)无疑是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域(Domain)逻辑有关,很多时候,也将业务逻辑层称为领域层。有学者将整个架构分为三个主要的层:表示层、领域层和数据源层。更有后者对业务逻辑层作了更细致地划分,细分为应用层与领域层,通过分层进一步将领域逻辑与领域逻辑的解决方案分离9。业务逻辑层在体系架构中的位置非常关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。业务逻辑层的设计对于一个支持可扩展的架构尤为关键,因为它扮演了两个不同的角色。对于数据访问层而言,它是调用者;对于表示层而言,它却是被调用者。依赖与被依赖的关系都纠结在业务逻辑层上,如何实现依赖关系的解耦,则是除了实现业务逻辑之外留给设计师的任务10。数据层数据访问层:有时候也称为是持久层,其功能主要是负责数据库的访问,可以访问数据库系统、二进制文件、文本文档或是XML文档。如果要加入对象关系映射的元素,那么就会包括对象和数据表之间的映射,以及对象实体的持久化。2.5 C/S模式Client/Server或客户/服务器模式:Client和Server常常分别处在相距很远的两台计算机上,Client程序的任务是将用户的要求提交给Server程序,再将Server程序返回的结果以特定的形式显示给用户;Server程序的任务是接收客户程序提出的服务请求,进行相应的处理,再将结果返回给客户程序。C/S(Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。 3系统分析本章主要从餐饮企业管理的实际情况确认本餐饮管理系统的需求和功能,并从系统可行性分析、系统需求分析和系统业务流程分析三大部分做出具体阐述,完成系统开发的准备工作。3.1系统可行性分析为了将企业投资失误的风险降至最小,确保本餐饮管理系统系统的完整开发并能顺利投入企业今后的长期运行中,本节从技术、经济和操作三个方面对本系统的可行性进行了分析和研究。3.1.1.技术可行性本系统拟用以发展已趋成熟的数据库技术与系统开发技术,使用SQL Serve 2008数据库和.NET平台。本系统对用户并不存在很高的技术要求,只需要具备可在Microsoft Windows平台上进行基本操作的常识和能力。因此,在系统投入使用前,并不需要对操作本系统的管理人员进行专门的培训。这一特性既可减少企业的投入成本又可简化管理人员的实际使用时的操作环节。所以,研发本系统具有技术可行性。3.1.2.经济可行性考虑一个项目是否存在经济可行性首先需要估算出开发这一项目所需的成本和它可能带来的综合效益,之后才能分析出该项目在经济投入上是否合理。具体操作即指对其进行成本效益分析,评估该项目的开发成本,计算项目预期的利润是否可以保证前期投入的全部开发成本 11。本系统的开发是基于日常开发程序的学习和实践经验,资金投入需求甚微,因此整个系统研发的成本较低,所需的经费投入完全在可接受范围中。所以,研发本系统具有经济可行性。3.1.3.操作可行性本系统的操作可行性主要从操作实用性、用户使用可行性两方面进行研究。(1)操作实用性。本系统功能完整,而且操作简易,相应模块的应用符合餐饮企业日常管理的实际需求,系统所有界面友好美观,操作快捷方便。 (2)用户使用可行性。本系统对用户的要求,除了需要具备在Windows平台上使用个人电脑的基本能力外,并不需要更高层次的技术能力。所以本系统基本面向所有用户,不会给用户造成操作使用的困难和台阶。所以,本系统具有操作可行性。3.2系统需求分析随着餐饮业的不断发展,餐饮管理系统的内容对于餐饮业的决策者和管理者来说都非常重要。本系统主要包括桌台显示、消费查询、人事档案及权限等几大部分,具有良好的用户接口,使用方便;具有完善的查询,对维护系统起到辅助决策的作用,能及时、方便、灵活地进行查询、修改、删除等维护性操作。餐饮管理系统有足够的存储容量,满足酒店每日营业的变动12。根据餐饮管理系统管理使用的基本需求,本系统应有如下几个功能性模块:管理人员登陆模块, 菜单管理模块, 员工管理模块, 账单信息模块, 查询统计功能模块。下面按模块分别介绍相应的功能性需求:3.2.1 管理人员登录模块本模块仅授予系统管理员相应权限,主要包括:权限管理、日常维护等功能。饭店管理员检具系统管理员和操作员两种身份。系统管理员的身份权限高于系统操作员的身份权限,在完成登陆后可进行数据备份及清理等工作。而系统操作员只能进行点单、开单和收银等工作。3.2.2 菜单管理模块本模块授予操作员相应权限,主要包括:添加菜单管理菜单等功能。管理人员可以在系统中添加菜单, 并能进行日常维护(包括修改菜的价格等),系统可以对整个菜单分类管理,可区分凉菜、热菜、汤类、酒水、消费品和主食。3.2.3 员工管理模块本模块授予系统管理人员相应权限,并要求主要包括:员工身份信息管理、工资管理、出勤管理等功能。(1)员工身份信息管理:主要包括员工的身份信息存储、修改和查询等功能。(2)工资管理:主要包括员工信息薪资管理和薪资查询等功能。(3)出勤管理:主要包括员工入职离职时间等出勤信息管理功能。3.2.4 账单信息模块本模块授予系统操作员相应权限,实现客人到餐厅就餐、开台、点单、结算等一系列活动的功能需求。包括以下一些功能:(1)顾客开台:顾客到饭店后点单。(2)顾客点菜:顾客开台后点菜消费。(3)增加消费:在客人点单之前不能增加消费,客人点单后可以添加菜品。(4)顾客结账:客人用餐后付款。3.2.5 查询统计功能模块本模块授予系统管理人员相应权限,主要包括统计每日(月、季度)总营业额、不同菜销售情况、随时查看库存,查看一定时期内的销售排名等功能。3.3业务流程分析在进行业务流程分析时,需要按照原有信息流动过程,逐个地调查分析所有环节的处理业务、处理内容、处理顺序和对处理时间的要求,弄清各个环节需要的信息、信息来源、流经去向、处理方法、计算方法、提供信息的时间和信息形态(报告、报单、屏幕显示)等。业务流程分析将业务处理过程直观清晰地呈现在开发者眼前,有助于开发者及时发现和纠正系统调研筹备中发生的错误和疏漏13。业务流程分析是通过业务流程图来进行的,即用一些规定的符号及连线来表示某个具体业务处理过程。本系统的业务流程图如图3.1所示。退 出图3.1 系统业务流程图4系统设计系统设计是一个系统表示出系统需求的过程。本章通过分析和研究目标系统,对本餐饮管理系统进行总体的统筹规划,这一步骤为全面开发研究系统奠定了最重要的基石。系统设计包括系统总体设计,主要模块设计和数据库设计等内容。4.1系统总体设计4.1.1系统设计目标本系统的设计初衷是完成一个基于.NET平台的餐饮管理系统。运用计算机管理的餐饮管理系统可以最大限度地降低餐饮从业人员的工作重复率,方便快捷地为管理人员提供企业经营信息14。实现顾客来到饭店之后,开台、点单、结算等一系列流程。而管理人员登陆系统之后通过本系统的统计查询功能可以对餐馆的经营信息有具体准确的定位,并据其确认下一步餐馆的管理规划方向。本系统的具体的目标如下:(1)拟采用人机交互的方式,界面优美大方,信息查询灵活、方便快捷,数据存储安全可靠。(2)满足用户开台、点菜或加菜、账目查询和结账等实际需求。(3)检查用户输入的数据,尽可能地避免人工录入造成的错误。(4)自动结算顾客消费账单。(5)可查询顾客消费的历史记录。(6)实现系统的易维护性和易操作性。4.1.2系统功能结构根据系统的功能分析,餐饮管理系统的架构可划分为:前台管理,员工管理,菜单管理,盈利管理几个模块。本文采用.NET技术实现餐饮管理系统的功能需求。餐饮管理系统功能结构如图4.1所示。图4.1功能结构图4.2 主要模块设计此系统使用了三层架构实现了管理人员登陆模块, 菜单管理模块, 餐厅人员管理模块, 点菜功能模块, 消费结帐模块, 查询统计功能模块。此系统是基于C/S结构,并可以打印报表。(1)管理人员登陆模块:管理人员可通过账户名和密码登入系统,进入前台操作页面。(2)菜单管理模块:管理人员可以添加菜谱到系统中, 并能进行日常维护(包括修改菜的价格等),系统可以对整个菜单分类管理,可区分凉菜、热菜、汤类、酒水、消费品和主食,此处是该界面加载是将数据库中的表分类绑定。(3)餐厅人员管理模块: 能维护整个餐厅服务人员的信息记录。(4)点菜功能模块: 顾客入座后,该桌台显示有人,并将开台按扭设为不可用, 顾客消费过程中,将消费情况记录到系统中,并支持查询,当点击桌台图片时,可显示该桌台的消费情况。当点击加菜按钮时跳到另一页进行加菜功能。(5)消费结帐模块: 系统可以自动对消费情况进行结算.可显示该消费者的所有消费情况,并能自动实现找零计算和打印消费单情况的功能。(6)查询统计功能模块: 能按月按日统计餐厅整个赢利情况,并打印报表,能依据消费单号查询某顾客的消费明细。4.3数据库设计数据库是一个系统的奠基石。其设计的优劣与整个系统的质量直接挂钩。简单来说,数据库设计就如在建造大厦之前打下地基一般,一旦设计有不合理和不完善之处,就将在系统开发过程中,甚至直到扫尾的系统维护、对系统进行功能变更和扩充等环节,引起不少不可忽略的错误,严重时甚至要重新演练研究,重复大量二次工作,所以设计数据库的环节尤其关键15。在开发本餐饮管理系统之前,首先分析了该系统的数据量。由于系统管理餐饮方面的数据较多,商品信息、消费信息以及账目清单会占用较大的空间,因此选择SQL Server 2008数据库存储这些信息,将数据库命名为menu,在数据库中创建了5个数据表用于存储不同的信息。4.3.1数据库的概念设计餐饮管理系统的数据库主要用于存储餐饮管理系统中的数据,由于餐饮管理系统的数据量很大,所以选择了Microsoft SQL Server 2008数据库,数据库中建立一个菜品信息表,用于存储所有的商品信息。菜品信息实体E-R图如图4.2所示。菜品信息表(menu)菜品编号菜品名字菜品价格菜品分类添加时间菜品折扣图4.2 菜品信息E-R图顾客进行消费时,会根据自己的需求消费不同的商品,系统将顾客消费的所有信息存储到数据表中,以便顾客结账时查询,在数据库中建立一个顾客消费信息表用于存储顾客的消费记录。顾客消费信息实体E-R图如图4.3所示。图4.3顾客消费E-R图顾客消费信息表 (dishes)菜品数量菜品名称 桌台编号消费时间 顾客账单信息表 (curtain)桌台编号个人消费收款金额消费日期付款方式菜品折扣顾客消费结束后,系统将通过查询之前记录的该顾客消费信息进行核算,以便顾客查询付款。在数据库中建立一个顾客账单信息表用于核算查实顾客的消费账单。顾客账单信息实体E-R图如图4.4所示。图4.4顾客账单信息E-R图为了对系统进行不同的管理,需要为系统建立管理用户。这些用户通过登录模块登录系统,登录成功之后会根据不同的权限对不同的功能模块进行管理,在数据库中建立一个用户信息表,用于存储登录用户信息。用户信息实体E-R图如图4.5所示。用户信息表(userInfor)用户编号用户名登录密码用户类型图4.5 用户信息E-R图在餐饮行业中,餐厅服务员起着极其重要的作用,但是由于服务人员数目众多,如果不进行相应的信息记录,可能管理起来会非常困难。因此,需要对服务人员的详细信息进行记录。在数据库中建立一个职员信息表用于存储所有服务人员的信息。职员信息实体E-R图如图4.6所示。 员工信息表(ygmanage)员工电话员工编号员工姓名员工家庭地址 员工薪资员工年龄员工备注员工性别图4.6 员工信息E-R图4.3.2数据库的逻辑结构设计根据综上分析的系统实体属性及其衍生的行为,从具体的实际需求着手,并且联系各实体间的相关性和统一性,设计出如下五表,分别是Curtain表(顾客账单信息表)、dishes表(顾客消费信息表)、menu表(菜品信息表)、userInfor表(用户信息表)和ygmanage表(员工信息表),用于存放各类数据。每个表的功能说明如下:(1)Curtain表:主要用于顾客消费后的结账。包括记录顾客消费金额、付款方式、消费时间等数据。Curtain表结构如表4.1所示。表4.1curtain列名数据类型允许Null值_midintNull_personCountintNot Null_moneyDecimal(12,2)Not Null_timeVarchar(20)Not Null_zhekouintNot Null_fukuanfangshinvarcharNull(2)dishes表:主要用于记录用户顾客开单后的一些信息,用于消费明细查询。记录了菜名、餐台号、菜所属种类、价格、开单时间、记账人。通过点单表可以很方便的查看当前餐台的消费情况。dishes表结构如表4.2所示。表4.2dishes列名数据类型允许Null值_midintNot Null_nameVarchar(50)Null_amountintNull_timevarchar(20)Null(3)menu表:该表主要用于设置菜种类,记录了所有菜的种类、菜名、价格、增加时间等情况。menu表结构如表4.3所示。表4.3menu列名数据类型允许Null值_midintNot Null_namevarchar(50)Not Null_pricevarchar(6)Null_classificationvarchar(20)Null_addTimevarchar(20)Null_supperNchar(10)Null(4)userInfor表:主要用于用户登录,验证用户密码的正确性后获得用户权限。该表主要记录用户名、密码、权限。userInfor表结构如表4.4所示。表4.4userInfor列名数据类型允许Null值_midintNot Null_uservarchar(20)Null_passwordvarchar(20)Null_typevarchar(10)Null(5)ygmanage表:记录了员工的一些基本信息,如姓名、性别、联系方式、家庭住址和薪资情况。主要用于对员工的统筹管理。ygmanage表结构如表4.5所示。表4.5ygmanage列名数据类型允许Null值_ygnonvarchar(50)Not Null_ygnamenvarchar(50)Null_ygsexnvarchar(50)Null_ygageintNull_ygphonenvarchar(50)Not Null_ygaddressnvarchar(50)Null_ygsalaryintNull_ygbeizhunvarchar(500)Null5系统实现在餐饮管理系统的分析和系统设计的基础上,本章介绍系统的登录模块和主要功能模块在系统中是的实现方法。5.1登录模块本系统的登录模块主要是保证系统用户通过登录验证进入餐饮管理系统,然后根据用户需求再继续选择具体的业务操作。(1)管理员登陆功能描述:登录界面,用户可输入账户名和密码,通过此界面进入系统。登陆模块界面如图5.1所示。图5.1 登录界面用例:登录界面实现该模块的主要代码如下:private void button2_Click(object sender, EventArgs e) user = textBox1.Text; pw = textBox2.Text; if (user != & pw != ) string sqlstring = select _type from userInfor where _user= + user + and _password= + pw + ; SqlDataReader sdr = data.GetRecord(sqlstring); if (sdr.Read() if (sdr0.ToString() = 管理员) mainFrm fm = new mainFrm(); fm.Show(); this.Hide(); else else MessageBox.Show(帐号密码不正确!); else MessageBox.Show(用户名不能为空); (2)系统功能桌面功能描述:在此界面可以通过单击目录直接查看系统各项业务,可以选中图标单击右键选择相应业务,非常友好和方便。用户登录后跳转至系统功能桌面,该界面显示“菜单管理”、“桌台点菜结账管理”、“查询统计”和“餐厅人员管理”模块,具体如图5.2所示:图5.2 系统功能桌面示意图5.2桌台点菜结账管理模块 本系统的桌台点菜结账管理模块可以实现用户半自助式的快捷开台、点菜和结账等基本操作。(1)点菜界面功能描述:此界面为点菜界面,用户可以根据自己的需要来选择菜单,也可以在此界面退菜和补菜,服务员为开台选中的服务员。用户在系统功能桌面选择“桌台点菜结账管理”,系统跳转至该模块界面,通过勾选菜单界面的菜品进行点菜。在选择菜品的时候可以通过单击“菜品分类”来快捷地筛选需要的菜品种类。单击“结账”按钮时总价=菜品单价*数量,关闭此界面后再次打开此界面则无法退菜(菜已上了)。具体如图5.3所示。(2)桌台查询功能描述:此界面可以查看桌台信息和使用情况。用户可在本界面单击“餐桌号”,则系统显示本次桌台使用信息。单击“人数”,则系统显示本桌台就餐人数。具体如图5.3所示。图5.3 桌台信息界面示意图实现以上功能的主要代码如下:private void dataGridView1_CellMouseClick(object sender,DataGridViewCellMouseEventArgs e) if (e.RowIndex = 0) if (e.ColumnIndex= 3) if (Convert.ToBoolean (dataGridView1.CurrentRow.Cells3.Value) ) dataGridView1.CurrentRow.Cells3.Value =false; dataGridView1.CurrentRow.DefaultCellStyle.BackColor=Color.White; this.dataGridView1.Rowse.RowIndex.Cells4.Value =; dataGridView1.Columns4.ReadOnly = true; else dataGridView1.CurrentRow.Cells3.Value =true; dataGridView1.CurrentRow.DefaultCellStyle.BackColor= Color.Bisque; this.dataGridView1.Rowse.RowIndex.Cells4.Value = 1; this.dataGridView1.CurrentCell = this.dataGridView1.Rowse.RowIndex.Cells4; dataGridView1.Columns4.ReadOnly =false; else if (e.ColumnIndex = 4) (3)消费查询功能描述:此界面可以方便快捷的查看某桌台的消费情况。用户在餐桌信息管理界面单击“结账”,则系统跳转至付款管理界面。该界面显示本桌台的消费信息。用户输入付款金额后,勾选“付款方式”,并选择是否有“会员折扣”,系统将结算找零,并录入历史记录。具体如图5.4所示。图5.4 消费查询界面示意图实现付款管理的主要代码如下:private void menuEND_Load(object sender, EventArgs e) this.dataGridView1.DataSource = menu.ddt; dataGridView1.AllowUserToAddRows = false; double sum=0; for (int i = 0; i dataGridView1.RowCount; i+) double a = Convert.ToDouble(dataGridView1.Rowsi.Cells2.Value); double b = Convert.ToDouble(dataGridView1.Rowsi.Cells3.Value); sum += a * b; label2.Text = sum.ToString();5.3员工管理本系统的员工管理模块可实现员工的基本身份信息的管理,包括删减,修改,查询等基本操作,可避免人工管理造成的数据复杂,资源冗余等情况。功能描述:此界面可以添加、删除、查询、修改员工信息。用户在功能选择桌面选择“餐厅员工管理”,系统跳转至本界面。可通过输入员工姓名进行快速查询。也可勾选“增加”、“修改”或“删除”按钮进行员工信息管理的一些基本操作。具体如图5.5所示。图5.5 员工管理界面示意图实现员工管理模块的主要代码如下:private void button2_Click(object sender, EventArgs e) string bianhao = textBox6.Text; string sqlstring = select * from ygmanage where _ygno= + bianhao + ; if (data.HaveRecord(sqlstring) MessageBox.Show(员工编号已经存在!); return; else sqlstring = insert into ygmanage values( + textBox6.Text + , + textBox1.Text + , + textBox2.Text + , + textBox3.Text + , + textBox4.Text + , + textBox5.Text + , + textBox8.Text + , + textBox9.Text + ); if (data.OperateRecord(sqlstring) MessageBox.Show(添加成功); sqlstring = select _ygno as 员工编号, _ygname as 员工姓名,_ygsex as 员工性别,_ygage as 员工年龄,_ygphone as 员工电话,_ygaddress as 员工地址,_ygsalary as 员工薪水,_ygbeizhu as 员工备注 from ygmanage; this.dataGridView1.DataSource = data.GetDataTable(sqlstring); elseMessageBox.Show(添

温馨提示

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

评论

0/150

提交评论