刘 峰
(中国兵器装备集团自动化研究所, 四川 绵阳 621000)
在这个科学技术不断发展的年代里, 世界已经变的越来越高科技化越来越智能化, 一个智能化的时代已经到来,近几年由于网络购物的火热现象,导致越来越多的厂家开始规划自己的仓库管理模式, 以便于更加高效率的进行货物管理。
截止到目前, 各个大型公司已经对自己的公司仓库管理进行了信息化的管理, 例如京东选择在各个省市建立仓库,采用全智能化信息管理仓库,达到了高效率的分配订单。
我国现阶段正处于飞速发展的阶段, 如何更加有效地管理仓库,已经成为现阶段的一个大问题。
一个企业所拥有的商品是他所生存发展的根本,而仓库是企业用来保存商品的所在。 所以说,拥有一个高效的仓库管理对企业来说很重要。 总之,一个成功的企业必定会有一个好的仓库, 但是一个好的仓库没有一个合理的管理系统是不完美的。 可是一个静态化的简单的仓库管理的系统,因为它不具备信息共享的功能,而且不能够保证货物的正常运转中所遇到的一些问题, 也不能保证企业所拥有资源的正常的运转与利用; 还有一些传统的仓库管理系统在维护和开发起来也是十分困难的一个大问题,所以极大地浪费了人力与物力资源,完全脱离了现代化社会。 因此,一个成功的企业,如果拥有了一个现代化的仓库管理系统,会有效的提高生产,降低使用的成本。
本系统的目标是做一个基于互联网端的仓库管理系统,在选择语言方面,由于JAVA 语言具有良好的跨平台性以及支持多种系统,因此本系统才用该语言进行程序编写,并且运用B/S 的框架系统和Mybatis 来构架数据库。
需求分析是系统开发的首要步骤, 也是直接影响系统整体性能和功能的最主要的步骤。 系统的需求分析最重要的是对系统的可行性、 性能和功能等方面进行具体地分析[1]。 不合理的需求分析,会使系统的开发环节出现许多错误和走许多弯路,导致系统开发时间长,效率低,系统的总体质量也会受到影响。
该系统分为管理员和客户等不同种类的用户角色系统。 本系统的用例功能模块主要包括管理员、 用户等模块,管理员模块的主要功能有查看库存信息,修改信息,用户管理,产品入库,产品出库等功能。
用户模块的功能主要包括有库存信息的查找, 用户信息的修改,用户管理等功能。
(1)登录验证功能:为了保证仓库管理系统信息的安全性,进入系统时需要对用户身份进行验证。
(2)管理员管理功能:此功能属于系统的管理员功能,他实现了对所有用户的管理操作, 可以添加一个新的用户,也可以对已经添加的业务进行删除的操作。
(3)用户的查询功能模块:此项功能属客户管理员功能,用户可以根据自己所需要的条件查询相关信息,也可以对自己的个人信息进行修改[2]。
(4)仓库存储的查询管理功能:此功能属管理员与客户共同享有的功能,客户可以实现查看、入库以及出库等功能,两者都可以查看库存的相关信息。
(5)用户的信息管理模块:此功能属于用户管理员,管理员可以对自己负责的客户信息进行有效的管理[3]。
仓库管理系统主要分为两大用户功能, 两种功能所实现的功能流程如下所示。
2.3.1 管理员模块业务
仓库的管理员可以通过帐号和密码验证之后进行登录, 登录到系统之后主要的功能是对商品与用户的信息进行管理。
2.3.2 客户模块业务
管理员可以通过帐号和密码进行登录, 登录后的主要是对用户和商品信息的管理, 管理员其主要的功能是查看用户的信息, 修改用户的相关信息以及对仓库货物的查看等。
仓库管理系统主要分为两个用户角色, 其最为主要是管理员与用户这两个角色,其各个角色功能如下:
(1)管理员。管理员可以通过帐号和密码进行登录,管理员登陆系统后的主要功能是对自己管理的库存信息进行管理,主要包括个人信息管理、商品进行入库、出库、查询操作、客户的信息进行查询、修改及退出系统等功能[4]。
(2)用户。 用户可以注册登录成为会员,其中的系统功能应当包括系统的首页,查询系统库存,注册登录,我的信息,退出仓库系统等一些功能。
根据上述分析, 得出的功能结构图中大致包含了两项主要的大目标,一是商品信息查询类,其中包含了商品入库,商品查询以及商品出库这三项,二是用户信息管理类, 它主要包含了管理仓库的管理员信息以及商品拥有者用户信息这两项。 以上的大致信息便构成了这个系统的主要需要实现的功能。
B/S 系统对客户机的工作量做了极大的简化,对数据库的访问以及应用程序的执行都将由服务器来完成。B/S 架构主要使用万维网浏览器技术,使用各种脚本语言。在B/S 架构基础,各类软件的安装,维护这类只需要在服务器端解决就行,减少了很多不必要的麻烦。 在使用该系统时,用户只需要用一个浏览器便可以运行所有的模块,从而实现了“零客户端”功能,很容易在运行时自动升级。 B/S 架构也有一个均质机,网上异构网络,异构应用服务的联机[5,6]。
B/S 系统由以下三层构成,三层是相对独立又相互关联,在这里我们在三个层面上做一个介绍:
(1) 表示逻辑层提出请求服务并将服务传输到网络上的Web 服务器,当主页上的信息传递给了HTTP 时,便开始验证身份,并将主页文件信息显示在网络的Web 浏览器上。
(2)用户的数据请求会被控制逻辑层接受到,数据库与程序相互连接,并进行相应的处理请求,然后服务器开始接受由数据库传来的数据处理结果, 最后再将这些数据返给客户端[7]。
(3)数据库表示接受服务器所请求的操作,以便实现对数据库进行相关的操作, 最后服务器负责接受最后生成的操作结果[8]。
3.2.1 用户登录模块设计
系统中用户登录验证是最为初始的一个环节, 其环节流程可以如下概括:
用户在登陆的时候,系统页面会弹出一个登陆页面,用户按照页面的提示将相关的信息输入, 确认以后系统将用户所输入的信息返回服务器, 服务器端将接收到的数据与自身后台数据进行对比验证, 如果输入的内容能够相互匹配会进入到登录首页; 若不能正常匹配则系统会跳转到报错界面[9]。
在本次的仓库管理系统中有两个不同的入口。 仓库管理人员使用用户名和密码之后可以对应相应的操作。用户的登录所需的用户名和密码已经在之前的用户信息表中建立, 用户的个人信息由管理员提前录入或者自己注册。 由于用户信息需要先从所对应的数据库中进行读取,所以在读取之前需要先和数据库进行连接。在本系统当中,有两个登陆模块的入口。如下图所示确认文件审核用户提供的用户名和密码。
管理员登录如图1 所示。
图1 登录界面
3.2.2 商品入库模块设计
首先,入库申请人需要将自己需要入库的货物向仓库的管理员提交申请单,管理员先根据申请人提交的货物数量与实际接收到的数量进行清查,若数量不对,则拒绝该货物进行入库,且如果发现该货物在现存的库存中有,则还需计算是否仓库能否存入该批货物,若超过仓库库存上限,则拒绝入库,没有超过的话,仓库的管理员进行入库操作[1]。 如果该库存中没有该商品存在,则需要重新添加该商品,计算该商品可在库存中能够存放的最大数量,然后重新考虑若该货物存入加上现在的存有量是否会超过仓库的最大容纳量, 如果超过仓库的最大容纳量, 则拒绝入库操作,并将该货物归纳到暂时禁止入库,待仓库空出足够的数量时,再将该货物入库,入库后,管理员需要给入库申请人开一张货物的入库单,以便日后进行查询。 这便是入库操作模块[10]。
图2 商品入库界面
3.2.3 商品出库模块设计
图3 商品出库界面
在进行出库的操作时, 第一步首先是货物提取人先向仓库的管理员提交一份货物出库申请, 管理员在接收到申请单后,先对申请单进行验证,若申请单不真实,则拒绝出库操作,若申请单真实,则再进行下一步操作,即对货物名称进行查询以及数量查询, 如果仓库中的该货物数量少于申请的数量,则取消此次出库申请,若仓库中的货物数量多于申请的数量,则进行出库操作,并将出库数量进行记录,最后开一张出库单,整个出库过程完成[11]。
3.2.4 用户注册模块设计
系统中用户登录验证相对比较简单, 可以将其流程概括如下:
在用户注册时, 需要在注册的页面各框中输入用户名、密码、姓名、性别、年龄、联系方式、email、联系地址等一系列信息, 页面后台将用户输入的一系列信息传递给服务器,服务器将收到的数据与自己的数据库进行对比,如果没有找到该用户信息,系统会进一步进行注册[3];当在注册的过程中有空的情况下系统会有相应的提示。 在进行email 注册时,在注册的栏中输入的不正确时,系统会提示出错误。当输入的内容符合要求时会继续注册。还可以选择清空,从头开始再注册一遍内容[12]。
图4 用户注册界面
数据库的设计在开发的过程中占有一个十分关键的作用,在这里强调数据库重要性的作用,原因是数据库是软件开发过程的根基,前期的建设不牢固,会使得后期的建设出现大批量的问题, 在后期的处理过程中会非常的困难[13]。
通常概念设计的主要目标是设计并反映出某一个组织部门的信息需求中的要求, 数据库系统通常是独立的并主要存在于:数据库系统的逻辑结构、DBMS 即数据库管理系统、计算机系统等模式。
在次结构的设计过程当中,E-R 模型法是最为常见的设计办法。
在次结构设计当中中,有以下几种方法:
自下往上、从上往下、逐步扩张、相互结合,以这种方式为模型然后分别实现各个结构的模型。
在物理结构设计阶段首先分两步走:
确定数据库的物理结构, 是用来说明数据在数据库中怎么样存储的。
选取正确的关系模式存取方法有好多种方法进行选择。
概念设计通常是从系统的需求出发, 常常将对象使用数据流的形式表达成为完整的抽象实体。 而与模块内部的细节无关。 E-R 图为主要的工具,如图5 所示。
图5 系统E-R 图
(1)管理员信息关系模式, 里面的主键是管理员ID。 管理员(管理员Id、 用户名、email、 密码、 联系方式、姓名、地址、性别)。
(2)客户信息关系模式,里面的关系主键是客户ID。客户(客户ID、用户名、email、密码、联系方式、姓名、联系地址、性别)。
(3)商品信息关系模式,里面的关系主键是商品编号。商品(编号、价格、名称、类别、生产产地、商品数量)。
表1 管理员信息表
表2 客户信息表
表3 商品信息表
本系统与数据库的连接采用了数据持久化层的开源框架Mybatis 方式,它能高效的进行数据的添加,修改,删除等一系列操作, 并提供了一个简单易用的API 和数据库交互。以便仓库管理人员在计算机上运行本系统时,对数据库进行必须的操作。
本系统采用了数据持久化层的开源框架Mybatis 方式,它能高效的进行数据的添加,修改,删除等一系列操作,并提供了一个简单易用的API(应用程序编程接口)和数据库交互。 以便仓库管理人员在计算机上运行本系统时,对数据库进行必须的操作[14]。
由于MyBatis 操作简单且易于使用的特点,才会开始流行起来。在Java 应用程序中,将从数据库查询到的数据生成所需要的Java 对象;将Java 对象中的数据通过SQL长期保存到数据库中,都是数据库的设计中所涉及到的。MyBatis 通过抽象底层的JDBC 代码,自动化SQL 结果集产生Java 对象、Java 对象的数据持久化数据库中的过程使得对SQL 的使用变得容易[15]。
使用Mybatis 的具有优势:①它消除了大量的不必要的重复代码;②学习和使用起来非常简单;③能与其他的一些数据库在一起共同使用;④它可以接受SQL 语句;⑤具有与其他的一些框架一起使用的集成支持; ⑥提供了与第三方缓存类库的集成支持;⑦引入了更好的性能。
基于互联网的仓库管理系统在之后的市场发展中有着非常广阔的前景, 会对传统的一些理念造成巨大的冲击。 本文是运用了计算机学科中的两项重要的技术即计算机网络技术和数据库技术出发,分析了Web 数据库及JSP 技术在本次仓库管理系统中的应用。