商超仓库管理系统

摘要

随着全球经济和互联网技术的快速发展,依靠互联网技术的各种管理系统逐渐应用到社会的方方面面。各行业的有识之士都逐渐开始意识到过去传统的人工管理模式已经逐渐成为企业发展的绊脚石,不再适应现代企业的发展需要。企业想要得到更好的发展,就要紧跟时代的潮流,通过互联网等高新技术找到适合自己的管理模式。商场超市以往大多也应用传统的仓库管理模式,传统的商超仓库的管理模式一般通过人工进行入库、出库记录,缺点比较明显。针对传统仓库管理的缺点,结合自身所学的知识以及相关参考资料,设计了本套商超仓库管理系统。本套系统使仓库管理更加标准化、规范化,可以让仓库的管理人员从之前繁琐的数据录入登记和查询以及数据统计中解脱出来,大大降低管理人员的工作量,提高了管理人员的工作效率。因此,设计商超仓库管理系统具有现实意义。
本套仓库管理系统有八大功能模块,包括资料管理、采购管理、销售管理、库存管理、统计信息、权限管理、个人信息管理、以及日志信息管理,在各模块下还有相应的子功能。本系统的开发平台是IntelliJ IDEA,前端页面部分主要通过Vue框架实现,后端数据库使用的是MySQL数据库,开发出的是一个基于JavaWeb技术的B/S结构的仓库管理系统,具体框架方面使用的是SpringBoot+MybatisPlus集成框架。
本系统具有开发成本低、易用性高等特点。考虑到系统的安全性,系统添加了日志管理功能,用以记录操作人员和操作时间,防止出现系统信息被恶意篡改却难以追责的情况发生。为了防止用户密码被破解,本系统还在密码上设计了DH5加密,考虑到当下DH5加密破解难度不高,本系统还在DH5加密的基础上增加了盐,大大提高了密码的安全性。在系统设计实现后对本系统进行了测试,确定了该系统符合预定目标,能够满足使用者的需求。

关键词:商超仓库管理;B/S架构;SpringBoot;MybatisPlus;Vue

章节安排

论文共分五部分。
第一部分:绪论,主要介绍了本论文的背景与意义、国内外相关技术的发展状况及未来趋势、论文所做工作及思路以及论文各章节的安排。
第二部分:相关技术介绍,对实现系统的核心技术进行了介绍。主要介绍了SpringBoot、MybatisPlus、vue和MySql数据库等技术。
第三部分:系统分析,包括可行性分析、需求分析、功能分析等。
第四部分:系统设计与实现,包括总体设计、数据库设计、详细设计。数据库设计包括概念结构设计、E_R图、表设计。详细设计包括主要功能模块的时序图、运行结果图。
第五部分:系统测试,包括测试方法、测试过程、测试结果。对系统的主要功能模块进行测试并画出测试结果表。

用例分析

仓库管理信息系统其实就是将仓库业务管理流程信息化的过程,这个系统的建立既要满足仓库工作人员的真正需求,同时也要满足仓库管理员的真正需求,要能够解决他们的实际问题。需求用例图如图3-1所示,具体功能需求解析如下:
1、仓库中货物数据量多,信息量大且十分繁杂,数据需要保证绝对的安全,所以,操作起来相对麻烦。因为系统中有多个角色,所以,需要给不同类型的用户设置不同的操作权限。
2、仓库管理系统主要是针对日常库存信息的管理,主要是要实现出入库管理、仓库剩余库存的查询和对仓库里物品基本情况的操作。
图3-1 需求用例图
在这里插入图片描述

功能性需求分析

