毕业设计(论文)基于VC++农庄餐饮管理系统设计.doc

上传人:仙人指路1688 文档编号:3980052 上传时间:2023-03-30 格式:DOC 页数:42 大小:492KB
返回 下载 相关 举报
毕业设计(论文)基于VC++农庄餐饮管理系统设计.doc_第1页
第1页 / 共42页
毕业设计(论文)基于VC++农庄餐饮管理系统设计.doc_第2页
第2页 / 共42页
毕业设计(论文)基于VC++农庄餐饮管理系统设计.doc_第3页
第3页 / 共42页
毕业设计(论文)基于VC++农庄餐饮管理系统设计.doc_第4页
第4页 / 共42页
毕业设计(论文)基于VC++农庄餐饮管理系统设计.doc_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《毕业设计(论文)基于VC++农庄餐饮管理系统设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于VC++农庄餐饮管理系统设计.doc(42页珍藏版)》请在三一办公上搜索。

1、 设计题目:_ 基于VC+ 农庄餐饮管理系统 的设计与实现 系 : 信息与机电工程系 专业年级:_电子信息工程2007级 _ _学 号:_ _姓名:_ _ _ _指导教师、职称:_ _ 2011 年 5 月 14 日 目录目录2Abstract41 引言52 系统总体设计62.1系统功能分析62.2 系统功能模块设计62.3开发系统及其工具的选择8Visual C+介绍8SQL Server简介83 数据库设计93.1 系统流程分析93.2数据库概念结构设计103.3数据库逻辑结构设计113.4数据库结构的实现143.5数据库的连接184 功能模块实现214.1登录模块设计214.1.1 模块

2、的初始化224.1.2 登录验证234.2 前台销售管理模块设计244.3 统计模块设计304.4 基础资料模块设计335 结论41参考文献:42致谢42 摘 要随着我国市场经济的快速发展,各行业都呈现出生机勃勃的发展景象,其中餐饮业的发展尤为突出。但在快速发展的同时,餐饮业在日常经营管理中仍普遍采用手工管理方式,整体科技含量低。随着餐饮企业规模和数量的不断增长,手工管理模式无论是在工作效率、人员成本还是提供决策信息方面都已难以适应现代化经营管理的要求,因此制约了整个餐饮业的规模化发展和整体服务水平的提升。 本论文主要针对中小型饭店餐饮管理中的一些问题,将其与计算机信息管理系统结合起来,其开发

3、主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。前台我们采用功能强大的可视化开发软件VC+ 6.0开发设计主界面,利用SQL Server做为后台数据库。主要分成登录信息管理、前台信息管理、查询管理、营业设置与财务查询等五大功能模块,可以帮助餐饮企业处理日常工作业务,规范管理工作和操作流程,是餐饮行业的得力助手。另外,本餐饮管理系统具有强大的统计分析功能,可以帮助经营者分析企业的经营状况。系统运行后可大大提高现代餐饮管理水平和服务档次.创造可靠、高效、便捷、卫生的餐饮管理环境,最大限度降低餐饮管理运营成本,提高经营效益。关键词: 餐饮管理,VC+ 6.0,SQL ServerAb

4、stractWith the fast development of market economy, all areas of industry display fine development tendency, it is very outstanding in restaurant. But at the same time of the rapid development, in the daily manage of restaurant offen operate by hand, and only have low technology content. with the enl

5、argement of restaurant enterprise scale and count. Neither the efficient and the labor cost of manage the restaurant by hand nor the provide of strategy information could not meet the requirement, therefore, it restricted the whole restaurant enterprise scale and service development.This thesis main

6、ly directed to work out some problems of the small and medium-sized restaurant enterprises, it will be tied with computer information management, the mainly developing include the new-built and maintain of the background database and the developing of the forward application.I will using one powerfu

7、l and visualization software to developing the forward application, using SQL Server as its background database.The system included five function parts: login information management, forward information management, inquiring management, business management and finance management. This system could h

8、elp restaurant enterprises to process dialy affiairs, to standardize manage and operation procedure, its a great assistant. Otherwise, this system have powerful function, it can statistics and analysis the data, it help you to analysis the enterprise state of operation.After you run this system,it w

