首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >基于SBR对象-行为-规则的可视化建模规范V2版本,输出可视化的SVG逻辑图

基于SBR对象-行为-规则的可视化建模规范V2版本,输出可视化的SVG逻辑图

作者头像
人月聊IT
发布2026-06-29 10:26:32
发布2026-06-29 10:26:32
1170
举报

大家好,我是人月聊IT。

今天继续分享我前面设计的SBR对象,行为,规则的SVG可视化建模规范文件。因为周末我对其做了一次优化和更新,更新后在SVG图的输出上,布局和设计更加美观,逻辑也更加清晰。

实际我当初设计这套SBR可视化建模的核心思路就是,对于现实世界中任何事物的理解,都需要动态+静态结合。通过打开黑盒,从外在表象深入到事物内在的组成结构,观察和分析事物内部组件,组件关系,组件间行为协同,组件间的相互影响和作用。通过对象,行为,规则如何构建一个完整的整体。这和我在讲思维框架逻辑的时候,谈到的事物认知和分析方法是一个道理。

我们来做下简单验证。

输出我前面构建的本体建模核心逻辑模型,如下:

SVG图已输出。以下是本次SBR v2建模的完整分析过程说明:

前置分析(类型A:完整文章抽象)

从1500行规范中提炼出三维结构:

结构(S):识别出8个核心模型组件,按依赖关系分为4个横向层次——基础层(M1)、行为层(M2/M3/M5)、编排层(ME/M4)、保障层(M6/M7)。

行为(B):每个模型节点点击可触发追问,展示其核心职责:M1定义数据契约,M2定义原子行为,ME独立承载事件链,M4负责场景编排,M6/M7分别提供补偿和NFR标注。

关系(R):从文档第1.3节的依赖矩阵抽象出两类连线——实线(依赖/引用关系,如M1→M2→ME→M4的主干链路)和虚线(标注关系,如M2/M4→M6/M7的QoS标注)。所有连线均采用贝塞尔曲线,M2→M6和M2→M7的长距离跨层连线分别从左右边距绕行,避免穿越中间组件。

可点击交互:每个模型节点均可点击,会自动发起追问以深入了解该模型的细节设计。

接着输出华为ISC集成供应链模型:

图已输出,所有节点均可点击追问。以下是本次SBR v2建模的核心设计思路说明:

三维抽象结果

结构(S):识别出9个核心组件,分属4个横向层次——顶部计划层(S&OP中枢 + 需求/供应/财务三计划)、中部执行层(供应商→Source→Make→Deliver→客户的SCOR五流程)、反馈层(Return闭环)、底部IT数字底座(ERP/APS/SRM/MES/WMS/CRM六系统)。

行为(B):每层有明确职责。S&OP是计划中枢,执行18月滚动预测、月度计划协同会、Gap识别与决策——这是华为ISC区别于传统"救火式"供应链的核心所在,体现"计划先行"原则。SCOR四个执行流程各有其关键行为标注(APS排产、AATP承诺交期、VMI协同等)。

关系(R):体现了ISC最本质的三流架构——<u>实物流</u>从左到右(绿色粗箭头,供应商→客户);<u>信息流</u>从右到左(橙色,客户需求信号逆向传递、消除长鞭效应);<u>资金流</u>从右到左(绿色细箭头,货款结算链路)。S&OP计划指令纵向下发到各执行节点,Return通过下弧贝塞尔曲线形成闭环反馈,避免与主流程线交叉。

这正是华为ISC的核心逻辑:ISC并非单纯的物质供应链,而是对供应链中信息流、物流和资金流进行设计、规划和控制,以S&OP计划中枢为大脑,SCOR五大流程为骨架,IT系统集成为神经网络,端到端打通从供应商到客户的全链路。

接着输出Loop Engineering循环工程。

图已输出,所有组件节点均可点击追问。以下是本次SBR v2建模的核心说明:

三维抽象结果

结构(S) 识别出7个核心组件,形成三个同心圈层:最外层是人类工程师(监督而不介入);中间圈是外循环四节点——目标定义(六边形,Loop的发动机)→ 触发器/调度 → Agent执行核 → 评估器,顺时针流动;内侧支撑层是记忆/状态外置工具/连接器,贯穿多个节点。

行为(B) 有两个层次的循环被显式建模:外循环(Loop主体)是目标导向的迭代——触发→执行→评估→[达标退出 / 未达标修正重来];内循环(Agent ReAct)嵌套在Agent执行核组件内部——感知→推理→行动→观察→再感知,属于单次迭代内的推理机制。两层循环的嵌套关系是Loop Engineering区别于简单脚本的本质所在。

