仓储管理系统——软件工程报告(详细设计)④

详细设计

一、系统功能模块的划分

根据系统的功能性需求,本文将部队仓库管理系统分为以下六大模块:系统管理模 块、基础数据模块、出入库管理模块、库存管理模块、仓库信息管理模块、作业管理模 块,每个模块内部又分为很多小功能模块,六大模块相互依赖相互作用共同组成了整个 仓库管理系统。系统具体的功能模块划分如下图 3.1 所示。

         本系统主要功能模块如上图所示,其中系统管理模块主要供超级管理员使用,基础数据模块、出入库管理模块、库存管理模块、仓库信息管理模块主要供仓库管理员使用,作业管理模块主要供仓库操作员使用。

二、系统功能模块设计

2.1系统管理模块

系统管理中将管理员分为三级,一级仓库管理员账号要由系统超级管理员来进行分配和管理,二、三级仓库管理员账号及各营区的各仓库操作员主要由其上级单位仓库管理员进行分配与管理。本系统预设了一个系统管理员账号,负责对系统年度、标识码进行设定,初始化基础数据库信息以及分配初始登录账号。该模块功能设计图如图 3.2 所示。

2.2基础数据模块

基础数据模块主要包括单位目录、装备目录和器材目录等的设置,该模块中的各种基础数据是该仓库管理系统运行过程中极其重要的基础信息资料。整个系统在后期使用时,各种物资信息以及单位信息都是靠基础数据模块进行提供,因此这一模块也要 具备较高的复杂度以及较高的准确性。基础数据模块具体功能图如图 3.3 所示。

 3.3 基础数据模块具体功能图

单位目录设置:在这一模块,将实现增加、修改、删除该部队下各单位信息操作的功能。单位目录一般是从上级获取数据交换文件,然后导入到本系统内。系统在导入成功单位目录文件后能看到登录用户本级及其下属的单位相关信息。 

装备目录设置:在这一模块,将实现增加、修改、删除该部队下基础装备信息的功能。装备目录一般是也从上级获取数据交换文件,然后导入到本系统内。 

器材目录设置:在这一模块,将实现增加、修改、删除该部队下基本器材信息的功能。器材目录一般是从上级获取数据交换文件,然后导入到本系统内。如果采用系统默认的数据库,则系统已经内置了器材目录,不用再重新导入。 

系统初次登录需要超级管理员来初始化一些基本数据:初始化流程如图 3.4 所示

如上图所示,系统超级管理员首次登录系统,首先导入基础数据相关的 XML 或者

Excel 文件,其次管理员需要设置年度信息用于后期的年度结转,然后需要导入装备和 器材目录,最后导入仓库库存的相关信息,系统初始化完成

2.3出入库管理模块

出入库管理模块在整个部队仓库管理系统中至关重要,该模块主要实现对装备、器 材出库以及入库流程的整体监管,并对出入库完成后生成的凭据信息进行管理。出入库 管理模块主要分为出库和入库管理模块。出入库管理模块具体功能图如图 3.5 所示。

 入库流程为:当有入库需求时,仓库管理员下载导入调拨单或者合同,这里面包含 了入库器材、装备、数量、单价等一些基本信息数据;仓库管理员据此生成入库验收单 对这些数据进行清点验收;验收完成后可以通过手动新建或者自动生成的方式去生成入 库单;在验收完成之后,仓库管理员此时就可以下达入库作业了,通过本系统中的仓库 作业顺序优化算法来生成入库作业单,这时本次入库流程将变为已下达入库单,等待仓 库操作员进行仓库作业;最后仓库操作员进行作业,入库作业完成后本次入库流程变为 入库完成,系统将自动生成增加凭据信息。入库整体流程如图 3.6 所示。

