基于大数据的物料仓储系统的设计与实现_第1页
基于大数据的物料仓储系统的设计与实现_第2页
基于大数据的物料仓储系统的设计与实现_第3页
基于大数据的物料仓储系统的设计与实现_第4页
基于大数据的物料仓储系统的设计与实现_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

绪论1.1系统的开发背景及意义当前,随着信息技术的不断发展和进步,互联网也越来越成为人们生活和生产工作中不可缺少的一部分。通过网络技术,人们之间高效的进行沟通、团队协同工作和内容共享都非常简捷。网络信息应用服务已日益广泛地被应用于经济各个领域。在此市场背景推动下,电子商务概念应运而生,并因此迅速地被发展成熟起来。近年来,随着人们生活水平的提高,以及互联网公司的飞速发展。在线支付和在线购物逐渐成为主流,随之而来的就是数量庞大的货物,并且由于新冠病毒的影响,也加剧了这一趋势。但是随着货物的增加,传统的仓储管理方式无法满足这种每天数以千计的货物,所以需要计算机的辅助进行相关管理。传统的仓储管理一般要经过入库登记、人工拣货、出库登记等操作。随着货物的不断增加以及出入库的次数不断增加,采用人工的方式登记非常繁琐且非常容易出错。并且采用纸质的登记也存在着一个非常大的隐患,纸质登记表不但占空间且随着时间的推移纸质可能会存在一定的损伤,如果未来客户想要查询某天的货单,可能存在丢失或者破损的情况。因此,使用计算机的仓储管理系统的优势就凸显了出来,不仅不需要考虑纸质存档的丢失,而且便于工作人员操作,提升出入库的效率,每次操作记录都会存储在数据库中,便于未来客户查询,降低了货单丢失的风险,还可以避免货物丢失的风险。每次出入库的操作都会被记录下来,防止篡改记录偷取货物。仓储管理系统的出现极大的简化了传统纸质的成本,并且提升了工作效率,即使货物再多,工作人员也能快速的处理[1-5]。物联网的出现,使得我们需要处理的数据是海量的,海量的数据成为上G甚至于T级别的数据,单独的计算机的资源总是有限的,对于如此庞大的数据量,单独的计算机很难进行处理,传统的计算方法已经不能满足在速度和性能上的需求。在这种情况下,分布式系统和并行计算应运而生,分布式的系统可以通过加入多台计算机,从而提高系统的总资源,以满足在资源上的需求,同时,在分布式系统上进行计算,在不同的机器上同时运行同一个任务,从而提高系统的运算性能。本文设计开发了一个基于SSM框架的Hadoop仓储管理系统,以解决当前以在线购物为主流的情况下,产生的大量货物,大量数据难以管理问题。本文主要实现了库存管理,出入库管理,人员管理,基础数据管理,系统维护等功能。1.2国内外研究现状1.国内研究现状近年来,我国的制造业、零售业以及物流行业都得到了长足的发展,并且随着人们生活质量的提高,对货物的要求也不断增加。网上购物逐渐成为主流,货物越来越多,导致存放物料的仓储设备也就随之增加,但是这也暴露出很多问题。各个部门都在建立自己的仓储,这导致仓储数量多且分布广泛,布局十分不合理,这使得工作人员管理起来十分困难,仓储的自动化程度很低,无法高效的完成工作。大数据物料仓储管理系统的出现不仅可以让对仓储的管理更加精细化,同时也能解决调控的问题。这些年仓储管理系统的研究主要关注的是如何节省人力资源,更便捷的进行仓储的管理,从最开始的桌面应用到现在的基于SSM框架的联网仓储管理,仓储管理系统已经逐步的成为企业不可缺少的一部分[6-7]。2.国外研究现状在外国,仓储物料管理和在线服务形式已是开展得的时间都已经比较之早,随着现代电子商务及物流网络的快速发展普及,现代电子商务中网上订单式交易也越发普及,这种仓储管理模式随着社会的进步也越发成熟。相比于国内的管理,国外针对仓储的管理已经相对来说非常成熟了,如日本,美国等。在日本,日本的企业广泛的应用仓储管理系统对零售库存进行管理,而在美国,美国的企业在1980年就已经开始了解并研究仓储管理的相关理论知识,同时开发出了配套的管理软件。进过几十年的发展,国外的国家已经有了非常成熟的仓储管理系统的设计团队,供应团队以及维护团队,并且这一领域已经逐步成为一个行业。1.3主要内容及结构绪论介绍研究了仓储物料管理系统开发的整体研究及背景,分析评价了开展该服务系统研发的整体研究工作意义何在和巨大发展空间潜力,并分别通过实证分析相关结果最终确定开展了哪些主要系统的开发研究及内容选择和应用开发工作,最后进行了总结。系统需求分析本章主要针对功能需求、系统总体设计、系统功能模块设计、数据库设计以及相关技术这几个方面进行介绍,最后对本章进行总结。系统总体设计本章主要介绍了本系统总体设计,以及每个模块的主要功能。系统详细设计与实现本章主要介绍系统的实现,主要包括运行环境、主界面的实现、登录模块的实现、仓储管理模块的实现、出入库管理模块的实现、基础信息维护模块的实现和系统维护模块的实现,最后进行了总结。系统测试本章进行了黑盒测试,主要针对不同功能模块输入不同数据进行测试。总结本章对论文总体进行了总结,以及对未来进行了展望。1.4本章总结本章主要针对仓储管理系统的选题背景和选题意义进行分析,并且分析了仓储管理系统与传统人工方式相比所带来的好处,最后总述文章主要内容和结构。

