还剩13页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
分布式酒店餐饮管理系统作者秦龙飞指导老师田敬军副教授((唐山师范学院计算机系06届计算机科学与技术本科班河北唐山063000)摘要在二十一世纪的今天,电脑已深入人心,提起电脑是无人不知,无人不晓它的出现大大推动了社会的进步,已经改变了人类的生活、工作、学习等方式特别是在信息服务行业引进电脑对于本企业来说是一次革新特别是对于餐饮管理来说,这个服务项目多,信息量大的行业,要想提高劳动效率,降低成本,提高服务质量和管理水平,促进经济效益,借助电脑来进行现代化的信息管理有十分重要的意义《分布式酒店餐饮管理系统》正是为餐饮方面而设计的,该系统是运用MicrosoftSQLServer2000数据库系统和PowerBuilder
9.0程序语言开发实现的,《分布式酒店餐饮管理系统》包括了前台接待子系统、前台收银子系统、预订管理子系统、营业分析子系统、财务查询子系统、仓库管理子系统、个人设置子系统、系统设置子系统等八大模块,具有操作简单、界面友善、灵活性好、系统安全性高、运行稳定等特点 Abstract:Inthe21stcenturytodaythecomputersinkdeepintotheheartsofthepeoplementionedthecomputerisnobodydidnotknowthat.Itsappearanceimpelledsocietysprogressgreatlyalreadychangedthewaysofhumanityslifeworkstudyandsoon.Speciallyintheinformationserviceprofessionintroductioncomputerregardingthisenterprisesaidisaninnovation.Speciallymanagesregardingthediningsaidthatthisserviceprojectaremanytheinformationcontentbigprofessionneedstowanttoenhancethelaborefficiencyreducesthecostimprovesthegradeofserviceandthemanagementlevelthepromotioneconomicefficiencycarriesonmodernizedwiththeaidofthecomputertheinformationmanagementtohavetheextremelyvitalsignificance.BasedonLong-distanceControlDiningManagementsystemmanagementsystemispreciselythissystemwhichdesignsforthediningaspectisutilizesMicrosoftSQLtheServer2000databasesystemsandPowerBuilder
9.0programlanguagedevelopmentrealizationbasedonLong-distanceControlDiningManagementsystemmanagementsystemincludedtheonstagereceptionsubsystemtheonstagehasreceivedthemoneysystemordersmanagesthesubsystembusinessanalysissubsystemthefinancialinquirysubsystemthestoragemanagementsubsystemindividualestablishmentsubsystemthesystemestablishmentsubsystemandsooneightbigmoduleshadtheoperationsimplythecontactsurfacefriendlytheflexibilitygoodthesystemsecurityhighthemovementstableandsoonthecharacteristics.
一、课题研究的项目背景与现实意义全球信息化已是社会的必然趋势同时,它推动了社会的发展,历史的变革要想在社会各行业的竞争中立于不败之地,就必需使自己的企业顺应历史的潮流,否则便会不战而败餐饮服务业更是如此,餐饮行业要迎接市场所需,就必须提高自己的竞争能力,要想提高竞争能力必须改变餐饮的管理模式,提高管理水平,运用信息化建设是实现这一目的的必由之路无数实例证明,电脑已给千千万万的餐厅带来了可观的利益
二、系统分析
(一)系统基本功能描述系统应分为客户机和服务器机服务器只提供日常的数据管理功能如数据的备份与恢复,数据清理等而大部分的功能都在客户机上所有的客户机都装一样的客户端软件,但当用户登陆时,根据系统设定该用户不同的角色而使用不同的功能叙述如下
1.前台接待功能概述应具备餐饮管理系统的开台、点菜、将点菜信息分类打印到厨房、修改消费、查看餐台状态等提供最主要的营业功能
2.前台预定功能预定查询、显示近三天预定信息、预定的添加、删除、修改、打印、对过期预定的处理
3.收银结算功能提供现金、签单、免单三种结帐方式其中,签单、免单要求客户有自己的帐户和密码,签单用户日后可集合付账另外,此功能还应有给客户打印消费详细单据功能
4.营业分析提供各月份营业总分析、根据部门、项目分别分析统计营业状况,此外还应有各时间段内的客流统计
5.财务查询提供各种消费类别、各时间段内的营业额查询签单用户的缴费的功能
6.库存管理提供最基本的进销存管理功能和仓库设置、库存查询等功能
7.系统管理各种后台设置、维护功能
(二)系统特点
1.系统安全
2.操作简单
3.手工与电脑相结合
4.机器设置要求低
(三)系统配置硬件环境服务器选用PⅢ以上的微机,128MB以上的内存,40G以上的硬盘,52速的光驱,彩色显示器一台,鼠标键盘各一个客户机:选用PII或同档次以上微机,64MB以上内存,10G以上硬盘,24速以上光驱,彩色显示器一台网络设备交换机一台,超5类双绞线若干(取决于餐厅规模)打印机三台(最少)软件环境服务器端:Windows2000操作系统SQLSrever2000数据库服务器端,office软件客户机:windows98/windows2000/windowsXP操作系统,SQLSrever2000数据库客户端
四、系统的总体分析分布式酒店餐饮管理系统是多人合作完成,自己只负责来宾登记模块与数据库的总体设计所以在这里只论述本系统的一部分
(一)部分数据流图
1.前台作业数据流图
(二)数据库设计
1.部分实体的E-R图
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
五、系统详细设计基于远程控制的餐饮系统窗口多,所以在这里由于篇幅原因,只介绍主要窗口其它详见源代码一建立工作空间建立一个名称为cygl的工作空间,接着建立一名称为cygl的application二菜单设计在cygl应用中建立菜单m_main建立各子菜单略三数据窗口根据视图canzhuoqingkuang,建立dc1数据窗口格式如图四窗口实现建立登陆窗口w_load其中“登陆”按钮的default属性设为true“密码”文本框的passward属性设为true建立来宾登记主窗口在系统中,所有的窗口背景色都采用浅绿色给人一种清馨的感觉,使操作员(特别是前台的操作员)在吵杂,混乱的工作环境中不容易发生混乱在窗口的上方,把常用的几个操作按钮做的特别大,而且用图片和文字共同标识,使员工操作起来特别的方便五)各功能模块的设计实现定义全局变量stringusera//员工号stringpswd//员工密码stringm_userid//用户名为了记录登陆系统的员工用户号,密码,员工号这样在以后的模块中,直接访问此变量便知道登陆者的基本信息stringquanjuczhao//全局餐桌号几个窗口共同完成某一餐台的任务时,共同使用这一变量stringzbqsrqzbzzrq//制表起始和终止日期用于窗口与数据窗口之间的通信部分设计过程
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定义一个游标来查询这些餐台的状态declareczname_curcursorforselectcz.idzhuangtaifromczwherecz.ztype=:cztp;把餐台号,和状态相对应的图片相应的索引号加入列表框中lv_
1.additemcznamezt,这样,就完成了列表框的取值fetchczname_curinto:czname:zt;对餐台的操作在对餐台进行开台时,因为这里会涉及到多个客户端同时访问同一餐台资源结果造成“幻影读”的现象,就是看着是空状态,但进行了开台操行后,却提示新建账单失败,浪费了开台时间所以,该系统利用餐台状态,作为各客户端的互斥信号量当单击“顾客开单”按钮时(或实现本功能的其它操作)使用updateczsetzhuangtai=2whereid=:lv
1.label;commit;以上语句就可实现互斥用更新语句得到排它锁,确定当前只有一个事务对象能修改该餐台的状态同时,把状态改变忙zhuangtai=2这样,其它的一访问便会提示“此台已开台”保证了餐台的互斥访问
7.增加消费在点菜时,采用三种不同的点菜方法,分别是利用编号、商品简拼、鼠标点击其实,鼠标操作的方法是和前二种是一样的,只不过,前两种是直接在文本框内输入,而,鼠标点击只是把treeview控件中选中的项目号放到文本框中之后的过程便一样了,都是利用查询语句查出相关的信息放到变量中,再放到数据窗口中
六、测试由于本系统并不是只为毕业设计而设计的,它同时也是为北京某餐饮开发设计的实用系统,属于交付用户实际操作的软件,与虚体理论系统不同所以本系统采取了具有针对性的、全面的测试,具体方式如下一菜单项测试为了保证每一项下拉菜单能够实现系统设计的功能,对每一菜单项进行了反复的修改、完善等操作,确保了菜单以及菜单项的功能实现
(二)数据跟踪在完成菜单测试后,对系统内的每一个数据进行了跟踪对收银的计算,采用了手算与计算机的对照调试仓库中货物的添加、删除、修改时,对每一条数据先进行人工统计,在与系统综合查询运行的结果相比较并作记录,然后再选择不同的要素进行人机对比,依次验证数据处理的正确性、完整性、安全性
(三)网络调试:为了确保各客户端之间的相互协调合作,我们进行了实际情况的模拟如同时点单,同时查询,同一时间统计等的情况的测试,都符合预定设计
(四)运行平台测试:为了确保系统的健壮性,我们分别在windows98windows2000windowsxp第二版几种操作系统分别进行了调试
七、总结本系统是网络版的凡是拥有服务器/客户端的网络环境而且已经安装了windows98/Windows2000/XP的操作系统都可以运行本程序在运行系统前只要对服务器/客户端进行网络设置就可以了在客户端上安装系统就可以运行注意不可修改内部文件的目录和文件名,否则会导致运行错误从整个系统设计过程来看,本餐饮系统是具有较强的安全性、可扩展性和可维护性;具有良好的人机交互按钮,较为全面的功能模块设计但是,本系统在财务管理方面还有待与更加完善;而且由于PowerBuilder
9.0软件缺陷,在页面美工方面缺乏细致的设计本系统主要是为餐饮行业提供一个餐饮管理信息化的平台,将来在实际使用中一定还会发现许多问题和不足,但是,随着餐饮信息化的不断发展和对系统的不断改进,此系统的前景还是一片光明的参考文献
[1]杨昭PowerBuilder
9.0对象与控件技术详解,中国水利水电出版社
[2]朱爱民PowerBuilder
9.0与系统开发,清华大学出版社
[3]萨师煊数据库系统概述第三版,高等教育出版社
[4]闪四清SQLServer使用简明教程,清华大学出版社
[5]何旭洪余建英PowerBuilder
9.0数据库系统开发实例导航(第二版)人民邮电出版社2003年6月第二版
[6]郑阿奇SQLServer教程,清华大学出版社2005年8月第一版
[7]AlexKriegelBoresM.trukhnov陈冰(译)SqlBible电子工业出版社
[8]东方人华仝丽娟PowerBuilder
8.0入门与提高,清华大学出版社2003年11月第一版
[9]袁鹏飞孙军安SQLServer数据库系统管理,人民邮电出版社2001年5月第一版
[10]KalenDelaney《InsideMicrosoftSQLServer2000》
[11]张立,sqlserver2000数据库开发技术与工程实践,人民邮电出版社,2004年6月ztypeIdCz图
4.3前台部门nameaddressbaojianfeiIdNamecztype打印到厨房前台入账增加消费修改消费开单宾客zdhfuzeren图
4.4餐桌表zhuangtaiIdYuangong图
4.6员工表TypeTel图
4.7商品类型nameIdhwtype图片按钮页框Listview下拉框数据窗口图
4.1部分数据流图图
5.1功能主菜单图
5.2餐台点菜窗口图
5.4来宾登记窗口图
5.3登陆窗口PAGE15。