出库流程为:当有出库需求时,仓库管理员下载导入调拨单,这里面包含了本次出 库器材、装备、数量、单价等一些基本信息数据以自动生成的方式去生成出库单或者根 据部队人员分队清领的具体情况去生成出库单,仓库管理员也可以通过手动创建的方式 去生成出库单;生成出库单之后仓库管理员就可以下达出库作业,通过本系统中的仓库 作业顺序优化算法来生成除库作业单,这时本次出库流程将变为已下达出库单,等待仓 库操作员进行仓库作业;最后仓库操作员进行作业,出库作业完成后本次出库流程变为 出库完成,系统将自动生成减少凭据信息。上述出库整体如图 3.7 所示。

 

2.4库存管理模块

库存管理模块主要功能为对单位库存、库房库存、货位库存、库房储位、库存流水 账进行管理、调配、统计以及盘库和库存报警等。库存管理模块具体功能图如图 3.9 所 示。

 

库存管理功能主要有以下四种模式: 

(1)单位库存表示器材在本单位的数量和收发等情况。在库存初始化完成前,单位库存是可以编辑的。库存初始化完成后,则不能再编辑。单位库存模块面向对象:系统 管理员、仓库管理员、仓库操作员。可以通过大类名称、物品代码、物品名称、型号规格、图号等或者通过更多查询条件来查询筛选信息。

(2)库房库存主要是实现建立库房库存、查看库房数据等功能。库房库存模块面向 对象:系统管理员、仓库管理员、仓库操作员。但仓库操作员只能查询库房库存相关信 息。查询条件如单位库存相同不重复赘述了。

(3)货位库存主要是实现建立货位库存、查看货位数据等功能。查询条件如单位库存相同不重复赘述了。

(4)库房储位是指某栋库房内由哪些货位,主要用来打印储位标志时使用。可以通 过库房号、区号、架号、层号、位号等条件来查询数据。

2.5仓库信息管理模块

仓库信息管理模块主要是由仓库管理员对仓库信息、货架信息进行管理。仓库管理 员根据实际的仓库环境以及货架信息来动态的增加、编辑、删除本系统中的仓库以及货 架信息。仓库信息管理模块用例图如图 3.10 所示。

该模块具体业务设计流程图如图3.11所示。

2.6作业管理模块

作业管理模块主要是由仓库操作员对仓库进行入库作业、出库作业、货位调整作业 进行管理。该模块具体功能图如图3.12所示。

以入库作业为例,仓库管理员可在入库单页面点击下达入库作业单,本系统可根据 入库单详情通过NSGA-II-MOPSO融合算法对入库作业进行作业顺序优化,该功能的实 现详情见第 5 章,以此来生成入库作业单。仓库操作员配有手持机 PDA,可以利用PDA

进行入库作业。首先操作员将入库作业单以XML导入PDA中,操作员根据 PDA 中入 库作业单详情,利用运输车进行作业,作业完成之后,在利用 PDA 手持机的导出功能, 将作业情况导入到仓库管理系统中,入库作业流程图如图 3.13 所示。

三、系统数据库设计

3.1数据库E—R图设计

数据库E-R模型即实体-联系图,是设计关系型数据库的基础,通过 E-R 图可以简单明了的反映出系统数据结构和各个实体之间的联系。根据项目需求,本文针对部队仓库管理系统的具体业务功能设计了四十多余个实体,下面仅对人员、单位、出入库、货位、仓库等较为关键的实体进行分析。

(1)人员信息的实体模型,如图 3.14 所示。

(2)单位信息的实体模型,如图 3.15 所示。

(3)入库单详情的实体模型,如图 3.16 所示。

(4)出库单详情的实体模型,如图 3.17 所示。

 (5)货位信息的实体模型,如图3.18所示。

(6)仓库信息的实体模型,如图 3.19 所示

3.2数据库表结构设计

本系统有几十张表,本文主要列举一些较为关键的表进行分析,主要包括用户信息表、 单位信息表、入库单信息表、入库单详情表、出库单信息表、出库单详情表、装备信息 表、器材信息表、仓库信息表,入库作业单信息表,出库作业单信息表等。部分数据表 详细设计如下所示: 

1)用户信息表 