2系统需求分析2.1可行性分析可行性分析是计算机应用开发必备的步骤。在正式开发之前,我们需要预测在未来开发中可能碰到的问题,同时要评估仓储管理系统对仓库所带来的收益和风险,并且需要计算项目成本。如果不进行这一步,预算不够的话,项目开发到一半时发现资金无法支撑整个项目的开发,这会对仓库造成巨大的损失。因此,本节主要对系统的技术层面、操作层面、已经经济层面进行可行性分析。从技术层面来说,本文开发的仓储管理系使用的框架都是目前较为流行的框架,并且本文开发的系统所使用的都是较为轻量工具如Mysql。并且使用ssm框架来实现MVC模式中的业务层、视图层和持久层。本次开发面向的是仓储,因此使用Tomcat服务器完全可以满足日常需求,由于正常用户量最多500,所以Mysql数据库完全够用,其完全免费,体积好可以降低成本。本系统开发周期短,可以快速上线使用,因此在技术层面上是完全可行的。从操作层面来说,本系统为了工作人员快速上手,所以设计的界面简单易懂,清楚明了,没有复杂的操作,通过简单的培训就可以快速入手。日常的操作只需要几步就可以完成,这样可以有效的提高员工工作效率。对于不同角色本系统提高不同的权限,以此来防止某些误操作,同时系统中所有的操作都会被记录,如果出现问题可以快速定位解决问题。本系统操作简单,界面友好,所以在操作层面上是可行的。从经济层面来说,本软件的实现只需要开发费用和运营费用,但是对比传统的仓储管理方式来说,软件可以帮助提升工作人员的效率,并且可以减少发生错误的可能性,从而提升仓库的存储能力。所以从经济层面上来说,本软件的开发也是可行的。2.2功能需求分析根据对实际仓库的需求的考察,仓储管理系统主要由管理员控制,具体需求如下表所示。表2-1功能需求列表编号功能名称功能描述输入内容输出内容1管理员信息录入管理员录入后可以进行本系统所有操作姓名,、性别、电话、地址等录入的结果(提醒“仓库管理员的系统初始密码为该ID”)2管理员登录管理员登录仓储管理系统用户名、密码用户登录是否成功3入库管理员对货物进行入库供应商、货物名称、数量等货物入库是否成功4出库管理员对货物进行出库供应商、货物名称、数量等货物出库是否成功5供应商信息添加添加供应商信息供应商名称、负责人、电话、地址等提示添加的结果6客户信息添加添加客户信息客户名称、负责人、电话、地址等提示添加的结果7货物信息添加添加货物信息货物相名称、货物类型、货物尺寸、货物价值提示添加的结果8仓库信息添加添加仓库信息仓库地址、仓库面积、仓库状态、仓库面试提示添加的结果9货物查询查询货物相关信息货物ID、仓库显示所有货物10更改密码管理员密码更改原密码新密码是否修改成功11系统日志显示所有管理员的操作无显示所有操作日志12登录日志显示所有管理员的登录IP无显示所有登录IP13管理员查询显示所有管理员无显示所有管理员2.3数据流图管理员和超级管理员都可以通过登录系统的界面来进入系统,如下图所示:图2-1数据流图用户在仓储管理调试系统时,系统通过账号和密码判断登录的是超级管理员还是管理员,再根据登录的角色跳转到不同的页面上,用户在系统内操作时,根据操作的不同数据会从页面流向Mysql数据库,再从数据库中拿到数据反馈给用户。2.4相关技术介绍2.4.1MyBatis框架介绍文使用MyBatis作为持久层框架,该框架有很多优势,主要可以根据sql语句动态配置来对数据库进行相应操作,该框架同时包含数据库的高级特性如触发器,函数,存储过程等。MyBatis使用配置文件的方式记录数据库连接参数实现连接,不需要采用传统的Jdbc模式就能拿到存储在数据库中的数据,采用这种连接方式能有效的减少创建数据表和销毁数据表时的开销。此外,该框架以配置文件的形式实现SQL语句进而操纵数据库,Java的类映射成数据库中的数据。Mybatis框架主要分为接口层、数据处理层、基础支撑层这三层架构,如下图所示。图2-2Mybatis结构图Mybatis的结构概述:(1)第一层接口:api接口层提供相关功能的接口,服务层调用这些接口后。实际处理业务层只需要使用这些接口就可以获得相应的功能,从而完成对数据库的操作。当系统调用某一接口后,Mybatis框架就可以获取配置文件中对应的sql语句对数据库进行相应增删改查。