1、登录登出功能:登录时用户需凭借账号密码登录,系统进行验证,如账号密码不正确,则提示输入正确的账号密码。可以通过id修改密码。
2、资料管理功能:管理供应商和客户资料,实现按照输入的供应商名称、经营范围动态查询供应商,根据id查询供应商信息,根据供应商id修改供应商负责人名字和电话号码,供应商添加要实现可以普通添加和批量添加。客户管理亦要实现如供应商管理一样的功能。
3、采购管理:要实现查询所有的供应商,查询当前采购员采购车的信息,通过id修改采购价格、数量,通过采购车id移除商品,添加商品。将采购商品入库,根据供应商id或者名称入库。实现采购信息查询,动态分页查询订单,通过输入的条件动态查询采购订单,返回分页对象。通过订单id查询订单信息及明细信息。
4、销售管理:要实现销售出库和销售信息查询功能,销售出库要实现查询所有的客户、通过销售员查询即将出库的物品、通过输入的商品名称、类别动态条件分页查询销售价,将需要出库的物品添加到销售车的功能。销售信息查询功能要实现通过输入的客户名称,起始日期,结束日期动态查询出库订单表、通过销售订单id查询详情功能。
5、库存管理:实现库存一览功能,根据输入的条件动态的查询库存信息。通过库存id查询库存商品对象,通过库存id修改销售价格。
6、销售统计:根据指定的时间段统计每个类别的销售额,输入起始结束日期,根据起始日期,结束日期统计每个类别的销售额,输出销售统计对象(name,value)。根据指定的时间段统计每个品牌每个类别的销售额。统计指定年份,每个类别商品每个月的销售数量。
7、权限管理:根据用户名动态分页查询用户表,添加用户时,用户名不能重复,添加用户信息,同时添加该用户拥有的角色信息,删除用户同时删除角色信息,查询用户时通过id查询用户信息,同时查询该用户拥有的角色集合,权限集合(四表来联,用户表,角色表,用户角色中间表,权限表,权限角色)。通过角色id数组查询角色权限,去除重复权限。可以实现用户角色的修改。
8.角色管理:需实现分页查询角色表集合、通过角色id删除角色、添加角色、修改角色权限、查看角色信息、查询所有的权限信息。

总体设计

在架构选择上,本系统选择了B/S架构,之所以选择B/S架构,首先考虑的是使用便捷性,与C/S架构相比,B/S架构无需安装任何专门的客户端应用程序,电脑上有浏览器就可以远程使用系统。在B/S架构下,客户端只是电脑上的浏览器,无需专门进行维护。如果后期使用客户规模扩大,也不用担心维护升级工作的工作量会大大增加。其次,B/S架构是建立在广域网上,面向不同地域、不同用户群体的,这是C/S架构不具备的优点。B/S架构还具有与操作平台关系较小的特点,系统的功能扩展非常容易。从商超仓库管理系统的扩展性和维护成本以及仓库本身的规模来说,本系统采用B/S(浏览器/服务器)的软件系统架构体系最为合适。
使用B/S模式的系统,服务器维护升级方便而且客户端无需专门下载应用程序,同时具有较好的网络扩展性,可以支持TCP/IP协议直接连接Internet。对于该模式而言,数据和程序的物理位置的重要性已经大幅度降低,使用者只需要知道它的网址即可,所以可以相信B/S模式能够满足该系统的设计需求。
本套仓库管理系统有八大功能模块,包括:销售管理、资料管理、库存管理、采购管理、统计信息、权限管理、个人信息管理、以及日志信息管理,在各模块下还有相应的子功能。资料管理下有供应商管理和客户端管理两个子功能,采购管理下有采购入库和采购信息管理两个子功能,销售管理下有销售出库和销售信息查询两个子功能,库存管理下有库存一览一个子功能,统计管理下有销售统计、月销售统计两个子功能,权限管理下有用户管理、角色管理两个子功能、个人信息管理下有修改密码一个子功能、日志信息管理下有日志一览一个子功能。总体功能图如图4-1所示。
在这里插入图片描述

E_R图

E_R图是数据库设计中必不可少的部分,它关系着数据是否具有完整性。E_R图是否完整决定着实体是否具有完整性,实体是否完整又决定着数据是否完整。实体的完整性是用来对照虚拟操作和现实业务的。实体关系图标示着各数据库间的关联关系。
系统的总体E_R图如图4-2所示,共4个对象,分别是供应商、货物、仓库和用户管理员。供应商有供应商名称、负责人、联系方式、地址、经营范围等属性,货物有商品编号、商品名称、品牌、类别、采购价等属性。用户管理员有角色、用户名、密码、真实姓名、权限等属性,仓库有库存、出库、入库等属性。供应商和货物的关系是供应商供应货物,供应商和用户管理员的关系是用户管理员需要供应商供货,仓库和货物的关系是仓库储存货物。
在这里插入图片描述

系统实现