用户信息表的名称为 user_info,用于记录本系统用户的基本信息,表中的包括用户 编号、用户姓名、登录账号、密码、用户所属单位、角色类型、创建时间、账号状态等, 其中 USER_ID 字段作为该表的主键详细设计如下表 3.1 所示: 

2)入库单信息表 

入库单信息表的名称为 warehouse_list,用于记录本系统中入库单信息,包括入库单 编号、入库类型、操作人、入库详情单编号、单位编号、单位名称、创建时间、备注, 其中入库详情单编号为入库详情表的主键,通过这一外键将两表相关联起来,其中WAR_ID 字段作为该表的主键。详细设计如下表 3.2 所示:

3)出库单信息表 

出库单信息表的名称为 outbount_list,用于记录本系统中出库单信息,包括出库单 编号、出库类型、操作人、出库详情单编号、单位编号、单位名称、创建时间、备注, 其中出库详情单编号为入库详情表的主键,通过这一外键将两表相关联起来,其中

OUT_ID 字段作为该表的主键。详细设计如下表 3.3 所示:

4)仓库信息表 

仓库信息表的名称为 warehouse_info,用于记录本系统中仓库详情信息,包括仓库 名称、仓库编号、仓库属性、仓库长度、仓库宽度、仓库高度、货架数量,其中仓库编 号 WAREHOUSE_ID 字段作为该表的主键。详细设计如下表 3.4 所示:

3.4本章小结

本章首先根据实际需求将仓库管理系统划分为不同的模块,其次对各功能模块进行业务流程的设计;最后从系统的E-R图设计和数据表的设计方面阐述系统的细节设计。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/350613.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

uniapp组件库fullScreen 压窗屏的适用方法

目录 #平台差异说明 #基本使用 #触发压窗屏 #定义压窗屏内容 #注意事项 所谓压窗屏,是指遮罩能盖住原生导航栏和底部tabbar栏的弹窗,一般用于在APP端弹出升级应用弹框,或者其他需要增强型弹窗的场景。 警告 由于uni-app的Bug&#xff0…

洛谷C++简单题练习day6—P1830 城市轰炸

day6--P1830 城市轰炸--1.26 习题概述 题目背景 一个大小为 nm 的城市遭到了 x 次轰炸,每次都炸了一个每条边都与边界平行的矩形。 题目描述 在轰炸后,有 y 个关键点,指挥官想知道,它们有没有受到过轰炸,如果有&a…

如果是全球统一流行前端框架那么这一定是公认的好框架

hello宝子们...我们是艾斯视觉擅长ui设计和前端开发10年经验!希望我的分享能帮助到您!如需帮助可以评论关注私信我们一起探讨!致敬感谢感恩! 前端框架层出不穷,各种框架都有自己的特点和优势,但并不是所有的…

JavaWeb基础01-基本技术体系介绍和相关工具的安装

