UML图分类总结
概述
UML(统一建模语言)图分为两大类:结构图(静态图)和行为图(动态图)。
结构图(静态图)
描述系统的静态结构,不随时间变化。
1. 类图(Class Diagram)
- 特性:描述类、接口、协作和它们之间的关系
- 侧重点:静态结构设计,是面向对象设计的核心
- 包含元素:类、接口、关联、泛化、依赖、聚合、组合、实现
- 使用场景:详细设计阶段,描述系统静态结构
2. 对象图(Object Diagram)
- 特性:描述某一时刻对象及其关系(快照)
- 侧重点:实例 snapshot,展示系统在某一时刻的状态
- 包含元素:对象、链接
- 使用场景:调试、理解复杂类图的实际实例
3. 构件图(Component Diagram)
- 特性:描述构件及其依赖关系
- 侧重点:物理构件组织,展示系统的模块化结构
- 包含元素:构件、接口、依赖关系
- 使用场景:架构设计,描述系统组件组织
4. 部署图(Deployment Diagram)
- 特性:描述硬件节点和软件构件的部署
- 侧重点:运行时部署,展示软硬件映射关系
- 包含元素:节点、构件、依赖关系
- 使用场景:系统部署,描述物理架构
5. 制品图(Artifact Diagram)
- 特性:描述物理文件(如 jar、dll、exe)
- 侧重点:物理文件组织,展示系统的物理结构
- 包含元素:制品、依赖关系
- 使用场景:配置管理,描述文件组织
6. 包图(Package Diagram)
- 特性:描述包和依赖关系
- 侧重点:模型组织,展示系统的分层结构
- 包含元素:包、依赖关系
- 使用场景:架构设计,描述系统分层
行为图(动态图)
描述系统的动态行为,随时间变化。
1. 用例图(Use Case Diagram)
- 特性:描述系统功能和外部交互
- 侧重点:功能需求,展示系统与外部参与者的交互
- 包含元素:参与者、用例、关系(包含、泛化、扩展)
- 使用场景:需求分析,描述系统功能
2. 活动图(Activity Diagram)
- 特性:描述工作流程,类似于流程图
- 侧重点:业务流程,展示活动的顺序和分支
- 包含元素:活动、决策、分叉、合并、泳道
- 使用场景:业务流程建模,描述算法流程
3. 状态图(State Machine Diagram)
- 特性:描述对象状态转换
- 侧重点:对象生命周期,展示状态变化和触发事件
- 包含元素:状态、转换、事件、动作
- 使用场景:描述对象行为,特别是状态驱动的系统
4. 交互图(Interaction Diagram)
描述对象之间的交互,包括以下四种:
4.1 顺序图(Sequence Diagram)
- 特性:强调时间顺序的消息交互
- 侧重点:时间顺序,展示消息的时间序列
- 包含元素:对象、生命线、消息、激活
- 使用场景:描述用例实现,展示对象协作
4.2 通信图(Communication Diagram)
- 特性:强调对象之间的链接和消息
- 侧重点:对象链接,展示对象之间的组织结构
- 包含元素:对象、链接、消息
- 使用场景:描述对象协作,展示对象关系
4.3 定时图(Timing Diagram)
- 特性:强调时间约束
- 侧重点:时间约束,展示状态随时间的变化
- 包含元素:状态、时间轴、约束
- 使用场景:实时系统,描述时间敏感的行为
4.4 交互概览图(Interaction Overview Diagram)
- 特性:活动图和顺序图的混合
- 侧重点:交互控制流,展示交互的概览
- 包含元素:交互、决策、分支
- 使用场景:复杂交互的概览,描述交互流程
考试重点
图的选择
- 需求阶段:用例图(功能需求)、活动图(业务流程)
- 设计阶段:类图(静态结构)、顺序图(动态交互)
- 实现阶段:构件图(组件组织)、部署图(物理部署)
- 测试阶段:状态图(状态覆盖)
易混淆点
- 类图 vs 对象图:类图是模板,对象图是实例
- 顺序图 vs 通信图:顺序图强调时间,通信图强调链接
- 活动图 vs 状态图:活动图描述活动流程,状态图描述状态转换
- 构件图 vs 部署图:构件图描述软件组件,部署图描述硬件部署
记忆口诀
- 结构图:类对构部制包(类图、对象图、构件图、部署图、制品图、包图)
- 行为图:用活状交(用例图、活动图、状态图、交互图)
- 交互图:顺通定交(顺序图、通信图、定时图、交互概览图)
答题技巧
- 看到”功能需求” → 用例图
- 看到”业务流程” → 活动图
- 看到”状态变化” → 状态图
- 看到”时间顺序” → 顺序图
- 看到”对象链接” → 通信图
- 看到”静态结构” → 类图
- 看到”物理部署” → 部署图
相关笔记
创建时间:2026年5月10日