仓储管理系统——软件工程报告(需求分析)②

news2024/11/23 8:14:06

需求分析

一、系统概况

仓库管理系统是一种基于互联网对实际仓库的管理平台,旨在提供一个方便、快捷、安全的存取货物和查询商品信息平台。该系统通过在线用户登录查询,可以线上操作线下具体出/入库操作、查询仓库商品信息、提高仓库运作效率,优化仓库使用流程等功能,实现了用户在网上对仓库操作的全流程。

二、系统目标

系统的目标是满足用户在使用仓库的过程中的需求,包括线上查询商品、线上操作出/入库商品、线上筛选、提高仓库运作效率、降低成本等环节,并保证在查询和出/入库操作的安全性和可靠性。同时,该系统还为用户提供了一个开放、简单的操作环境,上手难度低,操作环节简便清晰。

三、系统总体结构与子结构说明

(1)系统总体结构说明

 仓库管理系统的总体结构包括前端应用程序、后端服务器和数据库三部分。

1>前端应用程序:是用户直接可以接触到的部分,包括网站界面、手机客户端等。它主要负责与用户的交互和展示用户存入商品、商品数量、存取记录等。

2>后端服务器:是系统的核心部分,主要负责处理用户请求、业务逻辑和数据存储等。它包括用户管理、商品管理、物流管理、评论管理等子系统

3>数据库:数据库是系统的基础部分,主要负责存储和管理所有的数据。它包括用户信息表、管理员信息表、商品分类表、仓库库存信息表等多个数据表。

(2)子系统结构说明

仓库管理系统的子系统结构包括用户管理、商品管理、出/入库操作管理、信息查询管理等四个子系统。

1>用户管理子系统:负责用户注册、登录、修改密码、查询用户信息等操作。

2>商品管理子系统:负责对仓库的商品种类的区分、数量的记录、信息的修改等操作

3>出/入库操作管理子系统:对每次的出入库操作做相应的记录、完成线上和线下的实事操控管理、修改商品原本的数据等操作。

4>信息查询管理子系统:负责将用户的查询请求进行分析处理,使用户能实事的查询到自己在仓库中商品的具体情况信息。

四、形式化方法

1)基于模型的方法:使用状态表示系统的运行步骤,通过状态之间的转换来表示 运行时的变化与操作。基于模型的方法可以很好地表达表示非功能性需求(比 如时间需求),但是,这种方法不容易描述并发系统的特点。如:描述计算机 软硬件的 Z 语言;

2) 基于逻辑的方法:系统的性能约束、时间要求、分支条件约束等可以采用逻辑 的方法来描述,不同的逻辑都有对应的公理证明系统来验证描述的正确性。如: 模态逻辑,时序逻辑等。

五、需求分析阶段成果

5.1数据流图

1、组成数据流图的元素信息

源点/终点

处理

用户

仓库管理员

出/入库登记

产生报表

数据流

数据存储

登记信息

    用户ID

用户姓名

处理时间

商品编号

商品名称

商品数量

管理员姓名

管理员ID

商品报表

商品编号

商品名称

出/入库数量

主要供应商

出/入库信息

库存清单*

商品编号

仓库临界值*

用户信息

      用户名

      用户操作时间

      商品编号

      商品名称

管理员信息

      管理员id

      管理员姓名

      管理员处理时间

      商品数量

      商品编号

库存信息

      (见商品报表)

2、数据流模型

(1)第0层数据流图

(2) 第1层数据流图

(2)第2层数据流图

5.2实体-联系图(ER图)

 5.3状态转换图

 5.4数据字典

1、符号定义

符号

含义

举例说明

=

被定义为

+

X = a + b

表示X由a 和 b 组成

[ … |… ]

X = [a | b ]

表示X由a或b组成

{ … }

重复

X = { a }

表示X由0个或多个a组成

( … )

可选

X = ( a )

表示a可在X中出现,也可不出现