一、JavaWeb 1.概述 Web:全球广域网,也称为万维网(www),能够通过浏览器访问的网站JavaWeb:是用Java技术来解决相关web互联网领域的技术栈 2.组成 (1)网页:展示数据(前端技术&…

Vue深入学习2—虚拟DOM和Diff算法

1、snabbdom 是什么? snabbdom是“速度"的意思,源码只有200行,使用TS写的,让东西变得模块化 2、snabbdom 的 h 函数如何工作? h函数用于产生虚拟节点,同时也可以嵌套使用,得到虚拟DOM树&am…

行测-言语:2.语句表达

行测-言语:2.语句表达 1. 语句排序题 捆绑就是看两句话是不是讲的同一个内容,相同内容的句子应该相连。 1.1 确定首句 1.1.1 下定义(……就是 / 是指) A 1.1.2 背景引入(随着、近年来、在……大背景 / 环境下&#…

拼图小游戏的界面和菜单的搭建

package Puzzlegame.com.wxj.ui;import javax.swing.*;public class GameJframe extends JFrame { //游戏主界面 public GameJframe(){//初始化界面initJFrame();//初始化菜单initJmenuBar();//让界面显示出来this.setVisible(true); }private void initJmenuBar() {//创建整个…

【动态规划】LeetCode-62. 不同路径

62. 不同路径。 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径&am…

Java复习系列之阶段三:框架原理

1. Spring 1.1 核心功能 1. IOC容器 IOC,全称为控制反转(Inversion of Control),是一种软件设计原则,用于减少计算机代码之间的耦合度。控制反转的核心思想是将传统程序中对象的创建和绑定由程序代码直接控制转移到…

3 - 主从复制结构|持久化|数据类型

主从复制结构|持久化|数据类型 主从复制 没有高可用功能命令行配置修改配置文件(永久有效,重启了redis服务依然有效) 配置带验证的主从复制主从从配置哨兵服务(可实现高可用)持久化RDB文件的使用…

亚马逊测评:卖家如何操作测评,安全高效(自养号测评)

亚马逊测评的作用在于让用户更真实、清晰、快捷地了解产品以及产品的使用方法和体验。通过买家对产品的测评,也可以帮助厂商和卖家优化产品缺陷,提高用户的使用体验。这进而帮助他们获得更好的销量,并更深入地了解市场需求。亚马逊测评在满足…

天正T20V9.0安装教程,附安装包,有不同专业和版本的安装包,轻松搞定安装,无套路获取资源

前言 天正是一款CAD的辅助工具,集成批处理命令、线型、字库、符号库等,会给设计人员带来很多方便,节约时间。天正软件包括暖通、给排水、电气、结构、建筑等,其中,天正建筑已成为建筑设计实际的绘图标准,为…

使用代码取大量2*2像素图片各通道均值,存于Excel文件中。

任务是取下图RGB各个通道的均值及标签(R, G,B,Label),其中标签由图片存放的文件夹标识。由于2*2像素图片较多,所以将结果放置于Excel表格中,之后使用SVM对他们进行分类。 from PIL import Image import os …

怎么隐藏磁盘或U盘分区?

隐藏分区需求确实存在! 某用户将自己的U盘驱动器分为两个分区,一个是可引导的活动主分区,另一个分区包含服务包和其他用于技术支持的内容,他一直被以下两个问题所困扰: 是否可以隐藏U盘分区? 如果想更改内…

故障注入测试:提高系统可靠性

故障注入测试是一种用于评估系统鲁棒性和容错性的测试方法,它的主要目标是模拟系统中可能发生的故障,并评估系统在面对这些故障时的表现。以下是故障注入测试的主要特点: 模拟真实环境: 故障注入测试努力模拟真实环境中可能发生的…

CHS_07.2.2.4_3+调度算法:多级队列调度算法

CHS_07.2.2.4_3调度算法:多级队列调度算法 多级对列调度算法 接下来 多级对列调度算法 看一个图你就明白了 如果一个系统采用多级对列调度算法 那么 这个系统会按照进程的类型设置多个对列 并且给不同的对列设置不同的优先级 举个例子 分为系统进程 交互式进程以…

Java面试题(6)

28.创建线程池有哪几种方式 newFixedThreadPool(int nThreads) :创建一个固定长度的线程池,如果有线程发生错误而结束, 线程池会补充一个新线程。 newCachedThreadPool() :创建一个可缓存的线程池,会自动回收和创建空…

spring cloud之分布式事务

写在前面 1:分布式事务介绍 参考MySQL之分布式事务 。 2:seata实战 架构图: 可以看到seata在这里作为协调者的角色,协调所有事务的提交以及回滚,其中seata使用MySQL存储每个分支事务的执行状态信息,以…

webassembly003 whisper.cpp的main项目-1

参数设置 /home/pdd/le/whisper.cpp-1.5.0/cmake-build-debug/bin/main options:-h, --help [default] show this help message and exit-t N, --threads N [4 ] number of threads to use during computation-p N, --processors …

使用css将文字在水平线中显示

方法一&#xff1a; 1.效果图 2.html <!-- <div class"line">第三方登录</div> --> 3.css /* 让文字在水平线中显示 */.line {display: flex;flex-direction: row;color: #ccc;font-size: 18px;font-weight: bolder; }.line:before, .line:aft…