(2)第二层数据:当服务层调用接口层的接口后,数据层会找到相应的配置文件中的sql语句对数据库进行增删改查,操作数据库后数据库会返回相应数据。数据层主要是将原始操作封装为接口以便调用,当其他层调用这些接口后可以非常简单的对数据库进行相应增删改查。(3)第三层支撑:基础支撑层主要上存储连接数据库操作数据库的基本的参数,例如操作数据库的驱动,数据库的用户名及密码等。2.4.2Spring框架概要本文使用Spring框架作为主要设计层框架,该框架是目前较为流行的开源层框架,该框架主要负责业务层和其它层的耦合问题,该框架主要是采用接口解决耦合问题,虽然有一定弊端,但是可以解决一部分耦合问题。在任何TomCat和JBoss这类服务器中,Spring框架可以承受不同环境的影响,使用基础功能。同时Spring框架不会受到特定的服务器限制,不会将自身和指定项目和对象相绑定,这一特性展现了Spring框架的优势:在Spring框架中已经配置好的对象可以在不同的项目和不同环境中执行。所以Spring框架可以被不同服务器重用,降低耦合性,增加可扩展性。Spring框架的体系结构如下图所示。图2-3Spring体系结构在Spring框架中每个模块或组件都是独立的,他们可以单一的被调用,或者多个联合被调用。主要包括核心容器、Sprisng上下文和SpringAOP。(1)Spring中最基本的功能模块(特性)由核心容器实现。该容器采用对象工厂来创建、加载实例。该容器的功能主要利用控制反转对资源进行操作,将原本资源控制权限从双方控制转变为由Spring的核心容器来控制,进而减弱了JAVA对象的耦合度,从而让实现功能时主要关注使用对象而不是创建对象。(2)Spring上下文主要是通过Spring-content.xml这一配置文件保存框架功能的相关参数信息,当工程启动时Spring框架可以自动读取Spring-content.xml该配置文件并对所有模块进行初始化。在Spring-content.xml配置文件中的Spring-content标签中配置相关功能,例如检验输入字段的有效性,管理程序异常等。(3)Spring框架中除了IOC功能外之外,该框架还有另外一个叫做AOP的功能也十分强大。该功能本质上是一个阻断器,主要的功能是操作某些将要执行或者已经执行完成的方法。使用该功能,我们可以将仓储管理系统中设计的核心功能和一些通用的方法分开,易于实现日志管理,数据库基本信息的管理从而减少代码冗余,将核心代码和通用代码更加具体、清晰的表现出来。2.4.3SpringMVC框架介绍SpringMVC框架主要核心思想的采用一个分发器来处理用户的各个请求,当有一个请求进来后,该分发器会将这个请求分配给相应的程序进行处理,此外,该框架还可以进行地址映射、数据库视图分析、程序参数检验、对文件进行便捷的上传下载等功能。该框架主要采用注解的方式来表示不同功能,通过Controller注解来获取所有请求,拿到请求后用RequestMapping注解来处理请求。该框架的主要的体系结构如下图所示。图2-4Spring体系结构Spring-mvc主要由七个核心部件组成,共同完成从请求到响应再获取数据库数据,再到返回数据这一流程。在这里我们主要介绍前端控制器(DispatcherServlet)、处理器映射器(HandlerMapping)、处理器(Handler)、处理器适配器(HandlAdapter)、:视图解析器(ViewResolver)和视图(View)。(1)前端控制器(DispatcherServlet)主要处理用户的请求,当用户的请求到达后,该控制器作为MVC设计模式中的controller来控制整体的数据流动,该组件可以协同其它组件完成用户请求,采用分发器的形式来减少组件之间的耦合度。(2)处理器映射器(HandlerMapping)主要是根据用户不同的相应,将任务分配给不同处理器,主要采用配置文件实现接口和注解的不同映射。(3)处理器(Handler)主要功能是控制后端程序,根据DispatcherServlet分发的不同请求处理器进而处理用户的不同请求,改模块通常是由程序员根据业务进行自定义,因此该模块可塑性很强。(4)处理器适配器(HandlAdapter)主要上用来针对Handler无法处理的某些请求,DispatcherServlet分发任务后发现没有handler可以解决,这时会发送到该模块上进行处理。(5)视图解析器(ViewResolver)主要是将handler处理后的结果转化为View视图,主要流程上首先将逻辑视图转化为页面,然后生成对象,最后对该视图进行渲染,然后根据静态资源CSS配置后显示给用户。(6)视图(View)主要包括jsp页面、html页面和xml页面等。该功能模块主要上根据具体的不同业务进行具体的开发。2.4.4Hadoop技术本系统使用Hadoop技术作为仓库的集群。Hadoop是一个使用Java语言编写的大数据管理平台,该技术采用MapReduce作为分布式架构。本架构是最基础的架构,允许用户依靠该技术进行简单的模型编程,对数据进行分布式处理,其设计模式可以从单一的服务器到数千台机器,每个服务器都能提供本地的存储功能。本文开发的仓储物料管理系统中,每个仓库可以当做一个独立的服务器进行部署,最后将所有数据汇总,这样可以并行的处理海量的数据。Hadoop是Apache开源组织的一个分布式计算开源框架,是一个包含有很多子项目的大家族,图1显示了Hadoop整个家族的各个子项目。图2-5Hadoop整体结构MapReduce是一种编程模式,主要分两部分:map函数、reduce函数。MapReduce编程中,主要就是实现这两个函数,其执行过程见图2-6。图2-6Mapreduce模型MapReduce是一种主从结构,它有一个JobTracker和多个TaskTracker,通过JobTracker把任务分成多份,分别让多个TaskTracker并行执行,这样可以加快任务执行速度,提高系统的性能。HDFS是分布式文件系统,是AHC项目的一部分。图2-7HDFS结构图图2-7是HDFS的体系结构图,下面介绍主从结构的组成。(1)NameNote:主节点。(2)DataNode:负责存储文件,在这里,把一个文件被分割成很多的block存放在Linux系统中,为了保证文件的安全性,文件有很多的冗余副本。HBase的索引是RowKey、ColumnFamily、以及时Timestamp,每个值是一个未经解析的支付串。其结构见图2-8。图2-8HBase结构图2.4.5Mysql数据库随着计算机技术的发展,传统的采取文件存储数据的方式不再适用与现代计算机的需求,所以工程师设计了数据库来解决计算机数据存储的问题。数据库的出现,使计算机的发展迈进了一大步,有了良好的数据管理软件,计算机的程序免去了针对复杂数据的设计。MySQL是一款目前较为流行的轻量级开源的数据库软件,由于其免费的特性得到很多人的青睐,是目前使用人数最多的数据库。在命令提示符下操作MySQL数据库的方式不太方便,所以本文使用的MySQL图形化管理工具是NavicatforMySQL,该工具界面清晰明了,操作相对简单,便于用户对数据库中的数据进行管理,它使用的图形化用户界面可以让用户使用和管理更为简洁和明了。Mysql数据库可以以独立的进程运行,这使得程序员可以轻易的根据其所提供的接口进行数据操作。通常数据库接口采用驱动进行连接,这些驱动通常由数据库厂商提供。2.4.6JSP技术本系统使用JSP页面进行编写,JSP是一种网页开发技术,是动态的技术,该技术可以让Java代码嵌入在HTML网页中,动态的修改网页上的数据,达到动态可视化的目的。JSP本质上是Java中的servlet,主要是用于Javaweb程序中用户界面与服务器界面的交互,该技术除了可以在HTML页面中嵌入Java代码,还可以在XHTML和XML中进行相同的操作。JSP页面主要是通过网页中提交表单的形式,获取用户的数据,对数据库进行相应的操作,当数据库响应后再动态的创建HTML页面。JSP有很多标签,每个标签的功能都不相同,如有访问数据库的,有记录用户选择的等等。2.5本章总结本章主要针对仓储管理系统的功能需求、可行性分析、数据库设计和相关技术几个方面展开,利用图表的形式展示了系统中各个部分的设计情况,并配有文字详细描述了各个功能模块的设计使用情况。