m{…}n

重复

X = m{a}n

表示由m-n个a组成

*…*

注释

*xxx*

xxx表示对改行的描述

2、数据项

数据项:

仓库管理员姓名

别名:

管理员

数据类型:

varchar

数据长度:

1-20Byte

描述:

记录每次处理系统事务的管理员的姓名

定义:

仓库管理员姓名=1{字符}8

位置:

管理员信息表

 S

数据项:

仓库管理员ID

别名:

管理员编号

数据类型:

Char

数据长度:

8Byte

描述:

在管理员信息表中充当该表的主键,用于为一确定管理员身份

定义:

仓库管理员ID={字符}

位置:

管理员信息表

数据项:

仓库管理员处理时间

别名:

系统操作时间

数据类型:

DATATIME

数据长度:

8Byte

描述:

记录管理员每次处理系统的具体时间

定义:

YYYY-MM-DD HH:MM:SS

*混合日期和时间值*

位置:

仓库库存信息表

数据项:

仓库编号

别名:

暂无

数据类型:

Int

数据长度:

4Byte

描述:

唯一标识是那个仓库

定义:

仓库管理员姓名 =  n  *n为int型整数*

位置:

仓库库存信息表

数据项:

仓库容量

别名:

暂无

数据类型:

float

数据长度:

4Byte

描述:

描述一个仓库中某种商品最多可以存放多上容积

定义:

仓库容量 = n

位置:

仓库库存信息表

数据项:

商品位置

别名:

暂无

数据类型:

Char

数据长度:

8Byte

描述:

用于精准的在仓库中定位到所需要的商品的位置

定义:

商品位置 = {字符}

位置:

商品分类表

数据项:

商品库存

别名:

商品剩余量

数据类型:

Float

数据长度:

4Byte

描述:

用于记录在仓库中已经存放的商品的剩余量为多少

定义:

商品库存 = n *n为float型数据*

位置:

商品分类表

数据项:

商品名称

别名:

商品名

数据类型:

Char

数据长度:

8Byte

描述:

用于表示出每个商品的具体名字

定义:

商品名称 = {字符}

位置:

商品分类表 + 仓库库存信息表

数据项:

商品ID

别名:

商品编号

数据类型:

Char

数据长度:

20Byte

描述:

用于唯一表示某商品

定义:

商品ID = {字符}

位置:

商品分类表 + 仓库库存信息表

数据项:

商品种类

别名:

暂无

数据类型:

Char

数据长度:

8Byte

描述:

用于区分不同种类商品,以便对商品进行分区存储

定义:

商品种类 = {字符}

位置:

商品分类表

数据项:

商品数量

别名:

存放量,取出量

数据类型:

Float

数据长度:

4Byte

描述:

用于标识每次参加操作的仓品的具体数量

定义:

商品位置 = {字符}

位置:

商品分类表 + 仓品库存信息表

数据项:

用户ID

别名:

账号

数据类型:

Char

数据长度:

8 Byte

描述:

用于唯一标识用户并且是用户进入系统时所需要使用的号码

定义:

用户ID = {字符}

位置:

用户信息表

数据项:

用户密码

别名:

密码

数据类型:

Char + int

数据长度:

8 – 20 Byte

描述:

当用户登录系统的时候,作为用户访问的私有性而由用户自己设置的密码,体现出安全性

定义:

用户ID = a + n *a 为字符 n 为int型整数*

位置:

用户信息表

数据项:

用户姓名

别名:

暂无

数据类型:

Char

数据长度:

8 Byte

描述:

用户进行实名认证之后的姓名。

定义:

用户姓名 = {字符}

位置:

用户信息表

数据项:

用户操作时间

别名:

操作记录

数据类型:

DATATIME

数据长度:

8 Byte

描述:

用于记录用户的每次操作的具体时间

定义:

YYYY-MM-DD HH:MM:SS

*混合日期和时间值*

位置:

商品报表

