版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
引言早期餐饮企业的管理主要是通过手工操作,依靠纸质的数据资料来管理记录,通过手工方式汇总和统计企业的经营情况。这样方式存在较大的隐患,不利于管理,如果数据资料发生意外,讲给企业造成严重的经济损失。这些数据资料的管理费时费力,还占用较大的空间,无法保证准确率,总得来说效率较低,不易于餐饮企业的管理。加上2020年疫情大爆发以来,餐馆受到了前所未有的影响,未知的疫情因素导致人们不敢进入到餐馆就餐。考虑客户在疫情环境下就餐的安全,提高就餐品质,因此设计了基于Qt平台设计点餐的点餐系统。一方面为消费者解决以上外出就餐的顾虑,另一方面推动着社会经济的缓慢复苏。1绪论1.1研究的目的和意义1.1.1研究的目的1.1.2研究的意义对于开发点餐系统的意义就是:提升餐厅工作人员的效率,例如厨房可以可视化进行精准做菜,服务人员可以精准上菜等。而且可以存储大量订餐数据,便于后期的账目管理。当然对于疫情的防控工作也承担起了相应的责任。对于成功的交易订单,用户还可对商家服务体验和美食质量,进行在线评价,以促进和提高食品和服务的质量。1.2国内外研究现状目前,我国餐饮企业的发展迅速向规范化、工业化、信息化发展迈进。国内外餐饮管理系统众多,功能大致相同,但是标准不一致,相同点都是采用DataBase来存储信息。由于欧美等发达国家计算机水平较高,发展的时间长,欧洲和美国等发达国家也首次建立了餐饮管理体系。一些著名的快餐连锁企业有了长时间的摸索和经验积累,从而制定了产业化的操作步骤。2系统需求分析2.1可行性分析可行性分析通俗来讲也就是说设计的这款程序能不能在社会中实用。那么首要就要计算这款逻辑思路,防止在后期的规划出现矛盾,导致程序不能很好的使用于大众中;其次,我们要设计好后期的维护工作,包括数据库的维护,防止出现数据杂乱无章。2.2.1系统用户角色分析点餐系统的用户角色主要分为就餐客户,厨房工作人员以及前台服务人员。管理员是系统开发阶段指定生成的用户名不可更改,但是可以自己修改密码,管理员拥有系统的做高权限,主要是维护系统的信息流。2.2.2系统的功能性需求分析基于QT平台的点餐系统应该具有以下的功能点:用户登录功能:餐桌管理:菜品管理收银管理下单管理员工管理3系统的总体设计3.1系统的功能架构设计主要分为五大模块:1.登录2.前台3.厨房4.管理员5.用户这5个页面;可以将客户,厨房,服务人员三者进行准确的联系,客户可以将点餐的内容发送给厨房,厨房则迅速的调整知道需要做什么菜,服务人员通过平台准确的找到客户的位置,做到快捷,精准,高效一体化服务,保障客户的用餐快捷,节约更多的时间成本。图1系统的功能架构Fig.1Functionalarchitectureofthesystem3.2系统主要功能设计及介绍3.2.1登录模块首先先对数据库进行建表,然后用代码将数据库进行连接,通过响应登录按钮对账号密码进行验证登录;如果匹配成功,则通过数据库中的已录用人员情况,分别判断其为哪一类人员,然后分别登录到自己所属的界面。3.2.2用户模块登录到用户模块,用户可以登录界面即使找到空座位,提高座位的就座率,然后呼叫前台进行点餐服务。3.2.3前台模块登录到前台模块,当前台被用户呼叫后,前台将本店所属的电子菜单呈现给用户,根据用户的需要将总金额进行结算,结算后订单呈现给厨房端。3.2.4厨房模块登录到厨房模块,当前台的订单完成后,会及时更新到厨房管理平台,根据前台下的订单去完成相应的上菜功能。这样的好处是避免单子的混乱导致做错菜品,提高厨房上菜的效率。3.2.5管理员模块登录到该模块,管理员通过登平台后,1.可以对员工的表现进行打分评价工作,包括新入职员工的信息录入和离职员工的信息删除工作;2.如果餐厅改良门店的环境,可以对一些餐桌进行增删改查操作;3.可以对菜品的信息及时的修改,添加以及下架,也可以对菜品的图片进行添加,以及对菜品的定价进行及时的修改。4.对收款的支付宝和微信二维码的二维码修改。3.3数据库的设计根据概念去设计数据库,为了建设一个具有抽象和分类的管理系统概念的模型,去实现每个用户需要。根据这些需求,建立起每个程序需求所对应的E-R图,然后确立起对应的类型和物理属性。因此,这里有必要把重点放在体现系统对应的需求方法上,而不是考虑特定的实现问题。3.3.1数据库的设计原则软件在开发的过程中,完成可行性分析之后就可以进行软件的功能性设计,设计功能是往往牵扯到了数据流,所以在程序的设计过程中数据库设计的合理性影响着设计人员的开发效率。系统中的数据都存储在数据库中,来解决数据的持久化问题。数据库和数据表的名称一律使用国际标准化基本英文字符,尽量见名闻其义。数据的的设计过程中要符合三范式原则。字符集为UTF-8。不能在任何地方使用驼峰命名法。3.3.2数据库概要设计本系统的数据模型采用E-R图,即实体联系图这种简单明了的表达方式对实体进行描述,E-R图比较接近人类的思维模式,而且很容易通过E-R图将设计思想转换为实际数据库的数据模型[1]。根据该系统可进行的相关操作过程:管理员对菜品,用户订单进行统一管理操作,用户通过点餐下单在前台提交订单再交给管理员管理,这样形成一个闭环模式,提高了高效性和可用性。图2系统流程图Fig.3Systemflowchart用户:用户的实体信息主要存储了用户的账号密码,并对其分类,E-R图如图3所示。图3用户实体属性图Fig.3Userentityattributemap(2)餐桌实体信息:主要为用户提供具体桌号的使用状态,E-R图如图4所示。图4餐桌实体属性图Fig.4Tableinformationentityattributemap(3)员工:员工实体主要存储了员工的编号信息,姓名,职位等相关信息,在办理入职离职时来操作相关信息,E-R图如图5所示。图5员工实体属性图Fig.5Employeeentityattributemap(4)菜品:菜品主要对相关菜品的信息进行存储,方便用户下单时对一些菜类进行了解,从而根据喜好下单。E-R图如图6所示。图6菜品信息实体属性图Fig.6Commodityinformationentityattributemap(5)订单实体:订单主要是针对具体的餐桌所提交的订单进行统一存储,方便后期用户开票及管理。E-R图如图7所示。图7菜品种类实体属性图Fig.7Orderentityattributemap3.3.3数据库的逻辑设计表1餐桌信息表Tab.1Tableinformation字段名称字段类型最大长度是否可空是否主键描述IDint11否是序号TableNamevarchar255是否餐桌名称Namevarchar255是否名称Saleint11是否数量Statusvarchar255是否状态表2菜单信息表Tab.2Menuinformationtable字段名称字段类型最大长度是否可空是否主键描述IDint11否是序号Nametext65535是否名称Pricedouble是否单价Saleint11是否数量Picturevarchar255是否照片外键Notelongtext4294967295是否备注表3点餐记录信息表Tab.3Orderingrecordinformationsheet字段名称字段类型最大长度是否可空是否主键描述IDint11否是序号DateTimedatetime是否日期时间Namelongtext4294967295是否名称Totaldouble是否总价Tablevarchar255是否餐桌名称Statusvarchar255是否状态Notelongtext4294967295是否备注表4支付信息表Tab.4Paymentinformationsheet字段名称字段类型最大长度是否可空是否主键描述Namevarchar255否是名称PicBinmediumblob16777215是否照片数据表5图片信息表Tab.5Pictureinformationtable字段名称字段类型最大长度是否可空是否主键描述Namevarchar255否是名称PicBinmediumblob16777215是否照片数据表6员工信息表Tab.6Employeeinformationsheet字段名称字段类型最大长度是否可空是否主键描述IDint11否是序号Namelongtext4294967295是否姓名Borndate是否出生日期Telephonelongtext4294967295是否电话Joblongtext4294967295是否职位Notelongtext4294967295是否备注表7餐桌信息表Tab.7Tablesinformationtable字段名称字段类型最大长度是否可空是否主键描述Namevarchar255否是名称Statusvarchar255是否状态Notevarchar255是否备注表8用户信息表Tab.8Userinformationtable字段名称字段类型最大长度是否可空是否主键描述IDint11否是序号Namevarchar255是否用户名passwordvarchar255是否密码sortvarchar255是否用户类别notevarchar255是否备注4详细设计及实现4.1开发与平台本次开发使用的主要开发工具为QtCreator,版本4.3.0;数据版本为:5.7.24-win32;使用MySql可视化平台NavicatPremium15;语言使用C++进行开发,通过新建文件夹或项目,选择Application来建立项目最基础的框架。在此基础之上,建立.ui文件,进行图像设计。再到Sources文件当中用c++程序逻辑编写.cpp文件去实现具体的功能,包括信号与槽机制来确定是具体的哪一个控件发出了信号,确定其发出的是哪个信号,从而来实现一些按钮的功能,以及通过Connect连接机制去调用MySQL,对数据库进行连接去调用及导入数据。4.2数据库的实现通过前期的需求分析后,设计出来了数据库的E-R图,来表示系统中的实体及其属性。那么接下来的重点就是根据E-R图设计规划具体的数据库主键及字段的设计。图7餐桌表的实现Fig.7Therealizationofdiningtabletable图8菜单表的实现Fig.8Therealizationofmenutable图9点餐记录表的实现Fig.9Therealizationoforderingtable图10员工表的实现Fig.10Implementationofemployeetable图11用户表的实现Fig.11Implementationofusertable4.3主要功能的实现登录模块:通过输入用户密码于数据库中user表的相应字段判别属于哪一类用户,对应进入所属的界面。具体实现如图12所示。图12用户登录界面Fig.12Userlogininterface员工信息管理界面:登录系统之后可以了解员工的姓名、生日、手机号码等基本信息,在此界面右击可以选择插入、删除、提交、撤销等功能。如果想要编辑员工的信息双击单元格之后即可编辑,编辑之后需要右键选择提交才能够将数据提交到后台数据库进行永久修改,不提交的数据刷新之后又恢复到原始数据。选择一行之后右击删除即可删除员工的信息。图13员工信息界面Fig.13Employeeinformationinterface图14右击功能菜单界面Fig.14Rightclickthefunctionmenuinterface餐桌信息管理模块:登录到系统之后可以查看餐桌的名称、状态和备注信息,状态分为空闲和用餐两种状态。如果想要编辑餐桌的信息双击单元格之后即可编辑,编辑之后需要右键选择提交才能够将数据提交到后台数据库进行永久修改,不提交的数据刷新之后又恢复到原始数据。图15餐桌信息界面Fig.15Tableinformationinterface图16右击功能菜单界面Fig.16Rightclickthefunctionmenuinterface餐单信息模块:菜单信息模块主要包括名称价格图片展示和备注字段,一般登录到该页面可以及时更新菜品的种类及价格,让客官更加直观的了解到饭店的透明价格。通过修改或添加菜品照片来为客官展示最真实的菜品。图17菜单信息Fig.17Menuinformation前台功能模块:使用前台账号登录后可以看到订单的相关信息。可以查看订单的时间、名称、消费金额、状态和备注信息,在此界面右击可以选择插入、删除、提交、撤销等功能。如果想要编辑餐桌的信息双击单元格之后即可编辑,编辑之后需要右键选择提交才能够将数据提交到后台数据库进行永久修改,不提交的数据刷新之后又恢复到原始数据。图19前台界面Fig.19Frontdeskinterface后厨管理功能模块:通过后厨管理账号登录之后,可以看到用户的订单信息,每个订单属于的桌子,菜品名称和售价,后厨的工作人员根据订单的顺序进行做菜,做完之后即可在可视化程序中点击上菜,那么这个订单就会消失,按照时间顺序的下一个订单会依次上调。图20厨房界面Fig.20Kitcheninterface用户模块:通过登录到用户的系统页面后,用户可以及时看到现在的餐桌用餐情况,例如某桌有人坐,用户的界面上则会显示这个桌为暗灰色,即为用餐状态,若没有人座,则显示空闲状态。用户可以从而根据餐桌的状态选择就座。图21用户登录界面图Fig.21Userlogininterface5系统的测试5.1系统测试的目的系统的主要功能完善需要通过测试来完成,包括基于QT平台的点餐系统开发阶段全部完成之后,对已经完成的功能进行不断地测试,要相对于开始的设计逻辑进行对比,判别设计逻辑是否存在偏差,为了验证程序能否满足客官的基本需求。在测试的时候要观察一下程序的各个功能界面的设计是不是很简练,颜色搭配以及功能布局有没有凌乱的感觉,对于一个界面程序来说对第一印象也很重要,所以界面细节也是非常重要。系统每个模块都需要重复操作测试,不管哪里存在逻辑上的问题,或者是功能不能达到用户需求,就需要我及时作出改正。5.2测试的方法系统测试方法可以分为以下两种:(1)黑盒测试:即并不能清楚的了解程序内部的结构,只是对外部的功能与数据和信息进行测试,其又被称为功能测试。(2)白盒测试:对结构进行测试。综合考虑之后,本系统最终采用了黑盒测试方法中的边界分析测试和等价类划分测试来进行测试。5.3系统的功能性测试这一块我对登录界面、餐单信息界面和管理员登录后端界面分别测试其主要功能。首先测试的是用户的登录信息,能够和数据库中的对应字段相匹配,则登录成功,反之则失败。其次对餐单信息界面进行对餐品图片信息插入操作。最后对后端平台右键出现的增删改查操作进行测试。登录模块测试及模块测试用例如表9、表10所示。表9管理员登录模块测试用例表Table9Loginmoduletestcasetable用例编号操作描述输入值期望结果实际结果是否正常001管理员登录界面,输入登录信息账号:qt密码:123成功进入系统成功进入系统是002管理员登录界面,输入登录信息账号:qqq密码:123提示提示用户名或者密码错误!提示提示用户名或者密码错误!是003管理员登录界面,输入登录信息账号:szx密码:111提示提示用户名或者密码错误!提示用户名或者密码错误!是表10模块测试用例表Table10Testcasetableofgeneraluserloginmodule用例编号操作描述输入值期望结果实际结果是否正常001用户登录界面,输入登录信息账号:admin密码:123456成功登录成功登录是002用户登录界面,输入登录信息账号:王五密码:123456提示用户名或者密码错误!提示用户名或者密码错误!是003用户登录界面,输入登录信息账号:张三密码:111111提示用户名或者密码错误!提示用户名或者密码错误!是004用户登录界面,输入登录信息账号:张三密码:123456提示用户名或者密码错误!提示用户名或者密码错误!是005餐单信息界面添加一张照片一张菜品照片保存到数据库保存成功是006管理员界面右键操作增删改查保存到数据库保存成功是6结语基于QT平台的点餐系统的开发已经进入最后阶段,在这一次独立的程序开发过程中,我体会到了独自开发程序的难点,之前都是分配小组一起做,所以这次项目的开发得到了很好的锻炼,一些知识的缺漏,让我在不会时及时查阅得到了补充,而更重要的是细节,在项目中,我可能就是一个符号的问题就导致一天处于紧绷状态,细节决定成败,在整个项目开发中开发中的各个流程都需要认真对待,不管需求分析、结构规划、模块划分以及最后的功能实现和系统测试,都需要踏踏实实,耐心的去对待,一步一步的来,如果稍有疏忽,程序在某个环节出现了问题,后续的工作将很难进展且返工起来也很繁琐。在开发过程中,我遇到了很多的难题,比如在程序开发刚开始时的需求分析过程中,我在想这个系统应该具备什么样的功能,起初我是按照自己的想法去划分功能,但是当我在网上参考其他人做的这个系统时发现我划分的功能有很多不足之处,于是在整合自己和别人的功能之后,将此次开发的系统包含的功能确定下来。但是开
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建设工程合同模板2013
- 乳鸽买卖合同模板
- 防毒面罩采购合同模板
- 灯具产品供货合同模板
- 终止买房定金合同模板
- 船舶生活污水运输合同模板
- 代驾租赁合同模板
- 海盗船设备安装合同模板
- 购买灯笼合同模板
- 电力承包合同模板
- 燕山隧道4 斜井正洞反坡排水施工方案(正洞)
- 川崎病儿科精品课件
- 教师资格认定申请表(补)
- 更年期综合征的中医药治疗课件
- 精选机电一体化毕业论文范文精选
- 一年级上册心理健康课件-8我就是我 |北师大版 (共9张PPT)
- 服务业标准化试点项目申报范本
- 试谈艺术的全球化与本土化的关系
- 核电厂质量保证大纲的格式和内容
- 2022年安徽省合肥市包河区九年级上学期期中语文试卷
- 第11课辽宋夏金元的经济与社会(张)课件
评论
0/150
提交评论