3系统总体设计3.1系统总体设计仓储管理系统由管理员进行管理,具体功能模块如下图所示。图3-1系统功能图仓储管理系统系统其中主要包括库存管理,出入库管理,人员信息管理,基础数据和系统维护功能。其中基础数据主要是管理仓管、供应商等信息。3.2系统功能模块设计(1)登录功能模块该模块的主要功能是判断管理员是否登录,只有登录后才可以使用本系统的相关功能在账号与密码验证成功的情况下,跳转到主界面,该模块是整个系统的入口。(2)出入库功能模块该模块主要包含出库功能和入库功能,本功能只有登录后才能使用,当货物被运送到仓库后,管理员使用入库功能,将货物的基本信息录入。当货物被提走后,管理员需要使用出库功能,录入相关信息。(3)人员管理功能模块该功能模块主要是使用超级管理员账号,为仓库管理员添加信息,建立账号,管理仓库。(4)基础数据功能模块该模块的主要功能是完善仓库信息,货物信息,供应商信息以及客户信息。简化管理员的工作步骤,不用每次入库时都对货物信息进行录入,直接查看现有的是否已经存在,如果不存在再进行录入。(5)系统维护功能模块改模块主要是记录管理员的各种操作,以及登录IP地址,防止货物丢失,防止货物被盗。3.3数据库设计数据库模型的分析设计的实现能力主要指基于对数据库实体类数据表的模型设计的分析研究能力与具体分析模型设计的实现的结果,本节在文章结构中还将会尽量主要详细地提出从数据库分析设计中的最主要的概念模型设计出发并将给出ER图,并也将具体给出最主要的类型的数据表型设计的一些详细分析设计内容。仓储管理系统采用Mysql数据库,本系统主要包括系统管理员表、客户表、供应商表、仓库表、货物表、操作动作表、入库表、出库表、登录日志表等11个表,每个表的具体设计情况如下所示。数据库E-R图如下所示。图3-1全局E-R图管理员内容表(admin)用来存储平台管理员的基本内容,表字段内容如表3-1所示。表3-1系统管理员表序号字段名称字段类型大小允许为空最大长度备注1USER_IDInt4自增10