3、数据结构

编号:   1

名称:  用户信息

别名:  操作情况

组成: 用户ID + 用户名 + 操作时间 + (商品信息) + 具体操作  

作用: 用户访问系统是对用户信息的记录和处理

备注: 对应数据流图中的D1

编号:   2

名称:  出/入库信息

别名:  出入库操作

组成:  商品ID + 商品数量 +  仓库容量 + 商品名称

作用:  对用户对仓库的出库和入库操作提供具体的信息

备注: 对应数据流图中的D2

编号:   3

名称:  管理员信息

别名:  管理员

组成: 管理员ID + 管理员姓名 + 处理时间 + (商品信息) + 具体操作  

作用: 管理员收到用户的查询请求后对系统进行操作时对管理员的具体信息进行登记记录

备注: 对应数据流图中的D3

编号:   4

名称:  库存信息

别名:  暂无

组成: 商品分类表 + 仓库库存信息表

作用: 处理出用户所查询的仓库商品信息产生商品清单应答给用户

备注: 对应数据流图中的D4

4、数据流

编号:11

数据流名: 登录界面

数据流来源: 用户

数据流去向: 仓库管理系统

组成:用户 + 登录账号 + 登录密码

作用:  使用户可以正常的登录该系统

编号:12

数据流名: 查询请求

数据流来源: 用户

数据流去向: 仓库管理员

组成:用户 + 功能选择 + 仓库管理员

作用: 将用户想要查询的商品具体信息传给仓库管理员,由仓库管理员访问系统进行操作

编号:13

数据流名: 出/入库请求

数据流来源: 用户

数据流去向: 商品报表

组成:仓库库存表 + 商品分类表 + 出/入库信息 + 用户

作用:  将用户的出/入库信息经处理产生商品报表送给管理员,并实事完成相应操作

编号:14

数据流名: 产生商品清单

数据流来源: 管理员

数据流去向: 用户

组成:仓库库存表 + 商品分类表 + 用户 + 仓库管理员

作用: 仓库管理员接收到用户的查询请求后通过该系统产生相应的商品清单反馈给用户

5、加工逻辑

编号: 21

名称: 登录app

别名: 登录界面

输入: 用户账号 , 用户密码

输出:进入功能选择界面或重新输入/找回密码

加工逻辑:

IF 用户输入正确的用户账号和用户密码

THEN  进入功能选择界面

ELSE  注册/找回密码

备注: 使用户正确的进入仓库管理系统中

编号: 22

名称: 功能选择

别名: 暂无

输入: 对应的功能

输出:重新选择或进入识别系统

加工逻辑:

IF 用户输入正确的功能进行功能匹配

THEN  进入识别系统

ELSE  重新选择

备注:用户通过对功能的选择正确的进入识别系统

编号: 23

名称: 出/入库操作

别名: 暂无

输入: 正确的商品信息

输出:更新出/入库信息,更新库存,产生商品报表

加工逻辑:

IF 用户输入正确的功能进行功能匹配

THEN  进入识别系统

  IF 仓库已满 / 为空

     THEN  无法完成操作(不合法)

     ELSE   产生商品报表,完成操作

ELSE  重新选择

备注:完成用户所选择的出/入库操作

6、外部实体

编号:31

名称: 用户

别名: 暂无

简述: 能使用该系统的基本功能

从外部实体输入: 对应的操作

向外部实体输出: 商品报表

备注: 能通过本系统,用户能通过功能选择在本系统中完成相应的出/入库和查询操作

编号: 32

名称: 仓库管理员

别名: 管理者

简述: 能管理商品报表和进入系统为用户生成商品清单

从外部实体输入:  用户查询请求

向外部实体输出:  具体商品清单

备注:能直接与系统交互,对外部用户是透明的,通过查询请求为用户提供商品清单

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

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

相关文章

年货节电视盒子哪个好?内行分享权威网络电视盒子排行榜

