实验(实训)报告浙江财经大学教务处制最后一公里物流系统—仓库管理子系统1引言最近几年电商的快速发展,以及网上购物的平民化大众化,衍生出物流这一行业并且现在蓬勃发展。
而现在双十一、双十二等各种节日血拼的节日,人们的大量购物,物流行业进行大量的货物堆积与运送。
而在货物从运送到客户接受的过程中,出现了一系列的问题。
尽管在包裹发货和中转环节中,物流还是较为顺畅的,但在最后的派送环节还是出现了“卡壳”的问题。
客户存在“查询显示包裹都送出好几天了,并且已经到目的地了,为什么还没收到?”等的问题与反馈。
而货车进城层层受阻,市内堵车也常常发生,而在双11期间尽管快递公司为分拣、转运中心招聘了不少临时工,但专业性更强的终端配送快递员却极度短缺。
快递配送的“最后一公里”的问题往往是使快递变成“慢递”的症结所在。
针对最后一公里的物流,我们小组进行了最后一公里物流的系统设计。
最后一公里物流数据库管理信息系统针对在物流公司已经将货物送到目的地当地的仓库或者配送中心之后的具体配送,即最后一公里物流是配送的最后一个环节。
它的优势是可以实现“门到门”,按时按需的送货上门。
2需求分析2.1调查与初步分析在编写需求前,首先是对各大网上物流和购物网站进行了调查,其中包括:物流派送方式,客户反馈这两大块进行了调查。
并总结出了有自己特色的设计思路。
在物流派送上,最后一公里是最为重要的环节,应选择最精锐的派送员进行派送,然而在技术,人员经济等方面的约束下,往往在最后一公里的派送时,派送员缺少系统性的派送的意识,而导致了快件派送的不及时或者出现其他时间的错开,甚至出现快件的丢失。
在快件较多的情况下,派送员分配给每个配送地区的时间相对的也会更加的少,而客户(取件人)会存在不能按时取件的问题,从而导致快件的无必要退回,既加重了配送员的任务,又给客户增添了烦恼。
在客户反馈中,客户存在取件等待时间太短,货物配送停滞时间太久等的一系列问题。
对于客户(取件人)来说,他们需要的是快速的配送,且较为充裕或者自由的取件时间。
按照设计阶段提供的安全规范和故障恢复规范,数据库要经常检查系统的安全是否受到侵犯,根据用户的实际需要授予用户不同的操作权限。
数据库在运行过程中,由于应用环境发生变化,对安全性的要求可能发生变化,数据库要根据实际情况及时调整相应的授权和密码,以保证数据库的安全。
操作系统中的对象一般情况下是文件,而数据库支持的应用要求更为精细。
同样数据库的完整性约束条件也可能会随应用环境的改变而改变,这时DBA 也要对其进行调整,以满足用户的要求。
另外,为了确保系统在发生故障时,能够及时地进行恢复,DBA要针对不同的应用要求定制不同的转储计划,定期对数据库和日志文件进行备份,以使数据库在发生故障后恢复到某种一致性状态,保证数据库的完整性。
针对以上存在的问题以及结合实际情况,我们设计了本系统——最后一公里物流系统,本系统分为三个模块,这里主要介绍其中一个模块——仓库管理模块。
仓库管理模块涉及的内容有:入库、出库和库内管理等。
2.2分析和表达需求2.2.1划分模块就仓库管理系统而言,该系统实现了:货物的入库管理、出库管理以及货物在库内的一系列管理。
入库管理主要是对快件安排仓位、核对单货、登记准确、装卸规范和堆放标准进行管理。
出库管理是对快件的出库手续、出库数量、装卸规范性、堆码标准、按出库单先后发放货物和出库单据保存归档的管理。
仓库的库内管理主要进行定期检查成品与设备、维护仓库清洁与安全、保证各项运作规范与标准、统计汇总。
2.2.2仓库管理子系统数据流图由于最后一公里物流信息管理系统的业务流程比较复杂,所以在进行数据流程分析时,采用了“自顶向下”的分析方法,也就是结构化分析方法,具体做法是第一步: 确定顶层数据流图顶层数据流图概括了最后一公里物流信息管理子管理系统的总功能、主要的输入流、主要的输出流和主要的数据存储。
图2.2 最后一公里物流信息管理系统的顶层数据流图第二步: 对顶层图的功能进行分解,画出第二层数据流图(图为仓库管理子系统的数据流图)图2.4 最后一公里物流信息管理系统子仓库管理系统的数据流图2.2.3数据字典1)数据项(数据项描述={数据项名,数据类型})入库单号={入库单号,char,9}出库单号={出库单号,char,9}库存核对单号={库存核对单号,char,10}库存清单号={库存清单号,char,10}仓库职工号={仓库职工号,char,6}仓库职工姓名={仓库职工姓名,char,6}仓库职工的身份信息={仓库员工的身份信息, char,16}入库日期={入库日期,datetime,10}出库日期={出库日期,datetime,10}货物数量={货物数量,char,10}仓库地址={仓库地址,char,20 }仓库号={仓库号,char,5 }仓库电话={仓库电话,char,8 }现有库存={现有库存,char,4 }存放仓位={存放仓位,char,6 }客户地址={客户地,varchar,18}订单编号={订单编号,char,10 }2)数据结构(数据结构描述={数据结构名,含义说明,组成})入库单信息={入库单号,货物重量,入库日期}出库单信息={出库单号,货物重量,出库日期}库内信息={库存清单,库存核对单}职工信息={职工号,职工姓名,职工身份}仓库信息={仓库编号,仓库地址,仓库电话。
现有库存}3)数据流(数据流描述={数据流名,说明,数据流来源,数据流去向}){货物数据,客户提交的货物,客户,入库信息}{出库单信息,出库时所用的单子,出库信息,出库单}{入库单信息,入库时所用的单子,入库信息,入库单}{库存信息,货物在仓库内的存放信息,入库处理,库存清单}{库存核对信息,货物在仓库内的存放的核对信息,库存清单,库存核对单} 4)数据存储(数据存储描述={数据存储名,说明,编号,输入的数据流,输出的数据流,组成})入库信息={入库单,进入仓库的货物信息,入库单,货物数据,组成:{入库单}}库存核对清单={折扣规则,货物在仓库内的清单,库存清单号,库存清单,组成:{库存核对清单}}出库信息={应收账款,离开仓库的货物信息,出库单,出库单,组成:{出库单}}5)处理过程(处理过程描述={处理过程名,输入:{数据流},输出:{数据流},处理的简要说明}){入库处理,输入:{入库信息},输出:{入库单},仓库进行货物入库处理} {库内管理,输入:{库存清单},输出:{库存核对单},仓库对入库货物进行管理}{出库处理,输入:{出库信息},输出:{出库单},仓库对货物进行出库处理}3概念结构设计3.1设计各个子系统(视图)的分E-R图选择中层数据流图中的仓库管理系统数据流图作为设计分E-R图的依据;根据数据流图逐一设计分E-R图,确定局部应用中的实体、实体的属性、码、实体之间的联系及其类型。
会员管理是网上超市购物系统的一个子系统,通过分析会员管理管理的需求分析结果,我们可以知道该子系统需要描述的实体有:仓库,货物,职工。
对于每一个仓库有多个快件与之联系,每一个职工有多个管理人员进行管理领导。
还有其他实体与实体之间的联系,一一写出后可以得到以下关于仓库管理子系统的概念结构即E-R模型。
图3. 1 仓库管理子系统E-R图4视图的集成;4.1合并分E-R图,生成初步E-R图合理消除个分E-R图的冲突是合并分E-R图的主要工作与关键所在。
本次合并过程中主要消除了三类冲突:属性冲突,命名冲突和结构冲突。
4.1.1合并订单管理模块与配送管理模块分E-R图1)消除属性冲突①在合成配送管理与订单管理时,订单管理中的“客户姓名”属性定义为varchar类型,而在配送管理中被定义为char类型,消除冲突后统一定义为varchar类型;②配送管理中的“收货地址”char类型改为与订单管理一致,定义为varchar类型;③订单管理中的“订单时间”char类型改为与配送管理一致,定义为datetime类型;④两个模块中的“订单编号”属性长度统一为10位,float类型。
2)消除命名冲突配送管理中的收件地址改为客户地址,与订单管理中的命名一致。
3)消除结构冲突订单管理中的“订单”包含的属性为{订单编号,订单时间,客户地址,客户姓名,客户电话},配送管理中为{订单编号,订单时间,客户姓名,客户电话,职工号,客户地址},取两者并集并适当调整顺序后为:订单{ 订单编号,订单时间,客户地址,客户姓名,客户电话,职工号 }订单管理中的“客户”实体的属性为{ 客户姓名,客户电话,客户地址,客户账号 },配送管理中为{ 客户姓名,客户电话,客户地址 },取并集后为:客户{ 客户姓名,客户电话,客户地址,客户账号 }。
消除三类冲突后得到配送管理与订单管理的合E-R图,如图 4-所示:图4-1 配送管理与订单管理合E-R图4.1.2集成图4-1与仓库管理模块分E-R图在订单管理模与配送管理合E-R图的基础上加入了仓库管理模块的仓库、货件两个实体以及出库、入库、库内管理三个联系,集成订单、仓库、配送合E-R图,如图 4-2仓库、配送、订单合E-R图所示:图4-2仓库、配送、订单合E-R图4.1.3 集成图4-2与客服管理分E-R图1)消除属性冲突①参照图4-2中的各属性,客服管理中的“客户地址”类型定义为varchar 类;②客服地址根据客户地址的修改,定义为varchar类型;2)消除命名冲突集成过程中,在上图的基础上加入了客服、投诉单、理赔单三个实体,与其他实体或联系没有命名冲突。
消除属性冲突与命名冲突后,形成总的E-R图,如图 4-3 总E-R图所示:图4-3 总E-R图总属性:仓库{仓库号,仓库电话,现有库存,仓库地址}货件{订单编号,货件地址,货件重量,存放仓位}入库{入库单号,订单编号,入库日期,客户地址,货件重量,存放仓位,仓库号}出库{出库单号,订单编号,出库日期,客户地址,货件重量,存放仓位,仓库号}库内管理{订单编号,仓库号,库存清单号,库存核对单号,客户地址,货件重量,存放仓位,仓库电话,现有库存,仓库地址}订单{订单编号,订单时间,客户地址,客户姓名,客户电话,职工号} 配送计划{托运单编号,订单编号,配送时间,收货地址,回程车辆信息,空车车辆信息,配送路线,物流状态,客户地址,车辆信息} 跟踪单{跟踪单号,订单编号,客户姓名,客户电话,错误信息}客户{客户姓名,客户电话,客户地址,客户账户}费用清单{订单编号,费用金额,客户电话,客户姓名}跟踪单{订单编号,客户姓名,客户电话,客户地址}客服{客服工号,客服姓名,客服电话,客服地址}理赔单{订单编号,客户姓名,客户电话,客服工号,客服姓名,客服电话}投诉单{投诉单号,客户姓名,客户电话,客服工号,客服姓名,客服电话}反馈错误信息{订单编号,反馈时间,错误信息内容,客服工号,客服姓名}从中抽出仓库管理的属性:仓库{仓库号,仓库电话,现有库存,仓库地址}货件{订单编号,客户地址,货件重量,存放仓位}职工{职工工号,职工姓名,职工电话}入库{入库单号,入库日期}出库{出库单号,出库日期}库内管理{库存清单号,库存核对单号}4.2修改与重构,生成基本E-R图初步E-R图中可能存在冗余的数据和冗余的实体间联系,因此根据数据字典中关于数据项之间逻辑关系的说明来消除冗余,从而生成基本E-R图:5逻辑结构设计5.1将概念结构转换为关系模型仓库(仓库号,仓库电话,现有库存,仓库地址)货件(订单编号,客户地址,货件重量,存放仓位)入库(入库单号,订单编号,仓库号,入库日期,客户地址,货件重量,存放仓位)出库(出库单号,订单编号,仓库号,出库日期,客户地址,货件重量,存放仓位)库内管理(订单编号,仓库号,库存清单号,库存核对单号,客户地址,货件重量,存放仓位,仓库电话,现有库存,仓库地址)仓库管理(职工工号,仓库号,仓库电话,现有库存,仓库地址,职工姓名,职工电话)订单(订单编号,订单时间,客户地址,客户姓名,客户电话)配送计划(托运单号,订单编号,客户地址,物流状态,配送路线)配送路线(客户地址,配送路线,配送时间,回程车辆信息,空车车辆信息,车辆信息)跟踪单(跟踪单号,订单编号,客户姓名,客户电话,错误信息)托运单(托运单号,订单编号,客户地址,客户姓名,客户电话)订单专员(专员工号,专员姓名,专员电话)客户(客户电话,客户姓名,客户地址,客户账号,客户地址)订单分配(订单编号,分配区域,专员工号,分配时间)收退(订单编号,专员工号,费用金额,收退状态)费用清单(订单编号,客户电话,费用金额,客户姓名)客服(客服工号,客服姓名,客服电话,客服地址)理赔单(订单编号,客户姓名,客户电话,错误信息内容,理赔信息内容,客服工号,客服姓名)投诉单(投诉单号,投诉时间,投诉内容,客户姓名,客户电话,客服工号,客服姓名)反馈错误信息(订单编号,客服工号,反馈时间,错误信息内容,客服姓名)从中抽出仓库管理子系统的关系模型如下:仓库(仓库号,仓库电话,现有库存,仓库地址,仓库面积)货件(订单编号,客户地址,货件重量,存放仓位)职工(职工工号,职工姓名,职工电话)入库(入库单号,订单编号,仓库号,入库日期,客户地址,货件重量,存放仓位)出库(出库单号,订单编号,仓库号,出库日期,客户地址,货件重量,存放仓位)库内管理(订单编号,仓库号,库存清单号,库存核对单号,客户地址,货件重量,存放仓位,仓库电话,现有库存,仓库地址)仓库管理(职工工号,仓库号,仓库电话,现有库存,仓库地址,职工姓名,职工电话)5.2对数据模型进行优化(1)货件(订单编号,客户地址,货件重量,存放仓位)1. 该关系中,每个属性都是不可分的,所以该关系属于1NF。