1、仓库管理仓库管理分析第十一章 大型仓库信息管理系统的开发111 系统概述“仓库信息系统”是一套功能强大而又操作简便、实用的仓库管理软件,包括用户登录、仓库管理、业务查询和系统设置4大管理功能。本系统在功能设计上具有前瞻性,吸收和借鉴了国际上先进的仓储管理思想。通过供应商、仓库及客户三者之间信息的沟通与指令的有效传递,将制造商和供应商的库存成本与资金占有率降到最低限度。本系统主要适用于第三方物流企业的仓储管理。仓库存放的货物品种繁多,堆存方式以及处理过程也非常复杂,随着业务量的增加,仓库管理者需要处理的信息量会大幅上升,因此往往很难及时准确的掌握整个仓库的运作状态。针对这一情况,本系统在满足仓库
2、的基本管理功能基础上发挥信息系统的智能化,减轻仓库管理人员和操作人员的工作负担。系统主要的实现目标是监控整个仓库的运转情况;提供完善的任务计划功能,由整个操作的指令中心来安排进出任务,确认任务的开始,进货管理和出货管理按其指令执行即可;实时监控所有货物的在线运动情况,实时提供库存变化的信息。11.2 需求分析在软件开发的初期,开发人员及用户在往忽略信息沟通,导致软件开发完成后,不能很好的满足实际的需要。而返工不仅在技术上给开发人员带来巨大的麻烦,还会造成人力、物力的浪费。因此,只有弄清楚客户的需求,才能真正开发出满足用户需求的管理信息系统,才能够让整个系统发挥其相应的作用。11.2.1系统总体
3、功能需求一个功能完善的仓库信息管理系统,必须包括以下的几个模块。(1)用户登录 由用户登录、用户注销、退出系统3个部分组成。用户可以用两种身份登录系统:普通操作员或经理(管理人员);不同身份登录被系统授予不同的使用权限,这样提高了本系统的安全性,避免了无关人员获取不在他权限范围内的信息。用户在登录后可以不退出本系统,而采用用户注销的方式使系统不存在激活状态下的用户。(2)仓库管理仓库管理系统中,包括仓库进货、仓库退货、仓库领料、仓库退料、商品调拨和仓库盘点6个功能模块组成。仓库管理系统是整个仓库信息系统的核心,是所有数据的来源。用户通过本系统的使用,可以使仓库的空间得以优化,减轻无效和冗余的作
4、业,使库存精度更准确,库存周转率提高及库存资金占用减少。“仓库进货仓库领料仓库盘点”组成了仓库管理的重要过程。(3)业务查询业务查询系统中,包括库存查询、销售查询和仓库历史记录查询3个功能模块组成。库存查询实时提供库存变化的信息,随时应不同客户的要求得到其当前的库存。销售查询提供了一个完整的出货查询平台;用户可以根据货物的ID号查询某个时间段里该货物的销售情况,该功能可以使企业的管理人员根据不同的情况及时的调整经营战略。仓库历史记录查询功能模块:在本系统中仓库进货、仓库退货、仓库领料、仓库退料、商品调拨和仓库盘点的任一个操作者储存在数据库中,本功能模块就是查询任意一条操作记录。由此可知,本仓储
5、管理模式通过供应商、仓库及客户间的信息沟通与指令的及时有效传递,将制造商和供应商的库存成本与资金占压降到最低限度。(4)系统设置系统设置包括供应商设置和仓库设置两个部分。供应商是货物的提供者,在供应商设置中:用户可以输入详细的供应商信息,包括联系方法、供应商名称和主要经营项目等信息,方便企业管理查询和维护。仓库设置:在本系统中,用户可以将整个仓库虚拟的分成整个仓库,每个仓库储存不同类型的货物,这样方便仓库货物的分类管理,也有利于提高仓库进货、出货的效率。综上所述,系统的功能需求可用如图11-1所示的框图简要表示。11.2.2 用户登录用户登录所包括的具体功能模块如图11-2所示。用户登录用户登
6、录用户注销用户退出图11-2 用户登录包括的功能模块需求框图(1)用户登录用户进入本仓库信息管理系统的入口,没有得到身份验的用户只能拥有最低的使用权限,即只能选择退出系统或用户登录。本系统的使用者可以用两种身份登录到系统:普通操作员或经理(管理人员),不同的身份意味着不同的使用权限,这是一个稳定、安全的系统所必须具备的。前置条件:无。(2)用户注销本系统中引入了类似Windows操作系统的用户注销功能,当用户在短时间内不使用本系统,他不必退出,只需要选择用户注销,这样何以使系统中不存在处于激活状态的用户,以便其他用户使用本系统。前置条件:无。(3)退出系统用户在完成工作后,点击退出系统按钮可以
7、安全的退出,以免不安全退出导致数据丢失情况的发生。前置条件:无。11.2.3 仓库管理仓库管理包括的具体功能模块如图11-3所示。仓库管理系统是整个系统信息系统的核心,是所有数据的来源。根据详细的需求分析,企业在库存中面临的主要问题体现在:库存量较大,库存资金周转慢;不能及时统计库存物料;)库房人员重复工作多,效率低;不知道库存物资积压时间长短。本系统从最初的采购到存储和交货,仓库管理将决定企业是否兑现了其承诺。从仓储计划到仓库操作和交叉运输,优化的仓储将有助于大幅减少企业的存货量和存货成本,因为企业将能保持较低的仓库存货水平,优化入库,保管和出库活动,并且协调载货量。(1)仓库进货仓库存放货
8、物品种繁多,堆存方式以及处理过程也非常复杂,随着业务量的增加,仓库管理者所需要处理的信息量大幅上升,因此管理者往往很难及时准确掌握整个仓库的动作状态。分析其原因在于:仓库在进货时没有输入详细、有效、完整的信息。在本仓库信息系统中,仓库进货模块要求操作员输入商品号、进货数量、单价和供应商,系统会自动的将当前系统时间作为进货时间更新到数据库,并且会自动统计总进货金额。该操作完成后,相应货物的数量为原数量加进货的数量,并更新数据库。仓库进货功能如图11-4所示。前置条件:无。(2)仓库退货仓库退货功能如图11-5所示。需求分析表明,企业仓库中的货物离开仓库主要有两种原因:企业无法销售某种商品,将其退
9、还给供应商;企业销售了一部分某商品,再从仓库调出部分库存的该种商品。在本仓库信息系统中,仓库进货模块是为了第一种原因而设计的,它要求操作员输入退货商品号、退货数量、单价和供应商,系统会自动的将当前系统时间作为退货时间更新到数据库,并且会自动统计总退货金额。该操作完成后,相应货物的数量为原数量减退货的数量,并更新数据库。前置条件:存在该商品的进货信息。(3)仓库领料根据上述仓库退货中列举的原因,在本仓库信息系统中,仓库领料模块是为了第二种原因而设计的,它要求操作员输入领取商品号、领料数量、领料人和仓库管理员,系统会自动将当前系统时间作为退货时间更新到数据库,并且会自动统计总领料数量。在打印的单据
10、中将会给出上述的所有信息。该操作完成后,相应货物的数量为原数量减领料的数量并更新数据库。前置条件:该商品库存信息。(4)仓库退料仓库退料功能如图11-7所示。I:输入退料货物的信息F:将记录更新到数据库O:生成新的退料信息列表图11-7 仓库退料功能根据需求分析,企业功能遇到下述问题:企业销售部门在某段时间内没有销售某件商品,这可能会造成销售部门的货物积压,因此部门就需要将该件商品一部分到仓库,这就是所谓的仓库退料。在本仓库信息系统中,仓库退料模块要求操作员输入退料商品号、退料数量、退料人和仓库管理员,系统会自动的将当前系统时间作为退料时间更新到数据库,并且会自动统计总退料数量。在打印的单据中
11、将会出上述的所有信息。该操作完成后,相应货物的数量为原数量加退料的数量并更新数据库。前置条件:无。(5)商品调拨商品调拨功能如图11-8所示。I:输入调拨货物的信息F:将记录更新到数据库O:生成新的调拨信息列表图11-8 商品调拨功能企业中很可能不止一个销售部门,而各个销售部门销售业绩也不相同。按照传统的仓库物流管理模式,业绩不好的销售部门要将其积压的商品退回仓库,业绩好的销售部门从仓库领取一定数量的商品,本系统中引入了商品调拨的概念,即业绩不好的销售部门可以直接将其积压的商品移交一部分给业绩好的销售部门,不必通过仓库中转。该功能具有较大的灵活性和可扩展性,能够满足客户在仓储管理方面更多个性化
12、的需求。商品调拨模块要求操作员输入退料商品号、调拨数量、调拨人和仓库管理员,系统会自动的将当前系统时间作业调拨时间更新到数据库,并且会自动统计总调拨数量。在打印的单据中将会给出上述的所有信息。前置条件:无。(6)仓库盘点仓库盘点功能如图11-9所示。仓库盘点的目的是为了更好地了解仓库准确的库存信息。盘点的周期和盘点的方式,企业可以根据自身的情况加以选择,不合理的仓库盘点,将会降低仓库库存信息的准确性、物料计划的准确性;不必要的仓库盘点将浪费企业的人力和物力。仓库盘点一般可以按照周期盘点、循环盘点和零点3种方式进行,企业采用周期盘点这种方式的情况较多。操作员可以在仓库盘点中任意增加或减少某件商品
13、的库存数据,因此,出于安全性方面的考虑,本功能模块需要管理者(部门经理)能使用,并且所有的修改信息将会被存储到数据中。仓库盘点模块要求管理员输入某商品、该商品实际数量,系统会自动的将当前系统时间作为盘点时间更新到数据库,并且会自动统计总盘点过程中修改的数量。在打印的单据中将会给出上述的所有信息。前置条件:管理员身份登录。11.2.4 业务查询业务查询包括的具体功能模块如图11-10所示。随着客户要求的不断提高,仓储管理在整个供应链管理当中占有非常重要的地位。以单据打印和数据记录为设计目标的传统仓储管理软件已远远无法适应现代仓储发展的要求。用户所需要的是仓储企业在实现信息化管理的基础上,不但可以
14、向客户报告其产品的实时动态信息,还可以站在更高层面上为客户在整个供应链上最为紧密的合作伙伴。业务查询功能模块就是为用户提供了传统仓库管理系统以外的一些功能。(1)库存查询库存查询如国11-11所示。库存的可见性是决定企业的分销战略是否成功的最重要的一点。如果库存水平和组成,或所计划的对这些水平和组成的更新是模糊的、不正确的、过时的或完全不可信的,那么所有的仓储,运输和供应链管理活动都很有可能失败。换句话说,如果企业拥有清楚的、正确的、最新的和可靠的库存信息,将能更好地保证仓储,运输和供应链管理的成功。在本系统的库存查询功能模式中,用户可以查询所有的商品库存,也可以输入某件商品的ID号从而得到该
15、商品的库存。总之,用户可以通过本地查询模块轻松得到及时的库存信息。前置条件:商品库存表。(2)销售查询销售查询如图11-12所示。该功能模块主要为企业管理者的经营决策提供参考的信息,更高层面上为客户在制定生产和销售计划,及时调整市场策略等方面提供持续、综合的参考信息。在销售查询功能模块中,用户只需要选择某各时间段,计算机就会根据数据库中的资料给出该时间段中所有商品的销售情况。企业的经营者可以参考这样的信息来做出一些营销策略。由于本功能模块涉及到企业的经营信息,考虑到商业信息的安全性,需要管理员给的用户才可以使用本模块。前置条件:管理员身份登录。(3)仓库查询仓库查询如图11-13所示。为适应客
16、户不断提高的要求,增强仓储企业的核心竞争力,超越客户的期望。本系统提供了非常完整的信息查询,在仓库管理中输入的任何一条信息都可以在仓库查询模块中查询到。在本模块中,用户可以选择查询的类型包括:仓库进货、仓库退货、仓库领料、仓库退料、商品调拨、仓库盘点;用户在选择查询的类型后,再输入需要查询的时间,系统就会返回用户所需的信息。前置条件:无。11.2.5 系统设置系统设置包括供应商设置和仓库设置两个功能模块组成。供应商设置主要是提供一些供应商的信息以方便用户查询和使用。仓库设置的主要功能是用户可以将整个仓库虚拟的分成数个仓库,每个仓库储存不同类型的货物,这样方便仓库货物的分类管理,也有利于提高仓库
17、进货、出货的效率。仓库管理包括的具体功能模块如图11-14所示。(1)供应商管理供应商管理如图11-15所示。在本功能模块中,用户可以增加新的供应商,需要输入供应商的一些信息,包括供应商号、名称、联系人、联系电话、传真、地址和邮政编码。用户也可以对已经输入的供应商信息进行修改和查询。前置条件:无。(2)仓库设置仓库设置如图11-16所示。I:输入新的仓库基本信息F:将数据更新到数据库息O:给出新的仓库信息列表图11-16 仓库设置功能前置条件:无。11.3 系统用例模型前面的章节作者已经对本系统的任务和需求做了详细的说明。接下来,将对系统的流程和各个参与者之间的相作用做详细的说明,将以Rati
18、onal Rose作为UML建模的工具,使用用例图、时序图、协作图和类图等对整个系统进行描述、构造、可视化和文档编制。用例视图是被称为参与者的外部用户所能观察到的系统功能的模型图。用例是系统中的一个功能单元,可以被描述为参与者与系统之间的一次交互作用。用例模型的是用途是列出系统中的用例和参与者,并显示哪个参与者参与了哪个用例的执行。本章的主要内容是引导读者熟悉建模的顺序,掌握UML建模的一些基本方法,领会面向对象的实质。11.3.1 角色的确定在UML中,Actors代表位于系统之外和系统进行交互的一类对象。用它可以对软件系统与外界发生的交互进行分析和描述。在仓库信息系统中,可以归纳出来的主要
19、问题有: 购买的商品入库; 将积压的商品退给供应商; 将商品移送到销售部门; 销售部门将商品移送到仓库; 管理员盘点仓库; 供应商提供各种货物; 用户查询销售部门的营销记录; 用户查询仓库中的所有变动记录。从上面所归纳的问题可以看出,本系统所涉及的操作主要是仓库信息的管理、维护以及各种信息的分析查询。在本系统UML建模中,可以创建以下角色(Actors): 操作员; 管理员; 供应商; 商品领料人; 商品退料人。 使用Ration Rose的Use Case View中建立Actors如图11-17所示。图11-17 在Use Case View中创建角色11.3.2 创建用例用例本身是指一个
20、用户或其他系统与要设计的系统进行的一个交互,这个交互是了达到某个目标(goal)。角色用来描述有该目标的人或系统。这个术语强调了任何人或系统拥有目标的事实。目标本身是一个动词短语,如“客户:下订单”,“店员:记录库存”。作为用例的一部分,有必要记录目标成功和失败对于活动者和系统的含义。在下订单的实例中,目标达成可能包括货物交给活动者和公司收到相应的贷款。仔细定义目标成败是定义系统范围(scoope)的基础。因为对于一个简易的订单输入系统,目标达成可能仅仅意味着订单已经经过验证并且交货已经排定日程。仓库信息系统根据业务流程可以分为以下的几个用例(Use Cases): 仓库进货; 仓库退货; 仓
21、库领料; 仓库退料; 商品调拨; 仓库盘点; 库存查询; 业务分析; 仓库历史记录查询; 供应商信息维护; 仓库信息维护; 用户登录; 用户注销; 退出系统。使用Ration Rose的Use Case View中建立用例(Use Cases)如图11-18所示。图11-18 在Use Case View中创建用例11.3.3 创建角色用例关系图用例图(Use Case Diagram)采用了面向对象的思想,又是基于用户视角,绘制非常容易,简单的图表表示便于让人们理解。用例图表示了角色和用例以及它们之间的关系。它描述了系统、子系统和类的一致的功能集合,表现为系统和一个或多个外部交互者(角色)的
22、消息交互动作序列。也就是角色(用户或外部系统)和系统(要设计的系统)的一个交互,为了实现一个目的,这个目的的描述通常是一个动词短语,例如,开立信用证,给客户回单等。操作员的用例关系图如图11-19所示。图11-19 操作员的用例关系图管理员的用例关系图如图11-20所示。 图11-20 管理员的用例关系图领料人的用例关系图如图11-21所示。 图11-21 商品领料人的用例关系图退料人的用例关系图如图11-22所示。 图11-22 商品退料人的用例关系图商品供应商的用例关系图如图11-23所示。图11-23 商品供应商的用例关系图下面给出整个系统的用例关系图如图11-24所示。图11-24 整
23、个系统的Use Cases关系图11.4 系统动态模型动态模型包括许多框图:活动图(Activity)、时序图(Sequence)、协作图(Collaboration)等。建立这些框图目的是为了更好的了解业务流程。这些框图的出现是对用例图的巨大的补充。11.4.1 活动图活动图是一种特殊形式的状态图,用于对计算流程建模。活动图中的状态表示计算过程中所处的各种状态,而不是普通对象的状态。通常,活动图假定在整个计算处理的过程中没有外部事件引起的中断,否则,普通的状态机更适合于描述这种情况。活动图是对状态图的扩展。状态图突出显示的是状态,状态之间的转移箭头代表的是活动。而活动图突出显示的是活动。每个
24、活动的图表示为圆角矩形,比状态图标更接近椭圆。活动图的起始点和中止点图标与状态图一样。如图11-25所示描述了一个活动图的例子。框图中的活动用圆角矩形表示,这是工作流期间发生的步骤。工作流影响的对象用方框表示。开始状态表示工作流开始,结束状态表示工作流结束,决策点用菱形表示。图11-25 进货的活动图在图中,管理员、操作员还有供应商三者发生了相互的关系。首先管理员查看销售记录判断商品销售状况,然后查看商品库存情况。如果发现仓库中商品库存充足则操作完毕,如果发现仓库中某商品库存出现不足,则通知操作员缺货商品清单,操作员领取清单后立即联系相应的供应商,供应商提供相应是商品,操作员接受货物,更新数据
25、库,操作完成。经过这样的可视化建模可以比较清楚的知道整个进货过程的业务流程。11.4.2 时序图时序图(Sequence Diagram)表示对象之间传送消息的时间顺序。时序图可以用来进行一个场景的说明,即一个事务的历史过程。时序图中每一个类元角色用一条生命线来表示(用垂直线代表整个交互过程中对象的生命周期)。生命线之间的箭头连接代表消息。时序图可以用来进行一个场景说明,即一个事务的历史过程。时序图的用途是用来表示用例中行为的时间顺序。当执行一个用例行为时,时序图中的每条消息对应一个类操作或状态机中引起转换的触发事件。(1)管理员盘点过程时序图如图11-26所示。图11-26 仓库盘点过程时序
26、图(2)商品管理时序图如图11-27所示。图11-27 商品管理时序图(3)仓库历史记录查询时序图如图11-28所示。图11-28 仓库历史记录查询时序图11.4.3 协作图协作图(Collaboration Diagram)用于在一次交互中对有意义的对象和对象间的链建模。对象和关系只有交互时才有意义。类元角色描述了一个对象,关联角色描述了协作关系中的一个链。协作图的用途是表示一个类操作的实现,协作图可以说明类操作中用到的参数和局部变量以及操作中类之间的关联。当实现一个行为时,消息编号对应程序中的嵌套调用结构和信号传递过程。(1)管理员盘点过程协作图如图11-29所示。 图11-29 仓库盘点
27、过程协作图(2)商品管理协作图如图11-30所示。(3)仓库历史记录查询协作图11-31所示。协作图和时序图都可以表示各对象间的交互关系,但它们的侧重点不同。时序图用消息的几何排列关系来表达消息的时间顺序,各角色之间的相互关系是隐含的。协作图用各角色的几何排列图形来表示角色之间的关系,并用消息来说明这些关系。在实际中可以根据需要选用这两种图。11.5 创建系统包图包是模型的一部分,模型的每一部分必须属于某个包。建模者可以将模型的内容分配到包中。但是为了使其能够工作,分配必须遵循一些合理原则,如公用规则、紧密耦合的实现和公用观点等。UML对如何组包并不强制使用什么规则,但是良好的解组会很大的增强
28、模型的可维护性。一个包可以包含其他包,根包间接的包含系统的整个模型。组织系统中的包有几种可能的方式,可以用视图、功能或建模者选择的其他基本原则来规划包。包是UML模型中一般的层次组织单元,他们可以被用来进行存储、访问控制、配置管理和构造可重用模型部件库。如果包的规划比较合理,那么能够反映系统的高层框架相关系统由子系统和它们之间的依赖关系组合而成。包之间的依赖关系概述了包的内容之间的依赖关系。11.5.1 仓库管理系统包图在定义具体的类之前,先在宏观的角度上将整个系统分割成多个独立的包。在这里把整个仓库管理系统分成的包如图11-32所示。 图11-32 系统包图整个系统可以看成人员信息(peop
29、leinformation)、事务(business)和接口(interfaces)3块,分别控制不同的应用。11.5.2 人员信息(peopleinformation)包内的类人员信息(peopleinformation)包内的类组织如图11-33所示。在这里,仓库管理系统所涉及到的所有人员信息都包括在本包中,这样做的好处是仓库再添加的人员时就不会影响到别的包。 图11-33 人员信息包内的类在人员信息包内,有以下5块内容: 操作员; 供应商; 管理员; 商品领料人; 商品退料人。11.5.3 事务包(business)包内的类事务包(business)包内的类组织如图11-34所示。仓库所
30、有的事务都包含在本包中,如果仓库管理过程中需要增加某事务,那么只需要在本包中添加相应的类即可。图11-34 事务包内的类11.5.4 接口包(interfaces)包内的类接口(interfaces)包内的类组织如图11-35所示。接口(interfaces)包内包括了所有的用户接口类,这样,当用户需要更改某界面或者是需要添加界面时就可在本包中完成。在接口包内,有以下4块内容: 仓库管理; 系统设置; 业务查询; 用户登录。11.6 系统类型模型类图是面向对象系统的建模中最常见的图。类图显示了一组类、接口、协作以及他们之间的关系。类图用于对系统静态设计视图建模。其大部分涉及对系统的词汇建模、对
31、协作建模或对模式建模。类图也是两个相关(组件图和配置图)的基础。类图不仅对结构模型的可视化、详述和文档化很重要,而且对通过正向与逆向工程构造可执行系统也很重要。11.6.1 Logical视图Logical视图关注的焦点是系统的逻辑结构。重复使用是一个主要目的。通过认真的指定类的信息和行为、组合类,以及检查类和包之间的关系,就可以确定可以重复使用的类和包。完成多个项目后,就可以将新类和包加进重复使用库中。今后的项目可以组装现有的类和包,而不必一切从头开始。Logical视图如图11-36所示。图11-36 Logical视图11.6.2 类图类图中的类是针对时序图和协作图中每种对象创建的。如图11-37图11-39所示分别显示了人员信息包,接口包和事务包中类的类图。图11-37 人员信息包内的类图因为操作员的操作往往都是来自管理员的指令,可以理解成操作员的操作依赖于管理员,因此从操作员到管理员的虚
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1