2USER_USERNAMEVarChar50是255

3USER_PASSWORDVarChar50是255

系统管理员角色表(admin_role)用来存储平台管理员的角色信息,表字段内容如表3-2所示。表3-2系统管理员角色表序号字段名称字段类型大小允许为空最大长度备注1ROLE_IDInt4是10

2USER_IDVarChar4是10

系统供应商表(supplier)用来存储仓储系统供应商信息表字段内容如表3-3所示。表3-3供应商表序号字段名称字段类型大小允许为空最大长度备注1SUPPLIER_IDInt4自增10

2SUPPLIER_NAMEVarChar50是255

3SUPPLIER_PERSONVarChar50是255

4SUPPLIER_TELVarChar50是255

5SUPPLIER_EMAILVarChar50是255

6SUPPLIER_ADDRESSVarChar500是255

系统操作记录表(action)用来存储平台管理员操作表字段内容如表3-4所示。表3-4操作记录表序号字段名称字段类型大小允许为空最大长度备注1ACTION_IDInt4是10

2ROLE_IDInt4是10

仓库表(repo)用来存储仓储系统中仓库表字段内容如表3-5所示。表3-5仓库表序号字段名称字段类型大小允许为空最大长度备注1REPO_IDInt4自增10

2REPO_ADDRESSVarChar50是255

