当前位置: 首页 > 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.zskr.cn/news/112038.html

相关文章:

  • 终极指南:用Applite轻松实现macOS应用管理的完整方案
  • 小红书数据采集全攻略:xhs工具深度解析与应用实践
  • 艾尔登法环FPS解锁工具:新手终极配置指南
  • 人工智能之数字生命---绘画能力的生成2
  • 重庆高铁广告2025最新排行:这五个品牌覆盖千万客流!户外农村墙体/户外LED广告/公交站台广告/机场广告/电梯视频广告高铁广告公司找哪家 - 品牌推荐师
  • OBS直播音频优化终极指南:从噪音到专业音质的蜕变之路
  • 终极B站视频下载指南:专业级超高清内容获取方案
  • 给 AI 装上“员工手册”:如何用Rules 给文心快码 (Comate) 赋能提效?
  • 人工智能之数字生命--工程实践:获取高精度轮廓等信息
  • 医疗PINN漏生物力学约束 手术导航轨迹全偏 补物理方程才校准
  • LobeChat能否用于生成社交媒体帖子?内容运营自动化
  • LobeChat能否生成PPT大纲?办公提效小技巧
  • ComfyUI-Manager界面按钮消失问题全解析与解决方案
  • APS系统实战解析:如何为制造巨头构建全局协同的智能调度中枢?
  • 告别微信单设备限制:WeChatPad平板模式全攻略
  • Visual C++运行库一站式管理解决方案:告别依赖冲突与版本混乱
  • 智能活动管理系统终极指南:3分钟快速部署年会抽奖解决方案
  • 终极NVIDIA Profile Inspector显卡优化完整指南:解锁隐藏设置提升游戏性能
  • 实战指南:Python金融数据分析利器Mootdx通达信接口深度应用
  • VUE3:深入浅出探究pinia、provide\inject在多层组件页面是怎么使用的
  • zotero-gpt终极指南:AI驱动的文献智能筛选革命
  • SillyTavern一键迁移宝典:零数据丢失的AI对话前端升级全攻略
  • WeChatPad:3分钟搞定微信双设备同时在线,告别扫码烦恼!
  • 基于Selenium的自动化Web数据采集实践
  • 谷歌传奇“院士”:Gemini核心秘方不会公开!大模型推理还有很大降本空间!AGI太远,我更喜欢3~5年的研究,登月计划:医疗
  • 天坑termius重置密码机制
  • 【神器】locoloader
  • Zotero GPT:用AI重新定义文献管理效率
  • 当连锁巡检“听懂人话”:VLM技术下的智能运营新场景
  • LobeChat与LangChain结合应用:打造复杂AI工作流