9、ill greatly inprove of restaurant enterprise management and service level. And set up a reliable,high efficiency, convenient and health restaurant manage environment. make maximal use of enerprise operation cost, inprove the business profit.keyword: restaurant menagement,VC+ 6.0,SQL Server1 引言由于餐饮业门

10、坎较低,家族式管理的颇多,特别是由于自身经验的缺乏或对餐饮行业管理理解的不够,在经营过程中会有各种各样难以预测的状况,公司运行的效率比较低下。许多企业争先恐后的上规模、上档次、比菜品、比服务、拼价格,使餐饮市场竞争激烈,但是许多农庄餐饮企业缺乏对市场的应变能力和灵敏的信息工具。据相关调查显示,大部分餐馆对于信息化管理水平的运用,目前仍处在初级摸索阶段。许多餐饮管理者,由于缺乏对于先进管理理念的理解,以及对信息化的认识和意识不够,再加上目光短浅舍不得投入,以致使餐馆的管理,至今仍停留在一个比较原始和落后的水平上,餐馆的发展因此很受限。特别是在现今网络经济的时代,许多餐饮企业还处在手工及半手工状态

11、,即使有计算机也只是当个点菜器和计算器用,并没有真正通过计算机系统来实现改造流程、强化管理、降低成本、堵漏节流等作用。本餐饮管理系统界面简单实用,可靠方便的,有助于餐饮企业通过规范运行流程,提高服务质量和管理效率,实现运行与服务流程的流畅与高效;另一方面,通过数据分析和流程控制,实现管理效益。该餐饮管理系统,具有手工管理所无法比拟的优点。例如:查找方便、保密性好、可靠性高、存储量大、寿命长、成本低、维护方便等。把计算机用于餐饮企业管理,可在很大程度上提高管理者分析和决策的科学性,提高经营管职水平,带来更多的顾客,使企业取得更好的经济效益。2 系统总体设计2.1系统功能分析 餐饮管理系统主要完成

12、功能如下:进入系统前需要身份验证、用户名、密码,输入无误方可进入系统。同时需要权限和角色管理,也就是普通员工进入之后的访问权限和部门经理的访问权限是不一样的,并且这些权限可以由系统管理员进行配置。对顾客的各项服务:如结账、打印账单、点菜、预订等。营业要素的设定:如菜单的管理、酒水饮料的数量记录、付款方式的设定、折扣的设定。员工资料的设置:如人员的基本信息、登录名称、密码。后台数据的整理:如账单的总体情况、点单的具体内容、会员消费的管理、欠费的记录和消除等。财务的统计:包括营业额、成本、利润的分析,酒菜的分析。2.2 系统功能模块设计 图1 系统功能模块示意图登录信息管理:包括对登录信息的验证及

13、修改两个部分。其中验证时需要权限的管理。系统中共有3种登陆权限和角色,分别是系统管理员、经理、操作人员。每种角色都可以设定自己的用户名及密码,但是要提升自己的权限则需要高一级的角色来进行操作,例如要将一个操作人员的权限提升到经理这一级别,就需要拥有经理或者系统管理员角色的人登陆后进行设定。登陆成功后必须将这个信息记录在数据库中,以便实现访问权限的控制。前台信息管理:主要是面对顾客进行操作的,具体的内容包括新开台、预订、买单。其中,新开台指的是通过输入桌号、菜名、折扣、付款方式等信息来确定一笔账单,它的应用场景是客人入座点菜完毕;预订指的是通过客户的一些基本信息,如联系方式、证件号、及预定时间来

14、确定一笔将来的菜单;买单场景包括计算实际金额和实付金额,获取账单及打印账单号等。查询管理:是前台信息管理模块的辅助模块,同样也适用于系统整个生命周期内,具体的内容包括食品管理、账单管理、餐桌使用及预订情况。食品查询最后的输出结果是酒菜名称、单价、库存数量等信息;账单管理的输出是桌号、账单号、酒菜信息、折扣率、付款方式、总金额及实付金额等;餐桌的查询包含使用查询和预约查询两类,其中预约查询能够查到的信息包括客人姓名、性别、证件号码、联系方式、预订的桌号、预订的就餐时间等。营业设置:是整个系统的基础模块,它定义和限制了数据在其他模块出现的内容和方式。包括系统中所有菜单的设定、定价、类别、库存等信息

