仓库管理系统的研究设计与分析Word格式.docx
《仓库管理系统的研究设计与分析Word格式.docx》由会员分享,可在线阅读,更多相关《仓库管理系统的研究设计与分析Word格式.docx(28页珍藏版)》请在冰豆网上搜索。
并且在实际操作中,数据的查找和维护都不容易实现,容易发生差错,导致管理费用的增加,服务质量难以得到保证,从而影响企业的竞争力。
随着物流业的发展,其规模的扩大,仓储将发挥越来越重要的作用。
在物流信息管理系统中,高效方便的仓库管理系统,可以为生产经营提供坚强的后盾和有力的支持。
因而仓库管理系统成为物流信息管理系统的一个必不可少的重要环节,仓库管理的信息化、计算机化已迫在眉捷。
开发一个仓库物流管理系统可以提高物流管理的现代化程序,加强管理的信息化手段,提高工作效率,增加企业效益;
1.2设计目标本仓库管理系统的设计目标主要是提供一个仓储业务及其作业管理的信息存储和检索平台,通过系统管理、仓库管理和业务信息管理等功能模块来实现仓库的综合管理,旨在从仓库的普遍特点出发,有针对性地解决仓库的日常管理等方面的问题,创建一套能够通用于各物流企业中的仓库管理系统5。
本系统主要用的是模块化设计,主要包含系统、仓库管理、业务信息这几个功能模块。
系统操作简单,有计算机基础的人无需培训即可使用,即使是没有计算机基础的人只需经过简单的培训就可以很熟练的使用本系统。
系统运行后,用户使用本系统时,不会也不必关心系统内部的结构及实现方法,即对用户来说是透明的,所以本系统是定位在界面友好、操作方便、功能齐全的原则上的,用户只需简单的用鼠标点击各界面上的选项卡或按钮就能执行相应的功能。
通过开发仓库管理系统,至少可以实现以下的“六个有利”:
1、有利于减少用在仓库管理系统上的人力资源。
2、有利于提高仓库管理的效率。
3、有利于用户对仓库货物存储的查询、更新、修改等操作。
4、有利于仓库管理的保密性和安全性。
5、有利于决策者从各种查询表里获得仓库的总体情况。
目标系统应该达到以下要求:
1、时间经济性。
优化逻辑设计与物理设计,使系统运行效率高,反应速度快。
2、可靠性。
能连续准确的处理业务,有较强的容错能力。
3、可理解性。
用户容易理解和使用该系统。
4、可维护性和适应性。
系统应易于修改、易于扩充、易于维护,能够适应业务不断发展变化的需要。
5、可用性。
目标系统功能齐全,能够完全满足业务需求。
6、安全保密性。
保证系统的物理安全、数据存储和存取的安全与保密、数据传输的安全与保密,做好使用人员的授权管理。
仓库管理系统的建设目标是:
按照仓库管理信息的特点,利用仓库管理系统平台,围绕着“数据库、信息管理、应用”进行整体规划,实现对仓库信息的管理,实现对货物信息的管理和对整体的仓库存储和业务信息进行统计,从而极大的提高了仓库管理的效率。
数据库:
创建在仓库管理系统平台使用的数据库,管理员可以查询仓库管理的各项信息数据。
信息管理:
管理员可以对仓库进行分类查询,可以对仓库货物数据进行增加、修改、删除等,方便管理员对仓库的货物进行管理。
应用:
仓库管理系统的汇总表可以让我们了解整个仓库的运作,从而为物流管理提供各种信息,有利于提高物流系统的总体水平。
1.3系统开发环境1.3.1系统配置WindowsXP作为当今最为普及的操作系统,具有简单、容易操作、稳定强大的特点。
一方面考虑目前微软的飞速发展,越来越多的企业在规划内部网络时,将微软平台作为首选方案;
另一方面从技术角度来讲,微软平台上的应用无论是在开发上,还是在软件的部署上都非常容易,而且性能优越。
1.3.2开发工具JBuilder是目前最好的Java开发工具之一,在协同管理、对J2EE和XML的支持等方面都非常的优秀,它的这些特性是其他同类产品无法比拟的。
同时它在Applet和EJB开发方面也具有独特的优势,使得它在J2EE工程开发界具有独特的优势,成为目前最流行的Java开发工具之一。
一般来讲Jbuilder提供了企业数据库的动态链接,可以开发出基于网络的动态分布计算数据库管理系统。
在现在的企业信息管理系统的实现中通常是结合Jbuilder和Weblogic_server来共同实现数据库开发系统。
Jbuilder的主要特性包括四个方面:
Tomcat组件的集成:
Tomcat组件是业界公认的优秀的网络开发软件,Jbuilder和它集成,大大方便了Java在网络和数据库分布计算方面的应用,使得Java的Web开发更容易。
企业信息化应用的开发功能:
可以据此集成多种应用服务器,大大方便了Java在企业信息化方面的应用。
提高了企业信息化的水平,促进了Java在工程界的广泛应用。
非常简单的程序发布功能:
只需简单的步骤便可将自己的程序打包进行发布,大大方便了用户使用和发布自己的程序。
由于在现在的软件开发中团队合作是最重要的,Jbuilder就提供了团队开发能力,可以集成多种版本控制产品,方便了不同层次的用户使用。
Jbuilder是按照SUN公司提供J2EE标准来构筑的,它是一个遵循J2EE标准的可视化集成开发环境,目前在业界具有广泛的用户,成为一个处于市场领先地位的跨平台环境,主要用于构建一些具有行业实力的企业Java小程序,如为企业信息化而产生的客户前台浏览界面,为特定的用户开发一些专业的程序包和特定的类库。
JBuilder继承了Borland公司开发工具系列的优秀特性,继承了许多Delphi和C+Builder产品的优秀特性,这使得用过这两种产品的用户很容易的就可以过渡到JBuilder的开发环境当中,熟练的开发出高质量的Java程序。
在JBuilder这个开发环境中实际上包含了用户在Java集成开发环境中所需要的一切东西。
包括对常用的面向对象语言UML建模工具的支持。
我们可以在这个环境下对系统进行建模,进行系统调试,对系统进行打包发布。
SQLServer在管理企业信息方面最灵活和最经济高效。
在尽可能提高服务质量的同时削减了管理成本。
除极大地提高质量和性能以外,SQLServer作为微软公司的数据库产品,能够和绝大多数建立在WindowsXP平台上的软件兼容,具有很强的兼容性,并且SQLServer本身功能也十分强大,其中还有SQL查询分析器、SQLServer服务管理器、企业管理器等功能强大的工具,所以我选择SQLServer作为我们的的后台数据库。
1.3.3准备工作JDBC(JavaDatabaseConnectivity,Java数据库连接性)是一种可用于执行SQL语句的JavaAPI(ApplicationProgrammingInterface,应用程序设计接口)。
它由一些Java语言编写的类和接口组成。
JDBC给数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。
通过使用JDBC,开发人员可以很方便地将SQL语句传送给几乎任何一种数据库。
不但如此,使用Java编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上编写不同的应用。
在Java语言中的JDBCAPI主要用来连接数据库和直接调用SQL命令执行各种SQL语句,使用JDBCAPI可以很容易地把SQL语句传送到任何关系型数据库中,利用JDBCAPI可以执行一般的SQL语句、动态SQL语句以及带IN和OUT参数的存储过程。
JDBCAPI是数据库应用的基础,它建立了Java语言数据库应用程序同各种不同数据库的沟通机制。
由于我使用的是SQLServer2000数据库系统,在使用JBuilder连接SQLServer数据库之前首先要进行数据库连接,这就需要安装驱动程序,在这里采用MicrosoftSQLServer2000DriverforJDBC驱动来进行SQLServer和系统的连接。
由于SQLServer2000版本比较低,需要安装补丁MicrosoftSQLServer2000sp3的chs_sql2ksp3.exe安装文件。
这一切完成之后就可以为JBuilder2006配置JDBC驱动了,只有把这些前期工作完成之后才可以对JBuilder和数据库进行连接,因此是很必要的。
2系统分析2.1系统需求分析经过前面的初步调研分析,总结出物流的仓库管理工作具有以下特点:
在仓库管理中存在帐目品种杂、重复次数多的问题,如果仓库对所有信息的管理均以手工完成,即由资料管理员以各种记录台帐方式完成信息的登记,在需要某种信息的时候查找台帐记录,很明显,这种工作方法效率低下,信息保存的准确性、安全性难以保证,信息查询的快速性、完整性也难以保证,致使管理工作费人,费时,费力,繁琐枯燥,效率低下6。
因此实现仓库管理的计算机化迫在眉睫,本系统是集仓库管理、货物管理、仓库货物进出库管理、客户统计、进出库统计等功能于一体的综合性仓储管理系统。
支持多种类型的入库、出库、补货方式,同时支持多种查询方式和全面的日志管理,因此可应用于物流业的单体仓库精细化管理。
可以轻松解决物流企业在仓库管理、货物流动分析等一系列问题,迅速提高物流企业对仓库经营管理水平、稳固客户群,增加经济效益,以最小的投资获得双盈的优秀管理。
帮助生产企业、分公司、分销商、代理商、商场、商店等之间建立起一套完善、高效、具有快速反应能力和管理能力的业务平台,可以极大的提高企业竞争力,为企业创造价值。
2.2系统功能分析本系统是针对物流业仓库的货物信息和出入库记录进行管理,仓库管理系统的核心在于货物入库、货物出库和库存管理三者,因此仓库管理系统的用户包括仓库管理员和系统管理员。
仓库管理系统主要完成货物仓库的库存管理,由于仓库管理设计的功能较多,在这里我设计的是一个简单的仓库管理系统,主要包括系统登录、系统主界面、货物库存信息查询、货物入库登记、货物出库登记、货物移库登记、业务信息管理等7个功能模块:
系统登录:
在仓库管理系统中,登录模块是非常重要的,它是整个仓库管理系统的基础,只有通过了此登录界面的认可,才能够进入库存管理系统。
正确的执行库存管理的功能。
登录部分实现对仓管员登录的验证、标志,从而为相对应用户的操作提供依据。
系统主界面:
该模块实现系统的主界面功能,在这个界面中可以进入仓库管理系统的全部分支功能子界面。
包括仓管员信息界面、货物入库登记界面、货物出库登记界面、货物移库登记界面、供应商和客户商信息界面等等一些界面。
货物库存信息查询:
仓管员登录就能看到系统主界面显示的的库存信息,还可以按照各种情况对货物的库存信息进行查询。
这样能方便快速地了解货物的情况,进而快速地解决货物的流通。
货物入库登记:
入库登记也是仓库管理系统的主要功能模块,当一个公司的仓库进货时,通常需要进入这个表格的填写界面,输入正确的货物信息,完成货物信息的录入。
仓管员负责对货物入库信息的管理,通过修改已有货物的信息和添加新货物的信息来进行操作。
货物出库登记:
出库信息是和入库信息管理相对应的系统界面,当一个公司将自己的产品推销出去时,就要进入这个表格的填写界面,输入正确的货物信息,完成货物信息的录入。
仓管员负责对货物出库信息的管理,仓管员可以查看货物详细信息,以及进行货物搜索操作。
货物移库登记:
移库是对已有货物的信息进行修改的一个操作,在货物位置需要调整时,仓管员对相应的移库操作进行货物信息的修改。
业务信息:
这个功能模块的设定是为公司的企业业务发展需要而设立的,它和公司的供货单位、信息登记模块一起,组成公司业务模块。
以上是用户对系统的基本的功能要求,此外还要求系统的效率要高,查询速度要快,比较小的冗余,易维护,具有较高的数据安全性。
2.3数据库需求分析在库存管理系统中包括货物、仓库库位、仓管员、职工、供应商、客户商等等实体。
其中仓管员属于职工的一种,每个库位都属于某个仓库。
系统的核心关系是库存移动,库存移动包括货物出入库和货物移库等操作。
涉及到某个职工作为外部的经手人,每次库存移动都必然有货物的来源供应商和去向客户商。
作为一个简化的模型,没有考虑货物的来源和去向涉及到组织意外的部门和人员的情况。
具体实体货物信息分析如下:
货物:
货物代码、货物名称、货物类型、存放库位、库存总量、计量单位、入库单价、入库时间、供应商、备注。
仓库库位:
仓库代码、仓库名称、库位代码、库位名称、货物类型、仓库容量、备注。
仓管员:
ID号、姓名、登录密码、姓名、联系电话。
客户信息:
客户代码、客户名称、联系人、联系电话、联系地址、电子邮箱。
货物类型:
类型代码、类型名称。
部门信息:
部门代码、部门名称。
入库单:
入库单编号、货物名称、存放仓库、入库时间、入库数量、入库单价、供应商、经办人。
出库单:
出库单编号、货物名称、存放仓库、出库时间、出库数量、出库单价、客户商、经办人。
移库单:
移库单编号、货物名称、原库位名称、现库位名称、移库时间、移库数量、经办人。
3系统总体设计3.1数据库设计3.1.1实体关系图(E-R图)设计根据上面需求分析可知,库存管理系统主要涉及三个实体类型,包括:
公司的相关职工、公司的货物、仓库管理系统的系统界面,这三类共同构成系统的相关参与类型2。
三个关系类型:
一个是相关职工和货物信息之间的关系是m:
n;
一个是系统界面和货物信息之间的关系1:
最后一个是相关职工和系统界面之间的关系1:
n。
从而得出的实体有仓管员信息实体、货物实体、仓库库位实体、库存实体。
各个实体的ER图及其关系描述如下图1仓管员实体关系图图2货物实体关系图图3仓库库位实体关系图图4库存实体关系图图5仓库管理系统实体关系图图6实体间的实体关系图3.1.2数据流图数据流图表达了数据和处理的关系,是描述系统的逻辑模型的,图中没有任何具体的物理元素,只是描述信息在系统中流动和处理的情况,它比口头与文字的描述更直观地显示出来系统中数据的使用。
数据流图简称DFD图,数据流图有四种成分:
源点或终点、处理、数据存储表和数据流。
图中没有任何具体的物理元素,只是描述信息在系统中的流动和处理情况,即使不是专业的计算机技术人员也容易理解,是极好的理解工具。
它能精确的描述系统的逻辑模型,描述数据在管理信息系统中有输入经过存储、加工处理最后输出的全过程,是设计者和用户交流的很好的工具。
根据用户的需求分析和仓库管理系统的需求,得出如下图7所示的仓库管理数据流图。
图7仓库管理系统数据流图3.1.3创建数据库数据库的创建主要是逻辑结构设计和物理结构设计的结果,在计算机系统上建立实际的数据库结构、导入数据并进行程序的调试。
它相当于软件工程中的代码编写和程序调试的阶段。
在SQLServer2000中生成了如下所示的表。
货物属性表记录仓库管理所有货物的各种参数和相关信息8。
在系统中只有管理员能对货物属性进行删除、插入、更新。
详细信息见表1。
表1货物属性表字段名称数据类型大小说明货物代码Varchar8主键货物名称Varchar20货物的名称货物类型Varchar10货物所属分类库存总量Int4货物的库存总量入库单价Float8货物购入时的单价计量单位Varchar4货物的计量单位存放仓库Varchar20货物所存放的仓库名称入库时间Datetime8货物入库时间供应商Varchar20提供货物的公司名称备注Varchar30备注信息仓库信息表保存了一个组织所有仓库的名称和所有仓库中的相关信息。
仓库和仓库库存信息的变更也只能由仓管员进行操作。
本表的主键应该是仓库代码,但是为了保证主键的唯一性,新增了一个字段仓库库位代码,这样的仓库库位代码也唯一决定了一个库位,同时在其他表中需要使用仓库库位信息的字段也可以使用仓库库位代码,详细信息见表2。
仓管员信息表保存了所有仓管员的信息,在库存管理系统中需要使用仓管员信息表,这个系统是简化了的管理系统,只设定仓管员为唯一使用仓库管理系统的职工,所以就不设定权限,也就是所有的仓管员都可以使用系统中的各种功能,其详细信息见表3。
客户信息表保存了所有供货商和客户商的信息,在库存管理系统中需要使用供货商和客户商信息表来补充货物的信息,也方便仓库的管理运作。
客户信息把供应商和客户商的信息都集合到一个表,这样做的原因是,有些供货商同时也可能是客户商,为了消除冗余,把所有的客户都记录到一张表上。
详细信息见表4。
表2仓库信息表字段名称数据类型大小说明仓库代码Varchar8主键仓库名称Varchar20仓库的名称库位代码Varchar8库位代码,主键库位名称Varchar20库位的名称货物类型Varchar20所储存的货物类型库存总量Int4所储存的货物总量表3仓管员信息表字段名称数据类型大小说明ID号Varchar8主键仓管员姓名Varchar20仓管员姓名登录密码Varchar10仓管员的登录密码联系电话Varchar15仓管员的联系电话工号Varchar10仓管员的工作号货物类型是指明货物所属的类别,有时候仓库里要存储的货物很多,类别不一,货物类型表的创建可以先存储各种货物类型,在添加新货物的时候,只需在货物类型表里选取就可以,大大方便了货物入库的效率。
货物类型表的详细信息入表5。
入库单主要保存所有的入库操作,包括货物名称、仓库名称、入库时间、入库数量等,入库单便于仓管员对入库货物的查询,保证货物的保存正确,而且也保证了入库货物的保存安全,对之后的出库操作、移库操作都有很大的帮助,详细信息见表6。
出库单起着和和入库单一样的功效,方便记录所有的货物出库操作,从而方便对数据的统计,便于更新货物的数量,同时也是一项对货物操作的安全保证。
主要包括了货物名称、仓库名称、出库时间、出库数量等。
详细信息见表7。
表4客户信息表字段名称数据类型大小说明客户代码客户名称Varchar10主键Varchar20货物来去的单位名联系人Varchar10单位的相关人事联系电话Varchar15单位的联系电话联系地址Varchar50单位的所在地电子邮箱Varchar30单位的邮箱地址表5货物类型表字段名称数据类型大小说明类型代码Varchar8主键类型名称Varchar10货物类型的名称表6入库单表字段名称数据类型大小说明入库单编码Varchar15主键货物名称Varchar20入库货物的名称存放仓库Varchar20入库时的存放库位入库时间Datetime8新货物的入库时间入库数量Int4货物的入库数量入库单价Float8货物的入库单价供应商Varchar20提供货物的来源地经办人Varchar20入库的经办人和出库单的重要性一样,移库单的建立也是为了保证货物操作的安全,同时也便于货物出库等操作,主要包含的信息是货物名称、库位名称、移库时间、移库数量。
移库单的详细信息见表8。
数据库试运行合格后,数据库开发工作就基本完成,即可投入正式运行了。
但是,由于应用环境在不断变化,数据库运行过程中物理存储也会不断变化,对数据库设计进行评价、调整、修改等维护工作是一个长期的任务,也是设计工作的继续和提高。
表7出库单表字段名称数据类型大小说明出库单编码Varchar8主键货物名称Varchar20出库货物的名称存放仓库Varchar20货物的所在库位出库时间Datetime8货物的出库时间出库数量Int4货物的出库数量出库单价Float8货物的出库单价客户商Varchar20提取货物的单位经办人Varchar20办理出库的经办人表8移库单表字段名称数据类型大小说明移库单编码Varchar15主键货物名称Varchar20进行移库的货物原库位名称Varchar20货物现在的库位现库位名称Varchar20货物的目的库位移库时间Datetime8货物的移库时间移库数量Int4进行移库的货物量经办人Varchar20办理移库的经办人在数据库运行阶段,对数据库经常性的维护工作主要是由DBA(DatabaseAdministrator)完成的,包括:
(1)数据库的转储和恢复DBA要针对不同的应用要求制定不同的转储计划,一保证一旦发生故障能尽快将数据库恢复到某种一致的状态,并尽可能减少对数据库的破坏。
(2)数据库的安全性、完整性控制DBA根据实际情况修改原有的安全性控制和数据库的完整性约束条件,以满足用户要求。
(3)数据库性能的监督、分析和改造在数据库运行过程中,DBA必须监督系统运行,对监测数据进行分析,找出改进系统性能的方法。
(4)数据库的重组织与重构造数据库运行一段时间后,由于记录不断增、删、改,会使数据库的物理存储情况变坏,降低了数据的存取效率,数据库性能下降,这时DBA就要对数据库进行重组织或部分重组织。
3.2系统设计3.2.1系统功能结构图系统的概要设计中最重要的就是