淘宝、京东等已经开始了年货节促销,很多消费者买电视盒子会选择在此时入手,我近来收到了很多关于电视盒子哪个好的咨询,考虑到大家在选购时会参考排行榜,我这次要分享的是网络电视盒子排行榜,目前业内公认最好的电视盒…

LeetCode.2788. 按分隔符拆分字符串

题目 题目链接 分析 题目的意思是给我们一个字符串数组和一个分隔符,让我们按照分隔符把字符串数组分割成新的字符串数组。 看到这个描述,这不就是直接就是利用 按照分隔符分割字符串的系统库函数split(),这个函数的意思就是 把一个字符串…

C++(14.5)——再谈拷贝构造与深浅拷贝

上篇文章中,通过模拟的方式完成了类对象中常用的函数。在本篇文章中,将通过一个例子来进一步说明拷贝构造与深浅拷贝。 目录 1.再谈深浅拷贝与拷贝构造: 2. 流插入与流提取: 2.1 流插入: 2.2 流提取: …

性能优化-OpenCL运行时API介绍

「发表于知乎专栏《移动端算法优化》」 本文首先给出 OpenCL 运行时 API 的整体编程流程图,然后针对每一步介绍使用的运行时 API,讲解 API 参数,并给出编程运行实例。总结运行时 API 使用的注意事项。最后展示基于 OpenCL 的图像转置代码。在…

matlab模型变量一般说明,标定和显示量,以及产生a2l文件,自动填充a2l地址,并使用标定工具ati进行标定(推荐重要)

注意我是用的是matlab2019b 1,输入标定量,使用constant,用cal函数包裹 2,输出显示量,在划线上标注,然后用display函数包裹, 第一步和第二步完成以后,生产标定量a2l 3,输入…

分类预测 | Matlab实现LSTM-Attention-Adaboost基于长短期记忆网络融合注意力机制的Adaboost数据分类预测/故障识别

分类预测 | Matlab实现LSTM-Attention-Adaboost基于长短期记忆网络融合注意力机制的Adaboost数据分类预测/故障识别 目录 分类预测 | Matlab实现LSTM-Attention-Adaboost基于长短期记忆网络融合注意力机制的Adaboost数据分类预测/故障识别分类效果基本描述程序设计参考资料 分类…

2024年【焊工(初级)】考试内容及焊工(初级)新版试题

题库来源:安全生产模拟考试一点通公众号小程序 焊工(初级)考试内容参考答案及焊工(初级)考试试题解析是安全生产模拟考试一点通题库老师及焊工(初级)操作证已考过的学员汇总,相对有…

Centos7 安装redis 详细步骤访问不了github和windows系统下载

windows系统下载 https://hellowindows.cn/ VMware虚拟机安装Windows Server 2016 VL https://blog.csdn.net/qq_37545849/article/details/134828341 VMware全屏时不显示上方命令栏的边缘 此时如果要返回,可以把鼠标移动至屏幕上方边缘短暂停留以呼出命令栏。或使…

MNIST 数据集详析:使用残差网络RESNET识别手写数字(文末送书)

MNIST 数据集已经是一个几乎每个初学者都会接触的数据集, 很多实验、很多模型都会以MNIST 数据集作为训练对象, 不过有些人可能对它还不是很了解, 那么今天我们一起来学习一下MNIST 数据集,同时构建残差网络来识别手写数字。 1.MNIST 介绍 MNIST手写数字数据库具有…

RabbitMQ数据隔离

1、新建用户 2、登录用户,设置虚拟主机 登录用户只能操作自己的虚拟主机,交换机等,不能操作其他人的!!!

【书生·浦语大模型实战营06】《OpenCompass 大模型评测》学习笔记

《OpenCompass 大模型评测》 文档:OpenCompass大模型评测教程 1、主观评测 2、提示词工程 李华每周给2个不同的朋友写一封3页的信,一周写两次。他一年总共写了多少页的信? 李华每周给2个不同的朋友写一封3页的信, 一周写两次。他一年总共…