15、。财务管理:只有经理和系统管理员可以进入,提供的服务包括销售信息的汇总和分析,即成本、利润及资源短缺和富余情况的查询分析;酒菜分析包括单价、进价和一些跟前台相关信息的收集和分析。2.3开发系统及其工具的选择运行平台:Windows xp/ Windows 2000。系统开发平台:Visual C+ 6.0。数据库管理系统软件:SQL Server 2000/SQL Server 2005。 Visual C+介绍 Visual C+式微软公司推出的软件开发工具,目前已成为国内最广泛的高级程序设计语言之一。同其它软件开发工具相比,Visual C+具有以下优点。 面向对象、可视化开发。提供了面向

16、对象的应用程序框架 MFC (Microsoft Foundation Class,微软基础类库),大大简化了程序员的编程工作,提高的模块的可重用性。Visaul C+提供了基于CASE技术的自动生成和维护工具- AppWizard、ClassWizard、Visual Studio、WizardBar等,帮助用户直观的、可视地设计程序的用户界面,方便地编写和管理各种类,维护程序源代码,从而提高了开发效率。 MFC 类库已经成为事实上的工业标准类库,得到了总多软件开发商的支持。另外,由于许多的开发商都采用Visual C+进行软件开发,这样用Visual C+ 开发的程序就于其他应用软件有许多

17、相似之处,易于学习和使用。 SQL Server简介 SQL Server是一个关系数据库管理系统,它最初是由Microsoft, Sybase和Ashton-Tate三家公司共同开发的于1988 年推出了第一个OS/2 版本,在Windows NT 推出后,Microsoft与Sybase在SQL Server的开发上就分道扬镳了,Microsoft将SQL Server移植到Windows NT系统上专注于开发推广SQL Server的Windows NT版本,Sybase则较专注于SQL Server在UNIX操作系统上的应用.Microsoft SQL Server以后简称为SQL S

18、erver或MS SQL Server 。 随着信息技术的发展,计算机处理数据的方式也发生着变化,文件管理系统数据库管理系统。Microsoft SQL Server是一个分布式的关系型数据库管理系统,具有客户机/服务器体系结构,采用了Transact-sql的sql语言在客户机与服务器间传递客户机的请求与服务器的处理结果。众所周知,SQL Server能够满足今天的商业环境要求不同类型的数据库解决方案。它一种应用广泛的数据库管理系统,具有许多显著的优点:易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性价比等。性能、可伸缩性及可靠性是

19、基本要求,而进入市场时间也非常关键。3 数据库设计3.1 系统流程分析 前面的分析中已经定义了系统各个功能模块,属于静态建模的范围。在系统运行时刻的动态模型应该由系统的流程决定。当用户登录系统后,可以拥有权限来进行备忘录详细信息编辑、类型信息编辑及查询等操作,具体流程图如图2。 图2 系统流程图企业基本信息:包括企业的名称等基本信息。用户基本信息:包括用户ID、姓名、登陆ID、登陆密码、职位、性别、出生日期、籍贯、员工编号、权限等信息。食物基本信息:包括的内容有ID、名称、折扣、价格、简称、交易码、类别码、数量等信息。 账单基本信息:包括的内容有ID、餐桌号、人数、开单人、开始时间、结束时间、

20、 状态显示、账单总额、实际支付金额、支付类别、折扣、点菜编号、点菜数量、菜式类别等信息。3.2数据库概念结构设计 图3 餐饮管理系统E-R图3.3数据库逻辑结构设计企业信息表(COMPANY)包含了企业的基本信息,这个基本信息将会显示在程序的状态栏中。表3-1 企业信息表列 名类 型长 度可否为空说 明COMPANYNAMENVARCHAR50NULL公司名称LOCATIONNVARCHAR50NULL地点 用户信息表(USERS)包括了系统中各个登录用户的具体信息,其中将对每个用户的权限进行管理和设定。表3-2 用户信息表列 名类 型长 度可否为空说 明IDINT4NOT NULL主键系统编