关系(R) 最关键的三条关系:①评估器的"未达标"弧线绕到图顶部回到目标定义层(贝塞尔上弧,避免穿越主区域);②记忆层与Agent双向读写,并向上喂养触发器启动下一轮次;③人类工程师通过虚线从顶部延伸到输出端,体现"验收责任不可转移"——无人值守的循环也是无人值守地犯错,最终验收责任仍完全在人类工程师。底部风险区块补充了停止条件/理解债务/认知投降三大设计约束,完整呈现这一范式的边界意识

一、核心建模理念

1.1 三维理解框架

任何复杂事物的完整理解需要同时把握三个维度:

  • 结构维度(Structure):事物由哪些组件构成?各组件的属性是什么?
  • 行为维度(Behavior):各组件对外提供什么功能?如何响应外部刺激?
  • 关系维度(Relation):组件间如何交互?信息/能量/物质如何流动?

核心原则:只有同时建模这三个维度,才能真正理解事物的"内在机制"和"外在表现"之间的因果关系。


二、建模前置处理规则(新增)

在进行任何SVG绘制之前,必须先完成以下前置分析步骤:

2.1 输入类型判断

类型A:完整文章/文档输入

  1. 通读全文,识别文章的核心主题和论述结构
  2. 抽象提炼:从文中识别出关键结构体(名词性概念)、行为(动词性过程)、关系(连接词/因果/依赖)
  3. 精简聚焦:保留5-9个最核心的组件,舍弃细节枝节
  4. 完成SBR三维映射后,再进入绘制阶段

类型B:一句话/短描述输入

  1. 基于该描述,围绕Structure-Behavior-Relation三个维度主动扩展内容
  2. 推断该系统应有的组件、各组件的典型行为、组件间的逻辑关系
  3. 形成完整的组件清单和关系图谱后,再进入绘制阶段

禁止跳过前置分析直接绘图。绘图质量取决于建模分析的深度。


三、SVG建模元素规范

3.1 组件(Component)表示法

基本形状约定
代码语言:javascript
复制
• 矩形:基础功能组件(如模块、子系统)
• 圆角矩形:有状态的组件(如带记忆的系统)
• 六边形:决策/控制组件(如调度器、协调器)
• 圆形/椭圆:数据存储或资源池(如知识库、缓存)
• 菱形:判断/分支节点(如条件判断)
• 云形:外部系统或环境(如用户、外部API)
组件标注要素

每个组件应包含:

  1. 名称(组件标识,必须在形状框内显示,不得溢出)
  2. 核心属性(关键状态变量,用小字标注,可选)
  3. 对外接口(输入/输出端口,用小圆点或箭头起点表示,可选)
组件文字约束(严格执行)
  • 组件名称优先使用缩略语(如"推理引擎"而非"大模型推理执行引擎")
  • 单行文字超出框宽时,必须换行为两行,不得单行超出
  • 禁止出现文字超出形状边界的情况
  • 字号建议:标题12-14px,副文字10-11px,属性标注9-10px

3.2 行为(Behavior)表示法

接口/功能标注
代码语言:javascript
复制
输入接口:用实心小圆●表示(左侧或顶部)
输出接口:用空心小圆○表示(右侧或底部)
双向接口:用菱形◆表示
行为描述方式
  • 静态功能:直接在组件内用文字列出(如"规划"、"执行"、"反思")
  • 动态过程:用序号标注执行顺序(如①→②→③)
  • 触发条件:用虚线框标注触发条件(如"当错误>3次")

3.3 关系(Relation)表示法

箭头类型约定
代码语言:javascript
复制
实线箭头 →   : 数据流/信息流(如传递消息)
虚线箭头 ⇢   : 控制流/触发关系(如启动、调用)
双向箭头 ⟷  : 双向交互(如请求-响应)
粗箭头 ⟹    : 主流程/关键路径
点线箭头 ··→ : 反馈/监控信号(如状态上报)
关系标注要素

每条连接线应标注:

  1. 流动内容(传递的是什么?如"查询请求"、"执行结果")
  2. 流动条件(可选,如"当满足X条件时")
  3. 流动顺序(可选,用数字标注先后)
连接线防交叉规则(严格执行)
  • 优先通过组件布局规避交叉:建模时将频繁交互的组件相邻放置
  • 必须使用贝塞尔曲线替代直线连接,通过控制点绕过障碍组件
  • 贝塞尔路径示例:<path d="M x1,y1 C cx1,cy1 cx2,cy2 x2,y2" .../>
  • 控制点设计原则:让曲线从障碍组件的上方或下方绕行,避免穿越其他组件
  • 反馈回路箭头应统一走图形外围(上弧或下弧),不穿越内部组件区域
  • 若两条线必须交叉,优先考虑调整布局,其次考虑用颜色区分两条线

