版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京理工大学继续教育学院(论文)
毕业设计(论文)
题目:餐饮管理系统的设计与实现
学院:____
专业:
班级:
姓名:
学号:
指导教师:
目录
第一章概述
5
1.1本课题的研究目的
5
1.2国内外相关研究状态
5
1.3研究内容和主要做的工作
6
第二章工具的介绍
8
2.1开发平台和工具的简介
8
2.2c#语言的详细介绍
9
第三章系统总体设计
13
3.1餐饮管理系统结构框图
13
3.2数据库结构设计
14
3.3餐饮管理系统的界面设计
16
3.4系统业务流程图
19
第四章餐饮系统详细设计
20
4.1登录模块的设计
20
4.2主窗体模块设计
20
4.3开台模块设计
21
第五章餐饮管理系统的实现
25
5.1系统编码
25
5.2系统调试
27
5.4系统试运行
29
第六章系统总结
36
6.1系统特点
36
6.2系统的不足与改进
36
6.3展望
37
结论
39
致谢
40
参考文献
41
摘要
本论文是用WindowsXP+DotNet平台开发了小型餐馆的信息管理系统,该系统具有查看餐馆桌台、员工信息、处理客户菜单数据、查看餐饮信息、管理系统权限、数据备份等功能;通过后台管理就能对整个餐饮系统的各个模块进行添加、删除、修改、查询、数据备份、数据恢复、等操作。该管理系统具有温馨简洁方便的界面,操作简单,支持所有的Windows系列操作系统,支持所有.net框架,兼容性较好。
本系统采用winform框架加A进行系统开发,来实现界面与数据库的连接,利用winform控件拖拽技术可以快速实现窗体界面,减轻了大量代码编写的负担。该系统使用了IIS5.0服务器和后台数据库SQLSever2008,采用交互的面向对象语言类库设计,同时结合开发工具visualstudio2010、sourceinsight辅助编辑器,并使用了大量封装类进行数据库设计,从而使得系统开发效率高、易维护、易扩展。
前言
随着企业信息化和工业自动化的不断发展,国家经济战略的转型,人民生活水平不断提高,尤其是餐饮行业大量的消费群体不断产生。特别是中小型餐馆缺少信息化流程化管理,很多中小餐馆还在用90年代DOS界面的管理系统。界面不但不美观而且操作起来还很繁琐,这与现代提倡的傻瓜式操作相差甚远。所以一个好的餐饮管理系统应该能够为用户提供优美的图形管理界面和简单快捷的查询手段。但又因为传统的餐饮管理系统是以人为主体的,需要很多人力、物力、财力,且执行效率不佳,在系统运营时也可能产生人为的失误,以至于餐饮管理工作既繁琐又不利于分析企业的经营状况。
作为计算机应用的一部分,使用计算机对餐饮信息进行管理,具有人工管理所无法比拟的优点。例如统计结账快速、安全保密性好、可靠性高、存储量大、寿命长、成本低等。这些优点能够极大的提高餐饮管理的效率,增强餐饮业的竞争力,同时也是企业科学化、信息化、流程化与世界接轨的重要部分。近几年来,作为我国第三产业中一个传统服务性行业,餐饮业的发展一直保持强劲的增长势头,营业规模以每年18%左右的速度增长,是GDP增幅的2倍。2013年产业规模首次突破2万亿大关,预计2014年将达到2.38万亿。良好的发展态势给优质的餐饮企业提供了巨大的发展空间。然而,在餐饮行业高速发展的同时,原材料成本升高、劳动力成本提升、租金成本上涨、管理人才匮乏、成本控制困难等多方面问题日益凸显,传统的管理、经营模式遭遇严峻挑战。如何迅速由传统的“粗放式、模糊式、经验式经营”向“精细化、流程化、规模化经营”转型,成为整个餐饮行业需要面对的问题.
第一章概述
1.1本课题的研究目的
餐饮管理系统也是典型的管理信息系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发以及账目等自动化管理这几个方面。该系统中,应用SQLServer2008数据库管理系统、SQL语言原理、winfrom应用程序设计,A数据库技术,采用成熟的C/S(客户/服务器端)结构,根据分析和讨论,实现餐馆订餐管理,提供与用户交互的界面,完成餐馆餐饮管理系统的设计和开发。
根据该系统的具体情况,应能完成以下功能:
(1)前台管理:开台管理、客人买单、结账数据分析;
(2)基础信息管理:餐具信息设置、酒水信息设置、菜谱信息设置、房间台号管理、商品基础信息登记;
(3)服务管理:点菜、上单下单、退菜等;
(4)系统管理:系统维护向导、权限管理、数据备份、帮助说明;
另外,餐饮管理系统要确保信息安全,以系统安全为主要目标,保护系统资源免受恶意的毁坏、替换、盗窃和丢失。其系统资源包括:硬件设备、存储介质、软件、数据等。具体来说,应达到以下安全要求:
(1)保密性,机密或敏感数据在存储、处理、传输等过程中要完全保密,确保仅授权用户在授权后才能进行查询、删除及修改等操作;
(2)完整性,保证系统中的信息处于一种完整和未损害的状态,防止因非授权访问,部件故障或其他人为错误而引起的信息篡改、破坏或丢失。
(3)可靠性,必须保障系统在复杂的网络环境下能够提供持续、稳定、可靠的服务。
1.2国内外相关研究状态
随着信息化技术的日益普及,餐饮这样的传统行业也越来越多的采用信息技术来管理业务,市场上餐饮管理软件正处于百花齐放、百家争鸣的阶段。
目前市场上大多数餐饮软件是基于WINDOWS操作系统的,也有部分餐饮软件考虑到版权的问题,采用LINUX操作系统;又比如,系统数据库,有ACCESS、SYBASE、MYSQL、SQLSERVER等,对于餐饮系统来说,采用什么数据库与餐厅的规模比较相关,较小的餐厅可以采用比较简单的数据库如ACCESS,这样使用维护都可以做的比较简单,而规模大的餐厅就应该用SQLSERVER这样的数据库,可以保障数据比较安全、系统比较稳定,但同时也要求有专门的系统管理员来维护。还有,数据的录入通常有三种方式,一是基于普通电脑,二是基于触摸屏,三是采用无线点菜系统,而无线技术又有基于红外技术和基于无线网络的技术。从目前的发展趋势看,餐饮系统越来越多的采用触摸屏,而无线技术正在逐步成熟起来。
在国内,餐饮软件的发展也正处于蓬勃发展的时期,如北京天良软件,它是一家以软件开发、销售为主营方向的技术开发型企业。天良软件立足于餐饮及酒店客房管理市场,致力于为客户提供一流的产品及服务,企业下设市场拓展部、产品研发部、公关策划部、客户服务部等主要职能部门。
在国外发展比较成熟的软件有龙腾触摸屏点菜系统,“龙腾餐饮管理系统”软件采用了独特的组网技术,以Window为操作平台,全32位应用软件系统,功能在国内处于领先地位。网络系统是以Windows搭成的对等网络,简单实用、稳定可靠,保证企业非常迅速地把信息传递到各个点。这个系统适用于快餐企业、西餐、火锅有勾划式菜单的餐饮企业,中高档中餐可以配合其他点菜设备一起使用这个系统。
1.3研究内容和主要做的工作
本文针对目前国内外的研究现状,运用winfrom、等技术,以桌台管理模块为实例,研究基于c/s架构的餐饮管理系统的实现。主要完成以下几方面的任务:
(1)对现代国内外企业信息管理的基本理论和基本思想,以及信息化管理的一些重要作用、发展趋势等进行深入研究,加强国内企业对信息管理理论方面的理解,并为餐饮管理系统的设计和实现建立良好的理论基础。
(2)分析目前国内外信息管理的研究应用现状,剖析我国餐饮管理系统在实际应用中存在的一些问题,提出开发餐饮管理系统要融入到面向对象中的思想。
(3)深入探讨基于.net的餐饮管理系统的体系结构设计、开发方法和实现技术等问题。并对餐饮管理系统进行需求分析和数据流程分析。
(4)以桌台管理为实例进行开发,实现桌台管理的一些主要功能,给基于.net的餐饮管理系统的开发提供了一个好的思路。
第二章工具的介绍
2.1开发平台和工具的简介
2.1.1
【.NETFramework4.0简介】
微软公司自从发布.NETFramework1.1以来,已历经了4个版本。微软不断地改善原有版本的缺陷和不足,不断地推出新的功能,到现在的4.0版本,已经成为了一个功能强大的应用程序开发平台,.NETFramework提供了一整套应用程序开发平台,它实际上由一大堆技术组合而成,这些技术彼此协作,能为开发人员提供无限的可能。归根结底,.NETFramework由如下几大部分组成。.NET语言:包括VisualBasic.NET、C#、JScript.NET、J#和C++等。
(通用语言运行时)(CLR):提供所有.NET程序的执行引擎,并为这些应用程序提供自动化服务,比如安全性检查、内存的管理和应用程序的优化等。
(.NET框架类库):包含大量内置的功能函数,使应用程序的开发人员可以更轻松地使用它提供的功能来实现应用程序的开发。这些类库被组织为几个技术集,比如ASP.NET、WindowsForms、WPF、WCF、WF、Silverlight、网络编程等。VisualStudio:功能强大,使用简便的集成化开发环境,具有一整套高效的功能集合和调试特性。
2.1.2【SQLSERVER2008的简介】
SQLServer2008在Microsoft的数据平台上发布,帮助您的组织随时随地管理任何数据。它可以将结构化、半结构化和非结构化文档的数据(例如图像和音乐)直接存储到数据库中。SQLServer2008提供一系列丰富的集成服务,可以对数据进行查询、搜索、同步、报告和分析之类的操作。数据可以存储在各种设备上,从数据中心最大的服务器一直到桌面计算机和移动设备,您可以控制数据而不用管数据存储在哪里。
SQLServer2008允许您在使用Microsoft.NET和VisualStudio开发的自定义应用程序中使用数据,在面向服务的架构(SOA)和通过MicrosoftBizTalkServer进行的业务流程中使用数据。信息工作人员可以通过他们日常使用的工具直接访问数据。SQLServer2008提供一个可信的、高效率智能数据平台,可以满足您的所有数据需求[6]。
这个平台有以下特点:
(1)可信任的——使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。
(2)高效的——使得公司可以降低开发和管理他们的数据基础设施的时间和成本。
(3)智能的——提供了一个全面的平台,可以在你的用户需要的时候给他发送观察和信息。
2.1.3【C#语言介绍】
C#语言是从C和C++语言演化而来的,是一种简单、现代、面向对象且类型安全的编程语言。C#具备了C++固有的强大能力,同时也吸收了Java和Delphi等语言的特点和精华,是目前进行.NET开发的首选语言。
C#(Csharp)是微软对这一问题的解决方案。C#是一种最新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于Microsoft.NET平台的应用程序,Microsoft.NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。
正是由于C#面向对象的卓越设计,使它成为构建各类组件的理想之选——无论是高级的商业对象还是系统级的应用程序。使用简单的C#语言结构,这些组件可以方便的转化为XML网络服务,从而使它们可以由任何语言在任何操作系统上通过Internet进行调用。
最重要的是,C#使得C++程序员可以高效的开发程序,而绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。
2.2c#语言的详细介绍
2.2.1【效率与安全性】
新兴的网络经济迫使商务企业必须更加迅速的应对竞争的威胁。开发者必须不断缩短开发周期,不断推出应用程序的新版本,而不仅仅是开发一个“标志性”的版本。C#在设计时就考虑了这些问题。它使开发者用更少的代码做更多的事,同时也不易出错。
2.2.2【支持现有的网络编程新标准】
新的应用程序开发模型意味着越来越多地解决方案依赖于新出现的网络标准,例如HTML,XML,SOAP等。现存的开发工具往往都是早于Internet出现的,或者是在我们所熟知的网络还处于孕育期时出现的。所以,它们一般无法很好地支持最新的网络技术。C#程序员可以在Microsoft.NET平台上事半功倍的构建应用程序的扩展框架。C#包含了内置的特性,使任何组件可以轻松转化为XML网络服务,通过Internet被任何操作系统上运行的任何程序调用。更突出的是,XML网络服务框架可以使现有的XML网络服务对程序员来说就和C#对象一样。这样,程序员就可以方便地使用他们已有的面向对象的编程技巧来开发利用现有的XML网络服务。还有一些精细的特性,使得C#成为一流的网络编程工具。例如,XML正逐渐成为在网络上传输结构化数据的标准。这种数据集合往往非常小。为提高性能,C#允许把XML数据直接映射到struct数据类型,而不是class。这样对处理少量的数据非常有效。
2.2.3【消除大量程序错误】
即使是专家级的C++程序员也常会犯一些最简单的小错误——比如忘了初始化变量,但往往就是这些小错误带来了难以预料的问题,有些甚至需要很长时间来寻找和解决。一旦一个程序作为产品来使用,就算最简单的错误纠正起来也可能要付出极其昂贵的代价。
C#的现代化设计能够消除很多常见的C++编程错误。例如:
(1)资源回收减轻了程序员内存管理的负担。
(2)C#中变量由环境自动初始化。
(3)变量的类型安全的。
这样,程序员编写与维护那些解决复杂商业问题的程序就更方便了。
2.2.4【对版本的更新提供内在的支持降低了开发成本】
更新软件组件是一项很容易出错的工作,因为代码的修改可能无意间改变原有程序的语义。为协助开发者进行这项工作,C#为版本的更新提供内在的支持。例如,方法重载必须显式声明。这样可以防止编码错误,保证版本更新的灵活性。还有一个相关的特性就是对接口和接口继承的内在支持。这些特性使得C#可以开发复杂的框架并且随着时间不断发展更新它。
总体来说,这些特性使得开发程序项目的后续版本的过程更加健壮,从而减少后续版本的开发成本。
2.2.5【商业过程和软件实现的更好对应】
企业的商业计划要付诸现实,必须在抽象的商业过程和实际的软件实现之间建立紧密地对应。不过大多数语言都很难做到这点。例如,如今的程序员们一般使用代码注释来注明哪个类对应于某个抽象的商业对象。
C#语言允许类型定义的,扩展的元数据。这些元数据可以应用于任何对象。项目构建者可以定义领域特有的属性并把他们应用于任何语言元素-类,接口等等。然后,开发人员可以编程检查每个元素的属性。这样,很多工作都变得方便多了,比如编写一个小工具来自动检查每个类或接口是否被正确定义为某个抽象商业对象的一部分,或者只是创建一份基于对象的领域特有属性的报表。定制的元数据和程序代码之间的紧密对应有助于加强程序的预期行为和实际实现的之间的对应关系。
2.2.6【扩展交互性】
作为一种自动管理的,类型安全的环境,C#适合于大多数企业应用程序。但实际的经验表明有些应用程序仍然需要一些底层的代码,要么是因为基于性能的考虑,要么是因为要与现有的应用程序接口兼容。这些情况可能会迫使开发者使用C++,即使他们本身宁愿使用更高效的开发环境。
C#采用以下对策来解决这一问题:
(1)内置对组建对象模型(COM)和基于Windows的API的支持;
(2)允许有限制地使用纯指针(NativePointer)。
在C#中,每个对象都自动生成为一个COM对象。开发者不再需要显式的实现IUnknown和其他COM接口.这些功能都是内置的.类似的,C#可以调用现有的COM对象,无论它是由什么语言编写的。
C#包含了一个特殊的功能,使程序可以调用任何纯API。在一段特别标记的代码中,开发者可以使用指针和传统C/C++特性,如手工的内存管理和指针运算。这是其相对于其它环境的极大优势。这意味着C#程序员可以在原有的C/C++代码的基础上编写程序,而不是彻底放弃那些代码。
无论是支持COM还是纯API的调用,都是为了使开发者在C#环境中直接拥有必要的强大功能。
第三章系统总体设计
3.1餐饮管理系统结构框图
餐饮管理系统功能结构如图3.1所示
本系统主要包括以下几个功能模块,基础信息、系统维护、系统设置、辅助工具、帮助.
基础信息模块包括桌台职员信息的管理,系统维护包括系统权限,系统备份与恢复等功能、系统设置包括密码修改及系统锁屏等,辅助工具包括餐饮管理系统常用的工具如计算器、日历、及记事本,帮助模块主要介绍系统常用工能及使用。
餐饮管理系统
基础信息
退出
系统设置
系统维护
辅助工具
退出系统
职员
信息
桌
台
信息
锁定系统
口令设置
系统备份
系统恢复
权限管理
计事本
计算
器
日历
解锁
修改密码
恢复数据库
备份数据库
修改权限
查询
删除
修改
添加
图3.1餐饮管理系统结构图
3.2数据库结构设计
tb_food(商品信息表)用于保存所有商品信息,如表3.2.1所示
字段名
数据类型
长度
主键
描述
ID
int
4
是
系统编号
foodty
char
10
否
类别编号
foodnum
char
10
否
商品代号
foodname
vchar
50
否
商品名称
foodprice
decimal
9
否
商品价格
表3.2.1商品信息表
tb_foodtype(商品类别信息表)用于保存商品类型信息,如表3.2.2所示
字段名
数据类型
长度
主键
描述
ID
int
4
是
系统编号
foodtype
vchar
50
否
类别名称
表3.2.2商品类别信息表
tb_Guestfood(顾客消费信息表)用于保存顾客消费信息,如表3.2.3所示
字段名
数据类型
长度
主键
描述
ID
int
4
是
系统编号
foodnum
char
10
否
商品代号
foodname
vchar
10
否
商品名称
foodsum
vchar
10
否
消费数量
foodprice
decimal
9
否
商品价格
waitername
vchar
50
否
操作员姓名
beizhu
vchar
50
否
备注
zhuotai
char
10
否
消费桌台
datatime
vchar
50
否
消费时间
表3.2.3顾客消费信息表
tb_Room(桌台信息表)用于保存所有桌台信息,如表3.2.4所示
字段名
数据类型
长度
主键
描述
ID
int
4
是
系统编号
Roomname
char
10
否
桌台名称
RoomJC
char
10
否
桌台简称
RoomBJF
decimal
10
否
桌台包间费
RoomWZ
char
9
否
桌台位置
RoomZT
char
50
否
桌台状态
RoomType
char
50
否
桌台类型
RoomBZ
vchar
10
否
桌台备注
RoomQT
vchar
50
否
桌台其它
GuestName
vchar
50
否
顾客姓名
ZhangdanDate
vchar
50
否
开台时间
Num
int
4
否
顾客人数
WaiterName
vchar
50
否
操作员姓名
表3.2.4桌台信息表
tb_User(用户信息表)用于保存系统用户信息,如表3.2.5所示
字段名
数据类型
长度
主键
描述
ID
int
4
是
系统编号
UserName
char
10
否
登录名
UserPwd
char
10
否
密码
power
vchar
10
否
权限
表3.2.5用户信息表
tb_Waiter(职员信息表)用于保存所职员信息,如表3.2.5所示
字段名
数据类型
长度
主键
描述
ID
int
4
是
系统编号
WaiterName
char
10
否
职员姓名
CardNum
char
10
否
身份证号
WaiterNum
vchar
10
否
职员编号
Sex
char
10
否
性别
Age
char
10
否
年龄
Tel
vchar
50
否
电话
表3.2.5职员信息表
3.3餐饮管理系统的界面设计
登录窗体界面如图3.3.1所示在登录窗体中输入用户名密码后,单击登陆按钮或回车键即可进入系统主窗体.
图3.3.1为登录窗体界面
主窗体界面如图3.3.2所示,主窗体主要包括以下几个功能,菜单栏、状态栏、和工作区.
图3.3.2为主窗体界面
桌台信息窗体如图3.3.3所示,桌台窗体主要是对桌台进行增删改查等操作。
图3.3.3为桌台信息窗体
职员信息窗体如图3.3.4所示,职员窗体主要管理餐厅员工档案。
图3.3.4是职员信息窗体
权限管理窗体如图3.3.5所示,分为经理、管理员、用户三种可任意修改。
图3.3.5权限管理窗体
数据备份窗体如图3.3.6所示,对数据进行备份防止数据丢失。
图3.3.6数据备份窗体
修改密码窗体如图3.3.7所示,可对所有权限用户密码进行修改。
图3.3.7修改密码窗体
3.4系统业务流程图
系统业务流程图如图3.4所示
该图主要描述了系统从登陆到进入系统主窗体相关权限的管理
是
是
系统设置
基础信息
系统维护
帮助
退出
辅助工具
系统主窗体
是否管理员
是否登录
系统
登录
否
否
图3.4为餐饮系统业务流程图
第四章餐饮系统详细设计
4.1登录模块的设计
为了使系统的安全性得到保障,大多数系统都开发登录模块。只有通过登录模块,才能对登录用户进行验证,只有系统的合法用户才可以进入系统的主界面。这也是设计餐饮管理系统之前考虑的问题。
4.1.1登录模块技术分析
(1)运行本系统的登录模块,用户只需输入用户名和密码,单击“登录”按钮即可进行验证。登录模块以登录的用户名和密码作为搜索条件,在数据库中进行查询。
(2)当用户名和密码之后,还可以按Enter键登录系统.
(3)单击“取消”按钮,退出系统登录
登录流程图,如图4.1.1所示
开始
输入用户名密码
密码是否正确
进入系统主界面
判断用户权限
N
Y
图4.1.1为登录模块流程图
4.2主窗体模块设计
餐饮系统中主窗体由3个部分组成。第一部分是位于主窗体模块上端的系统菜单,主要用于连接系统功能菜单。第二部分是位于主窗体模块中间的桌台显示,主要用于显示餐厅中所有的桌台情况,包括桌台是否已使用、已使用桌台的客人数量等信息,方便用户对桌台的管理。第三部分是位于主窗体模块下端的状态栏,主要用于显示系统当前状态信息。
双击某个桌台,弹出桌台基本信息窗体,用于显示此桌台的详细信息。
在某个桌台上单击鼠标右键,用户可以在弹出的快捷菜单中选择开台、取消开台、加菜、消费查询、和结账等命令。
选择主窗体模块菜单栏中的某个命令用户可以打开相应的窗体。
在主窗体模块下端的状态栏中显示当前登录的用户名、用户权限、登录时间等信息
主窗体流程图,如图4.2.1所示
开始
权限判断
主界面
管理员
经理
服务员
基础信息
辅助工具
系统维护
系统设置
帮助
退出
图4.2.1主窗体流程图
4.3开台模块设计
当顾客要进行消费时,首先要看一下是否还有可用的桌台,如果还有空闲的桌台,那么就要为顾客开台,只有在开台之后,才能为顾客点菜、查询金额结账,所以开台模块在整个系统中是非常重要的。(开台模块用于对指定的桌台进行操作)在某个桌台上选择其悠久菜单中的开台命令,将根据该桌台的名称弹出相应的开台窗体,在开台单窗体中用户可以对桌台编号、账单日期、顾客名、用餐人数、服务员和备注进行录入或更高。数据录入修改完毕后,单击保存按钮完成开台单的操作。
顾客点菜
是否开台
点菜
用餐
结账
N
Y
开台流程图,如图4.3.1所示
图4.3.1为开台模块流程图
4.4点菜模块设计
为顾客选定好桌台,并且开台之后,会根据顾客的需要点菜或购买茶水烟酒之类的消费品,在点菜模块中会显示餐厅特有的一下菜系,用户可以对不同的菜系进行选择。
当用户双击某个菜系时,将在右侧显示该菜系的详细信息,以便用户能够准确地选择。
为了保证消费商品数量文本框中的数据必须为数字,在文本框的中需要对输入的数据进行验证。
当用户更改消费商品的数量时,该商品的总价会随之改变.
当点菜完毕后,单击保存按钮可以对顾客消费的菜系进行保存,以便在结账时对消费金额进行查询。
点菜流程图,如图4.4.1所示
N
N
N
N
Y
Y
Y
提交订单
提交结果
字段校验
字段校验
添加订单
删除菜品
字段校验
添加菜品
点菜管理
Y
结束
图4.4.1为点菜流程图
4.5结账模块设计
顾客消费完毕后,需要对顾客消费清单进行统计,即计算出消费总额,这些都是通过结账模块实现的,结账模块的主要功能是当顾客每次消费时将顾客消费的项目添加到数据库中,在用户结账时通过对数据的查询,检索出顾客本次消费的商品名称及价格,然后计算出总额.(如果输入的金额小于消费的金额,会弹出金额不足的提示信息)
当窗体加载时,首先会显示结账的桌台名称,然后通过桌台名称检索出消费的所有账目.
当管理员在收银文本框中输入顾客支付的金额后,系统将自动计算出退还顾客的金额。
当顾客支付了消费金额后,单击结账按钮完成对顾客消费的结账操作,同时将顾客所在的桌台状态设置为待用。
结账流程图,如图4.5.1所示
保存菜单
结账
点菜
选台
顾客
点菜单
图4.5.1为结账流程图
第五章餐饮管理系统的实现
5.1系统编码
5.11主窗体模块控件
开发主窗体模块中的桌台显示时,主要是通过ListView控件实现的,系统首先从数据库中检索出每个桌台状态,然后根据不同的状态通过ListView控件的Items属性中的Add()方法向控件中添加项目集合.
//为listView控件添加项目
privatevoidfrmMain_Activated(objectsender,EventArgse)
{
lvDesk.Items.Clear();//清空listBox控件
SqlConnectionconn=BassClass.DBConn.CyCon();//连接数据库
conn.Open();//打开数据库
SqlCommandcmd=newSqlCommand("select*fromtb_Room",conn);
sdr=cmd.ExecuteReader();
while(sdr.Read())
{
stringzt=sdr["RoomZT"].ToString().Trim();//取出桌台当前状态
}
conn.Close();//关闭数据库连接
}
//根据不同的状态为listView添加不同的图片
privatevoidAddItems(stringzt)
{
if(zt=="使用")
{
lvDesk.Items.Add(sdr["RoomName"].ToString(),1);//如果当前状态是使用就添加索引为1的图片
}
else
{
lvDesk.Items.Add(sdr["RoomName"].ToString(),0);//否则就添加索引为0的图片
}
}
5.12点菜模块主要控件
系统的点菜模块主要利用了TreeView控件显示所有的菜系,TreeView控件可以为用户显示节点层次结构,就像在windows操作系统的资源管理器左窗格中显示文件盒文件夹一样。树视图中的各个节点都可以包含其它节点。用户可以按展开或折叠方式显示父节点或包含子节点的节点。另外,通过将树视图的checkboxes属性设置为true,可以再节点旁边显示复选框,用户可以通过将节点的checked属性设置为true或false来选中或消除节点.
//当窗体加载时展开树形结构
privatevoidfrmDC_Load(objectsender,EventArgse)
{
this.Text=RName+"点/加菜";//设置窗体显示问题
TreeNodenewnode1=tvFood.Nodes.Add("锅底");
TreeNodenewnode2=tvFood.Nodes.Add("配菜");
SqlConnectionconn=BassClass.DBConn.CyCon();
conn.Open();
SqlCommandcmd=newSqlCommand("select*fromtb_foodwhere
foodty='1'",conn);
SqlDataReadersdr=cmd.ExecuteReader();
while(sdr.Read())
{
newnode1.Nodes.Add(sdr[3].ToString().Trim());//为锅底添加子节点
}
sdr.Close();
cmd=newSqlCommand("select*fromtb_foodwherefoodty='2'",conn);
sdr=cmd.ExecuteReader();
while(sdr.Read())
{
newnode2.Nodes.Add(sdr[3].ToString().Trim());//为配菜添加子节点
}
sdr.Close();
cmd=newSqlCommand("select*fromtb_foodwherefoodty='3'",conn);
sdr=cmd.ExecuteReader();
while(sdr.Read())
{
newnode3.Nodes.Add(sdr[3].ToString().Trim());//为烟酒添加子节点
}
sdr.Close();
cmd=newSqlCommand("select*fromtb_foodwherefoodty='4'",conn);
}
}
5.2系统调试
调试的关键是发现错误,因为只要发现错误,纠正就不难做到。为了有效地发现错误,我们小组采用了两种调试方法:静态调试法、动态调试法。
(1)静态调试法
用人工的方式对文档、程序、数据等资料进行审核,找出其中的错误。这种方法不用运行程序,完全靠调试人员从文字资料的字里行间中进行检查,因而是一种“静态的”调试方法。
(2)动态调试法:
通过程序系统的运行,在程序的“动态”执行中检查和发现错误。在正确掌握程序的功能与性能要求的情况下,采用测试用例对程序进行数据驱动下的动态测试。
我采用了静态调试和动态调试相结合的方法,经历了分调、联调和总调阶段,运用适当的测试用例,对系统进行了测试。经过系统测试,程序运行中出现的一些问题和难点已经一一得到解决,程序基本上实现了餐饮管理系统的要求。
5.3系统测试
1.测试范围
测试范围包括本软件所按键功能,包括添加、删除、修改、清空还有查询;以及有效输入和非法输入测试。
2.测试计划
2.1测试的各个阶段和划分模块情况
(1)单元测试:模块划分为点菜管理模块、开台管理模块、结账管理模块、主界面。
(2)集成测试:从主界面进入,再分别测试各个模块.
2.2环境和资源
Windowsxp;Microsoftvisualstudio2010;
3.各个模块测试过程的描述
3.1集成的顺序:从主界面分别集成点菜管理模块、开台管理模块、结账管理模块。
3.2模块群中各模块单元测试
点菜管理模块测试,如表5.3.1所示
测试功能
测试数据
输入数据
预期结果
实际结果
功能是否实现
输入合理性
查询
101
滋补
输入有效
显示(菜单号101)
菜名:鸳鸯数量1
是
合理
添加
201
凉菜
输入有效
显示输入信息
是
合理
删除
101
无
输入有效
删除以101为主键的信息
是
合理
浏览
101,201等
无
输入有效
可浏览全部信息
是
合理
表5.3.1
开台管理模块测试,如表5.3.2所示
测试功能
测试数据
输入数据
预期结果
实际结果
功能是否实现
输入合理性
查询
大厅-01
大厅-01
实现查询功能
显示桌台名称
是
合理
添加
包房-01
包房-01高级
将包房-01添加到桌台信息
显示添加信息
是
合理
删除
大厅-02
大厅-02
将大厅-02从桌台信息中删除
删除以2为主键的信ID
是
合理
修改
包房-07
VIP
桌台修改成VIP
显示修改后的内容
是
合理
结账管理模块测试,如表5.3.3所示
测试功能
测试数据
测试步骤
预期结果
实际结果
功能是否实现
输入合理性
结账功能
大厅-01桌台
点击当前桌台名称,输入余额值点击结账
点击结账按钮后准确的计算出所有菜品的价格
显示所点的菜价格之和并打95折
是
合理
表5.3.3
5.4系统试运行
5.4.1餐饮管理系统运行环境要求
硬件环境
设备名称
规格
参数
中央处理器
IntelCoreDuo双核以上
2.13GHZ
内存
DDR3代
2G以上
网卡
10/100Mbit
支持TCP/IP协议
硬盘空间
512M以上
软件环境
数据库管理系统
MicrosoftSQLServer2005以上版本
操作系统
WindowsXP(SP3)/WindowsServer2003
运行环境
Microsoft.NETFrameworkSDKv4.0
分辨率
最近效果1024x768像素
5.4.2配置sqlserver2008数据库
进入sqlserver2008数据库选择服务器名称为本机的地址身份验证选择sqlserver身份验证,登录名选择sa密码123123此步很重要否则程序无法打开.因为数据库连接程序就是这么写的.如图所示
图
5.4.3导入数据库
配置好数据库后,单击“连接”按钮进入数据库如图所示
图
现在数据库中的内容是空的,我们需要导入数据库备份文件,我们先选择李晨昊毕业设计\数据库文件夹下两个数据库文件如图所示,这两个文件分别是数据文件和备份文件.
图
接下来我们选择如图所示对象资源管理器中数据库,在数据库单击右键选择附加如图
图
单选附加操作后,单击添加按钮会弹出如图对话框,最后选择确定按钮。
数据库文件已经导入数据库中了。
图
5.4.4运行餐饮管理系统
打开\李晨昊毕业设计\程序\文件夹中的CYMO.EXE程序会先进入登录窗体
输入用户名和密码后单击登录按钮,即可进入系统主界面.(在这里我们默认用户名soft密码为123)如图所示
图
进入系统主界面后,我们在某一桌台上右键单击“开台“按钮(如图所示)会弹出开台对话框(如图)
图
图
在开台对话框中输入用餐人数后点击保存按钮,在主界面中被开的桌台会显示如图状态(说明此桌台以被开启)
图
右键单击图会弹出菜单项选择点菜,即可弹出点菜窗口如图
在左侧菜品类别中选择所要选的菜名,然后点击右侧文本框中按钮保存,菜单保存完毕后点击退出按钮,回到主窗体。
图
在主窗体中我们可以查看当前桌台菜单消费记录,我们还是在当前桌台单击右键选择消费查询即可弹出消费查询窗体。如图所示
图
当顾客吃完餐后,我们可以为客户结账单,同样在主窗体选中当前桌台然后右键弹出菜单选择结账一项如图会弹出结账窗口如图
图
图
在收银文本框中输入用户给的钱数,单击结账按钮后找零标签中会显示找回的零钱.
试运行其它模块我就不再叙述了,因为功能模块太多,我不可能把所有模块都一一讲述,反正都已经反复测试过了,当然如果你有兴趣可以打开程序自己看看,好了本章就到这里,(预知后事如何,请看下章术分解.)
第六章系统总结
6.1系统特点
本系统属于小型的餐饮管理系统,是运行在windowsxp操作系统上基于.net框架c#语言开发的,系统采用C/S架构即(客户端/服务器),系统主要有以下几个特点:
采用人机交互的方式,界面美观友好信息查询灵活、方便,数据存储安全可靠可以备份数据.
可以对餐厅顾客开台、点菜/加菜、账目查询和结账等操作.
对用户输入的数据进行检验,尽可能避免人为的失误造成数据错误.
实现对消费账目自动结算
对消费的历史记录进行查询,支持模糊查询。
系统采用面向对象程序设计,最大限度地实现代码易维护性,易扩展性、质量高、效率快.
6.2系统的不足与改进
经过长达两个月的精心设计,餐饮管理系统中出现的问题全部都Pass掉了,接下来就是总结我在开发设计过程中种种问题,为以后的项目开发积累实质性的经验。
(1)数据库表中缺少必备的字段软件系统的实现,不仅仅是考虑当前的数据,更要考虑以后的数据变化,只有考虑到未来的变化,我们的数据库才能够忠实的记录历史。改进方式:在软件的需求分析设计过程中,应该考虑系统未来可能发生的变化,全面了解待开发软件的操作流程。
(2)输入数据校验数据校验貌似很简单,但是要真正的做到对所有输入的数据做到校验也是一件复杂的事,勿以善小而不为。
(3)事务处理机制在程序开发过程中,不单单要考虑正常使用情况,还应当要考虑特殊情况,突然断电,死机等原因。改进方式:采用事务处理,提高程序的正确性。
6.3展望
远程查询:总经理可通过INTERNET或手机在全世界任何地方实时了解餐馆信息,这一功能是C/S结构所不具备的。
安全可靠的系统:用户通过浏览器访问程序,不需对服务器有特别读写权限,操作员无法用WINDOWS删除应用程序和数据。
数据库免安装:数据库无需单独安装,安装软件时数据库自动安装完成。相对行业内需要专门单独安装一次数据库的软件要方便的多。
客户端免安装:免维护:软件只需在服务器端安装一次,客户端无须再安装客户端软件.只需访问预先设置好的服务器地址即可登录使用。
天生支持集团化:因其B/S结构的特点,让分店、连锁店的联网变得极其简单,您不再需要VPN等虚拟专用网技术,可节约大笔费用。
分店实现数据零存储:所有软件程序,数据都可安装在总部计算机上,分店实时调用总部数据,实现本地操作(如点菜,打印等工作)。使得数据更加安全,私密。
重做系统,软件免安装:因电脑硬件原因不得不重新做系统时,软件无需重新安装,开机启动服务即可使用。所存储的数据无需备份(如
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年合伙组建有限责任公司的协议6篇
- 2024年危险废弃物处理合同3篇
- 2024年二零二四年度新型建筑项目履约担保协议模板3篇
- 2024年度酒类企业品牌重塑与营销策划合同2篇
- 2024版软件源代码开发保密合同3篇
- 2024年农药产品进口代理服务合同范本3篇
- 2024年客厅吊灯销售协议6篇
- 2024合伙人股份合作的协议书
- 2024年度预算管理协议条款明细版B版
- 2024年工业尿素原料供应合作协议2篇
- 期末 (试题) -2024-2025学年人教PEP版英语五年级上册
- JGJ_T139-2020玻璃幕墙工程质量检验标准(高清-最新版)
- 2022高端新款个人简历模板(可编辑)2 (9)
- 下穿新长铁路箱体顶进施工技术方案
- 肺结核CT征象分析PPT课件
- 甘肃省庆城县马莲河东川张家沟至斩山湾段护岸工程初步设计报告
- 内蒙古包头市天彩稀土技术责任有限公司办公楼工程毕业设计
- 动物防疫条件合格证申请自查表
- 外企年终总结英文版
- 一种电机顶丝的研究与应用
- 松下传感器FX501手册
评论
0/150
提交评论