登录模块实现
用户在登录页面输入账号密码,点击登录后,系统会在数据库中先比对账号是否存在,如果不存在就会提示异常信息,如果账号存在则继续判断密码是否正确,错误就会提示异常信息,正确则登录成功,运行结果如图4-4、4-5所示。
在这里插入图片描述
在这里插入图片描述
采购管理模块
采购管理模块主要是完成商品采购入库功能,具体操作步骤如下:首先选择已有供应商,其次输入商品信息,如商品名称、品牌、采购价和采购数量等,然后系统判断信息是否合法,如果不合法则提示异常,需重新输入,合法则提交信息到数据库,最后给出数据提交结果。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
销售出库模块
销售出库模块主要是完成商品销售出库功能,出库功能具体操作步骤如下:首先选择已有客户,其次输入商品信息,如商品名称、建议零售价、出库数量等,然后点击出库,由系统判断信息是否合法,如果不合法则提示异常,需重新输入,合法则系统会操作数据库减少该种商品的数量,最后给出数据提交结果。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
权限管理模块
权限管理模块主要是用来区分不同用户的不同权限,通过判定账号的权限确定该账号可以使用系统的那些功能。该模块有用户管理和角色管理两个子功能。
在这里插入图片描述
在这里插入图片描述
库存管理模块
库存管理模块的主要功能是查看整个仓库的库存,从而能更清晰的做出采购和销售的决策,该模块下有库存一览一个子功能,库存一览中可以修改商品单价,还可以通过商品名称和商品数量范围搜索仓库中的商品。
在这里插入图片描述
在这里插入图片描述
由于时间有限,没有细描述。如需要参考,可以联系!下方有联系方式!

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

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

相关文章

异地如何共享视频文件?

人们对于信息流动的需求越来越高。尤其在分布式团队合作、远程办公的背景下,异地共享视频文件成为了一项重要的技术需求。本文将介绍一款名为【天联】的组网产品,它能够实现不同地区间快速组建局域网,解决不同设备间的信息远程通信问题。 2.…

【C++题解】1741 - 求出1~n中满足条件的数的个数和总和?

问题:1741 - 求出1~n中满足条件的数的个数和总和? 类型:简单循环 题目描述: 请求出 1∼n 之间所有满足 2 的倍数但不是 3 的倍数的数,有多少个,总和是多少? 输入: 读入一个整数 …

【SpringMVC】第1-7章

第1章 初始SpringMVC 1.1 学习本套教程前的知识储备 JavaSEHTMLCSSJavaScriptVueAJAX axiosThymeleafServletMavenSpring 1.2 什么是MVC MVC架构模式相关课程,在老杜的JavaWeb课程中已经详细的讲解了,如果没有学过的,可以看这个视频&…

PostgreSQL的学习心得和知识总结(一百四十六)|深入理解PostgreSQL数据库之客户端侧auto savepoint的使用和实现

目录结构 注:提前言明 本文借鉴了以下博主、书籍或网站的内容,其列表如下: 1、参考书籍:《PostgreSQL数据库内核分析》 2、参考书籍:《数据库事务处理的艺术:事务管理与并发控制》 3、PostgreSQL数据库仓库…

计算机网络:应用层 - 文件传输协议 FTP 电子邮件

计算机网络:应用层 - 文件传输协议 FTP & 电子邮件 文件传输协议 FTP电子邮件 文件传输协议 FTP 文件传送协议 FTP(File Transfer Protocol),曾是互联网祝频讲解上使用得最广泛的文件传送协议。 其特点是:若要存取一个文件,…

前端基础操作1——利用nvm任意切换(管理)node版本

在实际前端项目开发过程中,同时开发多个项目或者切换新项目时,因为node版本问题造成项目无法运行的问题比比皆是,这时候通过nvm管理切换不同版本的node,就能很快进入开发模式,避免因为环境问题浪费大量精力&#xff0c…

hive on spark 的架构和常见问题 - hive on spark 使用的是 yarn client 模式还是 yarn cluster 模式?

hive on spark 的架构和常见问题 - hive on spark 使用的是 yarn client 模式还是 yarn cluster 模式? 1. 回顾下 spark 的架构图和部署模式 来自官方的经典的 spark 架构图如下: 上述架构图,从进程的角度来讲,有四个角色/组件&…

[C++][数据结构][B-树][上]详细讲解