四、SVG画布与布局规范(核心规范)

4.1 画布规格(固定不变)

代码语言:javascript
复制
画布尺寸:1600 × 900(横向16:9比例)
坐标原点:左上角 (0, 0)
中心点:(800, 450)

4.2 分层布局优先级

规则一:有横向分层时,优先划分横向层次带

将画布纵向切分为若干层次带(Layer),每层对应一类组件角色:

代码语言:javascript
复制
典型四层布局示例(纵向分带):
┌─────────────────────────────────────────────────────────────┐  Y: 0
│  外部环境层(用户/外部系统)                                    │  Y: 80-180
├─────────────────────────────────────────────────────────────┤  Y: 200
│  输入处理层(接收/解析/转换)                                   │  Y: 220-370
├─────────────────────────────────────────────────────────────┤  Y: 390
│  核心处理层(推理/决策/执行)                                   │  Y: 410-560
├─────────────────────────────────────────────────────────────┤  Y: 580
│  输出/存储层(输出/持久化/反馈)                                 │  Y: 600-750
└─────────────────────────────────────────────────────────────┘  Y: 900

规则二:有流程阶段时,从左到右体现阶段顺序

将画布横向切分为若干阶段带(Stage),每段对应一个流程阶段:

代码语言:javascript
复制
典型五阶段布局示例(横向分段):
X:  0   320   640   960   1280   1600
    │     │     │     │      │      │
    │ 阶段1│ 阶段2│ 阶段3│ 阶段4 │阶段5│
    │ 输入 │ 处理 │ 推理 │ 验证  │输出 │

规则三:层次与阶段同时存在时,矩阵式布局

行 = 层次(纵向),列 = 阶段(横向),每格放置对应组件。

4.3 整体均衡原则

  • 重心居中:所有组件的视觉重心应尽量靠近画布中心点 (800, 450)
  • 四象限平衡:左上、右上、左下、右下四个象限的组件数量和视觉重量基本均等
  • 内容少时:组件围绕中心点展开,外围留白,不强行拉伸或堆砌
  • 禁止头重脚轻:不允许组件集中在顶部或左侧,底部/右侧空白过多

4.4 组件尺寸参考

代码语言:javascript
复制
标准矩形组件:160×70 px(宽×高)
大型核心组件:200×90 px
小型辅助组件:130×55 px
组件间最小间距:40 px

五、建模流程指引

5.1 第一步:前置分析(参见第二章)

根据输入类型(文章/短描述),完成SBR三维抽象。

5.2 第二步:识别核心组件

代码语言:javascript
复制
请列出[系统名称]的核心组件(5-9个为宜),每个组件说明:
- 组件名称(简短,优先缩略语)
- 主要职责(一句话)
- 关键属性(2-3个,可选)
- 推荐的SVG形状
- 所属层次/阶段

5.3 第三步:定义组件行为

代码语言:javascript
复制
对于组件[组件名],请说明:
- 对外提供的接口/功能(输入什么→处理什么→输出什么)
- 内部关键处理步骤(可选)
- 触发条件或执行规则

5.4 第四步:规划交互关系与连线路径

代码语言:javascript
复制
请描述组件间的交互,并说明连线路径规划:
- 从[组件A]到[组件B]:传递什么信息?何时传递?
- 连线类型:数据流/控制流/反馈流?
- 路径规划:直连还是需要弯曲绕行?弯曲方向(上绕/下绕)?
- 是否存在潜在交叉?如何通过贝塞尔曲线回避?

5.5 第五步:整体布局规划

代码语言:javascript
复制
请按以下步骤规划1600×900画布布局:
1. 确定分层或分阶段策略(横向分层/纵向分段/矩阵)
2. 为每个组件分配坐标区域(中心点x, y)
3. 检查四象限平衡性
4. 标记主流程路径(关键路径用粗箭头)
5. 规划反馈回路走向(外围弧线)

六、SVG绘制提示语模板

6.1 完整建模提示语(通用版)

代码语言:javascript
复制
【系统名称】:[填写系统名称]

【输入类型】:[完整文章 / 一句话描述]

【前置分析结果】:
(如果是完整文章,在此填写抽象后的核心结构/行为/关系;
 如果是一句话,在此填写扩展后的完整内容框架)

【组件清单】:(5-9个)
1. [组件1名称](形状:矩形 | 层次/阶段:第X层/第Y阶段)
   - 职责:[一句话]
   - 属性:[属性1], [属性2]
   - 行为:[输入]→[处理]→[输出]