3REPO_STATUSVarChar50是255

4REPO_AREAVarChar50是255

5REPO_DESCVarChar50是255

存储表(record)用来存储仓储系统中库存信息的内容,存储表字段内容如表3-6所示。表3-6存储表序号字段名称字段类型大小允许为空最大长度备注1RECORD_IDInt4是10

2RECORD_REPOSITORYInt4是10

3RECORD_NUMBERInt4是10

入库表(record_in)用来存储仓储系统中入库信息的内容,入库表字段内容如表3-7所示。表3-7入库表序号字段名称字段类型大小允许为空最大长度备注1RECORD_IDInt4自增10

2RECORD_SUPPLIERIDInt4是10

3RECORD_GOODIDInt4是10

4RECORD_NUMBERInt4是10

5RECORD_TIMEDateTime0是0

6RECORD_PERSONVarChar50是255

7RECORD_REPOSITORYIDInt4是10出库表(record_out)用来存储仓储系统中出库信息的内容,出库表字段内容如表3-8所示。表3-8出库表序号字段名称字段类型大小允许为空最大长度备注1RECORD_IDInt4自增10

2RECORD_CUSTOMERIDInt4是10

3RECORD_GOODIDInt4是10

4RECORD_NUMBERInt4是10

5RECORD_TIMEdatetime0是0

6RECORD_PERSONVarChar50是255

7RECORD_REPOSITORYIDInt4是10

货物表(good)用来存储仓储系统中存储货物的信息,货物表字段内容如表3-9所示。表3-9货物表序号字段名称字段类型大小允许为空最大长度备注1GOOD_IDInt4自增10

2GOOD_NAMEVarChar50是255

3GOOD_RYPEVarChar50是255

4GOOD_SIZEVarChar50是255

5GOOD_VALUEVarChar50是255

客户表(record_out)用来存储仓储系统中客户信息的内容,出客户表字段内容如表3-10所示。表3-10客户表序号字段名称字段类型大小允许为空最大长度备注1CUSTOMER_IDInt4自增编号10

2CUSTOMER_NAMEVarChar50是255

3CUSTOMER_PERSONVarChar50是255

4CUSTOMER_TELVarChar50是255

5CUSTOMER_EMAILVarChar50是255

6CUSTOMER_ADDRESSVarChar50是2553.4本章总结本章主要介绍了本系统总体设计,以及每个模块的主要功能。

