一文带你理解UML的14种建模工具
在软件工程的开发流程中,UML(统一建模语言)是一种标准化的建模工具,通过可视化的图表将软件设计的逻辑、结构、行为清晰呈现,这样既能降低开发风险,也能让开发团队高效协作。UML图整体分为结构图和行为图两大类,各自包含不同细分图表,适配软件开发不同阶段的建模需求。
今天为大家完整梳理所有UML图的核心概念、应用场景,并搭配极简直观图例,快速学会!总的来说UML图分为两大类14种类型的图。
第一类结构图:类图、组件图、对象图、轮廓图、组合结构图、部署图、包图。
第二类行为图:活动图、用例图、状态机图和交互图,其中交互图中又可细分为序列图、时序图、通讯图、交互概览图
01 结构图:描述系统静态结构
1. 类图
核心概念:面向对象方法的核心建模工具,描述系统中对象的类型及各类静态关系。
核心目的:表示类、接口及其间的静态结构和关系(泛化、实现、关联、聚合、组合、依赖)。UML 版本:UML 1.x
示例1:

2. 组件图
核心概念:描绘系统中组件提供 / 需要的接口、端口,以及组件间的关系。
核心目的:展示各组件之间的依赖关系,呈现组件层级架构。
UML 版本:UML 1.x(UML2.0 重新定义)
极简图例:

(注:组件旁带○表示提供接口,带⊂表示需要接口)
3. 对象图
核心概念:类图的一个实例,是系统在某个时间点详细状态的快照。
核心目的:表示某一时刻多个对象的相互关系,反映系统瞬时状态。
UML 版本:UML 1.x
极简图例:

4. 轮廓图
核心概念:提供通用扩展机制,为特定域和平台定制 UML 模型。
核心目的:在特定领域构建定制化 UML 模型,适配行业 / 平台需求。
UML 版本:UML 2.0

(注:<<stereotype>>为轮廓扩展标记,适配 EJB / 微服务等特定领域)
5. 组合结构图
核心概念:描述 “组合结构”(系统整体 / 部分)的内部结构及元素间关系。
核心目的:展现系统逻辑上的整体与局部组成关系。
UML 版本:UML 2.0

6. 部署图
核心概念:描述系统软件在不同硬件节点上的分布方式。
核心目的:表示软件和硬件的映射关系,明确软硬件部署架构。
UML 版本:UML 1.x
极简图例:

(注:矩形框代表硬件节点,中括号内为部署的软件组件)
7. 包图
核心概念:描绘系统在包层面的结构设计。
核心目的:表示包之间的依赖 / 引用关系,梳理模块层级。
UML 版本:UML 2.0
(注:常见关系:《Use》使用、《Merge》合并、《Import》公共引入)
02 行为图:描述系统动态行为
1、用例图
核心概念:由参与者、用例、边界及相互关系构成,描述系统功能的视图。
核心目的:梳理系统功能范围,明确系统与外部参与者的交互。
核心关系:包含(include)、扩展(extend)、泛化
UML 版本:UML 1.x
极简图例:

(注:《include》是必选前置,《extend》是可选扩展)
2、活动图
核心概念:描述具体业务用例的实现流程。
核心目的:表示用例实现的工作流程,展现步骤执行顺序与分支。
UML 版本:UML 1.x
极简图例:

3、状态图
核心概念:对单个对象的行为建模,指明对象生命周期中响应不同事件的执行顺序。
核心目的:表示对象在生命周期中,响应不同事件的状态变化过程。
UML 版本:UML 1.x
极简图例:

(注:矩形框为状态,箭头为事件触发的状态转换)
交互图:描述对象间动态交互,交互图聚焦对象之间的消息传递与协作,细分为序列图、时序图、通讯图、交互概览图,各有侧重适配不同交互建模场景,是日常开发中最常用的 UML 图之一。
4、 序列图
核心概念:按时间序列展示对象协作过程,描绘用例特定场景中对象的交互方式。
核心目的:通过消息发送的时间顺序,显示多个对象的动态协作。
UML 版本:UML 1.x
|
(注:纵向为时间轴,横向为参与对象,数字为消息顺序)
5. 时序图
核心概念:显示随时间变化,一个 / 多个元素的值 / 状态的更改,支持时控事件的时间约束管理。
核心目的:呈现元素状态 / 值的时间变化视图,适配时间维度的状态建模。
UML 版本:UML 2.0
极简图例(商品库存变化):
plaintext
时间→0h2h4h6h8h
库存值┼────┼────┼────┼────┼────
1008050300
(折线图:纵轴为元素值/状态,横轴为时间,折线为变化趋势)
(注:核心为时间 – 状态 / 值二维映射,可展示单个 / 多个元素对比)
6. 通讯图
核心概念:描述收发消息的对象的组织关系,强调合作关系而非时间顺序(原UML 1.x 名为协作图,UML2.0 更名)。
核心目的:显示对象的关联关系及消息传递逻辑。UML 版本:UML 1.x
极简图例(线上书店购书):

(注:矩形框为对象,数字为消息顺序,箭头为消息传递方向,突出对象间关联)
7. 交互概览图
核心概念:与活动图类似,核心区别是其节点为各类交互图
核心目的:为系统交互提供控制流的整体概述,整合多个交互图的执行逻辑。
UML 版本:UML 2.0,图例:

(注:sd = 具体交互图节点,ref = 引用外部交互图,{}= 判断分支,核心是交互图的组合编排)
03 UML各类图的适用核心
01 方法实践
02 观点分析
> 国家数据局正式亮相,详解三个关键问题
03 概念解读
> 大数据是什么 | What’s the Big Data?
04 职业成长
更多优质内容,持续输出中~
新书发售👇


夜雨聆风