2. [组件2名称](形状:圆角矩形 | 层次/阶段:第X层/第Y阶段)
   - 职责:[一句话]
   - 属性:[属性1], [属性2]
   - 行为:[输入]→[处理]→[输出]

(以此类推...)

【交互关系】:
- [组件1] → [组件2]:传递[数据类型],类型:数据流
- [组件2] ⇢ [组件3]:控制信号,类型:控制流,绕行方式:上弧
- [组件3] ··→ [组件1]:反馈[状态信息],类型:反馈流,走外围下弧

【连通性检查】:
- 确认每个组件至少有一条输入连线或输出连线
- 无孤立组件(所有组件都通过连线形成整体网络)

【关键流程】:
描述一个完整业务场景从输入到输出的全过程,标注经过的组件及顺序(①②③...)

【布局规划】:
- 画布:1600×900,中心点 (800, 450)
- 布局策略:[横向分层 / 纵向分阶段 / 矩阵式 / 中心辐射]
- 层次划分:[第一层: 组件A,B | 第二层: 组件C,D | ...]
- 均衡性:[说明如何保证上下左右平衡]

【SVG绘制要求】:
1. 画布固定1600×900,横向布局
2. 优先横向分层,有流程阶段时从左到右体现
3. 整体重心居中,上下左右视觉均衡,不头重脚轻
4. 所有连接线使用贝塞尔曲线,避免交叉
5. 组件文字严禁超出形状框,超长文字换行为两行
6. 所有组件通过连线形成整体,不存在孤立组件
7. 配色方案:[浅色背景/深色组件] 或 [自定义]
8. 包含图例:说明形状含义、箭头类型含义

七、高级建模技巧

7.1 多层次建模

当系统过于复杂时,采用"洋葱模型"分层绘制:

  • L1-外观视图:系统整体与外部环境交互(≤5个组件)
  • L2-架构视图:展开为3-5个主要子系统
  • L3-细节视图:针对单个子系统展开内部组件

每层独立生成一张1600×900图。

7.2 动态建模

表示系统随时间演化:

  • 用时间轴(横向,从左到右)表示不同阶段
  • 用状态转移图表示组件状态变化
  • 用序列图表示多组件协同的时序

7.3 对比建模

同时展示两种场景,画布左半(0-780)与右半(820-1600)各放一套:

  • 正常流程 vs 异常流程
  • 优化前 vs 优化后
  • 方案A vs 方案B

中间留20px分隔线。


八、质量检查清单

完成建模后,逐项检查:

前置分析

  • [ ] 已完成SBR三维抽象(文章)或扩展(短描述)
  • [ ] 组件数量控制在5-9个

结构完整性

  • [ ] 所有关键组件都已识别,职责边界清晰
  • [ ] 组件形状选择符合规范约定

行为明确性

  • [ ] 每个组件的输入/输出已说明
  • [ ] 关键处理逻辑已可视化

关系清晰性

  • [ ] 所有交互路径已绘制
  • [ ] 无孤立组件(每个组件至少有一条连线)
  • [ ] 连接线无交叉,或已通过贝塞尔曲线最大程度规避

画布与布局

  • [ ] 画布尺寸为1600×900
  • [ ] 横向分层或左右流程阶段布局已实施
  • [ ] 整体重心居中,四象限视觉均衡
  • [ ] 无头重脚轻情况

文字规范

  • [ ] 所有组件文字未超出形状框
  • [ ] 超长文字已换行为两行

可读性

  • [ ] 包含图例(形状含义 + 箭头类型)
  • [ ] 非专业人员能看懂70%以上内容
  • [ ] 主次流程通过颜色/线宽区分清楚

九、示例应用场景

  • 软件系统架构:微服务交互、数据流管道
  • 业务流程:订单处理、用户旅程
  • AI系统:Agent架构、多模型协同
  • 组织结构:部门协作、决策流程
  • 自然系统:生态循环、神经网络
  • 抽象概念:学习过程、创新机制

十、工具建议

AI辅助生成

  • 使用本规范向Claude描述,生成SVG代码
  • 使用Mermaid语法生成基础图形,再手工美化

人工绘制工具

  • Draw.io / Diagrams.net(免费,支持导出SVG)
  • Excalidraw(手绘风格,适合快速草图)
  • Figma(专业设计工具)

编程生成

  • D3.js(适合数据驱动的动态图)
  • Python + svgwrite(适合批量生成)

附录A:颜色与样式建议

组件配色