4系统实现4.1安装Hadoop先在master机器上安装:(1)关闭防火墙。(2)解压并重命名hadoop-1.1.2.targz为hadoop(3)配置hadoop环境变量。在/etc/profle中加入环境变量:exportHADOOP_HOME=/usr/local/hadoop(4)编辑SHADOOP_HOME/conf/hadoop-env.sh文件。#配置Java环境ExportJAVA_HOME=/usr/lacal/jdk/(5)编辑$HADOOP_HOME/conf/core-sit.xml,详见图6。图4-1core.site.xml配置(6)编辑$HADOOP_HOME/conf/hdfs-sit.xml,详见图4-2。图4-2hdfs.site.xml配置(7)编辑mapred-site.xml,详见图4-3所示。图4-3mapred-.site.xml配置(8)编辑master,将master添加进去。(9)编辑slaves,将slave1和slave2添加进去。(10)安装好后拷贝至如上两位置。同时对slave1和slave2上的/etc/profile文件进行相应的修改。(11)验证Hadoop是否安装成功在master上执行start-all.sh命令,然后执行jps查看java进程,如果界面如图4-4所示,则表示安装成功。图4-4master上Hadoop效果4.2主界面的实现本文实现的是一个仓储管理系统,该系统包含库存管理模块、出入库管理模块、人员管理模块、基础信息管理模块、系统管理模块和系统管理模块,主界面如图所示。图4-5系统主界面4.3登录模块的实现用户登录分为超级管理员、普通管理员。首先用户输入账号和密码,点击登录后系统调取数据库的数据进行比对,首先对比账号密码是否正确,如果正确则返回用户的权限,然后系统进入相应的主界面。登录模块流程图如下图所示。图4-6登录流程图登录界面如下图所示。图4-7登录界面4.4出入库管理模块的实现当管理员登录后,可以进行出库入库操作,如果想要入库操作,首先选择仓库,输入对应供应商和入库货物以及入库数量,出库的操作类似,如果供应商和货物不存在则需要先添加相关信息。出入库管理流程图如下图所示。图4-8出入库管理流程图入库页面如下图所示。图4-9入库界面出库页面如下图所示。图4-10出库页面4.5基础数据管理模块的实现在管理员已经登录的情况下,管理员点击基础数据,可以对供应商,客户,仓库,货物等信息进行录入、更新修改、查询及删除。基础数据管理流程图如下所示。图4-11基础数据管理流程图由于篇幅显示,在这里只展示基础数据管理中供应商部分,界面如下图所示。图4-12基础数据供应商管理页面4.6系统维护模块的实现当管理员成功登录后,可以点击系统维护进行相关操作。该界面可以查询仓库管理员的操作以及登录IP等信息。图4-13系统维护模块管理流程图系统维护模块如下图所示。图4-14系统维护模块界面4.7修改密码在用户成功登陆系统后,可以点击左侧修改密码选项。点击后跳转到修改密码界面,在改页面中需要填写原始密码,以及两次新密码。如果两次新密码不一致,则系统会弹出“对不起,两次密码不一至,请重新输入”的信息。如果原密码不正确,则系统会弹出“原密码输入错误”的信息,如果修改成功则会退出系统,重新登录。修改密码模块流程图如下所示。图4-15修改密码流程图 修改密码界面如下图所示。图4-16修改密码界面图4.8本章总结本章针对仓储管理系统主要介绍了系统的几个核心部分的功能实现以及所需要的运行环境,核心功能主要主界面的实现、登录模块的实现、出入库管理模块的实现、基础数据管理模块的实现、系统维护模块的实现与修改密码模块的实现。为了便于理解,本章在每个核心功能介绍部分附上了流程图、系统页面以及核心代码。

