2. 流程建模符号与规范约定

适用场景

本章定义的符号与规范适用于以下场景:

  • IoT 设备与云端交互流程的图形化建模,包括数据上报、命令下发、OTA 升级、设备注册与鉴权等核心流程。
  • 跨团队(嵌入式、云端平台、SaaS 应用)协作时,使用统一建模语言对齐流程逻辑。
  • 流程文档化与自动化测试用例生成,需从流程图直接推导验收条件。
  • 评审与变更管理环节,确保所有参与者对符号语义理解一致。

前置条件

  • 已完成 第1章 流程建模环境搭建,安装并配置好流程建模工具(如 Draw.io、Camunda Modeler 或 PlantUML)。
  • 团队成员已约定使用本章定义的 BPMN 简易子集与状态机图元素,避免使用未授权的扩展符号。
  • 已明确建模目标:当前流程应覆盖从设备侧触发到云端响应确认的完整闭环。

操作步骤

  1. 选取符号集合 – 根据流程类型选择对应符号体系:
    • 数据上报 / 命令下发 → 使用 BPMN 简易子集
    • 设备状态管理(如激活、离线、OTA) → 使用状态机图元素
    • 决策分支、超时重试 → 结合标准流程图符号
  2. 绘制流程骨架 – 使用开始事件/初始状态作为起点,结束事件/最终状态作为终点,中间插入任务/状态节点。
  3. 添加网关或判断 – 在需要分支合并处使用 BPMN 排他网关或标准流程图菱形判断。
  4. 标注连接线 – 带箭头的实线表示顺序流,虚线表示消息流或事件触发,并在线上标注触发条件(如“超时 30s”或“响应码 200”)。
  5. 校验符号一致性 – 使用下方表格检查所有符号是否符合规范约定,修正非标准用法。

输入与输出物

类别 输入物 输出物
标准流程图 流程需求文档(含业务规则) 标准流程图(.png / .svg / .bpmn)
BPMN 简易子集 参与角色列表、事件触发条件 BPMN 协作图(含泳道)
状态机图 设备生命周期状态定义、迁移事件表 状态机图(含初始/最终状态)
符号规范自查表 建模工具符号库配置 完成自查签字的规范检查单

责任边界

  • 流程建模师:负责选择正确的符号体系,保证图中所有节点与线型符合本章约定。
  • 业务分析师:确认流程语义(如判断条件、事件类型)是否准确反映真实业务逻辑。
  • 开发代表(嵌入式/云端):验证建模结果能否直接对应到代码实现或配置定义。
  • QA 工程师:从流程图中提取测试路径,审核分支覆盖是否完整。

记录材料

材料名称 格式 存储位置 保管人
符号规范说明文档 .md / .pdf 项目文档库 /docs/spec/ 流程建模师
符号自查检查单 .xlsx / .csv 项目文档库 /docs/checklist/ QA 工程师
历史版本流程图 .svg Git 仓库 /diagrams/ 目录 全团队

异常处理

常见符号误用与纠正
  • 误将 BPMN 排他网关画成标准流程图菱形 – 两者语义相似,但 BPMN 排他网关默认不包含业务逻辑判断文本,需在网关上标注条件表达式。
  • 状态机图中迁移线上缺少事件标签 – 必须标注触发事件(如 MQTT DISCONNECT、attribute_change),否则迁移不可达。
  • 使用 BPMN 消息流代替关联线连接状态机图元素 – 状态机图内仅使用实线迁移箭头,不使用虚线消息流。
  • 起点/终点符号重复 – 每个流程或状态机图只允许一个初始状态/开始事件和一个最终状态/结束事件,多起点必须合并。
工具级异常处理 – 若建模工具不支持 BPMN 简易子集所有元素(如忽略事件定义),应使用注释框说明,并在图外附加文字规范。

验收标准

  1. 流程图中的所有节点均可在下方 规范约定对照表 中找到对应符号,无自定义或模糊图形。
  2. 每个分支/判断节点均有明确的条件标签,且条件覆盖所有业务可能。
  3. 状态机图中每个迁移线都标注了触发事件或超时条件,且迁移方向单向正确。
  4. 输出文件命名遵循 项目名_流程名_版本号.svg,并存放在指定 Git 目录。
  5. 符号自查检查单所有项为 通过,并由至少两人签字确认。
规范约定对照表 – 以下表格列出了本章强制使用的符号及其语义,建模过程中应随时对照。
符号体系 图形 名称 描述
标准流程图 圆角矩形 开始 / 结束 流程起点或终点,仅能出现一次
矩形 处理 / 任务 执行的具体操作,如“解析消息”“更新影子属性”
菱形 判断 决策点,有两条及以上输出线,线上标条件
BPMN 简易子集 圆 开始事件 流程触发(消息、时间、条件)
圆角矩形(带加号) 任务 需人机执行的工作,可细化子流程
菱形(内部 ×) 排他网关 仅选择一个分支执行
粗圆(双线) 结束事件 流程终止
状态机图 圆角矩形 状态 设备所处的稳定阶段,如“在线”“OTA 下载中”
实线箭头 + 事件标签 迁移 从一个状态到另一个状态,附触发条件
实心圆 → 空心圆 初始状态 / 最终状态 生命周期起点与终点
第2章 流程建模符号体系概览 流程建模符号体系概览 标准流程图符号 开始 处理 判断 结束 BPMN 简易子集 开始 任务 排他网关 结束 状态机图元素 在线 属性变化 OTA中 超时 完成 符号使用注意事项 • 三种符号体系允许在同一个流程图中混用,但必须明确标注所属体系。 • BPMN 开始事件支持细分子类型(消息、定时器),需在元素旁文本注明。 • 状态机图迁移线上必须写触发事件或条件;禁止无标注的迁移箭头。 • 同一流程中不允许混合使用不同体系的“结束”符号,应全流程统一。
什么时候选择哪种符号? – 以下对比可辅助决策。
流程特征 推荐符号体系 原因
设备注册、数据上报等线性顺序流程 标准流程图 / BPMN 简易子集 易于表达顺序步骤,判断分支清晰
涉及多个参与者(设备、云端、用户) BPMN 简易子集 + 泳道 泳道能直观区分责任主体
设备生命周期状态切换(如在线→离线→固件升级) 状态机图 适合表达状态稳定、迁移条件明确的长周期行为
同时包含业务分支和设备状态变化 混合(主流程用 BPMN,内部调用状态机) 通过“子流程”元素或状态引用框链接两种图