UML 简介:统一建模语言的核心图表与应用
UML(Unified Modeling Language,统一建模语言)是软件工程中用于可视化、描述、构造和文档化软件系统的标准化建模语言。它通过一系列图表从不同角度刻画系统的结构、行为和交互,帮助开发者、测试人员和用户理解系统设计。UML 包含多种图表,可分为结构图(静态建模)和行为图(动态建模)两大类,以下是详细解析:
UML 图表的分类框架
UML 图表按建模维度可分为四大类,覆盖系统的静态结构、动态行为、物理部署等方面:
| 建模类型 |
核心图表 |
描述重点 |
| 静态建模 |
类图、对象图、构件图、部署图 |
系统的结构组成和物理部署 |
| 动态建模 |
状态图、活动图 |
系统或对象的行为变化过程 |
| 交互建模 |
顺序图(序列图)、通信图(协作图) |
对象间的消息交互和协作关系 |
| 用例建模 |
用例图 |
用户与系统的功能交互 |
结构图:刻画系统的静态结构
结构图聚焦于系统的组成元素及其关系,不涉及时间或动态行为,主要包括以下图表:
类图(Class Diagram)
类图是 UML 中最核心的图表,用于描述系统中类、接口及其关系,是系统静态设计视图的核心。对系统词汇、简单协作、逻辑数据库模式建模有帮助。

基本元素:
关系类型(类 / 接口间的关联方式):

关联(Association):表示对象间的结构化关系(如 “学生 - 课程” 的选课关系),用实线连接,可标注多重度(如 1 对多:1..*)。

依赖(Dependency):表示一个元素依赖另一个元素(如 “学生” 依赖 “成绩” 计算),用虚线箭头表示(依赖方→被依赖方)。

泛化(Generalization):表示类间的继承关系(如 “研究生” 继承 “学生”),用实线空心三角箭头表示(子类→父类)。

实现(Realization):表示类对接口的实现(如 “学生” 实现 “学习者” 接口),用虚线空心三角箭头表示(类→接口)。

聚合(Aggregation):表示 “整体 - 部分” 关系,部分可独立存在(如 “班级” 包含 “学生”,学生可脱离班级存在),用实线空心菱形表示(整体→部分)。

组合(Composition):表示强聚合关系,部分不能脱离整体存在(如 “人” 包含 “心脏”,心脏不能独立存在),用实线实心菱形表示(整体→部分)。

应用场景:
- 对系统的核心概念(如领域模型)建模。
- 设计类的层次结构和协作关系(如面向对象编程中的类设计)。
- 描述数据库的逻辑模型(如实体 - 关系映射)。
对象图(Object Diagram)
对象图是类图的实例快照,描述某一时刻系统中对象及其关系,是类图的具体实例化。