5系统测试5.1测试目的为了仓储管理系统的稳定性与可用性,需要进行一定程度的测试来检验系统,本章主要针对系统的界面以及功能性进行测试,目的是保证仓储管理系统在部署到生产环境下可以正常,有效的运转。分析仓储物料管理系统,确定要测试的内容并制定测试计划,本系统在Windows1064位专业版上运行只进行功能测试。本文只进行功能测试,未进行压力测试。测试主要分仓储物料管理系统的功能模块测试。执行测试,准备搭建测试环境,并记录测试内容。提交并解决测试中的bug。本次测试主要针对Web端的使用以及后台调用数据库是否正常进行测试,Web端主要对出入库管理、基础信息管理和系统功能维护功能进行测试,测试其是否正常运行,以及可能会出现的问题[8-10]。5.2测试方案5.2.1界面测试本文采用黑盒测试Web端的界面,主要测试字体,窗口,以及其他元素是否正常。Web端界面测试项目如下表所示。表5-1用户界面测试表检查项测试人测试结果窗口切换、移动、改变大小时正常吗?本人正常各种界面元素的文字正确吗?(如标题、提示等)本人正常各种界面元素的状态正确吗?(如有效、无效、选中等状态)本人正常各种界面元素支持键盘操作吗?本人正常数据项能正确回显吗?本人正常执行有风险的操作时,有“确认”、“放弃”等提示吗?本人正常有联机帮助吗?本人正常各种界面元素的布局合理吗?美观吗?本人正常5.2.2功能测试(1)用户登录测试当用户以超级管理员身份登录,输入账号或密码为空时,提示框会提示右侧会出现“用户名不能为空”。当输入错误的账号或密码时,会弹出提示框显示“用户名或密码错误”。图5-1用户登录测试界面当用户使用正确的账号和密码登录时,系统会弹出提示框显示“登陆成功!”。这时页面会自动跳转到相应的角色主界面。图5-2用户登录测试界面(2)系统用户信息管理测试对系统用户信息管理进行测试时,采用黑盒测试法中的等效性法和边界值法相结合的测试方法对功能进行测试,例如输入错误的数据,输入非法的字段或者输入超越输入框规定范围的数字(如年龄、手机号、QQ号和银行账号等)。系统用户信息管理测试表如下表所示。表5-2系统用户信息管理测试功能A描述以管理员身份登录,添加、修改、查询用户信息用例目的是否能够正确修改信息前提条件用户安全登录系统界面输入/动作输入实际情况示例:典型值…年龄5353示例:边界值…年龄—10输入数据有误示例:异常值…年龄a输入数据有误如果输入的测试数据完全正确,则弹出对话框显示“仓库管理员添加成功”,这时表示系统添加用户成功,具体对话框如下图所示。图5-3录入用户信息成功界面(3)部分功能测试为了验证系统功能的有效性及完整性,本文做了大量黑盒测试。下表展示了部分测试实例。表5-3部分测试用例表模块用例描述预期结果备注管理员登录用户名文本框中不输入任何数据提示“请填写完整的信息”测试用户名是否为空在密码文本框中输入“123”三个字符提示“密码长度最少为6位”测试密码位数是否正确密码修改在密码文本框和确认密码文本框中分别输“123456”和“258769”提示“两次输入的密码不匹配”测试用户两次输入的密码是否匹配在用户管理中修改密码,原始密码若输入不正确提示“原始密码错误”测试原始密码是否正确添加客户客户信息内容为空系统提示客户信息内容为空,客户信息添加失败测试客户信息是否为空输入客户信息系统提示客户信息添加成功测试客户信息是否成功添加供应商直接点击添加系统提示请输入相关信息测试添加供应商功能是否可用输入供应商信息系统提示添加成功测试添加供应商功能是否可用5.3测试结果进过一系列的测试后,仓储管理系统基本可以按照开发需求正常运行,能够满足仓库的基本需求。本次测试项目主要针对系统日常使用进行测试,由于条件有限只进行了界面测试和系统测试,在未来可以尝试对系统进行一定程度的压力测试,检验系统的承载能力。5.4本章总结本章主要针对仓储管理系统设计开发完成后进行一些列的黑盒测试,目的是在系统交付给仓库时,可以真正的直接部署在生产环境中。虽然本系统经过了界面测试和系统测试,但是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论