分布式酒店餐饮管理系统.doc_第1页
分布式酒店餐饮管理系统.doc_第2页
分布式酒店餐饮管理系统.doc_第3页
分布式酒店餐饮管理系统.doc_第4页
分布式酒店餐饮管理系统.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

分布式酒店餐饮管理系统作者:秦龙飞 指导老师: 田敬军 副教授(唐山师范学院 计算机系06届计算机科学与技术本科班 河北 唐山 063000)摘要:在二十一世纪的今天,电脑已深入人心,提起电脑是无人不知,无人不晓。它的出现大大推动了社会的进步,已经改变了人类的生活、工作、学习等方式。特别是在信息服务行业引进电脑对于本企业来说是一次革新。特别是对于餐饮管理来说,这个服务项目多,信息量大的行业,要想提高劳动效率,降低成本,提高服务质量和管理水平,促进经济效益,借助电脑来进行现代化的信息管理有十分重要的意义。分布式酒店餐饮管理系统正是为餐饮方面而设计的,该系统是运用Microsoft SQL Server 2000数据库系统和PowerBuilder9.0程序语言开发实现的,分布式酒店餐饮管理系统包括了前台接待子系统、前台收银子系统、预订管理子系统、营业分析子系统、财务查询子系统、仓库管理子系统、个人设置子系统、系统设置子系统等八大模块,具有操作简单、界面友善、灵活性好、系统安全性高、运行稳定等特点。 Abstract: In the 21st century today, the computer sink deep into the hearts of the people, mentioned the computer is nobody did not know that. Its appearance impelled societys progress greatly, already changed the ways of humanitys life, work, study and so on. Specially in the information service profession introduction computer regarding this enterprise said is an innovation. Specially manages regarding the dining said that, this service project are many, the information content big profession, needs to want to enhance the labor efficiency, reduces the cost, improves the grade of service and the management level, the promotion economic efficiency, carries on modernized with the aid of the computer the information management to have the extremely vital significance. Based on Long-distance Control Dining Management system management system is precisely, this system which designs for the dining aspect is utilizes Microsoft SQL the Server 2000 database systems and PowerBuilder9.0 program language development realization, based on Long-distance Control Dining Management system management system included the onstage reception subsystem, the onstage has received the money system, orders manages the subsystem, business analysis subsystem, the financial inquiry subsystem, the storage management subsystem, individual establishment subsystem, the system establishment subsystem and so on eight big modules, had the operation simply, the contact surface friendly, the flexibility good, the system security high, the movement stable and so on the characteristics. 一 、课题研究的项目背景与现实意义全球信息化已是社会的必然趋势。同时,它推动了社会的发展,历史的变革。要想在社会各行业的竞争中立于不败之地,就必需使自己的企业顺应历史的潮流,否则便会不战而败。餐饮服务业更是如此,餐饮行业要迎接市场所需,就必须提高自己的竞争能力,要想提高竞争能力必须改变餐饮的管理模式,提高管理水平,运用信息化建设是实现这一目的的必由之路。无数实例证明,电脑已给千千万万的餐厅带来了可观的利益。二、系统分析(一)系统基本功能描述系统应分为客户机和服务器机。服务器只提供日常的数据管理功能。如:数据的备份与恢复,数据清理等。而大部分的功能都在客户机上。所有的客户机都装一样的客户端软件,但当用户登陆时,根据系统设定该用户不同的角色而使用不同的功能。叙述如下:1. 前台接待功能概述:应具备餐饮管理系统的开台、点菜、将点菜信息分类打印到厨房、修改消费、查看餐台状态等提供最主要的营业功能。2. 前台预定功能:预定查询、显示近三天预定信息、预定的添加、删除、修改、打印、对过期预定的处理。3. 收银结算功能:提供现金、签单、免单三种结帐方式。其中,签单、免单要求客户有自己的帐户和密码,签单用户日后可集合付账。另外,此功能还应有给客户打印消费详细单据功能。4. 营业分析:提供各月份营业总分析、根据部门、项目分别分析统计营业状况,此外还应有各时间段内的客流统计。5. 财务查询:提供各种消费类别、各时间段内的营业额查询。签单用户的缴费的功能。6. 库存管理:提供最基本的进销存管理功能和仓库设置、库存查询等功能。7. 系统管理:各种后台设置、维护功能。(二)系统特点1. 系统安全。2. 操作简单。3. 手工与电脑相结合。4. 机器设置要求低。(三)系统配置硬件环境:服务器:选用P以上的微机,128MB以上的内存,40G以上的硬盘,52速的光驱,彩色显示器一台,鼠标键盘各一个。客户机: 选用PII或同档次以上微机,64MB以上内存,10G以上硬盘,24速以上光驱,彩色显示器一台。网络设备:交换机一台,超5类双绞线若干(取决于餐厅规模)。打印机三台(最少)。软件环境:服务器端: Windows2000操作系统,SQL Srever2000数据库服务器端,office软件。客户机:windows98/windows2000/windowsXP 操作系统,SQL Srever2000数据库客户端四、 系统的总体分析分布式酒店餐饮管理系统是多人合作完成,自己只负责来宾登记模块与数据库的总体设计。所以在这里只论述本系统的一部分。(一)部分数据流图1. 前台作业数据流图宾客开单修改消费增加消费入账前台打印到厨房图4.1部分数据流图cztypeIdNamebaojianfei图4.3前台部门(二)数据库设计1. 部分实体的E-R图图4.4 餐桌表CzIdztypezhuangtaifuzerenzdh图4.6员工表YuangongIdnameaddressTypeTelhwtypeIdname图4.7 商品类型2. 各关系的具体实现(1) 在sql中建立如下表.sp表:IdChar8非空商品号TypeaChar3非空商品类型号NameChar20非空商品名JpChar8空商品简拼PriseDecimal9非空价格DazebliDecimal5非空打折比率Hwtype表:IdChar3非空货物号NameChar20非空货物名yuangong表:IdChar3非空员工号TypeChar3非空员工类型号NameChar10空员工名AddressChar50空员工联系地址TelChar11空员工联系电话Yuangongtype表:IdChar3非空员工类型号NameChar10空员工类型名LaibdjBit1空来宾登记YudglBit1空预定管理ShouyjsBit1空收银结算YingyfxBit1空营业分析CaifcxBit1空财务查询CangkglBit1空仓库管理XtwhBit1空系统维护Cztype表:IdChar3非空餐台类型号Namechar8空餐台类型名BaojianfeiInt4空包间费Cz表IdChar3非空餐台号ZtypeChar3非空餐台类型号ZhuangtaiInt4非空餐台状态FuzherenChar3空负责人ZdhChar15空帐单号Diancaibiao表IdChar15非空帐单号SpidChar8非空商品号NumberInt4非空交易数量DazeblDecimal5非空打折比率Jiaoyibiao表:IdChar15非空帐单号czhChar3非空餐台号GknameChar20空顾客名FwyChar3空服务员RenshuInt4空进店人数BaizhuChar50空备注JdsjChar8空进店时间ShouyyChar3空收银员JiezhangfsInt4空结帐方式ShishoujineDecimal9空实收金额Tuicaibiao表:ZdidChar15非空帐单号SpidChar8非空商品号ShuliangInt4非空退菜数量FzrChar3非空负责人号BeizhuChar50非空备注Usera表UseridChar10非空登陆帐号PasswardChar8非空登陆密码IdChar3非空对应员工号ShifoudlBit1非空是否登陆除些之外还应建立下列表:Zdh表Yudingbiao表Rizhibiao表用于各种统计时的临时空间表。Diancaibiao_temp表Jiaoyibiao_tempCw_xiangmutj表Xiangmutj_temp表建立check约束:建立关系图:这样保证了以上各关系的实体完整性。建立索引。在经常查询的字段上建立如下索引,提高查询速度表索引名索引表达式CzIndex_ztzhuangtaiJiaoyibiaoIndex_czhCzhIndex_shouyySshouyyIndex_jiezhangfsjiezhangfs五、 系统详细设计基于远程控制的餐饮系统窗口多,所以在这里由于篇幅原因,只介绍主要窗口。其它详见源代码。图5.1 功能主菜单(一)建立工作空间建立一个名称为cygl的工作空间,接着建立一名称为cygl 的application。(二) 菜单设计在cygl应用中建立菜单m_main建立各子菜单(略)(三)数据窗口根据视图canzhuoqingkuang,建立dc1数据窗口。格式如图图5.2 餐台点菜窗口(四) 窗口实现图5.3登陆窗口建立登陆窗口w_load。其中,“登陆”按钮的default属性设为true。“密码”文本框的passward属性设为true。建立来宾登记主窗口。在系统中,所有的窗口背景色都采用浅绿色给人一种清馨的感觉,使操作员(特别是前台的操作员)在吵杂,混乱的工作环境中不容易发生混乱。在窗口的上方,把常用的几个操作按钮做的特别大,而且用图片和文字共同标识,使员工操作起来特别的方便。图5.4来宾登记窗口图片按钮页框List view下拉框数据窗口(五)各功能模块的设计实现定义全局变量string usera/员工号string pswd/员工密码string m_userid/用户名为了记录登陆系统的员工用户号,密码,员工号。这样在以后的模块中,直接访问此变量便知道登陆者的基本信息。string quanjuczhao/全局餐桌号。几个窗口共同完成某一餐台的任务时,共同使用这一变量。string zbqsrq,zbzzrq/制表起始和终止日期。用于窗口与数据窗口之间的通信。部分设计过程:1.连接数据库在程序运行时,首先要连接数据库。这样的语句很简单,只要先配置好ODBC数据源,与数据库连接。2.设置本地时间由于这是一个C/S结构的系统,各客户机必需工作协调一致。特别是该系统所有的账单号都是基于时间形成的,时间统一是形成正确的账单号的必要保证。3.生成账单号在该系统中,有多种账单号的生成,这里只介绍其中的一种,其它的类似。该系统中规定,账单号一律采用如下的格式:两位大写字母(表示账单类型)+8位时间数字+4位序号,如:“ZD200603230002”。序号形成要考虑到多台同样的客户机生成序号的互异性。因为是多机作业,统一入账。在数据库中,专门设置了一个ZDH表(详见4.3.2.1 表ZDH),这里有一个dlsj的字段用来保存当前可用序号。利用这个号码来生成序号。各客户端访问此数据时,SQL启动共享锁,得到一个安全有效的号码。生成号码后插入到相应的表中,此时SQL启动排它锁,各客户端只能互斥的插入。又因为,账单号都是主键,所以,如果有同一时刻,多个客户端进行这样的操作只有一个成功,其余的全部提示错误。并返回。但这样的机率很小。4.互斥资源的使用在帐单号生成时,有主键来保证帐单号的唯一性、正确性。但在点菜时,一个客户机对一个餐台点菜时,要花很长的时间。在这段时间内,就有可能别的餐台也会对该台进行操作。为了解决这个问题,在数据库服务器中,每一个餐台设置了一个表示状态的属性。各客户机互斥的来访问它。某客户机想要访问一个餐台,首先要访问它的状态属性,如果可以访问,则把状态改为忙,这样别的客户机就不能访问了。这样在点菜的过程中,别的客户机访问时,就会提示:已占用。但这样还有一个问题,如果两个或多个客户机同时访问一个空闲的餐台时,也会发生错误。因为首先访问到的客户机还没有将忙写回去之前,另一个客户机也会访问到空闲状态(访问时一个事务对象得到的是共享锁),这样就会把两拨客人安排到一个餐台上。这样,就必须要求每一个事务对象在访问互斥资源时应得到排它锁。因为UPDATE语句可以得到排它锁,所以在访问资源前加一个无用的UPDATE,访问后再用COMMIT语句提交,释放掉排它锁。这样,就能实现对餐台的互斥访问了。5.窗口自适应大小显示时最大化的窗口,在分辨率是800*600或1024*768的分辨率下应是一样的美观,好看。所以,在窗口打开时,应根据分辨率调整各控件的大小和位置。 6.列表控件取值。在来宾登记的主窗口,我们做了一个列表控件来表示餐台的各种状态。实现方法如下:首先,从数据库读出和窗口中下拉框中相关的餐台。清空list控件:lv_1.deleteitems()。定义一个游标来查询这些餐台的状态:declare czname_cur cursor forselect cz.id,zhuangtaifrom czwhere cz.ztype=:cztp;把餐台号,和状态相对应的图片相应的索引号加入列表框中:lv_1.additem(czname,zt),这样,就完成了列表框的取值。fetch czname_cur into :czname,:zt;对餐台的操作。在对餐台进行开台时,因为这里会涉及到多个客户端同时访问同一餐台资源。结果造成“幻影读”的现象,就是看着是空状态,但进行了开台操行后,却提示新建账单失败,浪费了开台时间。所以,该系统利用餐台状态,作为各客户端的互斥信号量。当单击“顾客开单”按钮时(或实现本功能的其它操作)使用:update czset zhuangtai=2where id=:lv1.label;commit;以上语句就可实现互斥。用更新语句得到排它锁,确定当前只有一个事务对象能修改该餐台的状态。同时,把状态改变忙:zhuangtai=2。这样,其它的一访问便会提示“此台已开台”。保证了餐台的互斥访问。7.增加消费。在点菜时,采用三种不同的点菜方法,分别是利用编号、商品简拼、鼠标点击。其实,鼠标操作的方法是和前二种是一样的,只不过,前两种是直接在文本框内输入,而,鼠标点击只是把tree view控件中选中的项目号放到文本框中。之后的过程便一样了,都是利用查询语句查出相关的信息放到变量中,再放到数据窗口中。六、测试由于本系统并不是只为毕业设计而设计的,它同时也是为北京某餐饮开发设计的实用系统,属于交付用户实际操作的软件,与虚体理论系统不同。所以本系统采取了具有针对性的、全面的测试,具体方式如下:(一)菜单项测试:为了保证每一项下拉菜单能够实现系统设计的功能,对每一菜单项进行了反复的修改、完善等操作,确保了菜单以及菜单项的功能实现。(二)数据跟踪:在完成菜单测试后,对系统内的每一个数据进行了跟踪。对收银的计算,采用了手算与计算机的对照调试。仓库中货物的添加、删除、修改时,对每一条数据先进行人工统计,在与系统综合查询运行的结果相比较并作记录,然后再选择不同的要素进行人机对比,依次验证数据处理的正确性、完整性、安全性。(三)网络调试:为了确保各客户端之间的相互协调合作,我们进行了实际情况的模拟。如:同时点单,同时查询,同一时间统计等的情况的测试,都符合预定设计。(四)运行平台测试:为了确保系统的健壮性,我们分别在windows98,windows2000,windowsxp(第二版)几种操作系统分别进行了调试。七、总结本系统是网络版的。凡

温馨提示

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

评论

0/150

提交评论