【数据结构和算法】--- 二叉树(3)--二叉树链式结构的实现(1)

目录 一、二叉树的创建(伪)二、二叉树的遍历2.1 前序遍历2.2 中序遍历2.3 后序遍历 三、二叉树节点个数及高度3.1 二叉树节点个数3.2 二叉树叶子节点个数3.3二叉树第k层节点个数3.4 二叉树查找值为x的节点 四、二叉树的创建(真) 一、二叉树的创建(伪) 在学习二叉树的基本操作前…

OTA 升级软件推荐,附带MD5,CRC16,CRC32,AES算法工具

说明:推荐 OTA 工具软件,可以通过串口按 OTA 协议发送 bin 文件给 MCU,完成 bootloader 升级app 功能 , 这个软件 附带提供 MD5,CRC16,CRC32,AES 算法工具。 文档持续完善中... 1. OTA界面 2.AES.MD5.CRC界面 3.下载链接: 链接: https://p…

逆序对数量(归并排序做法)

先给出上一篇文章归并排序模板-CSDN博客里的归并排序模板&#xff1a; #include<iostream> using namespace std;const int N 100010;int n; int q[N], temp[N];void merge_sort(int q[], int l, int r) {if(l > r) return;int mid (lr) >> 1;merge_sort(q, …

打造专业级ChatGPT风格聊天界面:SpringBoot与Vue实现动态打字机效果,附完整前后端源码

大家好&#xff0c;今天用SpringBoot、vue写了一个仿ChatGPT官网聊天的打字机效果。 所有代码地址:gitee代码地址 &#xff0c;包含前端和后端&#xff0c;可以直接运行 使用本技术实现的项目&#xff1a;aicnn.cn&#xff0c;欢迎大家体验 如果文章知识点有错误的地方&#xf…

HTTPS基本概念

HTTP 与 HTTPS 有哪些区别&#xff1f; HTTP 是超文本传输协议&#xff0c;信息是明文传输&#xff0c;存在安全风险的问题。HTTPS 则解决 HTTP 不安全的缺陷&#xff0c;在 TCP 和 HTTP 网络层之间加入了 SSL/TLS 安全协议&#xff0c;使得报文能够加密传输。HTTP 连接建立相…

VScode 好用的插件合集

VS Code是一个轻量级但功能强大的源代码编辑器&#xff0c;轻量级指的是下载下来的VS Code其实就是一个简单的编辑器&#xff0c;强大指的是支持多种语言的环境插件拓展&#xff0c;也正是因为这种支持插件式安装环境开发让VS Code成为了开发语言工具中的霸主&#xff0c;让其同…

如何保持工业产线业务安全稳定运行?IoT设备敏捷准入方案有诀窍

在工业数字化转型过程中&#xff0c;企业在工业产线和数字化场景&#xff0c;除了面临大量互联网终端&#xff0c;还有传统的工控终端和新加入的物联网&#xff08;IoT&#xff09;设备。在日益严峻的网络攻击面前&#xff0c;工控终端和IoT设备几乎“裸奔”&#xff0c;传统安…

Text Workflow 1.8.2 mac文本转换处理

Text Workflow for mac是一款易于使用但功能强大的应用程序&#xff0c;可将任何文本转换成您需要的格式&#xff0c;以满足您的需求。Text Workflow具有广泛&#xff08;并不断增长&#xff09;的文本转换操作列表&#xff0c;可以实现各种功能。 软件下载&#xff1a;Text Wo…

HarmonyOS 发送http网络请求

好 本文 我们来说 http请求 首先 我们要操作网络内容 需要申请权限 项目中找到 main目录下的module.json5 最下面加上 "requestPermissions": [{"name": "ohos.permission.INTERNET"} ]这里 我在本地写了一个get接口 大家可以想办法 弄一个后…