21、号NAMENVARCHAR50NULL姓名LOGINIDNVARCHAR50NULL登陆IDPSDNVARCHAR50NULL登陆密码TITLENVARCHAR50NULL职位SEXNVARCHAR50NULL性别HOMENVARCHAR50NULL籍贯EMPLOYNUMBERNVARCHAR50NULL员工编号POWERNVARCHAR50NULL权限字段DISCOUNTNVARCHAR50NULL折扣物品信息表(MATERIEL)存放了基本的食物的信息,系统模块中的查询功能大部分都要基于这个表进行操作。表3-3 物品信息表列 名类 型长 度可否为空说 明IDINT4NOT NULL主键系统

22、编号NAMENVARCHAR50NULL名称DISCOUNTSMALLINT2NOT NULL折扣PRICEREAL4NOT NULL售价PINYINNVARCHAR50NULL标识(拼音)SHOPCODENVARCHAR50NULL标识(代码)BARCODENVARCHAR50NULL标识STYLESMALLINT2NULL风格标识CLASSIDSMALLINT2NOT NULL类别标识SUPPLYSMALLINT2NULL数量CONTENTNVARCHAR50 NULL说明物品分类表(MATERIELCLASS)维护了一个物品的层次结构,主要用在对于物品的分类上,在界面中选择物品的分类树的

23、编辑就是对这个表进行的操作。表3-4 物品分类表列 名类 型长 度可否为空说 明IDINT4NOT NULL主键系统编号NAMENVARCHAR50NOT NULL名称DISCOUNTSMALLINT2NULL折扣PARENTNVARCHAR50NOT NULL父亲节点 支付方式表(PAYMODE)存放了关于支付方式和其他编号的映射关系。表3-5 支付方式表列 名类 型长 度可否为空说 明IDINT4NOT NULL主键系统编号NAMENVARCHAR50NOT NULL名称 支付明细表(PAYDETAIL)主要用于结账信息的打印,在结账模块中进行的数据访问操作主要基于该表进行。表3-6 支付

24、明细表列 名类 型长 度可否为空说 明BILLIDNVARCHAR50NOT NULL主键账单编号CLASSNVARCHAR50NOT NULL类别DISCOUNTNVARCHARNULLNULL折扣TOTALREAL4NOT NULL售价PINYINNVARCHAR50NULL标识(拼音)账单信息表(SALEBILL)记录了账单从开单开始一直到结账的生命过程中所有需要用到的信息,也是系统常用的表。表3-7 账单信息表列 名类 型长 度可否为空说 明IDINT4NOT NULL主键系统编号TABLENONVARCHAR50NULL桌号SALESNVARCHAR50NULL服务员编号TOTALR

25、EAL4NULL售价BEGINDATENVARCHAR50NULL开始时间ENDDATENVARCHAR50NULL结束时间DISCOUNTNVARCHAR50NULL折扣PEOPLESMALLINT2NULL人数FLOORNVARCHAR50NOT NULL楼层 出货明细表(SALEDETAIL)保存了系统整个生命周期内卖出的食品的详细记录,在查询模块中可以通过这个表对店里的物品卖出情况进行统计和分析。表3-8 出货明细表列 名类 型长 度可否为空说 明BILLIDNVARCHAR50NOT NULL主键账单编号MATERIELIDSMALLINT2 NULL物品编号ITEMCOUNTREA

