做 UML 时,很多人一开始就会把各种图混在一起,结果既看不出重点,也难以支撑后续设计。要把 UML 用顺,关键不是先记图名,而是先分清它到底是在描述静态结构、动态行为,还是系统层面的整体蓝图。
结构建模:先回答系统由什么组成
结构建模主要用来捕捉系统的静态部分,也就是系统里有哪些核心元素,它们之间如何组织、组合和部署。它关注的是“构成关系”,而不是“运行过程”。
常见的结构建模图包括:
- 类图
- 对象图
- 部署图
- 包图
- 复合结构图
- 组件图
这类模型描述的是系统的整体架构基础。换句话说,系统中的其他组件最终都要落在这个静态框架之内,因此类图、组件图和部署图通常都会被归入结构建模。
其中,类图是最常用的结构图,常被用来表达类、属性、方法以及它们之间的关系。组件图更偏向模块级组织,部署图则更适合说明软件与硬件环境之间的部署关系。
需要注意的是,结构模型本身并不负责描述系统的动态行为。也就是说,它擅长回答“系统是什么样”,但不回答“系统是怎么动起来的”。
行为建模:说明系统如何交互与流转
如果说结构建模解决的是静态问题,那么行为建模解决的就是动态问题。它用来描述系统内部的交互方式、执行过程,以及对象、角色或功能之间如何发生联系。
行为建模通常包括:
- 活动图
- 交互图
- 用例图
这一类图更强调“过程”和“流动”。例如,活动图适合表现业务流程或操作步骤;交互图适合展示对象之间的消息传递;用例图则常用于从用户视角梳理系统提供了哪些能力。
这些图共同体现的,是系统中的动态序列和交互关系。它们不是在补充静态结构本身,而是在说明结构中的元素如何被使用、如何协同工作,以及业务是怎样推进的。
架构建模:把结构与行为收拢为整体蓝图
架构建模关注的是系统的总体框架,可以理解为对整个系统的更高层抽象。它既包含结构层面的元素,也会吸收行为层面的信息,目的是形成一张能够统筹全局的系统蓝图。
从这个角度看,架构建模并不是对结构建模和行为建模的简单重复,而是站在更高层次上组织它们,让系统边界、模块划分和关系层次更清晰。
文中提到,包图是根据架构模型进行的。这也说明,包图不仅能表达分组关系,还常用于从架构视角组织系统内容,帮助团队理解模块如何被划分,以及这些模块在整体设计中的位置。
怎么区分这三类 UML 建模
如果只记定义,三类建模很容易混淆。更实用的办法,是直接按问题来区分:

- 想说明系统由哪些部分组成,用结构建模。
- 想说明系统中的流程、交互和动作,用行为建模。
- 想从全局角度给系统做总览和分层,用架构建模。
用这个思路再回头看常见 UML 图,判断就会清楚很多:类图偏静态结构,活动图偏动态流程,包图更适合放在整体组织和架构表达中。先分清建模目标,再选具体图形,通常比先背图名更有效。










