当前位置: 首页 > news >正文

软件工程学习日志2025.12.16

学习主题
仓储管理系统的核心实体关系、功能架构及业务流程建模,掌握Mermaid语法实现可视化图表绘制。

学习内容梳理
一、系统核心实体与关系

  1. 核心实体及字段约束
    Warehouse(仓库):id(主键)、code(唯一编码)、name(名称)、address(地址)、manager(负责人)
    Material(物资):id(主键)、materialCode(唯一编码)、name/spec/materialType(复合唯一)、warehouse(所在仓库名称,文本关联)
    StockMove(出入库单):id(主键)、type(IN/OUT)、material_id(外键关联Material)、warehouse(发生仓库)、createTime(创建时间)

  2. 实体关联规则
    StockMove与Material:N:1强外键关联(material_id → Material.id)
    Material与Warehouse:文本关联(Material.warehouse → Warehouse.name,无数据库外键约束)

二、系统功能架构
仓储管理系统分为三大核心模块,各模块功能如下:

  1. 基础数据管理:物资管理(新增/删除/查询/搜索)、仓库管理(新增/删除/查询)
  2. 作业管理:入库作业、出库作业
  3. 查询统计:库存查询、仓库汇总、单据查询

三、业务流程核心逻辑

  1. 入库流程:选择物资与目标仓库 → 设置Material.warehouse为目标仓库 → 保存物资 → 生成IN类型StockMove → 返回成功并刷新列表
  2. 出库流程:选择物资 → 清空Material.warehouse → 保存物资 → 生成OUT类型StockMove → 返回成功并刷新列表

四、Mermaid图表绘制实践

  1. 问题解决:图表生成失败修复
    失败原因:Mermaid语法兼容性问题(分支逻辑、子图嵌套格式不规范)
    修复方案:
    业务流程图:改用官方推荐的choice节点语法,简化分支逻辑
    数据流图:减少嵌套层级,明确标注数据流编号,添加样式区分实体类型
    兼容处理:移除高版本语法(如复杂classDef),保留核心逻辑适配低版本平台

  2. 关键图表模板(修正版)
    业务流程图(入库/出库):优化分支判断,增加样式区分节点类型
    数据流图(DFD Level0):简化子图结构,标注数据流方向与含义
    拆分版流程:将复杂流程拆分为独立入库/出库图表,降低渲染复杂度

学习难点与解决

  1. 难点:Mermaid语法在不同平台的兼容性差异,导致部分图表渲染失败
    解决:通过Mermaid Live Editor验证语法正确性,移除平台不支持的高级特性,保留核心逻辑;拆分复杂图表为简单子图表。

  2. 难点:实体间文本关联与外键关联的可视化区分
    解决:在ER图中用虚线标注文本关联,实线标注外键关联,添加注释说明关联规则。

学习收获

  1. 掌握仓储管理系统的核心业务模型,理解实体设计、功能划分与流程逻辑的关联性;
  2. 熟练使用Mermaid语法绘制ER图、功能结构图、业务流程图、数据流图,解决语法兼容性问题;
  3. 学会通过拆分图表、简化逻辑、标注说明等方式提升可视化图表的可读性与兼容性。
http://www.jsqmd.com/news/101248/

相关文章:

  • 终极指南:用Applite轻松实现macOS应用管理的完整方案
  • 浏览器端多模态AI处理架构:本地化推理的技术实现路径
  • 小红书数据采集全攻略:xhs工具深度解析与应用实践
  • 黑天鹅养殖技术性价比高的公司
  • Bypass Paywalls Clean完整使用教程:轻松解锁付费新闻的实用方案
  • 人工智能之数字生命---绘画能力的生成2
  • 旧Mac系统升级优化焕新指南:突破官方限制的完美方案
  • 艾尔登法环FPS解锁工具:新手终极配置指南
  • LobeChat深度解析:现代化AI聊天应用框架的技术优势
  • 重庆高铁广告2025最新排行:这五个品牌覆盖千万客流!户外农村墙体/户外LED广告/公交站台广告/机场广告/电梯视频广告高铁广告公司找哪家 - 品牌推荐师
  • LobeChat社区治理模式探索:DAO投票决定方向
  • 华为设备--多生成树全套配置
  • M9A智能助手:重新定义《重返未来:1999》的游戏体验
  • MTKClient终极指南:如何快速解锁联发科设备的完整潜力
  • 最新 CTF 入门实战指南:从认知到参赛的全流程解析
  • BetterNCM终极配置指南:打造专属音乐体验的完整教程
  • 原神智能助手完全攻略:解放双手的自动化游戏体验
  • 为什么日本出了那么多诺贝尔奖,却感觉科技水平落后于现在的中国呢?
  • OBS直播音频优化终极指南:从噪音到专业音质的蜕变之路
  • 终极B站视频下载指南:专业级超高清内容获取方案
  • 阴阳师自动化脚本:5分钟让你的百鬼夜行效率提升300%
  • LobeChat能否实现思维发散引导?头脑风暴AI教练
  • 给 AI 装上“员工手册”:如何用Rules 给文心快码 (Comate) 赋能提效?
  • DDU工具深度解析:显卡驱动彻底清理的技术原理与实战指南
  • 人工智能之数字生命--工程实践:获取高精度轮廓等信息
  • github的使用
  • 现在数字生命已经能“看清物体的内部结构”了!
  • LobeChat能否用于生成社交媒体帖子?内容运营自动化
  • 3步搞定!文泉驿微米黑字体跨平台安装与美化全攻略
  • 终极GDriveDL使用指南:快速掌握Google Drive下载技巧