1、 仓库管理系统的设计与实现 内容提要 本论文所讨论和研究的课题是企业仓库管理的一部分:出库管理。对仓库的出库入库进行信息化管理,以改往日的人工操作的错误高,时间长,工作流程复杂的弊端。实现出库入库的计算机信息化管理。 在系统地开发中,采用了 B/S 结构,以 java 语言为工具进行的 J2EE 的开发, jsp 开发的前台页面,后台数据库采用 sql server2000。系统主要实现了,合同的添加、修改删除删除,入库和出库单的生成,查询,删除,修改操作。此外,还有用户登录,客户管理,用户管理,报表模块。但 系统在一些小部分上,还有待进一步完善。 关键词 : 仓库管理 ,sql serve2
2、000, JSP 一 引言 在问题定义阶段,主要是弄清本课题所需要解决的问题的根本所在。提出了本论文的研究背景及所要解决的问题。 企业的库存物资管理往往是很复杂、很繁琐的。由于所掌握的物资种类众多,订货、管理、发放的渠道各有差异,各个企业之间的管理体制不尽相同,各类统计报表繁多,因此仓库的库存管理必须编制一套库存管理信息系统,实现计算机化操作,而且必须根据企业的具体情况制定相应的方案。 根据当前的企业管理体制,一般的库存管理系 统,总是根据所掌握的物资类别,相应分成几个科室来进行物资的计划,订货,核销托收,验收入库,根据企业各个部门的需求来发送物资设备,并随时按期进行库存盘点,作台帐,根据企业
3、领导和自身管理的需要按月、季度、年度进行统计分析,产生相应报表。为了加强关键物资、设备的管理,要定期掌握其储备,消耗情况,根据计划定额和实际纤毫定额的比较,进行定额管理,使得资金使用合理,物资设备的储备最佳。 一个完整的企业物资供应管理系统应包括采购计划管理,合同收托管理、仓库库存管理、定额管理、统计管理、财务管理等模块。其中仓库的库存管理 是整个物资供应管理系统的核心。因此有必要开发一套独立的库存管理系统来提高企业工作效率 , 而所使用的这套库存管理系统是企业生产经营管理活动中的核心,此系统必须可以用来控制合理的库存费用、适时适量的库存数量,使企业生产活动效率最大化。通过对这些情况的仔细调查
4、,我开发了下面的仓库库存管理系统。 本论文所属的项目课题是:开发出一个企业仓库管理系统的软件,以便能够方便的管理企业仓库的工作活动。而本论文的主要内容是仓库管理系统中出库 和入库 管理模块的设计与实现。 以前的仓库管理都是人的手工操作,入库和出库都是在账本上进 行登记,这样不但耗费了大量的人力物力和财力,而且容易出错。并且现在的仓库作业和库存控制作 业已十分多样化、复杂化,靠人工去记忆处理已十分困难。如果不能保证正确的进货、验收、质量保证及发货,就会导致浪费时间,产生库存,延迟交货,增加成本,以致失去为客户服务的机会。使用计算机控制的管理系统对仓库进行管理,既能节省人员开支,又不容易出现错误,
5、能极大的提高劳动生产率。 二 开发可行性分析 2.1 本章 从可行性和需求分析两个方面对系统的进行分析。系统开发前的可行性分析和需求分析,对系统开发是至关重要的。 2.2 可 行性分析 技术可行性:仓库管理系统在目前的企业中已经普遍使用,有许多类似的成功案例。本系统采用 JAVA 及 SQL Server 2000 数据库技术综合开发。 JSP 是一种安全稳定的动态网页技术 .Microsoft SQL Server(基于结构化查询语言的数据库服务器)是基于客户 /服务器结构的数据库管理系统,用户通过使用客户系统从服务器检索信息并进行本地操作,服务器关注数据库进程,而客户则关注信息的表示。为了
6、使客户端能够从服务器中访问数据,服务器必须具备以下两个关键特征: 一、 对在数据库中的数据提供单点访问。 二、 将处理和操作在客户端和服务器间进行分配。 SQL Server 有多种实用程序允许用户来访问它的服务,用户可用这些实用程序对 SQL Server 进行本地管理或远程管理。 因此开发本设计技术上可行。 经济可行性:本系统使用 B/S 架构设计,使用市场上流行的动态网页技术,开发简单,使用方便,不需要耗费大量的人力物力就能很快的开发出来,系统部署对软硬件要求不高,用户操作简单,几乎不需要对用户进行专业培训就可使用本系统,所以从经济上讲是可行的。网络化管理解决了实际工作中不能及时对连锁店
7、销售情况进行统一管理的问题,为企业节省了大量的管理上所花费的时间,提高了企业经营管理效率。 社会可行性 :企业信息化道路已经成为中国企业发展过程的一条必经之路,功能适合企业的物流管理系统将大大提高员工的工作效率,给企业带来巨大的经济效益。只要在开发过程中,以及在应用过程不涉及违法行为,社会可行性是完全不用担心的。 操作可行性 : 本系统操作简单方便 , 几乎不需要对用户进行专业培训就可使用本系统 ,所以在操作上也是可行的。 分析结果: 从以上的分析可知,企业仓库管理系统的解决方案无论在技术,经济还是法律以及操作上都是可行的,并且开发本系统具有一定的经济价值 和实用价值。 通过以上的分析不难看出
8、, 仓库 管理系统的开发和实施是完全的可行的。 三 需求分析 3.1 需求分析是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段系统的设计。 本章 从功能需求分析和业务需求分析两个方面介绍了系统需求分析。 3.2 目标 为了方便,企业仓库的出库 入库 管理操作 .能够生成出库单,对出库单进行查询,修改,删除操作 ,和入库管理,调拨管理,一起形成企业仓库管理系统。对企业的资产进行信息化的管理。 通过本软件,提高企业仓库管理的信息化程度,实现对 企业仓库出库 入库 的管理。其包括: 合同管理, 出 入 库管理,库存查询,用户信息,商品录入,报表模块 ,仓库管
9、理模块 。这些模块对企业仓库的出 入 库流程进行管理。从而让企业 逐渐借助计算机技术去完善自身产品资产管理和提高自身的工作效率 。 3.3 系统功能需求分析 要求系统需要有以下功能: 由于操作人员的计算机知识普遍较差,要求有良好的人机界面 。 方便的数据查询,使管理员能够方便的生成一个出 入 库单,查找迅速 。 录入客户信息,方便管理客户信息,使仓库的管理在交易层面上更佳 。 商品的管理模块,对商品的类型等信息管理,更好的进行存放 。 报表管理,对当天的出 入 库情况生成一个报表 。 另外,还要能够对库存进行查询 。 最好对仓库的库位使用情况能够掌握。 具体描述入下: ( 1)入 库管理功能需
10、求描述 入库管理在整个仓库管理管理系统中负责:入库单生成、入库单的修改、删除、查询。记录入 库信息。 入 库单生成需求: 管理员对出库的物资进行登记,包括产品的名称,规格,单价,数量,入库日期,负责人等信息。就完成了入 库单的添加。 查询需求:在查询这个环节,实现入库单的查询。按照入库单号进行查询。方便从众多的入 库单中查找信息。 入库单维护需求:在入库管理模块,列出所 有入库单的信息,找到想要更新的入库单,可以对入 库单进行修改,但是这个只能是系统管理员才可以的。修改,删 除相应操作进行了之后,在入 库单的数据库里就相应的更新。 商品管理模块需求:对入库的物资的信息。如,规格,标号,名称等信
11、息作管理。以便对 不同的物品,实施不同的存放方案。 ( 2) 出库管理功能需求描述 出库管理在整个仓库 系统中负责:出库单生成、出库单的修改、删除、查询。记录出库信息。 出库单生成需求:管理员对出库的物资进行登记,包括产品的名称,规格,单价,数量,出库日期,负责人等信息。就完成了出库单的添加。 查询 需求:在查询这个环节,实现出库单的查询。按照出库单号进行查询 。 方便从众多的出库单中查找信息。 出库单维护需求:在出库管理模块,列出所有出库单的信息,找到想要更新的出库单,可以对出库单进行修改,但是这个只能是系统管理员才可以的。修改,删除相应操作进行了之后,在出库单的数据库里就相应的更新。 商品
12、管理模块需求:对入库的物资的信息。如,规格,标号,名称等信息作管理。以便对 不同的物品,实施不同的存放方案。 ( 3) 库位管理功能需求描述 库位管理对仓库的库位的使用情况的统计。那些库位用了,那些还空着,方便入库存放。 (4) 报表管理功能需求描述 报表模块需要,两个报表,一个是对出库的总统计,设计数量,和物资总价值,是个整体的统计。 (5) 人员管理功能需求描述 系统涉及的人员有权限的限制,一种是系统管理员, 能够 对系统具有最高级的权限,可以使用系统的任何功能。 另外 的人员就只是普通的用户,对系统不具有操作权。 (6) 仓库管理功能需求描述 通过这个功能你可以轻松简单的根据自己的仓库数
13、量,仓库面积等信息对仓库进行添加、修改、删除 。 3.4 系统功能模块 Windows 2000/XP Microsoft Internet Explorer 6.0 网络结构配置 支持总部集中管理、局域网 Internet、局域网 PSTN 拨号等多种灵活的网络构造方式。 3.5 结论 需求分析是软件定义时期的最后一个阶段,通过以上的需求分析,我已经可准确的回答“系统必须要做什么”这个问题了,达到了需求分析的目的 四 系统总体设计 4.1 系统功能模块 图 4-1 功能模块图 (1)软件需求: Windows 2000/XP Microsoft Internet Explorer 6.0 (
14、2)网络结构配置 支持总部集中管理、局域网 Internet、局域网 PSTN 拨号等多种灵活的网络构造方式。 4.2 系统布局设计 系统页面采用框架来设计,不同的用户有不同的功能菜单,但都有统一的风格,这给仓库库管理系统 出入库管理功能 库位管理功能 报表模块 用户管理模块 添加出入库单 更新出入库单 查询出入库单 页面的使用和维护都带来了很大的便利,特别是在代码重用方面起了很大作用。本系统各用户的页面设计如图 4-1 所示: 程序的界面应满足基本的程序的操作功能的基础上,尽量的做到操作简单。在本系统将按照以下原则来设计整个系统界面: 1 用户原则:人机界面设计首先要确立用户类型。划分类型可
15、以从不同的角度,视 实际情况而定。确定类型后要针对其特点预测他们对不同界面的反应。这就要从多方面设计分析。 2 信息最小量原则:人机界面设计要尽量减少用户记忆负担,采用有助于记忆的设计方案。 3 帮助和提示原则:要对用户的操作命令做出反应,帮助用户处理问题。系统要设计有恢复出错现场的能力,在系统内部处理工作要有提示,尽量把主动权让给用户。 按照以上原则,本系统采用框架结构来组织功能。系统功能区是功能模块组织核心,系统所有的功能模块将有此处提供调用接口,方便各功能模块之间的切换。主工作区显示当前被激活的功能模块,提供相应的功能 ,各种操作都将在这一部分完成。主工作区的模块通过本身的功能按钮和左边
16、的二级树型菜单进行功能的切换。 图 4-1 系统布局图 1.Banner 区 可以在此展示系统标识、页面归属等信息。 2.树型功能菜单区 提供系统可供操作的功能列表。 3.页面主工作区 显示页面格式化数据页面主体区显示的内容,将依据页面在系统中的作用而定。 4.3 任务的分配 合同 管理:添加 合同、修改合同、删除合同、搜索合同、查看合同 。 出库管理:添加入库、修改入库、删除入库、搜索入库、查看入 库。 出库管理:添加出库、修改出库、删除 出库、搜索出库、查看出库。 库位管理:显示当前库存状况、添加产品。 报表管理:费用报表、仓库日报表 用户管理:用户添加修改删除。 客户管理:客户添加修改删
17、除。 物品管理:物品添加修改删除。 树型功能菜单 主工作区 Banner 仓库管理:仓库 添加修改删除。 4.4 设计总则 设计系统的原则是以用户的需求为目标,站在用户的角度进行规划、设计,让用户以经济的投入来获得最成熟、最实用的技术。主要按以下几个原则来保证系统的开发: 1、 整体性保障:系统开发采取“总体规划,分步实施”的开发办法,即在开发之初,先进行总体规划,然后在总体规划的约束和指导下开发。 2、 实用性原则:实用性是衡量软件质量的重要反指标,要与具体业务结合,具有针对性的完成需求的功能。 3、 人性化界面设计原则:使用户能够快速的上手,正确的使用系统。 4、 模块化原则:根据需求的变
18、化动态组织系统的结构,采用模块化设计,使功能结构具有很好的伸缩性。 4.5 总体结构图 根据系统功能的要求,仓库管理系统各个模块之间的层次结构如图 4-2 所示: 入 库管理子功能模块层次结构图如图 4-3 所示: 入库管理 添加入库信息 搜索入库信息 查看入库信息 修改入库信息 删除入库信息 仓库管理系统 出 入库管理 库位管理 商品管理 客户管理 仓库报表 费用管理 图 4-2 系统功能结构示意图 图 4-3 入库管理功能结构示意图 出库管理子功能模块层次结构图如图 4-4 所示: 图 4-4 出库管理功能结构示意图 报表以及库位管理子功能模块层次结构图如图 4-5 所示 : 图 4-5
19、报表以及库位管理 功能结构示意图 用户管理子功能模块层次结构图如图 4-6 所示: 报表以及库位管理 费用报表信息 添加产品 库位状况查询 仓库日报表 销售情况 用户管理 添加用户信息 搜索用户信息 查看用户信息 修改用户信息 删除用户信息 出库管理 添加出库信息 搜索出库信息 查看出库信息 修改出库信息 删除出库信息 图 4-6 用户信息 管理功能结构示意图 客户管理子功能模块层次结构图如图 4-7 所示: 图 4-7 客户 信息 管理功能结构示意图 产品管理子功能模块层次结构图如图 4-8 所示: 图 4-8 客户 信息 管理功能结构示意图 4.6 系统运行设计 1.运行模块组合:系统运行
20、首先进入登录页面,正确登录后系统将完成初始化。此时可以通过菜单和按钮来启动相应的模块,系统采用整体框架设计,分为页面导航部分和主工作区,系统只能在工作区内操作一个当前激活模块完成相应工作,可以通过各界面中的按钮进行模块的切换。 2. 运行控制方式:本系统采用菜单和按钮触发相结合的方式,既每个功能模块可以通过菜单命令和按钮点击来触发。 3. 运行时间:系统基于 B/S 结构,在局域网中访问响应时间不就超过五秒,在广域网访问,要视环境而定。 五 数据库设计 商品管理 添加产品信息 搜索产品信息 查看产品信息 修改产品信息 删除产品信息 客户管理 添加客户信息 搜索客户信息 查看客户信息 修改客户信
21、息 删除客户信息 5.1 引言 数据库是系统的最底层,是影响系统性能的决定性因素之一。数据库设计得合理与否还影响着应用层开发的难易程度。本章详细介绍了数据库的设计。 图 5-1 系统 E-R 图 5.2 结构设计 在总体设计阶段的数据库设计要早在模块设 计和界面设计前。在进行模块设计和界面设计过程全部有可能会产生使用内部数据的要求,在这里参照了数据库系统概论 1。那么就要更改或添加相应的数据库设计,只有模块设计和界面设计完毕后,才能保证数据库设计真正结束。 5.3 数据库设计 根据在需求分析阶段的得到的实体信息和本系统数据库的概念设计模型( E-R 图) ,可以对系统数据库中的表作以下说明 :
22、 表 5-1 系统数据表 表名 对应实体 表说明 SEC_InStore 入库 保存所有入库信息 SEC_OutStore 出库 保存所有出库信息 store_message 仓库 存储仓库信息 user_message 用户 保存所有用户 goods_message 商品 保存所有商品信息 company_message 客户 保存所有客户信息 5.4 数据库表的创建 下面将对各表的字段 ,数据类型和约束条件等给出具体定义如下: 表 5-2 入库信息表 仓 库管 理出 库1N入 库管 理 管 理合 同管 理N1N11N客 户 签 写N1表名 SEC_InStore 字段 (列名 ) 类型 (
23、精度范围 ) 空 /非空 是否主键 说明 InId INT NOT NULL 是 出库编号 goodsName VARCHAR(50) NOT NULL 否 商品名 称 format VARCHAR(50) NULL 否 规格 unit VARCHAR(50) NULL 否 单位 quantity INT NOT NULL 否 数量 perPrice FLOAT NOT NULL 否 单价 InDate DATETIME NOT NULL 否 出库日期 operatior VARCHAR(50) NOT NULL 否 操作员 storeLocal1 VARCHAR(50) NOT NULL 否
24、 仓库 VARCHAR(50) VARCHAR(50) NOT NULL 否 库位 clientName VARCHAR(50) NULL 否 客户名称 totalPrice FLOAT NULL 否 总计 表 5-3 出库信息表 表名 SEC_OutStore 字段 (列名 ) 类型 (精度范围 ) 空 /非空 是否主键 说明 outId INT NOT NULL 是 出库编号 goodsName VARCHAR(50) NOT NULL 否 商品名称 format VARCHAR(50) NULL 否 规格 unit VARCHAR(50) NULL 否 单位 quantity INT NOT NULL 否 数量 perPrice FLOAT NOT NULL 否 单价 outDate DATETIME NOT NULL 否 出库日期 operatior VARCHAR(50) NOT NULL 否 操作员 storeLocal1 VARCHAR(50) NOT NULL 否 仓库 VARCHAR(50) VARCHAR(50) NOT NULL 否 库位 clientName VARCHAR(50) NULL 否 客户名称 totalPrice FLOAT NULL 否 总计 5-4 仓库信息表