基于QT的仓库管理系统的设计与开发

基于QT的仓库管理系统的设计与开发[20200408102230]
摘要
本论文主要目的是开发设计出一套功能贴近企业应用,操作简单、性能稳定的仓库管理系统。主要完成了仓库管理系统的部分模块开发,包括:
后台数据库功能的开发,前端界面设计,物品添加,出库,入库,查看物品详细信息,查看操作记录,用户账户管理,系统托盘隐藏,以及防注入,防篡改等增强程序健壮性的安全机制设定。
数据库采用Qt自带的数据库驱动,使用SQlite实现数据表单的设计以及数据管理,前端使用Qt designer 设计类,进行人机交互界面设计,编译器使用Qt Creator,Windows下也可以使用Visual Studio编译。
设计后期对设计源码进行跨平台运行测试,在linux(Ukylin ,Centos)以及Windows环境下编译,运行良好,并实现预期功能。
 *查看完整论文请 +Q: 3 5 1 9 1 6 0 7 2 
关键字:仓库管理QTSQLiteC++ResearchandDevelopmentofStorageSystemBasedonQt
目 录
1. 绪论 1
1.1课题背景及意义 1
1.2本课题研究现状 1
1.3本课题研究的主要内容 2
2. 设计原理 3
2.1 物品仓库管理系统的常规功能 3
2.3 Sqlite介绍 3
3. 概要设计 5
3.1 概述 5
3.2 需求分析 5
3.2.1 功能性需求 5
3.2.2 非功能性需求 6
3.3 可行性分析 6
3.3.1 技术可行性 6
3.3.2 经济可行性 7
3.3.3 操作可行性 7
3.3.4 社会可行性 7
3.4 系统功能模块设计 7
3.5 UI界面设计 9
3.6 数据访问的设计 10
3.6 系统特点 16
4. 详细设计 17
4.1 系统设计前言 17
4.2 主界面设计 18
4.3 新增商品 20
4.4 入库 22
4.5 出库 24
4.6 修改密码 24
5. 系统测试 26
5.1 测试目标 26
5.2 测试方案 26
5.3改进意见 27
结语 28
参考文献 29
致 谢 30
第1章 绪论
1.1课题背景及意义
长期以来,很多企事业单位中档案的存储还停留在纸张档案存储的基础上,或者说即使利用计算机的仓库的管理工作,方式还停留在手工记账,或者是简单的用Excel的方式,在计算机发展如此迅速的今天,这样的机制已经不能适应信息化时代的需要[1]。
仓库管理系统是企事业单位信息化过程中不可缺失的重要部分,这个系统可以说对于企业的决策者和管理者来说都是具有重要的作用的,所以对于企事业单位来说,系统本身应该能提供快捷统一的管理、查询手段[2,3]。
1) 实现商品信息的管理,可以根据不同的信息来实现不同商品的合理分配,实现效益的最大化
2) 使得公司各种用品的使用更科学化,降低成本、提高效率
建立库管理系统有很多种方法,例如,图形界面可用MFC,后台数据库使用SQL server,Oracle,等商用服务器,其中QT因为其优越的跨平台性能以及便捷的开发过程而受到众多公司的采用[4-6]。
Qt是一个由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程式,也可用于开发非GUI程式,比如控制台工具和服务器。Qt是面向对象语言,易于扩展,并且允许组件编程。Qt是一个著名的C++库,使用Qt,在一定程度上让你获得的是一个“一站式”的服务[7,8]。
1.2本课题研究现状
当今时代的任何事物都设计数据,人们需要使用某种有组织的方法或机制来管理和检索数据。大数据时代的到来,无疑对数据存储方式提出了更高的要求。数据库管理系统已经产生多年了,其中大多数源自于大型机上的平面文件系统。随着技术的发展,在不断增长的商业需要,不断增加的公共数据和互联网的推动下,数据库管理系统的使用已经偏离了其原始方向[9,10]。
现代数据库与客户端/服务器或Web技术相结合在当今是很常见的模式,公司使用这些方法来管理数据,从而在相应的市场保持竞争里[11,12]。
“结构化查询语言(SQL)”是与关系型数据库经行通信的标准语言。最初是由IBM公司以E.F.Codd博士的论文《A Relation Model of Data for Large Shared Data Banks》为原型开发出来的。在之后不久的1979年,Relation Softwware 公司(后来更名为 Oracle公司)发布了第一个SQL产品:OEACLE ,现在已经成为关系型数据库技术的领军者[13,14]。
当去别的国家旅行时,需要了解其语言才能更方便。举例来说,如果服务员只能使用其本国语言,那用母语点菜单可能会有麻烦。如果把数据库看作一个要从中经行信息搜索的外国,那么SQL就是向数据库表达需求的语言,可以利用SQL进行查询,从数据库里获得特定的信息[15,16]。
 当今数据库主流厂商包括Oracle,Microsoft,Informix,Sybase和IBM。这些厂商以昂贵的基本许可费用出售各种版本的关系型数据库的闭源版本。其他一些厂商提供SQL数据库(关系行数据库)的开源版本,常见的厂商包括MySQL,PostgressSQL和SAP。每个厂商的SQL实现都是与众不同,独一无二的。但是,每个厂商的SQL实现都针对其数据库服务器进行了增强,即“扩展”,这是些额外的命令和选项,附加与标准SQL软件包上,由特定的实现提供[17]。
1.3本课题研究的主要内容
1.设计需求,包括物料管理,管理员管理,进出货管理,存货管理。
2.仓库管理系统概要设计,包括系统结构,数据表的设计。
3.设计数据库类图,数据库术语分类。
4.编写具体后台C的数据库API。
5.QT工程界面设计
第2章 设计原理
2.1 物品仓库管理系统的常规功能
仓库管理无论在生产企业,还是现代物流管理中都起着核心的作用。随着制造环境的改变,以及社会生产力的进步,产品周期越来越短,多样少量的生产方式,对库存限制的要求越来越高,因而建立及执行供应链管理系统势在必行,借助信息化,将供应商,制造商,客户三者紧密结合。简单地说,仓库管理系统可以简单地概括为8个关键的环节:追-收-查-储-拣-发-盘-退[18]。
2.2 QT介绍
Qt是 一个已经形成事实上的标准的C++框架,用于高性能的跨凭他软件开发。除了拥有扩展的C++类库以外,Qt还提供了许多可用来直接快速编写应用程序的工具。此外,Qt还具有跨平台能力并提供国际化支持,这一切确保了Qt应用程序的市场范围极为广泛。
Qt是一个完整的C++应用程序开发框架,它包含一个类库和一系列用于跨平台开发及国际化的工具。Qt API在所有支持的平台上都是相同的,Qt工具在这些平台上的使用方式也一致,因而Qt应用的开发和不熟与平台无关[19]。
Qt Creator是全新的跨平台集成开发环境(IDE),专为Qt开发人员的需求量身定制,它包括:
   高级C++代码编辑器;
   集成的GUI外观和版式设计器;
   项目的生成管理工具;
   集成的上下文相关的帮助系统;
   图形化调试器(基于GDB);
2.3 Sqlite介绍
SQLite是一款轻型的数据库,遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。
不像常见的客户-服务器范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接API调用。这在消耗总量、延迟时间和整体简单性上有积极的作用[20]。整个数据库(定义、表、索引和数据本身)都在宿主主机上存储在一个单一的文件中。它的简单的设计是通过在开始一个事务的时候锁定整个数据文件而完成的。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/gdxx/187.html

好棒文