目录 0.常见的搜索结构1.B树概念2.B-树的插入分析1.流程分析2.插入过程总结 0.常见的搜索结构 种类数据格式时间复杂度顺序查找无要求 O ( N ) O(N) O(N)二分查找有序 O ( l o g 2 N ) O(log_2 N) O(log2​N)二叉搜索树无要求 O ( N ) O(N) O(N)二叉平衡树无要求 O ( l o g 2 …

20212416 2023-2024-2 《移动平台开发与实践》综合实践

移动平台开放综合实践 1.实验内容2.实验过程2.1 确定基础功能2.2 设计UI界面2.3 编写程序运行代码2.4 在基本功能的基础上丰富功能 3. 代码分析3.1设置按钮的点击事件监听器3.2 比分更新模块3.3 比分存储模块 4. 运行结果5.实践中遇到的问题及解决6.学习感悟与思考参考资料 1.实…

k8s中 docker和containerd 镜像相互导入导出

containerd镜像导出并导入docker 1 查看containerd 本地镜像列表 crictl images 2 containerd 导出本地镜像到当前目录下(注意: 导出导入需要指定镜像平台类型 --platform) ctr -n k8s.io images export nacos-server-24-06-30-13-02-…

【windows|007】DHCP服务详解

🍁博主简介: 🏅云计算领域优质创作者 🏅2022年CSDN新星计划python赛道第一名 🏅2022年CSDN原力计划优质作者 ​ 🏅阿里云ACE认证高级工程师 ​ 🏅阿里云开发者社区专家博主 💊交流社…

在阿里云服务器Linux系统上从头到尾实现Webapp的部署(安装卸载JDK、安装Tomcat、安装配置MySQL)

输入yum list | grep jdk 选择 devel是软件包中的典型命名格式 devel表示这个包是开发工具相关的 里面包含内容是最完整的 x86表示cpu架构是x86_64 还有openjdk表示开源版本 输入yum install java-1.8.0-openjdk-devel.x86_64 开始下载 遇到问你 is this ok? 输入y表示ok 输…

计算机网络期末复习——简明扼要介绍考点及相关知识

期末复习的方法论:一般来说,期末复习都是“理论”结合“实践”。 理论,在于要对期末考点有基本的把握。可以询问老师或者师兄,总之要知道考试的重点在哪里。对照教材,勾画考试重点,删去不重要的琐碎知识点。…

【机器学习】深度学习赋能:基于 LSTM 的智能日志异常检测

目录 1. LSTM 简介 2. 日志序列异常检测概述 3. 数据预处理 3.1 日志解析 3.2 数据清洗 3.3 序列化 3.4 特征提取 示例代码 4. 构建 LSTM 模型 4.1 模型结构 4.2 模型构建示例 5. 训练 LSTM 模型 5.1 数据准备 5.2 模型训练 示例代码 6. 异常检测 6.1 异常分数…

QT截图程序三-截取自定义多边形

上一篇文章QT截图程序,可多屏幕截图二,增加调整截图区域功能-CSDN博客描述了如何截取,具备调整边缘功能后已经方便使用了,但是与系统自带的程序相比,似乎没有什么特别,只能截取矩形区域。 如果可以按照自己…

中欧科学家论坛暨第六届人工智能与先进制造国际会议(AIAM2024)

会议日期:2024年10月20-21日 会议地点:德国-法兰克福 会议官网:https://www.iaast.cn/meet/home/Bx130JiM 出版检索:EI、Scopus等数据库收录 【会议简介】 “中欧科学家论坛”由德国、法国、荷兰、瑞士、丹麦、意大利、西班牙…

python爬虫之selenium自动化操作

python爬虫之selenium自动化操作 需求:操作淘宝去掉弹窗广告搜索物品后进入百度回退又前进 selenium模块的基本使用 问题:selenium模块和爬虫之间具有怎样的关联? 1、便捷的获取网站中动态加载的数据 2、便捷实现模拟登录 什么是selenium模块&#x…

java连接kerberos用户认证

文章目录 一、背景二、代码2.1目录2.2配置文件application.properties2.3pom依赖2.4代码AuthProviderConfig配置类CustomConfigurationByKeytab配置类CustomConfigurationByPassword配置类TestControllerMyCallbackHandlerDummyUserDetailsService实现类LdapTest2Application启…

数据结构经典面试之数组——C#和C++篇

文章目录 1. 数组的基本概念与功能2. C#数组创建数组访问数组元素修改数组元素数组排序 3. C数组创建数组访问数组元素修改数组元素数组排序 4. 数组的实际应用与性能优化5. C#数组示例6. C数组示例总结 数组是编程中常用的数据结构之一,它用于存储一系列相同类型的…

算法训练营day15--110.平衡二叉树+ 257. 二叉树的所有路径+ 404.左叶子之和+222.完全二叉树的节点个数

一、110.平衡二叉树 题目链接:https://leetcode.cn/problems/balanced-binary-tree/ 文章讲解:https://programmercarl.com/0110.%E5%B9%B3%E8%A1%A1%E4%BA%8C%E5%8F%89%E6%A0%91.html 视频讲解:https://www.bilibili.com/video/BV1Ug411S7m…