UML图详解

00:00
2 min Intermediate 2026/6/14

UML类图、时序图、活动图、状态图等核心图类型详解。

1. UML概述

1.1 UML图分类

UML图
├── 结构图(静态)
│   ├── 类图
│   ├── 对象图
│   ├── 组件图
│   ├── 部署图
│   ├── 包图
│   └── 组合结构图
└── 行为图(动态)
    ├── 用例图
    ├── 活动图
    ├── 状态机图
    ├── 时序图
    ├── 通信图
    ├── 交互概览图
    └── 时间图

2. 类图

2.1 类的表示

┌──────────────────────┐
│      ClassName        │  ← 类名
├──────────────────────┤
│ - privateAttr: Type   │  ← 属性
│ # protectedAttr: Type │
│ + publicAttr: Type    │
├──────────────────────┤
│ + publicMethod(): Ret │  ← 方法
│ - privateMethod()     │
└──────────────────────┘

2.2 类间关系

关系符号含义示例
依赖- - →A使用B方法参数
关联——→A知道B成员变量
聚合◇——→A包含B(弱拥有)部门-员工
组合◆——→A拥有B(强拥有)人-心脏
泛化——▷A继承B子类-父类
实现- -▷A实现B接口实现类-接口

关系强度:依赖 < 关联 < 聚合 < 组合 < 泛化/实现

2.3 多重性

标记含义
1恰好一个
0..1零或一个
*任意多个
1..*一个或多个
0..*零或多个

3. 时序图

3.1 基本元素

参与者A        参与者B        参与者C
  │              │              │
  │── 请求 ────→│              │
  │              │── 调用 ────→│
  │              │              │
  │              │←─ 返回 ────│
  │←─ 响应 ────│              │
  │              │              │
元素说明
参与者交互的对象
生命线虚线,表示对象存在时间
激活条矩形条,表示对象正在执行
同步消息实心箭头,等待返回
异步消息开放箭头,不等待
返回消息虚线箭头
自调用消息指向自身

3.2 组合片段

操作符含义
alt条件分支(if-else)
opt可选执行(if)
loop循环
par并行
critical临界区
break中断

4. 活动图

4.1 基本元素

  ● (起始节点)


┌─────────┐
│  活动1   │
└────┬────┘

     ◇ (决策)
    / \
   │   │
   ▼   ▼
 活动2  活动3
   │   │
   ▼   ▼
   ◇ (合并)
    \ /


  ◉ (终止节点)
元素说明
起始实心圆
终止实心圆加外
活动节点圆角矩形
决策菱形
合并菱形
分叉/汇合粗横线(并行
泳道分区表示职责

4.2 泳道活动图

┌──────────┬──────────┬──────────┐
│  客户端   │  服务端   │  数据库   │
│          │          │          │
│  提交订单 │          │          │
│    │     │          │          │
│    ▼     │          │          │
│          │ 验证订单  │          │
│          │    │     │          │
│          │    ▼     │          │
│          │          │ 保存数据  │
│          │          │    │     │
│          │          │    ▼     │
│          │ 返回结果  │          │
│    │     │          │          │
│    ▼     │          │          │
│  显示确认 │          │          │
└──────────┴──────────┴──────────┘

5. 状态机图

5.1 基本元素

  ● (初始状态)


┌─────────┐  下单  ┌─────────┐  支付  ┌─────────┐
│  待下单  │──────→│  待支付  │──────→│  已支付  │
└─────────┘       └─────────┘       └─────────┘
                        │                 │
                    取消订单           发货
                        │                 │
                        ▼                 ▼
                   ┌─────────┐       ┌─────────┐
                   │  已取消  │       │  已发货  │
                   └─────────┘       └─────────┘

                                       确认收货


                                     ┌─────────┐
                                     │  已完成  │
                                     └─────────┘

5.2 状态转换表

当前状态事件动作目标状态
待下创建订单支付
支付支付处理支付支付
支付取消释放库存取消
支付发货更新发货
发货确认收货完成完成

6. 其他UML图

6.1 组件图

展示系统组件及其依赖关系

┌─────────────┐     ┌─────────────┐
│  Web前端     │────→│  API网关     │
└─────────────┘     └──────┬──────┘

              ┌────────────┼────────────┐
              ▼            ▼            ▼
       ┌──────────┐ ┌──────────┐ ┌──────────┐
       │ 用户服务  │ │ 订单服务  │ │ 支付服务  │
       └──────────┘ └──────────┘ └──────────┘

6.2 部署图

展示硬件软件部署

┌──────────────┐     ┌──────────────┐
│  Web服务器    │     │  应用服务器    │
│  ┌────────┐  │     │  ┌────────┐  │
│  │ Nginx  │  │────→│  │ Node.js│  │
│  └────────┘  │     │  └────────┘  │
└──────────────┘     └──────┬───────┘

                     ┌──────┴───────┐
                     │  数据库服务器  │
                     │  ┌────────┐  │
                     │  │ MySQL  │  │
                     │  └────────┘  │
                     └──────────────┘

知识检测

学习进度

-- 已学文档
--% 知识覆盖率

学习推荐

专注模式