1、 本科毕业论文 (科研训练、毕业设计 ) 题 目: 现代化超市电子购物系统 姓 名: 学 院:软件学院 系: 软件工程 专 业:软件工程 年 级: 学 号: 指导教师(校内): 职称: 指导教师(校外): 职称: 二一九年一月厦门大学软件学院 I 现代化超市电子购物系统 摘要 : 本作品以现代化超市为背景,旨在解决目前超市中存在的查询商品不便、排长队 结账 、超市内定位困 难、服务和信息滞后等问题,采用嵌入式系统、射频识别 (RFID)、网络通信、数据库等技术,实现了现代化超市电子购物系统。 系统由移动购物终端和服务器端组成,具有友好的 图形界面,能够实现商品的自动识别和详细信息显示、购物清单
2、管理、顾客定位与商品定位、自动结账、会员身份识别与管理等功能。 RFID 又称射频识别 是英文 “ Radio Frequency Identification” 的缩写,是基于无线电基础之上的,利用射频信号对静止或者移动的物体进行自动识别和数据交换的技术。 RFID 是自动识别领域目前最热门的技术。它在物 料跟踪、运载工具和货架识别等要求非接触数据采集和交换和频繁改变数据内容的场合很有发展潜力与发展前景,它区别于条形码等其它识别技术的特性与优势能够满足目前库存管理的需要。所以,研究基于 RFID 技术的库存管理适应了目前社会的需求。 关键字 : 电子购物,嵌入式系统,射频识别, Qt/Emb
3、edded 厦门大学软件学院 II The System of Electronic Shopping for Modem Supermarket Abstract: This project aims at developing an electronic shopping system to solve the problems existing in current supermarket, including the inconvenient searching for merchandise, the long queue for checkout, the difficult lo
4、cating in supermarket, the lag of service and information and so on. The system is implemented by incorporating embedded system, FID(Radio Frequency Identification),Web and database technology, etc. This system, with a friendly graphic user interface, consists of this shopping terminal and server. I
5、t can serve various functions, such as merchandises automatic identification and detailed information display, shopping list management, searching for merchandise by category, locating of customers and merchandise, auto-checkout, membership identification and management, etc. RFID stands for radio f
6、requency identification. It uses radio waves to record media literacy. RFID is the hottest technology in automatic identification field. It has high potential and prospects in materials tracking, carriers and shelf identification that require non-contact data collection and frequent exchange of data
7、 content. Keywords: Electronic shopping, Embedded system, RFID, Qt/Embedded 厦门大学软件学院 III 目录 第 1 章 引言 .1 1.1 设计背景 .1 1.2 设计目标 .1 1.3 系统功能 .2 1.4 文章结构和说明 .2 第 2 章 系统总体设计 .4 2.1 系统的总体结构 .4 2.2 系统技术 .5 2.3 系统硬件 .6 2.4 开发环境 .8 第 3 章 系统硬件设计 .9 3.1 硬件总体设计 .9 3.2 开发步骤 .9 3.2.1 读卡模块的工作过程 .9 3.2.2 单片机程序的工作过程
8、.10 3.2.3 通讯指令协议 . 11 第 4 章 系统软件设计 .14 4.1 软件总体设计 .14 4.2 应用程序设计 .15 4.2.1 网络通信 设计 .15 4.2.2 表格显示设计 .18 4.2.3 数据库模块设计 .19 4.2.4 自动结账子系统设计 .20 4.2.5 定位子系统设计 .21 第 5 章 服务器端设计 .22 5.1 数据库设计 .22 5.2 后台管理 .22 第 6 章 总结 .24 致谢语 .25 参考文献 .26 附录一: Qt/Embedded 平台搭建 .27 厦门大学软件学院 IV Contents Chapter 1 Introduct
9、ion .1 1.1 Background .1 1.2 Design Goals .1 1.3 Function.2 1.4 Structure and Notes .2 Chapter 2 System Design.4 2.1 System Architecture .4 2.2 System Technology .5 2.3 System Hardware .6 2.4 Development Environment .8 Chapter 3 System Hardware Design .9 3.1 Hardware Design .9 3.2 Development Steps
10、.9 3.2.1 Reader Module.9 3.2.2 SCM Process Procedures .10 3.3 Communications Command Protocaol . 11 Chapter 4 System Software Design .14 4.1 Software Design .14 4.2 Application Design .15 4.2.1 Network Communication Design.15 4.2.2 Table Design .17 4.2.3 Database Module Design .19 4.2.4 Automatic Cl
11、osure Subsystem Design .19 4.2.5 Positioning Module .20 Chapter 5 Server Design .22 5.1 Database Design .22 5.2 Background Management .22 Chapter 6 Aggregate .24 Thanks .25 References.26 Appendix 1: Qt/Embedded Platform .27厦门大学软件学院 1 第 1章 引言 1.1 设计 背景 在我国超市形成在 20 世纪 90 年代初期,现在已经成为我国零售业的一种重要形态,为国民经济的
12、发展发挥了重要的作用。随着超市高速的发展,其经营管理也变得愈加复杂,早期的售货员站柜台的形式早已不能满足现有销售也的发展,这样就迫切地需要引入新的管理技术。 超市形态具有种种优点,但在目前状况下,它仍存在零售业企业所共有的落后的一面,如:不能有效地管理每种商品,收款结算速度慢,容易出现营业差错,不宜进行商品调价,盘点效率低等,而且在超市日常管理中,商品的进、销、存等决策以经验为主,缺乏实时分析 功能,管理人员对及时传递资料的要求始终得不到满足。苏辙超市形态的高速发展,其经营管理也变得愈加复杂,日常所需要处理的数据量也逐渐增大,商业运转的中间环节也越来越多,原始的人工管理已无法应对这复杂的市场。
13、为此,在选题过程中,我选择了超市管理系统设计题目,依靠现代化的计算机信息处理技术来管理超市,一方面,方便了顾客能够准确的获得商品的详细信息,节省了购物时间,提高了顾客购物的满意度和对超市的认同感。另一方面又为超市本身节省了大量的人力、物力,改善了员工的工作条件,减轻了劳动强度,并且能够快速反映出商品的进、销、 存等状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效率。 1.2 设计目标 随着现代科学技术的迅猛发展,计算机技术已经渗透到各个领域,成为各行业必不可少的工具,特别是 Internet 技术的推广和信息高速公路的建立,使 IT 产业在市场竞争中越发显示
14、出其独特的优势,步入信息化时代,有巨大的数据信息等待加工处理和传输,这使得对数据库的进一步开发和利用显得尤为迫切。作为国内市场的一些中小型超市,它们在信息化过程中的步伐要落后于大中型超市,而对于这些企业的资源管理,信息的存储和处理也显得迫切 需要,要适应市场竞争,就需要有高效的处理方式和管理方法,因此加快超市的信息化进程是必可少的。 本毕业设计以现代化超市为背景,为方便顾客购物,所开发的一个电子购物平台。旨厦门大学软件学院 2 在缩短顾客的结账时间,方便顾客查询超市商品信息和定位;降低超市的人力成本,提高运营效率。同时,提供一个后台管理系统对超市中的商品和超市会员信息进行有效的管理。 毕业设计
15、以博创科技 UP-NETARM2410-S(S3C2410 芯片 )控制板为平台,使用嵌入式Linux 操作系统和 QT/Embedded 图形界面,采用嵌入式系统技术、射频识别 (RFID)技术、数据库技术等实现以移动购物终端为核心的自动化、信息化的“现代化超市电子购物系统”。 通过本毕业设计主要学习在 Linux 环境下的嵌入式系统开发和对 RFID 原理的实现。 1.3 系统功能 系统采用具有全球唯一 UID 的“电子标签”作为商品、会员和位置的信息载体。移动购物终端获得由 RFID 读卡模块读取的 UID。通过网络查询数据库信息后进行相应的处理。处理后的信息借由网络返回给移动购物终端。
16、顾客可以 很直观的获取商品信息,便利了购物;移动购物终端能够自动识别并处理商品信息和顾客信息;将电子标签放在超市的地面下,移动购物 终端就能自动在超市内定位。系统功能如下: (1) 移动购物终端非接触地识别商品,自动显示商品的价格、介绍等详细信息; (2) 移动购物终端能够实时地显示顾客的购物清单和商品总价; (3) 移动购物终端具有定位功能, 顾客可以查看自己当前的位置和商品的所在位置,实现商品的定位查找; (4) 顾客通过终端使用会员登录,并可以查看余额; (5) 顾客在出口 结账 时,不用再次扫描商品,可以使用会员卡实现自动 结账 ,整个过程在很短的时间内完成; (6) 超市管理者可以实
17、时的查看商品信息、进行会员管理。 1.4 文章结构和说明 本文的第一部分是引言部分,初步介绍了目前该研究领域的 现状和本毕业设计的主要目标及实现的功能。 第二部分是系统总体设计的详细介绍,包括系统的总体结构及系统特点,简要介绍了系统所采用的部分技术,以及系统的开发环境; 第三部分是 系统硬件设计 的详细介绍,包括系统所选硬件电气规格、读卡模块和非接触式 IC 卡间的 通讯传输指令 。 同时阐述了读卡模块和单片机程序的工作流程。 厦门大学软件学院 3 第四部分是系统软件部分的设计概要。介绍系统软件部分的开发流程 ,详细介绍了系统中网络通信设计、表格显示设计、客户端数据库模块设计以及读卡模块在软件
18、部分中的应用。 第五部分是 介绍了系统客户端部分。包括系统数据库 设计和一个后台管理程序。 第六部分是总结部分。 厦门大学软件学院 4 第 2章 系统总体设计 2.1 系统的总体结构 系统由移动购物终端和服务器两大部分组成,均采用 Linux 操作系统,通过 Web 网络技术连接。移动购物终端以博创科技 UP-NETARM2410-S(S3C2410 芯片 )为核心,外接WM-15T 读写模块 。将移动购物终端安装在超市的购物小车上,实现在超市中的移动购物。服务器端由 PC 机组成,通过设计服务程序,为终端提供数据库服务 、自动 结账 服务,实现系统的各个功能。 如 图 1所示 图 1 信息处
19、理流程图 厦门大学软件学院 5 2.2 系统技术 系统的软件部分是基于 Linux 操作系统。普通 Linux 拥 有自己标准的 GUI 系统X-Windows, 但是 X-Windows 过于庞大和臃肿,极耗系统资源,而且其中不少功能对于嵌入式系统来说是多余的,不适于资源有限的嵌入式系统使用。嵌入式系统与传统计算机系统相比更专门化,其软硬件设计直接从具体应用出发,嵌入式 Linux 是应用于嵌入式设备开发上的一种操作系统。通常嵌入式设备中的 GUI系统占据资源较多 ,因此对 GUI的筛选显得很重要。 由于 嵌入式 GUI 需要高性能、轻量级的 GUI 系统, 在这里我们选用Qt/Embedd
20、ed 进行软件图形界面的设计,并采用 Qt 中的 QSocket 类进行网络通讯部分的编程。 Qt/Embedded 是著名的 QT库开发商 TrollTech 正在进行的基于 framebuffer 的面向嵌入式系统的 Qt 版本。由于 KDE 等项目使用 Qt 作为支持库,所以由许多基于 Qt 的X-Windows 程序可以非常方便地移植到 Qt/Embedded 版本上。因 其面向对象、跨平台和界面设计更美观而得到广泛的应用。 Qt/Embedded 开放了源代码,使得开发人员可以在 GPL 许可协议下自由地使用Qt/Embedded 进行嵌入式 Linux 应用系统的开发。而且在 Tm
21、ake、 Qmake、 QVFB 和 Qt Designer 等众多强大开发工具的支持下,大大提高了 Linux 系统的开发效率和项目进度 。具体的开发步骤如下: (1) Qt Designer 是设计窗口组件 (Widget)的应用程序,在安装 Qt 的 bin 目录下键入 ./designer 可以启动一个包含很多 Qt 组件的可视化界面。在此组织应用程序的各 组件分布很方便,最后可以生产一个 .ui 和 main.cpp 文件; .ui 是用 XML 语言写的一个文本。如果熟悉 QT 程序设计可以抛弃 Qt Designer,手动编写图形界面; (2) uic(User Interfac
22、e Compiler)是从 XML 文件生成代码的用户界面编辑器,用来将 .ui文件生产 .h 和 .cpp 文件,但生成的这两个文件不是标准的纯 C+代码,通常称为 Qt 的 C+扩展,因为 Qt 的对象间中运用了信号 /槽的通信机制,在文件用 Q_OBJECT 宏来标识; (3) 用 qmake 工具生成 .pro 文件,在设置好环境变量后,用 tmake 工具生成 Makefile文件 (tmake 是跨平台 Makefile 生成器 )。在 Qt/Embedded 3.X 以上版本中 qmake 已经全面取代 tmake; (4) moc(元对象编译器 )用来解析一个 C+文件中的类声明并且生成初始化对象的 C+代码, moc 在读取 C+源文件,如果发现其中一个或多个类的声明中含有 Q_OBLECT 宏,