当前位置:首页>> >>


基于QT的点菜系统设计.rar

收藏

资源目录
    文档预览:
    编号:20180914220934278    类型:共享资源    大小:26.56MB    格式:RAR    上传时间:2018-09-15
    尺寸:148x200像素    分辨率:72dpi   颜色:RGB    工具:   
    50
    金币
    关 键 词:
    基于 QT 点菜 系统 设计
    资源描述:
    太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸1基于 QT 的电子点餐系统的设计与实现摘 要在深入研究中小餐饮企业工作流程的基础上,分析制约餐饮企业工作效率的各种因素,发现影响效率的主要因素是普遍使用手工登记菜谱的现象,本系统运用计算机系统来实现餐饮企业工作流的信息化管理,采用面向对象的开发方法以及 C++语言,依靠 Visual studio2008 作为开发工具,使用 Sqlite 网络数据库存储数据。实现了客户点餐、厨师配餐、收银管理、系统设置四大功能,解决餐饮企业中客户点餐速度慢、服务员登记不清晰、厨师配餐漏配、菜谱更新不及时且不直观、会员管理混乱的现象。通过餐饮企业的信息化改造暨利用无线技术,替代传统的纸和笔进行电子点餐(点菜)操作,实现远距离地进行信息即时传递。当然,无线点餐(点菜)系统不只是可以进行点餐操作,同时通过配套的餐饮管理软件,还可以实现强大的统计和管理功能,使餐饮企业真正实现信息化。这样能够有效地的提升餐饮企业的档次和管理水平,做到科学管理、科学决策、高效运转、降低成本,进行信息化是必由之路。而采用无线点餐(点菜)系统取代传统的手工点餐,采用餐饮管理软件取代传统的人工统计和粗放型管理又是信息化当中的核心内容。关键词:餐饮点餐;面向对象开发方法;Qt;客户端;数据库;太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸2Based On The QT Electronic Ordering System Design And ImplementationAbstractIn the further study of small and medium-sized catering enterprises, on the basis of workflow, analysis of the efficiency of catering enterprises of various factors, found the main factors influencing the efficiency is the commonly used manual registration the phenomenon of recipes, this system use computer system to realize information management of catering enterprises workflow, USES the object-oriented development method, and c + + language, rely on Visual studio2008 as a development tool, use Sqlite network database to store data.Implements the customer order, chef catering, cashier management, system set up four big functions, solve the catering enterprises in the slow speed of customer order, unclear, chef catering waiter to register with leakage, the menu update not timely and not intuitive, member management chaos phenomenon.By catering enterprises informatization reform and the use of wireless technology, replace traditional pen and paper to electronic order (order) operation, realize remote real-time transmission of information.Wireless order (order) system, of course, not just to order operation, at the same time, by supporting catering management software, can also realize powerful statistics and management, catering enterprises to realize informationization.It can effectively promote the class of the catering enterprises and the management level, achieve scientific management, scientific decision-making, high efficiency, reduce cost, informatization is the only way.And use wireless order (order) system to replace the traditional manual order, catering management software to replace the traditional artificial statistics and extensive management is the core content of informatization.Key words: food and beverage order;Object-oriented development ethod;QT;client;database;太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸目 录摘 要 ....................................................................1Abstract..................................................................21 绪论 ....................................................................11.1 引言 ..............................................................11.1.1 编写目的 .....................................................11.1.2 项目背景 .....................................................11.1.3 现实背景 .....................................................11.2 术语定义 ..........................................................21.3 参考资料 ..........................................................21.4 研究目的和意义 ....................................................21.4.1 目的 .........................................................21.4.2 意义 .........................................................32 开发平台及核心技术简介 ..................................................42.1 开发语言介绍 ......................................................42.1.1 Qt 介绍 ......................................................42.1.2 Qt 信号槽机制简介 ............................................52.1.3 属性介绍 .....................................................72.2 开发环境 ..........................................................72.2.1 VisioStudio2008 简介 .........................................72.2.2 VC2008 与 Qt4.7 的开发环境搭建 ................................82.3 核心技术介绍 ......................................................82.3.1 UDP 协议 .....................................................82.3.2 TCP 协议 .....................................................92.3.3 Qt 数据库支持 ...............................................103 需求分析 ...............................................................123.1 目前餐饮企业工作流程 .............................................123.2 所建议系统的工作流程 .............................................123.3 产品功能 .........................................................133.4 软件需求描述 .....................................................143.5 系统用例图 .......................................................143.6 软件接口 .........................................................164 总体设计与实现 .........................................................174.1 系统架构设计 .....................................................174.2 系统编码规范 .....................................................174.2.1 类型的命名 ..................................................174.2.2 方法和属性的命名 ............................................184.2.3 变量和常数 ..................................................184.2.4 Main 函数代码 ...............................................195 详细设计 ...............................................................205.1 数据库模块功能设 .................................................20太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸I5.2 登录模块功能设计 .................................................205.3 点餐模块功能设计 .................................................215.4 服务器模块功能设计 ...............................................215.5 厨房模块功能设计 .................................................225.6 数据库模块设计与实现 .............................................225.6.1 数据库模块设计 ..............................................225.6.2 数据库模块实现 ..............................................235.7 登录模块设计与实现 ...............................................235.7.1 登录模块设计 ................................................235.7.2 登陆模块代码 ................................................235.7.3 注册模块代码 ................................................245.8 点餐模块设计与实现 ...............................................245.8.1 点餐模块设计 ................................................245.8.2 点餐客户端代码 ..............................................255.9 服务器模块设计与实现 .............................................265.9.1 服务器模块设计与实现 ........................................265.9.2 服务器代码 ..................................................265.10 厨房模块设计与实现 ..............................................285.10.1 厨房模块设计 ...............................................285.10.2 厨房客户端代码 .............................................286 系统测试 ...............................................................316.1 简介 .............................................................316.1.1 编写目的 ....................................................316.1.2 项目背景 ....................................................316.1.3 系统简介 ....................................................316.1.4 参考资料 ....................................................316.2 测试概要 .........................................................316.2.1 测试用例设计 ................................................326.2.2 测试环境与配置 ..............................................326.2.3 测试方法(和工具) ............................................326.3 测试结果及缺陷分析 ...............................................326.3.1 登录模块测试 ................................................326.3.2 点餐模块实现 ................................................336.3.3 服务器模块实现 ..............................................346.3.4 厨房模块实现 ................................................366.4 测试结论 .........................................................37总 结 ...................................................................38参考文献 .................................................................39致 谢 ...................................................................40外文原文 .................................................................41太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸01 绪论1.1 引言1.1.1 编写目的本文档是餐饮点餐管理系统的项目需求说明书,对餐饮点餐管理系统的发展进行简要回顾,分析当前的业务流程,总结此类管理系统的基本特点以及总体功能,尽可能完整的概括提取出需求方的全部想法。本文档对项目开发人员、设计人员及系统实施人员具有很重要的指导意义。1.1.2 项目背景项目名称:餐饮点餐管理系统;中国是举世闻名的美食大国,拥有五千年的饮食文化和巨大的餐饮市场,随着人民生活水平和生活方式的转变,餐饮业具有巨大的投资市场,被称为中国的黄金产业,但同样也应看到,餐饮业不仅面临着巨大的发展机遇,也面临着前所未有的挑战和考验。餐饮业的不断发展,在经营管理上也逐步向电子化迈进,通过电脑信息系统管理餐饮业的内部事务,使得作业更加简单化、高效。以财务为中心,减轻一线操作人员的劳动强度,节省营业人员的交班时间,加强财务审核管理。提供多种点菜、结算、统计报表功能,提供分厨房直接打印前台点菜数据。在餐饮经营中,传统的纸制作业流程无法满足现代客户在信息娱乐及服务安保等方面的要求。而此系统的使用,使餐厅管理者便捷的进行经营娱乐的管理,大大增加的各店成本控制及销售额1.1.3 现实背景我国的餐饮市场经过 30 多年的改革开放及发展,可以说我国正迎来一个餐饮业大发展的时期,市场潜在力量巨大,远景很是广阔。根据中国烹饪协会发布的 2009 年度餐饮业发展报告显示,即便在经济遭受重创的 2009 年,全社会餐饮业零售额达依然到17998 亿元,同比增长 16.8%。其中,每月的零售额均超过 1300 亿元,增长率稳定在14.4%至 21.6%。在各类消费性支出中增幅居前,仅次于交通和通信支出。并且预计2012 年餐饮市场还将继续增长,营业额也将达到 20000 亿元。 与此同时,我国餐饮业发展的质量和内涵也发生了重大变化。行业的经营领域和市场空间不断拓宽,经营档次和企业管理水平不断提高,经营业态日趋丰富,投资主体和消费需求多元化特点更加突出,网点数量和人员队伍继续扩大;餐饮市场更加繁荣,消费的个性化和特色化的趋势明显,追求健康营养和连锁规模发展成为主题。集团化、品牌化、产业化和国际化的发展步伐加快,餐饮现代化的进程不断推进。 近几年来,中国餐饮业的发展一直保持强劲快速增长同时,也看到目前餐饮行业太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸1普遍存在的问题。餐饮企业的发展一直处于自我摸索、自我运作、自我积累和自我完善为主的状态,利润低、承载重、支撑小、发展难的特点突出。餐饮企业在产品标准化技术设备开发、连锁管理体系的建立、专业人才的培养、吸纳资本投入、理论指导和信息交流等方面的条件十分不足,存在着技术开发与设备配套难、管理与人才难、配送渠道与发展资金难、沟通交流与合作难等深层次因素的制约,行业平台和基础支持力量不强,对企业发展产生较大的影响。1.2 术语定义所谓”翻台率”是指在某期间里,指餐桌座位坐满及餐桌空荡的速度。 一个高翻台率意味更多用餐者吃了并且走了,而一个低的翻台率意味同样用餐者是在一段长时间里使用餐桌,或者餐桌座位是空的。1.3 参考资料[1] 餐饮点餐管理系统项目开发计划_v1.001.4 研究目的和意义1.4.1 目的在我们这个“食文化”高度发达的国度里,餐饮业毋庸置疑地成为第一大传统产业。然而,正是这历史悠久、规模庞大的产业,却也是信息化程度最慢和最低的产业之一。至今为止,绝大多数餐饮企业的经营方式仍然停留在“一张纸、一支笔、经理喊破嗓、员工跑断腿”的境地;而会计工作,也仍然是以一支笔或一个算盘,或最好的情况下一个计算器进行加减乘除,其本质仍然是以人脑计算为基础,不但工作量巨大,而且极易出错。笔者曾经见过生意极好的大排档,服务员进进出出地飞奔于户外桌台、大堂吧台和厨房之间,而经理则用计算器算得满头大汗的场景,蔚为壮观。且不说这种日复一日的重复、单调的劳动意义何在,单就消费计算方面的出错而引发的与客户之间的矛盾纠纷,就不可胜计。其实在人类文明已经进入电子信息的时代,绝大多数重复、单调、可程式化的工作都已经可以交由计算机来完成。面对复杂和庞大的计算任务,计算机在效率和准确度方面是人脑所不能望其项背的。作为传统产业的餐饮业,同其他很多传统产业一样,同样可以引入信息化改造。餐饮业的信息化改造内容,主要有:由传统的笔和纸点餐,改用电子点餐;由传统的人工计算、统计、管理,改用电脑进行计算、统计和管理;将现代的电子技术、无线技术、计算机技术和网络技术引入到餐饮行业中来,替代部分人工操作,加快餐饮企业的运转效率,提升餐饮企业的管理水平,使餐饮企业运作更规范、更科学、更高效。在餐饮企业的信息化改造当中,无线点餐(点菜)系统,成为其核心内容,也是太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸2餐饮企业进行信息化改造的必由之路。因此本论文研究的目的在于通过餐饮企业的信息化改造暨利用无线技术,替代传统的纸和笔进行电子点餐(点菜)操作,实现远距离地进行信息即时传递。当然,无线点餐(点菜)系统不只是可以进行点餐操作,同时通过配套的餐饮管理软件,还可以实现强大的统计和管理功能,使餐饮企业真正实现信息化。1.4.2 意义 能够有效地的提升 餐饮企业的档次和管理水平,做到科学管理、科学决策、高效运转、降低成本,进行信息化是必由之路。而采用无线点餐(点菜)系统取代传统的手工点餐,采用餐饮管理软件取代传统的人工统计和粗放型管理又是信息化当中的核心内容。餐饮企业引进一套无线点餐(点菜)系统,成本大约在一万元左右(视配置情况而不同) ,大约相当于一个服务员一年的工资,但带来的便利性和管理水平的升级则是无与伦比的。无线点餐(点菜)系统所带来的运营效率的大幅度提高和人力成本的节约,远超其投资成本,对于餐饮企业信息化,可以说是不二的选择。太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸32 开发平台及核心技术简介2.1 开发语言介绍2.1.1 Qt 介绍Qt 是一个 1991 年由奇趣科技开发的跨平台 C++图形用户界面应用程序开发框架。它既可以开发 GUI 程序,也可用于开发非 GUI 程序,比如控制台工具和服务器。Qt 是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,易于扩展,允许组件编程。2008 年,奇趣科技被诺基亚公司收购,QT 也因此成为诺基亚旗下的编程语言工具。2012 年,Qt 被 Digia 收购。Qt 是一个跨平台的 C++图形用户界面库,由挪威 TrollTech 公司出品,目前包括Qt/X11, 基于 Framebuffer 的 Qt Embedded,快速开发工具 Qt Designer,国际化工具 Qt Linguist 等,Qt 支持 Unix 系统及 Linux,还支持 WinNT/Win2k,Win95/98 平台。Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性 较好,对于用户开发来说是非常方便的。Qt API 和开发工具对所有支持平台都是一致的,从而可以进行独立于平台的程序开发和配置。它使得跨平台软件编程直观、简易和方便。Qt 提供了一种称为 signals/slots 的安全类型来替代 callback 回调函数,这使得各个控件之间的协同工作变得十分简单。Qt 在 Linux 下有 GPL 版,可方便用户的学习及开发。如果用户使用 C++,对库的稳定性,健壮性要求比较高,并且希望跨平台开发的话,那么使用 Qt 是较好的选择,Qt 还支持 2D/3D 图形渲染、OpenGL、XML 等。Qt Script for Applications (QSA)是 Trolltech 的跨平台脚本工具箱。Qt 为静态的 Qt/C++程序提供了一个脚本界面,可以定制和扩展程序。Qtopia 是为基于 Linux 的 PDA,智能电话和其他移动设备设计的一个全面的,可以用户化的应用程序平台和用户界面。Qt/Embedded 是面向嵌入式系统的 Qt 版本,是 Qt 的嵌入式 Linux 窗口,是完整的自包含 C++ GUI 和基于 Linux 的嵌入式平台开发工具。Qt/Embedded API 可用于多种开发项目。许多基于 Qt 的 X Window 程序可以非常方便地移植到嵌入式版本,适用于高端 PDA 等产品。Qt/Embedded 内部对于字符集的处理采用了 UNICODE 编码标准。Qt 是基于面向对象的 C++语言,Qt 提供了 signal 和 slot 的对象通信机制,具有可查询和可设计的属性以及强大的事件和事件过滤 器,同时,还具有字符国际化,即支持根据上下文进行国际化的字符串翻译。许多 Qt 的特性是基于 QObject 的继承,通过标准 C++技术实现的优良的跨平台特性:Qt 支持下列操作系统: Microsoft Windows 95/98, Microsoft Windows NT, Linux, Solaris, SunOS, HP-UX, Digital UNIX (OSF/1, Tru64), Irix, FreeBSD, BSD/OS, SCO, AIX, OS390,QNX 等等。太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸4面向对象:Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常 方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件 之间的协同工作变得十分简单。丰富的 API:Qt 包括多达 250 个以上的 C++ 类,还提供基于模板的 collections, serialization, file, I/O device, directory management, date/time 类。甚至还包括正则表达式的处理功能。支持 2D/3D 图形渲染,支持 OpenGL,丰富的 XML 支持。2.1.2 Qt 信号槽机制简介信号和槽是一种高级接口,应用于对象之间的通信,它是 QT 的核心特性,也是QT 区别于其它工具包的重要地方。信号和槽是 QT 自行定义的一种通信机制,它独立于标准的 C/C++语言,因此要正确的处理信号和槽,必须借助一个称为 moc(Meta Object Compiler)的 QT 工具,该工具是一个 C++预处理程序,它为高层次的事件处理自动生成所需要的附加代码。在我们所熟知的很多 GUI 工具包中,窗口小部件(widget)都有一个回调函数用于响应它们能触发的每个动作,这个回调函数通常是一个指向某个函数的指针。但是,在 QT 中信号和槽取代了这些凌乱的函数指针,使得我们编写这些通信程序更为简洁明了。 信号和槽能携带任意数量和任意类型的参数,他们是类型完全安全的,不会像回调函数那样产生 core dumps。所有从 QObject 或其子类(例如 Qwidget)派生的类都能够包含信号和槽。当对象改变其状态时,信号就由该对象发射(emit)出去,这就是对象所要做的全部事情,它不知道另一端是谁在接收这个信号。这就是真正的信息封装,它确保对象被当作一个真正的软件组件来使用。槽用于接收信号,但它们是普通的对象成员函数。一个槽并不知道是否有任何信号与自己相连接。而且,对象并不了解具体的通信机制。我们可以将很多信号与单个的槽进行连接,也可以将单个的信号与很多的槽进行连接,甚至于将一个信号与另外一个信号相连接也是可能的,这时无论第一个信号什么时候发射系统都将立刻发射第二个信号。总之,信号与槽构造了一个强大的部件编程机制。(1)信号当某个信号对其客户或所有者发生的内部状态发生改变,信号被一个对象发射。只有 定义过这个信号的类及其派生类能够发射这个信号。当一个信号被发射时,与其相关联的槽将被立刻执行,就象一个正常的函数调用一样。信号-槽机制完全独立于任何 GUI 事件循环。只有当所有的槽返回以后发射函数(emit)才返回。 如果存在多个槽与某个信号相关联,那么,当这个信号被发射时,这些槽将会一个接一个地 执行,但是它们执行的顺序将会是随机的、不确定的,我们不能人为地指定哪个先执行、哪个后执行。信号的声明是在头文件中进行的,QT 的 signals 关键字指出进入了信号声明区,随后即可 声明自己的信号。例如,下面定义了三个信号:signals: void mySignal();void mySignal(int x);太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸5void mySignalParam(int x,int y);在上面的定义中,signals 是 QT 的关键字,而非 C/C++的。接下来的一行 void mySignal() 定义了信号 mySignal,这个信号没有携带参数;接下来的一行 void mySignal(int x)定义 了重名信号 mySignal,但是它携带一个整形参数,这有点类似于 C++中的虚函数。从形式上 讲信号的声明与普通的 C++函数是一样的,但是信号却没有函数体定义,另外,信号的返回 类型都是 void,不要指望能从信号返回什么有用信息。信号由 moc 自动产生,它们不应该在.cpp 文件中实现。(2)槽槽是普通的 C++成员函数,可以被正常调用,它们唯一的特殊性就是很多信号可以与其相关联。当与其关联的信号被发射时,这个槽就会被调用。槽可以有参数,但槽的参数不能有缺省值。既然槽是普通的成员函数,因此与其它的函数一样,它们也有存取权限。槽的存取权限决定了谁能够与其相关联。同普通的 C++成员函数一样,槽函数也分为三种类型,即 public slots、private slots 和 protected slots:public slots:在这个区内声明的槽意味着任何对象都可将信号与之相连接。这对于组件编程非常有用,你可以创建彼此互不了解的对象,将它们的信号与槽进行连接以便信息能够正确的传递。protected slots:在这个区内声明的槽意味着当前类及其子类可以将信号与之相连接。这适用于那些槽,它们是类实现的一部分,但是其界面接口却面向外部。private slots:在这个区内声明的槽意味着只有类自己可以将信号与之相连接。这适用于联系非常紧密的类。槽也能够声明为虚函数,这也是非常有用的。槽的声明也是在头文件中进行的。例如,下面声明了三个槽:public slots:void mySlot();void mySlot(int x);void mySignalParam(int x,int y);(3)信号与槽的关联建立连接:通过调用 QObject 对象的 connect 函数来将某个对象的信号与另外一个对象的槽函数相关联,这样当发射者发射信号时,接收者的槽函数将被调用。该函数的定义如下:bool QObject::connect ( const QObject * sender, const char * signal, const QObject * receiver, const char * member ) [static]这个函数的作用就是将发射者 sender 对象中的信号 signal 与接收者 receiver 中的 member 槽函数联系起来。当指定信号 signal 时必须使用 QT 的宏 SIGNAL(),当指定槽函数时必须使用宏 SLOT()。如果发射者与接收者属于同一个对象的话,那么在connect 调用中接收者参数可以省略。断开连接:disconnect 函数来断开连接。其定义如下:bool QObject::disconnect ( const QObject * sender, const char * signal,
    展开阅读全文
    1
      金牌文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:基于QT的点菜系统设计.rar
    链接地址:http://www.gold-doc.com/p-158452.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们
    copyright@ 2014-2018 金牌文库网站版权所有
    经营许可证编号:浙ICP备15046084号-3
    收起
    展开