仓库管理系统.docx
《仓库管理系统.docx》由会员分享,可在线阅读,更多相关《仓库管理系统.docx(34页珍藏版)》请在冰点文库上搜索。
仓库管理系统
1前言
当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用于信息处理系统的环境。
计算机最大的好处在于利用它能够进行信息管理,使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。
尤其对复杂的信息管理,计算机能够充分发挥它的优越性。
计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。
仓库作为总货品资源的集散地,货品的种类繁多,包含很多的信息数据的管理。
据调查得知,以前仓库进行信息管理的方式主要是基于文本、表格等纸介质的手工处理,对于货品的出入库情况的统计和核实等往往采用对账本的人工检查,对管理者的管理权限等不受约束,任何人都可查看,这样容易引起资料外泄。
另外,数据信息处理工作量大,容易出错,由于数据繁多,容易丢失,且不易查找。
总的来说,缺乏系统、规范的信息管理手段。
而且,一般的存储情况是记录在账本上的,仓库的工作人员和管理员也只是当时记得比较清楚,时间一长,如果再要进行查询,就得在众多的资料中翻阅查找了,这样造成费时、费力,如要对很长时间以前的货品进行更改就更加困难了。
因此,很有必要建立一个库存管理系统,使货品管理工作规范化,系统化,程序化。
提高信息处理的速度和准确性。
2需求分析与用例建模
2.1可行性分析
随着计算机及网络技术的飞速发展,Internet/Intranet应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息自动化的作用也越来越大,从而可以使我们从繁杂的信息管理中解放出来,提高了我们的工作效率。
如今,信息网络技术已经无处不在,无时不在了,各种各样的信息管理系统也就应运而生。
目前,随着企业规模的不断壮大,产品的种类和数量都不断增加,产品的流通越来越多,这就使产品的存储需求不断增加,需要工作人员花费很大力气来统筹管理这项工作,为了保证工作的正确性和可靠性同时提高管理的效率,很有必要建立一个库存管理系统,使货品管理工作规范化,系统化,程序化。
1.社会可行性分析
仓库作为一总货品资源的集散地,货品的种类繁多,包含很多的信息数据的管理。
据调查得知,以前仓库进行信息管理的方式主要是基于文本、表格等纸介质的手工处理,对于货品的出入库情况的统计和核实等往往采用对账本的人工检查,对管理者的管理权限等不受约束,任何人都可查看,这样容易引起资料外泄。
另外,一般的存储情况是记录在账本上的,仓库的工作人员和管理员也只是当时记得比较清楚,时间一长,如果再要进行查询,就得在众多的资料中翻阅查找了,这样造成费时、费力,如要对很长时间以前的货品进行更改就更加困难了。
计算机信息化管理有着储存量大,速度快等许多优点,提供给我们的处理信息及时快捷,因此我们利用计算机提供给我们的信息对企业库存的产品管理过程形成一整套动态的管理。
而且在经济飞速的发展的今天很多企业都在采用他们各自的库存管理系统,利用计算机把库存产品管理的井井有条,社会可行性自然不言而喻。
2.经济可行性分析
在经济上,费用的支出和带来的巨大收益相比自是不能相提并论了,至于管理上,工作人员对于这项工程的实施必然是持赞成的态度,因为这样会大大减轻他们的工作量提高工作效率。
且成本低,建成后的维护费用也与线性系统运行费用相同,而每年可以促进企业仓库存储的工作优化、库存产品的有效利用率,并可有效降低企业库存的不必要支出,提高企业产品存储资金的有效利用。
3.技术可行性分析
在技术上,如今成熟的语言有很多,像是PowerBuilder、VB、Delphi等都能开发出很好用的系统。
而本次设计我采用的是C#,也是很成熟的语言,再加上数据库SQLSEVER2005如今的发展状况,开发出一个库存管理的应用程序是没有问题的。
鉴于软硬件方面对系统的需求,软件要求易学,界面友好,容易掌握,可以很简单方便的进行图书信息管理。
硬件的配置要求不能太高,这样可以很好的适应当前的企业办公管理工作,如今电脑软硬件技术飞速发展,计算机系统开发人员也比比皆是,开发知识密集型的信息系统的技术条件也已经很成熟了。
4.法律可行性分析
本系统设计的初衷是为企业提供便捷的服务,不违反相关法律。
5.操作可行性
本系统是面向一般企业的库存管理系统,只要操作者具备最基本的电脑操作知识和库存管理常识,就可以使用。
而且本系统对计算机和操作系统的要求也不高,都是一般条件下所具有的。
只要使用者熟悉一下就可以马上投入使用,简单、方便、快捷的实现对库存的管理。
2.2可行性结论
作为计算机应用的一部分,使用计算机对产品库存信息进行管理,具有着人工管理无法比拟的优点,它检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等,可减少更多的人力物力,这些都能够极大地提高货品库存的管理效率,也是公司库存管理科学化、正规化,与世界接轨的重要条件。
因此,开发一个库存管理系统是很有必要的,具有其特有的技术意义和管理意义。
综上所述,本库存管理系统投资少、收益大,且其运行操作简单易学,具备了开发的可行性。
2.3需求分析
1.系统需求
仓库管理的特点是信息处理量较大,所管理的设备种类繁多,在管理上实现起来有一定的困难。
仓库管理系统应该满足以下需求:
为保障系统健壮性,对于可能发生问题的输入要进行检验,同时要给出合理的提示信息;业务上满足仓库管理系统的基本需求,能够方便地进行出/入/还库信息查询,库存管理;获得准确的库存量,队及时采购设备提供方便;与传统的手工管理相比,要添加基础数据的管理和用户权限的设置;所有的界面要有信息浏览的功能,同时要保证数据的在男权、可靠。
2.功能需求
仓库管理信息系统的业务主要包括如下内容:
系统管理:
可以进行用户管理,权限设置和退出系统。
货物管理:
入库管理,货物入库信息的添加及修改;出库管理,货物出库信息的添加;借货还货管理,货物的还库信息的添加;盘点管理,盘点货物信息。
基本档案:
包括供货商设置,用来设置供货商信息;货物档案管理,主要是货物号和货物名称信息,当新进货新产生一种新货物时,都要先添加货物号;仓库设置,用来对仓库实施管理。
查询统计,用来进行入库、出库、库存的查询;
用户操作:
用来实现修改密码、重新登录等操作。
3.性能需求
目前我们所开发的系统主要是应用在中小规模的企业内部,因此,一般配置的计算机硬件就可以满足系统需求,考虑到企业规模的扩大和硬件价格的降低,为本系统配置在较优秀的服务器硬件,可以充分发挥本系统的性能。
本系统采用单机模式:
1.硬件环境
处理器:
IntelPentium(R)4CPU3.00GHz或更高
内存:
2G
硬盘空间:
320GB
显卡:
SVGA显示适配器
2.软件环境:
操作系统:
Windows2000/XP
开发软件:
MicrosoftVisualStudio.NET2005
数据库:
MicrosoftSqlServer2000
2.4用例建模
系统采用统一建模语言UML对整个系统进行建模设计,通过从不同角度的UML图来反应本系统,将系统结构透明化,使设计思路更加清晰。
根据调查及分析的结果绘出系统用例图如下:
1.最高层用例图,如图2-1所示:
图2-1最高层用例图
在最高层用例中,实线方框表示系统边界,在系统边界内共有5个用例。
系统内“用户操作”用例依赖“系统管理”用例提供信息,“查询统计”依赖“货物管理”用例查询货物信息,“货物管理”依赖“基本档案”用例提供货物档案、仓库、供应商等信息。
系统外有2个人执行者:
“管理员”执行者对系统内的所有用例进行操作。
“普通用户”执行者参与“查询统计”和“用户操作”用例的业务运作。
2.第2层用例图,如图2-2,2-3,2-4,2-5,2-6所示:
图2-2第2层用例图——系统管理子系统
系统内有2个用例,“权限设置”用例依赖“用户管理”用例。
系统外有1个人执行者:
“管理员”执行者对系统内的所有用例进行操作。
图2-3第2层用例图——货物管理子系统
系统内有4个用例,“盘点管理”用例依赖“入库管理”用例和“出库管理”用例,“借货还货”用例依赖“入库管理”用例和“出库管理”用例。
系统外有2个人执行者:
“管理员”执行者对系统内的所有用例进行操作。
“货物档案管理子系统”执行者根据系统内的所有用例,进行货物档案管理。
图2-4第2层用例图——基本档案管理子系统
系统内有3个用例,“货物档案设置”用例依赖“仓库设置”用例和“供货商设置”用例。
系统外有1个人执行者:
“管理员”执行者对系统内的所有用例进行操作。
图2-5第2层用例图——查询统计子系统
系统内有3个用例,“库存查询”用例依赖“入库查询”用例和“出库查询”用例。
系统外有3个人执行者:
“管理员”执行者对系统内的所有用例进行操作,包括入库信息的查询、库存信息的查询和出库信息的查询。
“普通用户”执行者参与“入库查询”用例中的货物入库与入库信息查询与浏览,还参与“出库查询”用例中的货物出库与出库信息查询和浏览,同时也参与“库存查询”中的货物库存查询与浏览。
“货物管理子系统”执行者根据“入库查询”,“库存查询”和“出库查询”得出的信息进行货物管理。
图2-6第2层用例图——基本档案管理子系统
系统内有2个用例,“修改密码”用例和“重新登录”用例。
系统外有1个人执行者:
“管理员”执行者对系统内的所有用例进行操作。
“普通用户”执行者对系统内的所有用例进行操作。
3系统分析与对象类建模
3.1详细调查
1.面谈
即通过与有关人员面对面交谈来获取有关信息,可以是一对一的专访或一对多的座谈。
2.问卷调查
即通过设计制作调查表,向被调查者发放调查表进行调查的方式。
根据被调查者的特点选择用选择题还是问答题,要向被调查者阐明调查的目的及关系,采用匿名或自愿署名等方式。
3.阅读文件或历史资料
通过阅读组织的文件与历史资料,可间接了解组织的相关信息。
4.实地观察与实践
信息收集人员直接观察或参加现行系统的业务实践,这是缩短用户与开发人员距离、取得共同语言的最好方法。
缺点是浪费时间。
3.2管理业务调查
1.组织结构调查
根据调查结果,该库存管理系统中共有两个仓库管理员负责对库存信息的管理。
超级管理员A负责全方面的仓库管理以及对普通用户B的管理。
普通用户B负责仓库信息的查询等。
组织结构图如图4-1所示。
图4-1系统组织结构图
2.业务流程调查
根据分析,本系统业务流程主要包括如下内容:
(1)出入库管理:
仓库管理员负责电器出入库管理,需要对出入库的电器资料进行登记,以便仓库管理员对电器数量进行核对,以及形成出入库清单。
(2)存储查询:
仓库管理员可以对各种型号电器的存储量进行查询,以便确定电器的采购量,同时销售部门人员也可以对电器资料进行查询。
(3)物资信息管理:
包括供货商产品信息的添加、浏览查询。
(4)库存信息管理:
仓库管理员可以查询、浏览产品的具体情况根据产品的数量种类选择进货的数量和种类。
3.3建立对象类
根据已经建立的用例图和客户需求,采用CRC卡的方法确定对象类及其属性和操作。
通过检查类的定义、分析问题的需求和运用该领域知识来完善和确定类的属性。
根据系统功能要求和系统设计需要完善和确定类的操作。
下面将“仓库库存管理系统”中的对象类及其属性和操作的定义如下:
、
(1)用户
●类名:
用户
●类的编号:
0201
●类的类型:
该类创建的对象为持久对象,存储在服务器上的数据库中,可以共享。
●功能:
负责对系统中所有信息的操作,包括用户信息的增加、修改、查询、删除,等等。
●属性:
用户编号,用户名,用户密码,用户权限等。
●操作:
增加(),删除(),修改(),查询()等。
(2)仓库信息
●类名:
仓库信息
●类的编号:
0202
●类的类型:
该类创建的对象为持久对象,存储在服务器上的数据库中,可以共享。
●功能:
负责存储所有关于仓库的信息。
●属性:
仓库编号,仓库名称,负责人,电话,所属单位,建库日期,备注,修改人,修改日期等。
●操作:
增加(),删除(),修改(),查询()等。
(3)货物档案信息
●类名:
货物档案信息
●类的编号:
0203
●类的类型:
该类创建的对象为持久对象,存储在服务器上的数据库中,可以共享。
●功能:
负责存储所有关于货物档案的信息。
●属性:
货物编号,货物名称,仓库名称,货物规格计量单位,货物数量,进货价格,出货价格,最低存储,最高存储,修改人,盘点日期等。
●操作:
增加(),删除(),修改(),查询()等。
(4)供应商信息
●类名:
供应商信息
●类的编号:
0204
●类的类型:
该类创建的对象为持久对象,存储在服务器上的数据库中,可以共享。
●功能:
负责存储所有关于供应商的信息。
●属性:
供应商编号,供应商名称,负责人,电话,传真,备注,修改人,修改日期等。
●操作:
增加(),删除(),修改(),查询()等。
(5)入库信息
●类名:
入库信息
●类的编号:
0205
●类的类型:
该类创建的对象为持久对象,存储在服务器上的数据库中,可以共享。
●功能:
负责存储所有关于入库管理的信息。
●属性:
入库编号,货物编号,货物名称,供应商名称,仓库名称,货物规格,计量单位,入库数量,进货价格,总金额,入库日期,经手人,备注等。
●操作:
增加(),删除(),修改(),查询()等。
(6)出库信息
●类名:
出库信息
●类的编号:
0206
●类的类型:
该类创建的对象为持久对象,存储在服务器上的数据库中,可以共享。
●功能:
负责存储所有关于出库管理的信息。
●属性:
出库编号,货物编号,货物名称,供应商名称,仓库名称,货物规格,计量单位,出库数量,进货价格,总金额,出库日期,提货单位,提货人,经手人,备注等。
●操作:
增加(),删除(),修改(),查询()等。
(7)借货基本信息
●类名:
借货基本信息
●类的编号:
0207
●类的类型:
该类创建的对象为持久对象,存储在服务器上的数据库中,可以共享。
●功能:
负责存储所有关于借货管理的信息。
●属性:
借货编号,货物名称,仓库名称,货物规格,借出数量,借货日期,经手人,借货人,借货单位,备注等。
●操作:
增加(),删除(),修改(),查询()等。
(8)还货基本信息
●类名:
还货基本信息
●类的编号:
0207
●类的类型:
该类创建的对象为持久对象,存储在服务器上的数据库中,可以共享。
●功能:
负责存储所有关于还货管理的信息。
●属性:
还货编号,借货编号,货物名称,仓库名称,货物规格,归还数量,未归还数量,借货日期,经手人,借货人,备注,修改人,修改日期等。
●操作:
增加(),删除(),修改(),查询()等。
(9)盘点信息
●类名:
盘点信息
●类的编号:
0207
●类的类型:
该类创建的对象为持久对象,存储在服务器上的数据库中,可以共享。
●功能:
负责存储所有关于盘点管理的信息。
●属性:
盘点编号,货物编号,仓库名称,货物名称,计量单位,盘点数量,盘亏数量,盘点日期,盘点人,备注,修改人,修改日期等。
●操作:
增加(),删除(),修改(),查询()等。
3.4类图
根据类之间的关系绘制类图如图3-1所示
图3-1类图
4系统设计与对象动态交互模型
4.1系统功能设计
仓库库存管理系统主要设有五个主要功能模块:
系统管理模块,货物管理模块,基本档案模块,查询统计模块、用户操作模块。
1.系统管理:
新建角色、添加用户和查看用户权限。
管理员可以通过管理界面添加用户,添加新管理员,验证用户的合法性,阻止非法用户登录。
2.货物管理:
主要是产品入库信息、产品出库信息、借货还货、盘点信息。
3.基本档案:
供货商、货物档案、仓库的管理和设置。
4.查询统计:
产品入库信息、产品出库信息、产品库存信息的浏览和查询。
5.用户操作:
用户密码的修改和用户的重新登录。
系统功能模块图,如图4.1
4.2顺序图
在仓库库存管理系统中,主要涉及增、删、改、查四种操作,关于各种操作以下以对用户进行管理所用到的信息以及系统主要功能所涉及到的顺序图进行举例说明。
1.用户登录的顺序图如图4-2所示:
图4-2用户登录顺序图
2.增加新用户的顺序图如图4-3所示:
图4-3增加新用户信息顺序图
3.删除用户信息的顺序图如图4-4所示:
图4-4删除用户信息顺序图
4.修改用户信息的顺序图如图4-5所示:
图4-5修改用户信息顺序图
5.查询用户信息的顺序图如图4-6所示:
图4-6查询用户信息顺序图
6.修改用户密码的顺序图如图4-7所示:
图4-7修改用户密码顺序图
7.修改用户权限的顺序图如图4-8所示:
图4-8修改用户权限顺序图
8.入库管理的顺序图如图4-9所示:
图4-9入库管理顺序图
9.出库管理的顺序图如图4-10所示:
图4-10出库管理顺序图
10.入库查询统计的顺序图如图4-11所示:
图4-11入库查询统计顺序图
11.出库查询统计的顺序图如图4-12所示:
图4-12出库查询统计顺序图
12.库存查询统计的顺序图如图4-13所示:
图4-13库存查询统计顺序图
5数据库设计
5.1代码设计
本系统涉及到的代码有物资编号、仓库编号等。
物资编号
格式:
XXXX,顺序码,0001-9999。
仓库编号
格式:
XX,顺序码,01-99。
5.2总体数据库设计
本系统是基于数据库的仓库信息管理系统,系统大部分功能均和数据库中记录的查询、增加、修改和删除处理相关,如何合理科学地设计数据库是系统设计中很重要的环节。
数据库设计是要在一个给定的应用环境(DBMS)中,通过合理的逻辑设计和有效的物理设计,构造较优的数据库模式、子模式,建立数据库和设计应用程序,满足用户的各种信息需求。
5.3关系模型
仓库库存管理信息系统中所涉及到的实体及其转换成的关系模式为:
用户(用户编号,用户名,用户密码,用户权限)
仓库信息(仓库编号,仓库名称,负责人,电话,所属单位,建库日期,备注,修改人,修改日期)
货物档案信息(货物编号,货物名称,仓库名称,货物规格计量单位,货物数量,进货价格,出货价格,最低存储,最高存储,修改人,盘点日期)
供应商信息(供应商编号,供应商名称,负责人,电话,传真,备注,修改人,修改日期)
入库信息(入库编号,货物编号,货物名称,供应商名称,仓库名称,货物规格,计量单位,入库数量,进货价格,总金额,入库日期,经手人,备注)
出库信息(出库编号,货物编号,货物名称,供应商名称,仓库名称,货物规格,计量单位,出库数量,进货价格,总金额,出库日期,提货单位,提货人,经手人,备注)
借货基本信息(借货编号,货物名称,仓库名称,货物规格,借出数量,借货日期,经手人,借货人,借货单位,备注)
还货基本信息(还货编号,借货编号,货物名称,仓库名称,货物规格,归还数量,未归还数量,借货日期,经手人,借货人,备注,修改人,修改日期)
盘点信息(盘点编号,货物编号,仓库名称,货物名称,计量单位,盘点数量,盘亏数量,盘点日期,盘点人,备注,修改人,修改日期)
5.4E-R图
本系统对象之间的关系用E-R图方法表示,如图5-1所示。
5.5数据结构
由E-R图导出数据库。
该系统的数据库命名为db_SMS,数据库中的基本表包括:
①借货基本信息(tb_BorrowGoods),②盘点信息表(tb_Check),③货物档案信息表(tb_GoodsInfo),④入库信息表(tb_InStore),⑤出库信息表(tb_OutStore),⑥供货商信息表(tb_Provider),⑦还货基本信息表(tb_ReturnGoods),⑧仓库信息表(tb_Storage),⑨用户信息表(tb_User)下面列出各表的数据结构,如表1~表9所示。
表1借货基本信息表(tb_BorrowGoods)的数据结构
列名
说明
数据类型
长度
是否为空
BGID
借货编号
int
-
Notnull
GoodsName
货物名称
string
50
Null
StoreName
仓库名称
string
100
Null
GoodsSpec
货物规格
string
50
Null
GoodsNum
借出数量
int
-
Null
BGDate
借货日期
date
-
Null
HandlePeople
经手人
string
20
Null
BGPeople
借货人
string
20
Null
BGUnit
借货单位
string
100
Null
BGRemark
备注
string
100
Null
表2盘点信息表(tb_Check)的数据结构
列名
说明
数据类型
长度
是否为空
CheckID
盘点编号
int
-
Notnull
GoodsID
货物编号
int
-
Null
StoreName
仓库名称
string
100
Null
GoodsName
货物名称
string
50
Null
GoodsUnit
计量单位
string
8
Null
CheckNum
盘点数量
int
-
Null
PALNum
盈亏数量
int
-
Null
CheckDate
盘点日期
date
-
Null
CheckPeople
盘点人
string
20
Null
CheckRemark
备注
string
1000
Null
Editer
修改人
string
20
Null
EditDate
修改日期
date
-
Null
表3货物档案信息表(tb_GoodsInfo)的数据结构
列名
说明
数据类型
长度
是否为空
GoodsID
货物编号
int
-
Notnull
GoodsName
货物名称
string
50
Notnull
StoreName
仓库名称
string
100
Null
GoodsSpec
货物规格
string
50
Null
GoodsUnit
计量单位
string
8
Null
GoodsNum
货物数量
int
-
Null
GoodsInPrice
进货价格
int
-
Null
GoodsOutPrice
出货价格
int
-
Null
GoodsLeast
最低存储
int
-
Null
GoodsMost
最高存储
int
-
Null
Editer
修改人
string
20
Null
EditDate
盘点日期
date
-
Null
表4入库信息表(tb_InStore)的数据结构
列名
说明
数据类型
长度
是否为空
ISID
入库编号
int
-
Notnull
GoodsID
货物编号
int
-
Null
GoodsName
货物名称
string
50
Null
PrName
供应商名称
string
100
Null
StoreName
仓库名称
string
100
Null
GoodsSpec
货物规格
string
50
Null
GoodsUnit