版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要:随着科学技术的发展,人们的生活水平提高,生活节奏也越来越快,这便使得日常用品向便利性的方向发展。目前,在我国的零售业当中,无人售货的方式已经成为了风口,而自动贩卖机作为无人售货的经典代表,更是处在快速发展的阶段。现在国内的自动贩卖机盲目追求科技感,而忽视了对用户的友好体验,因此,设计一款对用户友好的系统才是如今的目标。自动贩卖机系统结合互联网与人工智能,无人化、智能化零售,解决了劳动力成本高的问题,节约了资金投入,提高了工作效率。将线上购物平台与线下智能终端联合起来,打造了全新的零售渠道,符合零售业发展的新形势。本课题设计与实现一个自动贩卖机系统。使用QT作为开发软件,采用SQLite数据库作为系统的数据库,以QJson作为数据交换格式,通过SMTP方式发送邮件。本系统完成了用户操作,管理员登录,管理员操作,服务端管理的功能。用户操作功能主要实现用户购买、支付功能以及显示广告;管理员操作功能主要实现人工补货;服务端管理功能主要实现监视机器内货物数量、提供管理员账号密码、投放广告、向员工发送补货邮件。关键词:自动贩卖机;QT;SQLite数据库1概述1.1项目研究背景及意义自动贩卖机是能根据投入的钱币自动付货的机器。自动贩卖机是商业自动化的常用设备,它不受时间、地点的限制,能节省人力、方便交易。是一种全新的商业零售形式,又被称为24小时营业的微型超市。公元1世纪,希腊人希罗制造的自动出售圣水的装置是世界上最早的自动贩卖机。1925年美国研制出售香烟的自动贩卖机,此后又出现了出售邮票、车票的各种现代自动贩卖机。自动贩卖机虽然已经有相当久远的历史,但在当今社会,发展还没有到极致的境界。它所销售的商品都是日常消费品,购买频率大,且它移动方便,给消费者带来的便利是不容置疑的,由此可以相信,自动贩卖机会以它方便、快捷、灵活的购买方式迅速地成为人们购物主力军,以打破人们传统的去超市、商场购物的习惯。据省市行业专家介绍,自助售货机的发展与城市人口的密集度分不开的。一般来讲,城市人口越密集,自助售货机的数量越多。有自动售货机行业市场调查分析报告预测,中国自助售货最保守也有50万多台,与现有的不足10万台的数量相比,未来中国的自助售货机行业发展空间巨大。如今,在学校、机场、地铁、商场、公园等客流较大的场所,不难发现自动售货机的身影。作为一种前卫的零售方式,自动售货机受到了喜欢追逐时尚的年轻人的欢迎。但是,在三四线及以下城市,自动贩卖机不仅数量少,且品种非常单一,主要以瓶罐装饮料售货机为主,生产和运营成本较高,收益也不高。为解决这些问题,设计了一种基于QT的自动贩卖机系统。该系统人机交互界面友好,操作简单,节约成本,并且有多渠道增加收益,可以通过自动贩卖机的大屏幕播放媒体广告,增加广告收益。1.2国内外研究现状自动售货机是一种全新的商业零售形式,20世纪70年代自日本和欧美发展起来。它又被称为24小时营业的微型超市。在日本,70%的罐装饮料是通过自动售货机售出的。全球著名饮料商可口可乐公司在全世界就布有50万台饮料自动售货机。17世纪,英国的小酒吧里设有了香烟的自动售货机。在自动售货机历史的长河中,日本开发出实用型的自动售货机,那是在进入本世纪后的事。日本第一台自动售货机是1904年问世的“邮票明信片自动出售机”,它是集邮票明信片的出售和邮筒投函为一体的机器。自动售货机的真正普及是在第二次世界大战以后。50年代,“喷水型果汁自动售货机”大受欢迎,果汁被注入在纸杯里出售。后来,由于美国的饮料大公司进入日本市场,1962年,出现了以自动售货机为主体的流通领域的革命。1967年,100日元单位以下的货币全部改为硬币,从而促进了自动售货机产业的发展。根据1998年统计,在日本全国各地,共设有550万台自动售货机,销售额达6兆8969亿4887万日元,为世界第一。在售货机的显示屏幕上进行操作,输入商品号码和购买数量,并投入钱币后,商品就会从取货口出来,甚至从食品自动售货机上还能买到热呼呼的面条和米饭团。虽然日本的自动售货机总台数低于美国,但是,从人口占有数来看却是世界上最高的,美国平均35人占有一台,而日本为23人占有一台。1999年,自动售货机开始进人中国市场,进入中国市场后不仅没有得到预期的市场效应和消费者的广泛认同,而且因为部分设备毁损严重,造成投资方不小的经济损失。中国市场上的自动售货机不仅数量少,且品种非常单一,主要以瓶饮料售货机为主,技术质量还未完全过关,生产和运营成本较高,收益也不高。1.3开发工具与技术介绍QT是一个跨平台的基于C++图形用户界面编程框架,由挪威TrollTech公司出品,是嵌入式主流的GUI中的一种。使用QT开发的软件,还可以在任何支持的平台上编译与运行,而不需要修改源代码。可以实现本平台的图形界面风格,也可以实现其他的平台的图形界面风格。经过多年的发展,QT不但拥有了完善的C++图形库,而且近年来的版本逐渐集成了数据库、OpenGL库、多媒体库、网络库、脚本库、XML库等,其内核库也加入了进程间的通信、多线程等模块,极大的丰富了QT开发大规模复杂跨平台应用程序的能力。信号和槽机制是的核心机制,要精通QT编程就必须对信号和槽有所了解。信号和槽是一种高级接口,应用于对象之间的通信,它是QT的核心特性,也是QT区别于其它工具包的重要地方。信号和槽是QT自行定义的一种通信机制,它独立于标准的C/C++语言,因此要正确的处理信号和槽,必须借助一个称为moc(MetaObjectCompiler)的QT工具,该工具是一个C++预处理程序,它为高层次的事件处理自动生成所需要的附加代码。在QT中对自动贩卖机系统的主界面进行设计,QT中已经将各种控件封装好了,开发人员直接调用即可,首先是对软件的一个登陆界面设计,主要是管理人员的身份认证。接着是操作主界面的设计,数量选择和购买两个控件,将这两个控件与相应的动作的槽函数进行连接,将后台的数据操作程序与控件相结合,实现控件的实际功能。使用QPushButton控件,后台的程序则使用SQLite编程对SQLite的操作。而系统功能则是采用C/S开发模式,QT本身提供了QTcpSocket和QTcpService类用于用户编写客户端与服务端的应用程序编写。2可行性研究2.1技术可行性2.1.1SQLite技术SQLite是一款非常轻量级的关系数据库系统,支持多数SQL92标准。SQLite在使用前不需要安装设置,不需要进程来启动、停止或配置,而其他大多数SQL数据库引擎是作为一个单独的服务器进程,被程序使用某种内部进程通信,完成发送请求到服务器和接收查询结果的工作,SQLite不采用这种工作方式。使用SQLite时,访问数据库的程序直接从磁盘上的数据库文件读写,没有中间的服务器进程。使用SQLite一般只需要带上一个dll,就可以使用它的全部功能。SQLite的主要应用场景有作为手机应用的数据库以及小型桌面软件的数据库。2.1.2JSON技术JavaScript对象表示法是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。JSON解析器和JSON库支持许多不同的编程语言。JSON文本格式在语法上与创建JavaScript对象的代码相同。由于这种相似性,无需解析器,JavaScript程序能够使用内建的eval()函数,用JSON数据来生成原生的JavaScript对象。JSON是存储和交换文本信息的语法。类似XML。JSON比XML更小、更快,更易解析。JSON具有自我描述性,语法简洁,易于理解。2.1.3SMTP技术SMTP是一种提供可靠且有效的电子邮件传输的协议。SMTP是建立在FTP文件传输服务上的一种邮件服务,主要用于系统之间的邮件信息传递,并提供有关来信的通知。SMTP独立于特定的传输子系统,且只需要可靠有序的数据流信道支持,SMTP的重要特性之一是其能跨越网络传输邮件,即“SMTP邮件中继”。使用SMTP,可实现相同网络处理进程之间的邮件传输,也可通过中继器或网关实现某处理进程与其他网络之间的邮件传输。1概述1.1项目研究背景及意义自动贩卖机是能根据投入的钱币自动付货的机器。自动贩卖机是商业自动化的常用设备,它不受时间、地点的限制,能节省人力、方便交易。是一种全新的商业零售形式,又被称为24小时营业的微型超市。公元1世纪,希腊人希罗制造的自动出售圣水的装置是世界上最早的自动贩卖机。1925年美国研制出售香烟的自动贩卖机,此后又出现了出售邮票、车票的各种现代自动贩卖机。自动贩卖机虽然已经有相当久远的历史,但在当今社会,发展还没有到极致的境界。它所销售的商品都是日常消费品,购买频率大,且它移动方便,给消费者带来的便利是不容置疑的,由此可以相信,自动贩卖机会以它方便、快捷、灵活的购买方式迅速地成为人们购物主力军,以打破人们传统的去超市、商场购物的习惯。据省市行业专家介绍,自助售货机的发展与城市人口的密集度分不开的。一般来讲,城市人口越密集,自助售货机的数量越多。有自动售货机行业市场调查分析报告预测,中国自助售货最保守也有50万多台,与现有的不足10万台的数量相比,未来中国的自助售货机行业发展空间巨大。如今,在学校、机场、地铁、商场、公园等客流较大的场所,不难发现自动售货机的身影。作为一种前卫的零售方式,自动售货机受到了喜欢追逐时尚的年轻人的欢迎。但是,在三四线及以下城市,自动贩卖机不仅数量少,且品种非常单一,主要以瓶罐装饮料售货机为主,生产和运营成本较高,收益也不高。为解决这些问题,设计了一种基于QT的自动贩卖机系统。该系统人机交互界面友好,操作简单,节约成本,并且有多渠道增加收益,可以通过自动贩卖机的大屏幕播放媒体广告,增加广告收益。1.2国内外研究现状自动售货机是一种全新的商业零售形式,20世纪70年代自日本和欧美发展起来。它又被称为24小时营业的微型超市。在日本,70%的罐装饮料是通过自动售货机售出的。全球著名饮料商可口可乐公司在全世界就布有50万台饮料自动售货机。17世纪,英国的小酒吧里设有了香烟的自动售货机。在自动售货机历史的长河中,日本开发出实用型的自动售货机,那是在进入本世纪后的事。日本第一台自动售货机是1904年问世的“邮票明信片自动出售机”,它是集邮票明信片的出售和邮筒投函为一体的机器。自动售货机的真正普及是在第二次世界大战以后。50年代,“喷水型果汁自动售货机”大受欢迎,果汁被注入在纸杯里出售。后来,由于美国的饮料大公司进入日本市场,1962年,出现了以自动售货机为主体的流通领域的革命。1967年,100日元单位以下的货币全部改为硬币,从而促进了自动售货机产业的发展。根据1998年统计,在日本全国各地,共设有550万台自动售货机,销售额达6兆8969亿4887万日元,为世界第一。在售货机的显示屏幕上进行操作,输入商品号码和购买数量,并投入钱币后,商品就会从取货口出来,甚至从食品自动售货机上还能买到热呼呼的面条和米饭团。虽然日本的自动售货机总台数低于美国,但是,从人口占有数来看却是世界上最高的,美国平均35人占有一台,而日本为23人占有一台。1999年,自动售货机开始进人中国市场,进入中国市场后不仅没有得到预期的市场效应和消费者的广泛认同,而且因为部分设备毁损严重,造成投资方不小的经济损失。中国市场上的自动售货机不仅数量少,且品种非常单一,主要以瓶饮料售货机为主,技术质量还未完全过关,生产和运营成本较高,收益也不高。1.3开发工具与技术介绍QT是一个跨平台的基于C++图形用户界面编程框架,由挪威TrollTech公司出品,是嵌入式主流的GUI中的一种。使用QT开发的软件,还可以在任何支持的平台上编译与运行,而不需要修改源代码。可以实现本平台的图形界面风格,也可以实现其他的平台的图形界面风格。经过多年的发展,QT不但拥有了完善的C++图形库,而且近年来的版本逐渐集成了数据库、OpenGL库、多媒体库、网络库、脚本库、XML库等,其内核库也加入了进程间的通信、多线程等模块,极大的丰富了QT开发大规模复杂跨平台应用程序的能力。信号和槽机制是的核心机制,要精通QT编程就必须对信号和槽有所了解。信号和槽是一种高级接口,应用于对象之间的通信,它是QT的核心特性,也是QT区别于其它工具包的重要地方。信号和槽是QT自行定义的一种通信机制,它独立于标准的C/C++语言,因此要正确的处理信号和槽,必须借助一个称为moc(MetaObjectCompiler)的QT工具,该工具是一个C++预处理程序,它为高层次的事件处理自动生成所需要的附加代码。在QT中对自动贩卖机系统的主界面进行设计,QT中已经将各种控件封装好了,开发人员直接调用即可,首先是对软件的一个登陆界面设计,主要是管理人员的身份认证。接着是操作主界面的设计,数量选择和购买两个控件,将这两个控件与相应的动作的槽函数进行连接,将后台的数据操作程序与控件相结合,实现控件的实际功能。使用QPushButton控件,后台的程序则使用SQLite编程对SQLite的操作。而系统功能则是采用C/S开发模式,QT本身提供了QTcpSocket和QTcpService类用于用户编写客户端与服务端的应用程序编写。2可行性研究2.1技术可行性2.1.1SQLite技术SQLite是一款非常轻量级的关系数据库系统,支持多数SQL92标准。SQLite在使用前不需要安装设置,不需要进程来启动、停止或配置,而其他大多数SQL数据库引擎是作为一个单独的服务器进程,被程序使用某种内部进程通信,完成发送请求到服务器和接收查询结果的工作,SQLite不采用这种工作方式。使用SQLite时,访问数据库的程序直接从磁盘上的数据库文件读写,没有中间的服务器进程。使用SQLite一般只需要带上一个dll,就可以使用它的全部功能。SQLite的主要应用场景有作为手机应用的数据库以及小型桌面软件的数据库。2.1.2JSON技术JavaScript对象表示法是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。JSON解析器和JSON库支持许多不同的编程语言。JSON文本格式在语法上与创建JavaScript对象的代码相同。由于这种相似性,无需解析器,JavaScript程序能够使用内建的eval()函数,用JSON数据来生成原生的JavaScript对象。JSON是存储和交换文本信息的语法。类似XML。JSON比XML更小、更快,更易解析。JSON具有自我描述性,语法简洁,易于理解。2.1.3SMTP技术SMTP是一种提供可靠且有效的电子邮件传输的协议。SMTP是建立在FTP文件传输服务上的一种邮件服务,主要用于系统之间的邮件信息传递,并提供有关来信的通知。SMTP独立于特定的传输子系统,且只需要可靠有序的数据流信道支持,SMTP的重要特性之一是其能跨越网络传输邮件,即“SMTP邮件中继”。使用SMTP,可实现相同网络处理进程之间的邮件传输,也可通过中继器或网关实现某处理进程与其他网络之间的邮件传输。2.2经济可行性经济可行性是项目使用资源的可能性,它包括项目占用的资源和项目带来的收益。本系统开发所消耗的成本低,并且使用效率较高。在科学技术快速发展的今天,节约时间就是增加利润,节约人力就是增加收入。该系统能够24小时全天候营业,全年无休,营业时间长,有效提高收益,同时只需要少量员工操作和维护,减少了人工开销,由此可见,开发此系统在经济上是完全可行的。2.3操作可行性随着科技的不断进步,国内自动贩卖机行业也在向智能化发展,高科技与传统的自动贩卖机相结合,做到了自动贩卖机行业新血液的注入,有利于保持自动贩卖机行业的活力。我们开发的这套操作简单,用户界面友好,这使得用户的使用门槛降低,用户能很快掌握系统的用法,此外本系统还有良好的安全性设置。本系统能够满足自动贩卖机从业人员的要求,同时利用物联网提高工作效率,由此可见,在操作上是可行的。3系统需求分析3.1任务概述本系统从实际出发,根据传统的自动贩卖机要求,预计完成的系统将为用户提供有效的服务,系统能够及时准确地反应当前机器内的库存,从而避免用户的损失,提升用户满意度,从而促进二次消费。图3-1提出了一个系统的整体概述方案,并按照系统设计要求进行开发,最终能为用户提供一套完整的、高效的、可靠的服务。3.2功能需求人工管理方式消耗了大量不必要的人力和物力,想要解决这些痛点就必须提供一个新的管理方式。这种新的管理方式就是靠计算机去自动化管理,自动贩卖机应运而生。就如同工业革命时期,由机器来代替人类进行重复的工作,解放了生产力还提高了效率。现在互联网时代,通过互联网强大的算力,来代替人类进行更高效的管理,自动贩卖机系统就能解决这个问题。为了实现上文提到的需求,系统应该具备如下功能:1)用户能看到饮料的种类,饮料的剩余数量,饮料的价格;2)用户选择自己想要的饮料,选择购买的数量,扫描二维码完成购买;3)管理员输入自己的账号密码登陆管理员模式,输入错误弹出错误警告;4)管理员在管理员模式选择饮料的种类、数量,对饮料进行补货;5)客户端与服务端连接获取数据信息,包括饮料的数量、价格信息,管理员账 号密码信息;6)服务端接受客户端发送的饮料信息,对客户端投放广告,需要补货时发送邮 件。各功能以及对应介绍如表3-1所示。系统需求分析包括功能和性能两个方面。性能需求分析主要考虑系统功能在运行过程中能够达到指标,对于一个完备的系统而言,性能需求分析十分重要。为了实现上文提到的功能,以及保障用户体验,系统性能应该具备如下需求:处理用户订单时间不超过2秒;能够同时对多种饮料进行补货;系统运行稳定,故障率较低,并且可维护性高;系统具有可扩展性,添加功能模块不需要对系统进行重构,只需将新开发的 功能接口接入即可。4总体设计4.1总体设计概述4.1.1客户端总体设计自动贩卖机系统的客户端以QT作为开发工具,涉及的功能模块有:登录模块、购买模块、补货模块、通信模块。客户端总体设计框架如图4-1所示。该系统的运行方式为:开机后与服务端建立连接,首先弹出为用户提供服务的购买界面,用户在此界面根据自己的需求选择商品,点击购买按键后会弹出支付界面,完成扫码,就会返回到购买界面。管理员进行操作时,先从购买页面跳转到登录页面,正确输入后就能进入补货界面,管理员在此界面输入补充商品的数量,确定后数据就会传输到数据库进行更新,最后完成补货返回到购买界面。4.1.2服务端总体设计自动贩卖机系统的服务端以QT作为开发工具,涉及的功能有:接受信息、管理员账户、投放广告、发送邮件。服务端总体设计框架如图4-2所示。4.2数据库设计4.2.1SQLite数据库介绍本系统采用SQLite数据库作为系统的数据库,主要是因为 SQLite是一个小型的数据库,结构简单,并且主要用于嵌入式系统中,与本系统的需求相契合。以下是SQLite数据库的优点:与MySQL相比,它更彻底的免费,并且没有任何使用上的限制;非常小巧,PHP5以上版本中无需任何配置即可支持SQLite;无需单独购买数据库服务,无服务器进程,配置成本为零;整个数据库存储在一个单个的文件中,数据导入导出备份恢复都是复制文 件,维护难度为零;读速度快,在数据量不是很大的情况下速度较快,更重要的是:省掉了一次 数据库远程链接没有复杂的权限验证,打开就能操作。SQLite数据库的体系结构如图4-3所示。使用SQLite数据库会用到一些常用语句:创建表——CREATETABLEIFNOTEXISTSshop(nametext,pricereal);;删除表——DROPTABLEIFEXISTSshop;插入数据——INSERTINTOshop(name,price)VALUES('water',2);;更新数据——UPDATEdrinkSETname='juice',price=4;;删除数据——DELETEFROMshop;。4.2.2SQLite数据库设计本系统数据库共有两张表,接下来分别展示两张表并说明。管理员用户账户表如表4-1所示。这张表存放了管理员的账号密码信息,管理员使用表中已经存在的账号密码才能登录进入自动贩卖机系统客户端的管理员模式。这张表存放了商品的名称、数量、价格的信息,方便管理人员监视自动贩卖机内部商品的库存情况。5详细设计与实现5.1购买模块购买模块是用户最主要使用的模块,用户模块包含的信息有:商品的种类、商品的数量、商品的价格、宣传广告。以上信息是直接在界面上显示的,当用户选择完毕自己想要的商品后,还会跳转出二维码模块。购买模块操作流程如图5-1所示。当用户开始操作自动贩卖机系统后,用户首先确定自己想要的商品种类,然后选择购买该商品的数量,点击购买按钮,接着就会跳转到支付窗口,用户使用手机扫描支付窗口的二维码便能完成交易,最后返回到购买界面。购买模块设计时,用到的主要主要代码如表5-1所示。登录模块是管理员想要进入管理员模式前必须经过的操作,通过输入正确的账号和密码,管理员才能登入管理员模式开始自己的工作。登录模块包含的功能有账号登录功能和账号错误警告功能,是进入管理员模式前的一道安全保障。登录模块操作流程如图5-2所示。管理员通过主界面上的管理员模式进入登录界面,管理员在登录界面可以使用键盘或者虚拟键盘输入账号密码,若输入正确则跳出登录成功窗口,点击确定后就能进入管理员模式,若输入错误则跳出错误警告,点击确定后返回登录界面重新输入账号密码。登录模块设计时,用到的主要代码如表5-2所示。管理员登录成功后就会进入管理员模式,来到补货界面。补货模块的功能包括填写商品数据和更新商品数据。管理员可以在这个界面根据当前的状况,选择待补商品的种类,补充的数量,同时为了方便补货数量的输入,这里设置为选择补充数量的两倍。补货模块操作流程如图5-3所示。管理员通过正确输入账号密码进入管理员模式,来到补货界面,管理员在补货界面可以选择要补充的商品种类和数量,并且管理员在此界面可以同时补充多种商品,不需要选择一个商品就确定一下,为补货操作增加了些许便利。在全部货物补充完毕后,管理员需要点击确定按键,此时客户端就会把补货的信息发送到服务端,服务端的数据库就会更新商品的信息,显示最新的已经补完商品的自动贩卖机内的信息。最后,管理员点击切换到主界面按钮,画面就会从补货界面跳转到主界面,主界面上的商品数量也会同步改变。补货模块设计时,用到的主要代码如表5-3所示。在后方的工作人员,可以通过服务端模块监视自动贩卖机的情况,服务端模块的功能包括:显示管理员账号密码、显示商品信息、发送广告、发送邮件。工作人员在看到客户端与服务端建立连接成功的字样后,就可以监控自动贩卖机的情况,也可以向自动贩卖机投放广告,还可以发送邮件给前方工作人员要求补货。服务端模块操作流程如图5-4所示。负责自动贩卖机后台监控的工作人员只有在客户端和服务端建立连接后才能看到自动贩卖机内部的情况,否则只能看到管理员账号信息。在建立连接的情况下,工作人员点击显示商品信息按钮,可以看到商品的名称、价格、数量信息,重复点击则可以做到刷新信息,这使得服务端的信息具有准确性和实时性。并且在服务端界面下,工作人员可以直接手动修改管理员账号信息和商品名称信息等,方便后续自动贩卖机内的商品可能出现变更。由于工作人员能够及时看到商品剩余数量的信息,他们就可以主动在商品售罄之前,先进行商品补充,或者使用服务端模块发送邮件的功能,通知另外的员工前往补货。最后,工作人员还能通过服务端模块投放广告的功能,将事先下载好的广告投放在自动贩卖机的主界面,增加自动贩卖机的营业利润。服务端模块设计时,主要用到的代码如表5-4所示。6系统测试6.1测试目的基于QT的自动贩卖机系统设计实现之后,需要对各个模块进行功能的测试,检查各模块的实现效果,以此来确保各个功能的正确性、可靠性以及稳定性,能够满足自动贩卖机运行的需要。6.2测试步骤6.2.1购买模块测试购买模块主要用于实现用户购买商品和扫码支付的功能,本系统启动后就会出现购买界面,相当于本系统的主界面。主界面实现效果如图6-1所示。选择好购买的商品数量后点击旁边的购买按钮,就会跳转到支付窗口,并且显示二维码。支付窗口实现效果如图6-2所示。支付完成后,点击返回按钮返回主界面,此时主界面上相应的商品数量便会减少。返回主界面后的效果如图6-3所示。6.2.2登录模块测试通过登录模块可以登录到管理员模式,点击主界面上的管理员模式按钮,进入登录界面。登录界面实现效果如图6-4所示。在登录界面时,点击输入账户名或者密码的空白处时,会出现虚拟键盘。虚拟键盘实现效果如图6-5所示。此时管理员可以通过自动贩卖机的键盘输入账号名和密码,也可以使用虚拟键盘进行输入。管理员输入账户名密码后,系统会判断输入的信息与数据库中的信息是否一致然后跳出对应的窗口。输入正确和输入错误的效果分别如图6-6、图6-7所示。6.2.3补货模块测试通过登录界面的登录验证后,管理员就能进入到补货模块。管理员对自动贩卖机补货完成以后,在补货界面选择相应商品的数量,点击补货按钮后,旁边的数量便会增加。补货界面实现效果如图6-8所示。全部补货商品选择完毕后,管理员需要点击右上角的确定按钮,将补货信息发送到数据库中,更新数据。最后点击右上角的普通模式按钮返回到主界面,主界面也会更新显示补货后商品的数量信息。补货效果如图6-9所示。6.2.4服务端模块测试服务端需要在客户端启动之前启动,用于监测客户端是否与服务端建立连接,以此来保证后续操作以及功能的正确性和可靠性。客户端与服务端成功建立连接的效果如图6-10所示。在客户端与服务端建立连接的情况下,管理员便能够使用服务端的全部功能。管理员点击右侧显示用户或者显示商品按钮,就能看到数据库中的管理员和商品信息。显示管理员账号效果和显示商品信息效果分别如图6-11和图6-12所示。管理员在监测到自动贩卖机需要补货后,可以点击右侧的发送邮件按钮向工作人员发送请求补货的邮件。补货邮件效果如图6-13所示。管理员还能将广告放在客户端的资源文件中,让广告在主界面显示。广告效果如图6-13所示。本课题提出了自动贩卖机系统,通过相关知识进行设计,通过相应及技术实现了该系统。本系统的实现基于QT开发工具,使用C++作为开发语言,使用SQLite技术、JSON技术、SMTP技术,设计并实现了一套拥有拥有购买商品、管理员登录、补充商品功能的自动贩卖机系统。系统整体的功能主要包含四个模块:用户购买模块,主要完成用户选择购买需要的商品、扫码支付等功能;管理员登录模块,主要完成管理员账号密码的输入和验证,反馈账号密码正确或错误的信息;管理员补货模块,主要完成管理员修改自动贩卖机内部商品的数量以及传送修改后的数据信息到服务端数据库;服务端模块,主要实现查询管理员账号信息、查询商品信息、发送邮件等功能。结论本系统的数据库选用SQLite数据库,SQLite数据库管理简单,使用方便,维护数据库也没有太复杂繁琐的操作,同时SQLite非常稳定,出色的稳定性使得它适用于本系统。本系统的数据交换格式使用JSON,JSON最大的优点就是简洁,在总体上使用的资源更少,在本系统中使用时性能也比较优越。本系统的邮件发送使用SMTP协议,SMTP是建模在FTP文件传输服务上的一种邮件服务
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中国热带农业科学院椰子研究所面向社会招聘工作人员2人考试备考题库及答案解析
- 2026清华附中文昌学校初中生物临聘教师招聘1人考试备考题库及答案解析
- 2025年皖北卫生职业学院单招职业适应性测试题库及答案解析
- 2026云南保山市文化馆城镇公益性岗位招聘3人考试参考题库及答案解析
- 2025年网联清算有限公司校园招聘26人备考题库含答案详解
- 2025广东惠州惠东县医疗卫生事业单位(县域医共体)公开招聘第一批编外人员85人笔试历年典型考题及考点剖析附带答案详解试卷2套
- 2025年陕西商洛圣济堂医院招聘工作人员80名笔试历年典型考题及考点剖析附带答案详解试卷2套
- 2025年莆田市秀屿区石南轮渡有限公司高级船员招聘15人笔试参考题库附带答案详解
- 2025年濮阳南乐县人民医院公开招聘工作人员10人笔试历年典型考题及考点剖析附带答案详解试卷2套
- 2025年浙商银行长沙分行浏阳支行(筹)社会招聘笔试历年典型考题及考点剖析附带答案详解2套试卷
- 《商业插画创意与表现》课件-【1】商业插画概述
- 对外汉语教学论
- 双相情感障碍的药物治疗
- 创意粘土陶艺《釉下彩》课件
- 西北工业大学808电气工程基础历年考研真题
- 呼吸衰竭诊疗指南
- 郭沫若甲申三百年祭原文
- 蒙台梭利教学法PPT完整全套教学课件
- 安全生产双重预防机制建设培训手册
- 发票整理与制单费用类发票整制单(陈鸿公司)
- 一年级-民族团结教育主题班会
评论
0/150
提交评论