《仓库管理系统的设计与开发_黄垚.doc》由会员分享,可在线阅读,更多相关《仓库管理系统的设计与开发_黄垚.doc(83页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、作者签名 : 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人己经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明 确的说明并表示谢意。 日期:知峰年 /月豸日 论文使用授权 本学位论文作者完全了解电子科技大学有关保留、使 用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库
2、进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 (保密的学位论文在解密后应遵守此规定 )分类号 _ 密级 UDC 1 DESIGN AND DEVELOP THE WAREHOUSE MANAGEMENT SYSTEM A Master Thesis Submitted to University of Electronic Science and Technology of China Major: _ Master of Engineering _ Author: _ Huang Yao _ Advisor: Wang Qingxian School: School o
3、f Information and Software Engineering仓库是企业物流系统中的重要环节,是企业实现现代化管理的基础。随着企 业规模的不断扩大,仓库管理的物料种类、数量在不断增加,出入库频率剧增, 仓库管理作业变得十分复杂和多样化,传统的人工仓库作业模式和数据采集方式 己难以满足仓库管理快速、准确的要求,严重影响了企业的运行工作效率,成为 制约企业发展的一大障碍。针对国内现有 仓储管理系统的不足,本课题研宄结合 RFID 技术,试图通过 RFID 与软件系统的配合,解决传统仓库管理系统所存在的 弊端。实现一个自动化管理货物入库、出库和风险监控等功能的仓库管理系统。 本课题以中
4、小型企业的实际需求为基础,详细剖析企业业务需求,并针对其 进行系统的设计工作。以实现一个健壮、简洁、具有高扩展性和高可维护性的仓 库管理系统为目标,达到减少企业管理成本,并且提升工作效率。 本文的主要工作是通过调研选择合适的编程语言,设计与实现仓库管理系统 的软件编程部分。在软件开发的过程中,通过熟悉业务流程,梳理 业务需求,提 出并完善了对于仓储管理系统的数据库的设计,为仓储管理系统的设计与实现奠 定了基础。本文提出基于 Java 编程语言的 B/S 架构软件系统设计方案,简化客户 端开发,提升可维护性。 本课题的研究成果主要有以下几个方面: 1. 研宄使用 RFID 技术与软件系统相结合,
5、优化传统的老旧的仓储管理系统运 作方式。 2. 针对企业需求,设计数据库表结构、视图与相关函数,精简冗余数据,使整 个仓储管理流程不再复杂化。 3. 使用 Java 编程语言与 Spring 框架,使开发的系统各部分间耦合性更低,便 于管理、维 护。 关键词:仓储管理系统, RFID, 设计,开发ABSTRACT ii ABSTRACT Warehouse is an important link in the enterprise logistics system and the foundation for the modernization of enterprise. As the e
6、nterprise scale is expanding constantly, the materials varieties and quantity in warehouse management increases, the storage loading and unloading become more frequent, so the warehouse management turn into more complicated and diversified, the traditional manual mode of warehousing management and d
7、ata collecting can hardly meet the demands for rapid and accurate warehouse management, which seriously affected the operation and working efficiency in enterprises and became a big obstacle for the enterprise development. In allusion to the deficiency of the existing warehouse management system, it
8、 aims to solve the disadvantages exist in the current traditional warehouse management system with the combination of RFID technology and software system. In order to make an automatically warehouse management system which includes functions like inbound, outbound and risk monitoring, etc. Based on
9、the actual needs of small and medium-sized enterprises, it made a detailed analysis of the enterprises business requirements and carried out systematic design effort accordingly, so as to realize the goal of constructing a strong, simple warehouse management system with high expansibility and mainta
10、inability. The major contents of this paper are: choose appropriate programming language through research and survey, design and realize the software programming of warehouse management system. In software developing, it proposed and improved the database design in warehouse management system under
11、the condition of knowing the business procedure and analyzing the business demands, which laid a foundation for the design and implementation of warehouse management system. Based on the design solution of JAVA programming language, the B/S architecture software system was proposed for simplify the
12、development of client side and improve the maintainability. The research results of the study are mainly reflected in the following aspects: 1. With the combination of RFID technology and software system, the old and traditional operation mode of warehouse management system was optimized. 2. Accordi
13、ng to the enterprise demands, the database structure, view and correlation functions were designed, and the redundant data was simplified, whichABSTRACT makes the entire procedure of warehouse management less complicated. 3. By using Java programming language and spring framework, the coupling of al
14、l parts in the developed system become lower, which makes the management and maintenance work easier. Key words: Warehouse Management System,RFID,Design,Developed ABSTRACT HI 第一章绪论 . 1 1.1选题背景 . 1 1.2本文主要工作 . 2 1.3本论文的结构安排 . 2 第二章系统开发技术概要 . 3 2.1 B/S 架构 . 3 2.2 Spring 容器 . 4 2.3 MySQL5.5 简介 . 5 2.4本
15、章小结 . 5 第三章仓库管理系统需求分析 . 6 3.1业务流程 . 6 3.1.1货物入库作业流程 . 6 3.1.2货物出库作业流程 . 7 3.1.3物资监控 . 7 3.2系统 功能分析 . 8 3.2.1权限管理需求分析 . 8 3.2.2货物管理需求分析 . 9 3.2.3合作公司信息管理需求分析 . 10 3.2.4入库管理需求分析 . 11 3.2.5出库管理需求分析 . 11 3.2.6物资监控需求分析 . 11 3.3本章小结 . 12 第四章仓库管理系统的模块设计 . 13 4.1系统 总体架构设计 . 13 4.1.1编程语言概述 . 13 4.1.2数据库选择 .
16、14 4.1.3 Web 框架 . 14 4.2系统数据库设计 . 14 4.2.1数据库 E-R 图设计 . 14 4.2.2数据库表设计 . 15 4.3系统 功能模块设计 . 19 4.3.1系统登录模块 . 19 4.3.2权限管理模块 . 20 4.3.3类别管理模块 . 21 4J.4货主管理模块 . 21 4.3.5仓库信息模块 . 22 4.3.6入库管理模块 . 22 4.3.7出库管理模块 . 23 4.3.8物资监控模块 . 24 4.4本章小结 . 25 第五章仓库管理系统的实现 . 26 5.1运行环境 . 26 5.2框架容器与数据库连接配置 . 26 5.3各功能
17、模块的实现 . 31 5.3.1系统登录模块 . 31 5丄 2权限管理模块 . 34 5.3.3货主管理模块 . 39 5.3.4仓库信息模块 . 41 5.3.5入库管理模块的实现 . 42 5.3.6出库管理模块的实现 . 44 5.3.7物资监控模块 . 44 5.4本章小结 . 46 第六章系统测试 . 47 6.1系统测试的目的 . 47 6.2系统测试的方法 . 47 6.2.1白盒测试 . 47 6.2.2黑盒测试 . 48 6.3测试环境 . 48 6.4测试用例 . 49 6.4.1登录模块的测试 . 49 6.4.2登录权限模块的测试 . 50 6.4.3权限管理模块的测
18、试 . 52 6.4.4货主管理模块的测试 . 55 nm VI 6.4.5仓库信息模块的测试 . 57 6.4.6入库管理模块的测试 . 57 6.4.7出库管理模块的测试 . 57 6.4.8物资监控管理模块的测试 . 60 6.5 本章小结 . 62 第七章总结与展望 . 63 7.1 全文总结 . 63 7.2 后期工作展望 . 63 酬 . 64 参考文献 . 65第一章绪论 第 一章绪论 1.1选题背景 仓储在从事实体经济的企业中,作为一个公司的物料和成品集散地,汇集着公 司几乎所有的流动资产,担负着非常巨大的作用。采购、生产、销售等物流各环 节均离不开仓储这一重要的中转站。仓储是
19、否能及时、准确地反应物料信息关乎 到生产、销售是否能正常进行,物流是否畅通。自 2000年以来我国仓储投资处于 不断增速状态,但是信息化建设仍然滞后。在国外,经过长时间的发展,信息化 技术己相当熟练,将信息化技术与仓储管理相结合收到了显著的效果,仓储管理 系统就是仓储信息化发展最好的产品。 仓储管理系统 (WMS-Warehouse Management System)通过跟踪入库、出库业 务,及时反馈库存调拨信息,不仅能方便快捷的显示出仓储时时状态,方便管理 者调配下决策从而节省人资成本、提供生产效率,还能通过跟踪相应的物流信息 从而追本溯源,有利于品质的管控。 2005年,国际电信联盟提出
20、物联网的概念:通过射频识别、红外感应器、全 球定位系统、激光扫描器等信息传感设备,按约定的协议,把任何物品与互联网 连接起来,进行信息交换和通讯,以实现智能化识别、定位 、跟踪、监控和管理 的一种网络 m。 我国物联网技术已经融入到了纺织、冶金、机械、石化、制药等工业制造领域。 2012年我国物联网产业市场规模达到 3650 亿元,比 2011 年增长 38.6%。仓储作为 其中不可或缺的一个环节,正在扮演越来越重要的角色,而能满足将来物联网发 展需要的仓储管理系统的重要性也就不言而喻了。 目前,国内大多数仓储管理系统只是简单的实现了记录、核对等仓储作业的结 果,大部分还是人工操作。采用人工的
21、方式录入的缺点显而易见:一是信息流不 能及时的反应物流情况,信息反馈滞后;二是不能避免人为错误 操作的产生,仓 储的真实状态有待商榷。也有一些企业采用条码技术来录入信息,从而保障了采 集信息的准确和及时。但是,条码能存储的容量小,所存信息无法更改,受污后 可读性差,要在“物联网”中试用会有一定的局限性,不能满足要求。 射频识别即 RFID (Radio Frequency IDentification)技术,又称电子标签、无 线射频识别,是一种通信技术,可通过无线电讯号识别特定目标并读写相关数据, 而无需识别系统与特定目标之间建立机械或光学接触 2。与条码相比,两者皆为自 动识别技术,但是 R
22、FID 能储 存更多的信息、有更强的保密性、更远的读取距离、 电子科技大学硕士学位论文 2 更长的使用寿命、更好的环境适应性等优势。将 RFID 技术应用在仓储管理系统上, 作为信息采集的终端,可以减小出错率、提高仓储作业效率、易于多方物 流的商 品信息采集,更符合物联网发展的需求。 1.2本文主要工作 本论文以某企业的仓储业务为背景,利用现有的 web 技术和 RFID 技术,基于 Java编程语言,使用 Spring 框架技术来设计和实现该企业的仓储管理系统。 主要包含以下工作: 1、 对 B/S 结构、 J2EE 技术、 Spring框架、 MySql 数据库等进行分析和研宄; 2、 对
23、于仓库管理的业务进行分析,设计对应的系统模块; 3、 使用 Java 编程语言实现系统的功能模块。 本文以某企业的仓储业务作为研宄背景。首先熟悉该 企业的仓储管理业务流 程,了解该企业的仓储管理技能功能需求并且分析对应以后可能会出现的需求。 然后,根据以上需求,设计满足其需要的系统功能与结构,设计一个适合该企业 业务需求的可伸缩性强的仓储管理系统。 1.3本论文的结构安排 本文共分为七章。 第一章:绪论,介绍了仓储管理系统开发的背景与在国内的现状和本文所做的 工作内容。 第二章:阐述了 B/S 结构的概念,介绍了 Spring容器和其基本的模块组件,介 绍了 MySQL 数据库,及使用这些技术
24、在仓储管理系统中所能带来的益 处。 第三章:总结企业中仓库所参与的作业流程与活动,分析仓库管理活动所需要 的业务需求。 第四章:进行整个系统开发的整体架构布局和系统所需要的功能模块设计,并 进行划分重组,去除冗余业务数据,精简优化功能。 第五章:根据仓储管理系统的设计需求,搭建开发环境,实现各个功能模块, 并且针对其中一些关键点进行细入的代码分析。 第六章:对系统进行功能测试,保证系统的功能能满足需求,查找是否存在程 序漏洞与错误,进行修复与完善。 第七章:总结与展望。总结本文中所作研宄的成果,并分析存在的一些问题, 为今后的研究学习指 明方向。 第二章系统幵发技术概要 3 第二章系统开发技术
25、概要 本文基于己有的 RFID 读写操作设备,设计和开发面向管理人员的,能够及 时、准确地反馈库存商品信息与出入库作业情况的仓库管理软件系统。本系统的 开发主要涉及以下几方面的技术。 2.1 B/S 架构 本系统的开发是基于 B/S 的体系架构基础 3。 B/S(Browser/Server)结构,是 WEB兴起后的一种网络结构模式 W。典型的 B/S 架构可分为三层:表现层、业务 逻辑层、数据访问层 t51,如图 2-1 所示。 (1) 表现层。数据通过组合计算后以某种形态、样式展现给使用者,作为展 示的容器载体称之为表现层。 B/S 结构使用浏览器作为客户端,用户通过访问特 定路径的网络地
26、址即可查看数据结果。浏览器和其展示的页面就是 B/S 架构的表 现层。使用浏览器作为客户端既可以方便用户在不同的联网电脑主机上方便地使 用软件系统,提高了整体的灵活性,也能节省开发和维护成本,避免因重复造轮 子产生的资源浪费。 (2) 业务逻辑层。该层的主要负责将数据访问层传递过来的数据按照业务需 求进行逻辑处理,并将处理好的数据传递给表现层。业务逻辑层无疑是 B/S 架构 的核心层。应用服务器作为业务逻辑层的主要工作角色,在接收浏览器客户端发 送的 HTTP (超文本传送协议)请求后,根据请求的内容执行对应的逻辑,通过对B/S 客户端 图 2-1 B/S 三层架构图 电子科技大学硕士学位论文
27、 应的中间件连接数据库,进行数据的增、删、改、查操作,并将最后的整合结果 封装成HTTP 报文响 应给客户端。该层不光是进行数据的整合与传递,对于不符 合访问规则的请求,如请求地址不存在、权限不够问题等能做出相应的处理,具 备良好的交互性和安全性。 (1) 数据访问层。该层主要对于存储的数据进行操作。数据库作为数据访问 层的一般存储管理软件,负责对于数据文件进行读写操作。 采用以上分层的结构方式能降低各个组件间的耦合性。一方面,在软件系统 开发的时候利于划分工作,每一层均可同步进行设计与开发,节省串行开发所需 要的时间,提高开发速度;另一方面,对于软件的后期维护,因为层与层之间只 涉及到数据的
28、传输,所以 修改某一层的具体实现对于其他层的实现没有影响,便 于后期的维护与扩展,可伸缩性强。 2.2 Spring 容器 Spring 是一个一站式的轻量级应用开发框架,它只需要使用简单的 Java 对象 或者JavaBean 就能进行 JavaEE 开发 161。本文使用了以下 Spring基本模块: (1) IoC 模块 。 IoC (Inversion of Control)即控制反转,是 Spring 容器的一 个核心模块。在软件系统的开发过程中,往往会涉及复杂的对象耦合关系,而要 处理这些耦合关系对系统的维护性和应用扩展性会 带来许多不便。使用 Spring 的 IoC 模块,可以
29、对这些耦合关系实现一个文本化、外部化的工作,通过一个或几个 XML 文件,我们就可以方便地对应用对象的耦合关系进行浏览、修改和维护,把 依赖关系的管理交给该模块来完成,从而完成了对象之间的关系解耦 |7。 (2) AOP 模块 。 AOP (Aspect Oriented Programming)即面向切面编程,也 是 Spring的一个核心模块。通过该模块,可以以动态和非侵入式的方式来增强服 务的功能,解耦业务逻辑的不同部分,能再不修改程序业务逻辑代码的情况下增 加功能服务,增加程序的扩展性与可维护性。 (3) JDBC 模块 。 JDBC (Java Data Base Connectiv
30、ity)即 Java 数据库连接, 是一种用于执行 SQL 语句的 Java API。 Spring的 JDBC 模块对 Java 提供的 JDBC 进行了一层封装,使其对数据库的操作更加简洁。 (4) 事务处理模块。该模块是通过 Spring AOP 实现自身功能增强的模块。 Spring将应用开发中事务处理的主要过程抽象出来,简洁地通过 AOP 的切面增强 实现了声明式事务处理的功能这个声明式事务处 理的实现,使应用只需要在 IoC 容器中对事务属性进行配置即可完成。 Spring是一个非侵入性框架,应用代码可以在没有 Spring或者其他容器的情 第二章系统幵发技术概要 5 况下继续运行
31、。 Spring作为业务逻辑 层的应用开发框架,提供了一个一致性的编程 模型,可以与运行环境(如应用服务器)隔离开来。其核心模块 IoC 和 AOP, 提 高了代码的重用性和可测试性 。 2.3 MySQL5.5 简介 MySQL 是一个开源的关系型数据库。相对于同类型数据库,如 Oracle、 SQL Server等,其拥有的成本低,是目前中小型企业使用最广泛的数据库系统。它提供 了多种语言的 API,对于不同的语言有良好的支持,使系统的开发与更新不需受编 程语言的限制。其支持标准的 SQL, 通过 JDBC 接口执行由业务层程序发送过来 的 SQL 语句。 MySQL 常用的存储引擎有 M
32、ylSAM、 InnoDB、 MEMORY、 MERGE。 本系统 选用 InnoDB 引擎 。 InnoDB 引擎使用 MVCC(Multi-Version Concurrency Control)以 及行级锁来支持 ACID 事务,提供了具有提交、回滚和崩溃恢复能力的事务安全。 其适用于高并发读写的情况。 2.4本章小结 本章介绍了 B/S 架构、 Spring容器与 MySQL 数据库。详细阐述了使用 B/S 分 层架构的优势,分析 Spring基本组件的设计理念与使用优点,并简洁地描述了 MySQL数 据库。通过对于所使用的关键技术的研宄与分析,为后续的系统开发奠 定了坚实的理论基础。
33、电子科技大学硕士学位论文 6 第三章仓库管理系统需求分析 3.1业务流程 仓储管理的主要流程主要包括货物入库、出库和监控这三个环节,如图 3-1 所 示。货物入库时, RHD 读取器根据货物供应商提供的 RHD 标签读取货物信息, 生成入库货物信息表,然后由仓库管理人员比对货物规格、数量,检查货物品质 是否达到标准要求,当都符合条件时将对应的信息录入数 据库,分配仓储空间(货 架)并生成对应的商品仓储信息表单,最后由管理人员根据表单信息将货物存储 到指定的目标地点上。入库的货物可能作为生产原料使用,亦可能临时存储,直 接售卖给下家。当作为原料使用时,将会有新产品的产生,对于公司生产的产品, 也
34、需要进行入库操作,在入库前需按照约定的数据格式录制 RFID 标签信息,再进 行入库操作。货物出库时,采集器获取到对应货品的 RFID 标签存储信息,与出库 单进行比对是否吻合,符合条件则允许出库,如果信息匹配,排查原因并且再次 进行拣货操作。仓储管理系统亦能对于指定的货物存 量进行监控,当货物存储量 低于设定的阀值时提醒管理员补货,以使仓储管理能有效的执行运转。 3.1.1货物入库作业流程 该系统设计为在物联网中运行,所有参与在该网络中的厂商均应达成共识使用 统一数据格式的 RFID 标签。作为生产者需要为本公司的产品录制符合协议规范的 RFID 标签图 3-1 仓库管理主要工作 第三章仓库
35、管理系统需求分析 7 信息,以方便网络中其他厂商的信息获取。因此,对于上游厂家发来的 货物,理想状态下为己经有符合规范的 RFID 标签。 对于非本公司生产的货 物进行入库作业时,通过 RFID 读写器扫描货物的 RFID 标签获取对应的货物信息,核对种类、数量等属性是否与供货单相吻合,有需要 进行质检的则送样检查,当所有条件都符合后将货物信息存储在数据库中,状态 为待入库;如果货品信息审核不通过,则根据规定退给供货商。如果货物是本公 司自主生产的产品,则需要根据约定好的数据格式协议录制产品信息的 RFID 标 签,贴上对应标签,并且检查是否与货物真实信息相匹配,当信息吻合时进行入 库作业,否
36、则排查出错原因并且重新制作 RFID 标签,再次进行入库流程。下一步 由仓储管理员负责调 配安排货物在仓库中的存储位置,并且生成对应的表单。最 后根据表单信息将货物存放在对应的地点,妥善保管。 采用 RFID 技术对比传统的条码扫描,由于可以批量读取信息,且受环境影响 较小,因此更省时省力,出错的概率较小,另外由于 RFID 标签可以重复读写,为 企业和社会节约资源。在物联网中应用时, RFID 标签稳定、高效、存储量大的优 点将大大提高效率和节省人工费用。 3.1.2货物出库作业流程 当货物需要出库时,仓储管理人员根据发货单上所需的货物种类、数量等信息 在仓储系统中选择 匹配对应的货物,并且生成拣货单发送给手持设备。然后管理 人员使用RFID 读写器获取货物信息,核对是否与系统