代码语言:javascript
复制
输入组件:浅蓝色   #E3F2FD(边框 #1976D2)
处理组件:浅绿色   #E8F5E9(边框 #388E3C)
存储组件:浅黄色   #FFF9C4(边框 #F9A825)
输出组件:浅橙色   #FFE0B2(边框 #E65100)
控制组件:浅紫色   #F3E5F5(边框 #7B1FA2)
外部环境:浅灰色   #F5F5F5(边框 #757575)

箭头配色

代码语言:javascript
复制
数据流:深蓝色   #1976D2(实线)
控制流:深绿色   #388E3C(虚线)
反馈流:橙色     #F57C00(点线)
关键路径:红色加粗 #D32F2F(粗实线,stroke-width: 3)

附录B:贝塞尔曲线连接线示例

基本用法

代码语言:javascript
复制
<!-- 标准数据流:从A (300,200) 到 B (700,400),从下方绕行 -->
<path d="M 300,200 C 300,350 700,350 700,400"
      stroke="#1976D2" stroke-width="2" fill="none"
      marker-end="url(#arrow-blue)"/>

<!-- 反馈回路:从C (900,300) 回到 A (300,300),走上方弧线 -->
<path d="M 900,300 C 900,150 300,150 300,300"
      stroke="#F57C00" stroke-width="1.5" fill="none" stroke-dasharray="5,3"
      marker-end="url(#arrow-orange)"/>

<!-- 控制流:绕过中间组件 -->
<path d="M 200,450 C 200,600 800,600 800,450"
      stroke="#388E3C" stroke-width="1.5" fill="none" stroke-dasharray="8,4"
      marker-end="url(#arrow-green)"/>

箭头标记定义(在 <defs> 中声明)

代码语言:javascript
复制
<defs>
  <marker id="arrow-blue" markerWidth="10" markerHeight="7"
          refX="10" refY="3.5" orient="auto">
    <polygon points="0 0, 10 3.5, 0 7" fill="#1976D2"/>
</marker>
<marker id="arrow-green" markerWidth="10" markerHeight="7"
          refX="10" refY="3.5" orient="auto">
    <polygon points="0 0, 10 3.5, 0 7" fill="#388E3C"/>
</marker>
<marker id="arrow-orange" markerWidth="10" markerHeight="7"
          refX="10" refY="3.5" orient="auto">
    <polygon points="0 0, 10 3.5, 0 7" fill="#F57C00"/>
</marker>
<marker id="arrow-red" markerWidth="10" markerHeight="7"
          refX="10" refY="3.5" orient="auto">
    <polygon points="0 0, 10 3.5, 0 7" fill="#D32F2F"/>
</marker>
</defs>

版本:v2.0更新日期:2026-06-28主要变更:新增前置分析规则、固定1600×900画布、强化布局均衡原则、增加连接线防交叉规范(贝塞尔曲线)、严格文字溢出约束、新增孤立组件禁止规则、增加贝塞尔曲线代码示例附录适用对象:需要理解复杂系统的分析师、设计师、教育者、研究者。、

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-06-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 人月聊IT 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、核心建模理念
    • 1.1 三维理解框架
  • 二、建模前置处理规则(新增)
    • 2.1 输入类型判断
  • 三、SVG建模元素规范
    • 3.1 组件(Component)表示法
      • 基本形状约定
      • 组件标注要素
      • 组件文字约束(严格执行)
    • 3.2 行为(Behavior)表示法
      • 接口/功能标注
      • 行为描述方式
    • 3.3 关系(Relation)表示法
      • 箭头类型约定
      • 关系标注要素
      • 连接线防交叉规则(严格执行)
  • 四、SVG画布与布局规范(核心规范)
    • 4.1 画布规格(固定不变)
    • 4.2 分层布局优先级
    • 4.3 整体均衡原则
    • 4.4 组件尺寸参考
  • 五、建模流程指引
    • 5.1 第一步:前置分析(参见第二章)
    • 5.2 第二步:识别核心组件
    • 5.3 第三步:定义组件行为
    • 5.4 第四步:规划交互关系与连线路径
    • 5.5 第五步:整体布局规划
  • 六、SVG绘制提示语模板
    • 6.1 完整建模提示语(通用版)
  • 七、高级建模技巧
    • 7.1 多层次建模
    • 7.2 动态建模
    • 7.3 对比建模
  • 八、质量检查清单
  • 九、示例应用场景
  • 十、工具建议
  • 附录A:颜色与样式建议
    • 组件配色
    • 箭头配色
  • 附录B:贝塞尔曲线连接线示例
    • 基本用法
    • 箭头标记定义(在 <defs> 中声明)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档