UML图
├── 结构图(静态)
│ ├── 类图
│ ├── 对象图
│ ├── 组件图
│ ├── 部署图
│ ├── 包图
│ └── 组合结构图
└── 行为图(动态)
├── 用例图
├── 活动图
├── 状态机图
├── 时序图
├── 通信图
├── 交互概览图
└── 时间图
┌──────────────────────┐
│ ClassName │ ← 类名
├──────────────────────┤
│ - privateAttr: Type │ ← 属性
│ # protectedAttr: Type │
│ + publicAttr: Type │
├──────────────────────┤
│ + publicMethod(): Ret │ ← 方法
│ - privateMethod() │
└──────────────────────┘
| 关系 | 符号 | 含义 | 示例 |
|---|
| 依赖 | - - → | A使用B | 方法参数 |
| 关联 | ——→ | A知道B | 成员变量 |
| 聚合 | ◇——→ | A包含B(弱拥有) | 部门-员工 |
| 组合 | ◆——→ | A拥有B(强拥有) | 人-心脏 |
| 泛化 | ——▷ | A继承B | 子类-父类 |
| 实现 | - -▷ | A实现B接口 | 实现类-接口 |
关系强度:依赖 < 关联 < 聚合 < 组合 < 泛化/实现
| 标记 | 含义 |
|---|
| 1 | 恰好一个 |
| 0..1 | 零或一个 |
| * | 任意多个 |
| 1..* | 一个或多个 |
| 0..* | 零或多个 |
参与者A 参与者B 参与者C
│ │ │
│── 请求 ────→│ │
│ │── 调用 ────→│
│ │ │
│ │←─ 返回 ────│
│←─ 响应 ────│ │
│ │ │
| 元素 | 说明 |
|---|
| 参与者 | 交互的对象 |
| 生命线 | 虚线,表示对象存在时间 |
| 激活条 | 矩形条,表示对象正在执行 |
| 同步消息 | 实心箭头,等待返回 |
| 异步消息 | 开放箭头,不等待 |
| 返回消息 | 虚线箭头 |
| 自调用 | 消息指向自身 |
| 操作符 | 含义 |
|---|
| alt | 条件分支(if-else) |
| opt | 可选执行(if) |
| loop | 循环 |
| par | 并行执行 |
| critical | 临界区 |
| break | 中断 |
● (起始节点)
│
▼
┌─────────┐
│ 活动1 │
└────┬────┘
│
◇ (决策)
/ \
│ │
▼ ▼
活动2 活动3
│ │
▼ ▼
◇ (合并)
\ /
│
▼
◉ (终止节点)
| 元素 | 说明 |
|---|
| 起始节点 | 实心圆 |
| 终止节点 | 实心圆加外圈 |
| 活动节点 | 圆角矩形 |
| 决策节点 | 菱形 |
| 合并节点 | 菱形 |
| 分叉/汇合 | 粗横线(并行) |
| 泳道 | 分区表示职责 |
┌──────────┬──────────┬──────────┐
│ 客户端 │ 服务端 │ 数据库 │
│ │ │ │
│ 提交订单 │ │ │
│ │ │ │ │
│ ▼ │ │ │
│ │ 验证订单 │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ │ 保存数据 │
│ │ │ │ │
│ │ │ ▼ │
│ │ 返回结果 │ │
│ │ │ │ │
│ ▼ │ │ │
│ 显示确认 │ │ │
└──────────┴──────────┴──────────┘
● (初始状态)
│
▼
┌─────────┐ 下单 ┌─────────┐ 支付 ┌─────────┐
│ 待下单 │──────→│ 待支付 │──────→│ 已支付 │
└─────────┘ └─────────┘ └─────────┘
│ │
取消订单 发货
│ │
▼ ▼
┌─────────┐ ┌─────────┐
│ 已取消 │ │ 已发货 │
└─────────┘ └─────────┘
│
确认收货
│
▼
┌─────────┐
│ 已完成 │
└─────────┘
| 当前状态 | 事件 | 动作 | 目标状态 |
|---|
| 待下单 | 下单 | 创建订单 | 待支付 |
| 待支付 | 支付 | 处理支付 | 已支付 |
| 待支付 | 取消 | 释放库存 | 已取消 |
| 已支付 | 发货 | 更新物流 | 已发货 |
| 已发货 | 确认收货 | 完成订单 | 已完成 |
展示系统的组件及其依赖关系:
┌─────────────┐ ┌─────────────┐
│ Web前端 │────→│ API网关 │
└─────────────┘ └──────┬──────┘
│
┌────────────┼────────────┐
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ 用户服务 │ │ 订单服务 │ │ 支付服务 │
└──────────┘ └──────────┘ └──────────┘
展示硬件节点和软件部署:
┌──────────────┐ ┌──────────────┐
│ Web服务器 │ │ 应用服务器 │
│ ┌────────┐ │ │ ┌────────┐ │
│ │ Nginx │ │────→│ │ Node.js│ │
│ └────────┘ │ │ └────────┘ │
└──────────────┘ └──────┬───────┘
│
┌──────┴───────┐
│ 数据库服务器 │
│ ┌────────┐ │
│ │ MySQL │ │
│ └────────┘ │
└──────────────┘