26、L4NOT NULL数量ITEMTOTALREAL4NOT NULL物品总价CLASSIDSMALLINT2NULL类别编号MEMONVARCHAR50NULL备注ACTPRICEREAL4NULL实际售价3.4数据库结构的实现 可以通过SQLServer企业管理器来创建数据库,也可以通过SQL查询分析器执行SQL语句来创建数据库。/首先,判断要创建的表格的表格是否已存在,如果已经存在,则删去已有的表格,创建新的表格,如果不存在则直接创建该表格。if exists (select * from dbo.sysobjects where id = object_id(Ndbo.COMPANY)

27、and OBJECTPROPERTY(id, NIsUserTable) = 1)drop table dbo.COMPANYGOif exists (select * from dbo.sysobjects where id = object_id(Ndbo.MATERIEL) and OBJECTPROPERTY(id, NIsUserTable) = 1)drop table dbo.MATERIELGOif exists (select * from dbo.sysobjects where id = object_id(Ndbo.MATERIELCLASS) and OBJECTPR

28、OPERTY(id, NIsUserTable) = 1)drop table dbo.MATERIELCLASSGOif exists (select * from dbo.sysobjects where id = object_id(Ndbo.PAYDETAIL) and OBJECTPROPERTY(id, NIsUserTable) = 1)drop table dbo.PAYDETAILGOif exists (select * from dbo.sysobjects where id = object_id(Ndbo.PAYMODE) and OBJECTPROPERTY(id,

29、 NIsUserTable) = 1)drop table dbo.PAYMODEGOif exists (select * from dbo.sysobjects where id = object_id(Ndbo.SALEBILL) and OBJECTPROPERTY(id, NIsUserTable) = 1)drop table dbo.SALEBILLGOif exists (select * from dbo.sysobjects where id = object_id(Ndbo.SALEDETAIL) and OBJECTPROPERTY(id, NIsUserTable)

30、= 1)drop table dbo.SALEDETAILGOif exists (select * from dbo.sysobjects where id = object_id(Ndbo.USERS) and OBJECTPROPERTY(id, NIsUserTable) = 1)drop table dbo.USERSGO创建表COMPANYCREATE TABLE dbo.COMPANY (COMPANYNAME nvarchar (50) COLLATE Chinese_PRC_CI_AS NULL ,FLOORNUMBER nvarchar (50) COLLATE Chine

31、se_PRC_CI_AS NULL ) ON PRIMARYGO/使用SQL语句,根据各个表的属性,创建表格。创建表MATERIELCREATE TABLE dbo.MATERIEL (ID int NOT NULL ,NAME nvarchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,DISCOUNT smallint NOT NULL ,PRICE real NULL ,PINYIN nvarchar (50) COLLATE Chinese_PRC_CI_AS NULL ,SHOPCODE nvarchar (50) COLLATE Chines

32、e_PRC_CI_AS NULL ,BARCODE nvarchar (50) COLLATE Chinese_PRC_CI_AS NULL ,STYLE smallint NULL ,CLASSID smallint NOT NULL ,SUPPLY smallint NOT NULL ,OPTIONS nvarchar (50) COLLATE Chinese_PRC_CI_AS NULL ,CONTENT nvarchar (50) COLLATE Chinese_PRC_CI_AS NULL ,LARGESSITEM smallint NULL ,LARGESSCOUNT real N

33、ULL ,LARGESS smallint NULL ) ON PRIMARYGO创建表MATERIELCLASSCREATE TABLE dbo.MATERIELCLASS (ID int NOT NULL ,NAME nvarchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,DISCOUNT smallint NULL ,PARENT nvarchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ) ON PRIMARYGO创建表PAYDETAILCREATE TABLE dbo.PAYDETAIL (BILLI

34、D nvarchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,CLASS nvarchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,TOTAL real NULL ,DISCOUNT nvarchar (250) COLLATE Chinese_PRC_CI_AS NULL ,ACTTOTAL real NULL ,VALTOTAL real NULL ) ON PRIMARYGO创建表PAYMODECREATE TABLE dbo.PAYMODE (ID smallint NOT NULL ,NAME nva

35、rchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ) ON PRIMARYGO创建表SALEBILLCREATE TABLE dbo.SALEBILL (ID nvarchar (14) COLLATE Chinese_PRC_CI_AS NOT NULL ,TABLENO nvarchar (50) COLLATE Chinese_PRC_CI_AS NULL ,SALES nvarchar (50) COLLATE Chinese_PRC_CI_AS NULL ,BEGINDATE nvarchar (50) COLLATE Chinese_PRC

36、_CI_AS NULL ,ENDDATE nvarchar (50) COLLATE Chinese_PRC_CI_AS NULL ,STATUS nvarchar (50) COLLATE Chinese_PRC_CI_AS NULL ,TOTAL real NULL ,ACTTOTAL real NULL ,PAYMODE smallint NULL ,DISCOUNT nvarchar (50) COLLATE Chinese_PRC_CI_AS NULL ,FLOOR nvarchar (50) COLLATE Chinese_PRC_CI_AS NULL ,PEOPLES small

37、int NULL ) ON PRIMARYGO创建表SALEDETAILCREATE TABLE dbo.SALEDETAIL (BILLID nvarchar (14) COLLATE Chinese_PRC_CI_AS NOT NULL ,MATERIELID smallint NOT NULL ,ITEMCOUNT real NULL ,ITEMTOTAL real NULL ,CLASSID smallint NOT NULL ,OPTIONV nvarchar (250) COLLATE Chinese_PRC_CI_AS NULL ,LOCATION nvarchar (50) C

38、OLLATE Chinese_PRC_CI_AS NULL ,LARGESS nvarchar (50) COLLATE Chinese_PRC_CI_AS NULL ,MEMO nvarchar (50) COLLATE Chinese_PRC_CI_AS NULL ,ROWNO smallint NULL ,PRINTED nvarchar (50) COLLATE Chinese_PRC_CI_AS NULL ,ACTPRICE real NULL ) ON PRIMARYGO创建表USERSCREATE TABLE dbo.USERS (ID int NOT NULL ,NAME nv

39、archar (50) COLLATE Chinese_PRC_CI_AS NULL ,LOGINID nvarchar (50) COLLATE Chinese_PRC_CI_AS NULL ,PSD nvarchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,TITLE nvarchar (50) COLLATE Chinese_PRC_CI_AS NULL ,SEX nvarchar (5) COLLATE Chinese_PRC_CI_AS NULL ,DATEBIRTH nvarchar (50) COLLATE Chinese_PRC_CI_

40、AS NULL ,HOME nvarchar (50) COLLATE Chinese_PRC_CI_AS NULL ,EMPLOYNUMBER nvarchar (50) COLLATE Chinese_PRC_CI_AS NULL ,POWER nvarchar (250) COLLATE Chinese_PRC_CI_AS NULL ,DISCOUNT int NULL ) ON PRIMARYGO3.5数据库的连接数据库的连接采用ADO方式。使用ADO前必须在工程的stdafx.h头文件里用直接引入符号#import引入ADO库文件,以使编译器能正确编译。代码如下所示:#import

