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

详细设计

一、系统功能模块的划分

根据系统的功能性需求,本文将部队仓库管理系统分为以下六大模块:系统管理模 块、基础数据模块、出入库管理模块、库存管理模块、仓库信息管理模块、作业管理模 块,每个模块内部又分为很多小功能模块,六大模块相互依赖相互作用共同组成了整个 仓库管理系统。系统具体的功能模块划分如下图 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.mzph.cn/news/648531.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

win10+elasticsearch8.12 安装教程

Elasticsearch是一种搜索引擎,本地安装完成之后,可使用其他编程语言(例如python)与elasticsearch建立连接,然后使用python脚本搜索elasticsearch中的数据 1下载 elasticsearch elasticsearch最新版官网下载链接 点击…

颠覆式创新:LAXCUS分布式操作系统7.0

在这轮AI浪潮中,英伟达已经获得了硬件算力入口,Laxcus要获取软件算力入口。 有几位网友想了解我们正在研发的Laxcus分布式操作系统7.0的情况。应他们要求,今天就说说Laxcus 7.0版本。Laxcus 7.0是一个全新的操作系统,具有很多独特…

C++技术要点总结, 面试必备, 收藏起来慢慢看

目录 1. 语言对比 1.1 C 11 新特性 2.2 C 和 C 的区别 2.3 Python 和 C 的区别 2. 编译内存相关 2.1. C 程序编译过程 2.2. C 内存管理 2.3. 栈和堆的区别 2.4. 变量的区别 2.5. 全局变量定义在头文件中有什么问题? 2.6. 内存对齐 2.7. 什么是内存泄露 …

ISO27001认证:企业与个人发展的必备之选

ISO27001认证,对于企业和个人来说,都具有极高的价值和重要性。作为国际权威的信息安全管理体系标准,它为企业提供了保障信息安全、防范风险和提升竞争力的有力工具。 💼对企业的价值: ISO27001认证可以帮助企业满足国家…

【通过docker安装常用软件镜像】1.镜像 2.安装 redis,jdk,nginx

1)官网镜像网站 hello-world - Official Image | Docker Hub 2)安装镜像测试例子 Redis 1.查询redis [rootlocalhost ~]# docker search redis NAME DESCRIPTION STARS OFFICIAL redis …

rancher和k8s接口地址,Kubernetes监控体系,cAdvisor和kube-state-metrics 与 metrics-server

为了能够提前发现kubernetes集群的问题以及方便快捷的查询容器的各类参数,比如,某个pod的内存使用异常高企 等等这样的异常状态(虽然kubernetes有自动重启或者驱逐等等保护措施,但万一没有配置或者失效了呢)&#xff0…

matlab对负数开立方根得到虚数的解决方案

问题描述:在matlab中,对负数开立方根,不出意外你将得到虚数。 例如 − 27 3 \sqrt[3]{-27} 3−27 ​,我们知道其实数解是-3,但在matlab中的计算结果如下: 问题原因:matlab中的立方根运算是在…

【iOS ARKit】人脸检测追踪基础

在计算机人工智能(Artificial Inteligence,AI)物体检测识别领域,最先研究的是人脸检测识别,目前技术发展最成熟的也是人脸检测识别。人脸检测识别已经广泛应用于安防、机场、车站、闸机、人流控制、安全支付等众多社会领域&#x…

提高供电可靠性:配网故障定位装置的实际应用与效果

随着电力系统的不断发展,提高供电可靠性成为了业界关注的焦点。在这个过程中,恒峰智慧科技研发的配网故障定位装置发挥着越来越重要的作用。本文将详细介绍一种基于行波测距技术的配网故障定位装置HFP-GZS1000,以及其在实际应用中的效果。 一…

3d gaussian splatting介绍整理

3D 高斯分布是用于实时辐射场渲染的 3D 高斯分布中描述的一种光栅化技术,它允许实时渲染从小图像样本中学习到的逼真场景。 paper github 本文翻译整理自: blog: Introduction to 3D Gaussian Splatting DDPMs - Part 2 给出一些2D图片,用…

PyTorch 添加 C++ 拓展

参考内容:pytorch添加C拓展简单实战编写及基本功能测试 文章目录 第一步:编写 C 模块test.htest.cpp 第二步:编写 setup.py第三步:安装 C 模块第四步:验证安装第五步:C 模块使用test_cpp1.pytest_cpp2.py 运…

信息安全认证首选CISP-PTE

🔥在信息安全领域,CISP-PTE认证正逐渐成为行业的新星。作为中国信息安全测评中心推出的专业认证,CISP-PTE为信息安全从业者提供了国内Z高标准的资质培训。 🎯为什么选择CISP-PTE? 1️⃣业界认可:CISP-PTE是…

oracle10g rac节点启动没进程没日志

一节点正常运行,二节点通过crsctl start crs启动,发现alert日志及所有日志都没生成,oracle用户下连一个相关进程都没有清理缓存:rm -rf /tmp/.oracle/服务挨个启动也无效:/etc/init.evmd run >/dev/null 2>&…

如何训练和导出模型

介绍如何通过DI-engine使用DQN算法训练强化学习模型 一、什么是DQN算法 DQN算法,全称为Deep Q-Network算法,是一种结合了Q学习(一种价值基础的强化学习算法)和深度学习的算法。该算法是由DeepMind团队在2013年提出的,…

2024亚马逊开店教程:开店准备与注册流程指南

随着新一年的到来,亚马逊开启了新一轮的卖家入驻,并且针对新卖家优化了入驻流程,下面为大家简单整理一下最新亚马逊入驻教程,有想要入驻开店的小伙伴速速看过来! 一、开店前准备 1、账号环境准备 为了防止账号由于网…

将 Amazon Bedrock 与 Elasticsearch 和 Langchain 结合使用

Amazon Bedrock 是一项完全托管的服务,通过单一 API 提供来自 AI21 Labs、Anthropic、Cohere、Meta、Stability AI 和 Amazon 等领先 AI 公司的高性能基础模型 (FMs) 选择,以及广泛的 构建生成式 AI 应用程序所需的功能,简化开发,…

MS2510:8 比特高速模数(ADC)转换器

描述: MS2510 是 8 比特, 20MSPS 模数转换器( ADCs ) , 同时使用一个半闪速结构。 MS2510 在 5V 的电源电压下工作,其典型功耗只有 130mW ,包括一个内部的采样保持电路,具有 高阻抗方…

斐波那契数列

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO 联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬 学习必须往深处挖&…

ffmpeg和opencv一些容易影响图片清晰度的操作

ffmpeg 转视频或者图片,不指定码率清晰度会下降 ffmpeg -i xxx.png xxx.mp4 码率也叫比特率(Bit rate)(也叫数据率)是一个确定整体视频/音频质量的参数,秒为单位处理的字节数,码率和视频质量成正比,在视频…

IP被封怎么办?访问网站时IP被阻止?解决IP禁令全方法

相信很多人遇到过IP禁令:比如你在访问社交媒体、搜索引擎或电子商务网站时会被限制访问,又或者你的的账号莫名被封,这些由于网络上的种种限制我们经常会遭遇IP被封的情况,导致无法使用继续进行网络行动。在本文中,我们…