41、c:program filescommon filessystemadomsado15.dllno_namespaces rename(EOF adoEOF) 。数据库连接的代码在MyPos.cpp中,其主要代码如下。BOOL CMyPosApp:InitInstance()/Add splash image to the application.CCommandLineInfo cmdInfo;ParseCommandLine(cmdInfo);CSplashWnd:EnableSplashScreen(cmdInfo.m_bShowSplash);AfxOleInit();/初始化COM库

42、AfxEnableControlContainer();/ 此程序只能运行一次,用互斥量来判断程序是否已运行 HANDLE m_hMutex=CreateMutex(NULL,TRUE, m_pszAppName); if(GetLastError()=ERROR_ALREADY_EXISTS) return FALSE; /以下是连接SqlServer2k数据库HRESULT hr;tryhr = m_pConnection.CreateInstance(ADODB.Connection);/创建Connection对象if(SUCCEEDED(hr)m_pConnection-ConnectionTimeout=3;/设置超时时间为3秒hr=m_pConnection-Open(Provider=MSDASQL.1;DataSource=HAI;InitialCatalog=restaurant,adModeUnknown);/连接数据库, provider为驱动程序的类型,Data Source为数据源所在的计算机名,Initial Catalog为数据源的实际名称。catch(_com_error e)/捕捉异常CString temp;temp.Format(连接数据库错误信息:%s,e.ErrorMessage();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号