文章目录
-
-
- UML(统一建模语言)详细笔记
- 一、UML概述
- 二、UML的三大构造块
- 三、4种事物(Things)
-
- 1. 结构事物(Structural Things)
- 2. 行为事物(Behavioral Things)
- 3. 分组事物(Grouping Things)
- 4. 注释事物(Annotational Things)
- 四、4种关系(Relationships)
-
- 1. 依赖(Dependency)
- 2. 关联(Association)
- 3. 泛化(Generalization)
- 4. 实现(Realization)
- 五、14种图(Diagrams)
-
- 结构图(7种)——描述系统的静态结构
- 行为图(7种)——描述系统的动态行为
- 六、5种视图(4+1视图模型)
- 七、3种扩展机制
- 八、知识体系总结
-
UML(统一建模语言)详细笔记
一、UML概述
UML(Unified Modeling Language,统一建模语言)是一种用于软件系统可视化建模的标准语言,由Booch、Rumbaugh和Jacobson三人于1990年代中期整合各自的建模方法而成,后被OMG(对象管理组织)采纳为标准。
核心特点:
- 是一种可视化的建模语言,不是编程语言
- 用于描述、可视化、构造和文档化软件系统的工件
- 独立于具体的编程语言和开发过程
- 适用于面向对象分析与设计(OOA/OOD)
二、UML的三大构造块
UML的基本构造块由三部分组成:事物(Things)、关系(Relationships)和图(Diagrams)。
三、4种事物(Things)
事物是UML模型中最基本的组成单元,分为以下四类:
1. 结构事物(Structural Things)
模型中最静态的部分,代表概念上或物理上的元素。
| 类(Class) | 具有相同属性、操作、关系和语义的对象集合 |
| 接口(Interface) | 一组操作的集合,定义服务的契约 |
| 协作(Collaboration) | 描述一组对象共同完成某个功能的结构 |
| 用例(Use Case) | 描述系统对外提供的功能单元 |
| 活动类(Active Class) | 拥有自己的控制线程的类 |
| 构件(Component) | 可替换的物理模块,如代码文件、库 |
| 节点(Node) | 运行时存在的物理元素,如服务器、设备 |
2. 行为事物(Behavioral Things)
模型中的动态部分,代表时间和空间上的变化。
- 交互(Interaction):描述对象之间为实现特定目的而进行的消息传递
- 状态机(State Machine):描述一个对象在其生命周期内响应事件的状态变迁
3. 分组事物(Grouping Things)
用于将模型元素组织成更大的单元。
- 包(Package):一种通用的分组机制,用于将相关的类、用例等组织在一起,类似于文件夹
4. 注释事物(Annotational Things)
模型的解释说明部分。
- 注解(Note):用于对模型元素添加注释、约束或补充说明,用虚线连接到被注释的元素
四、4种关系(Relationships)
关系定义了事物之间的连接方式:
1. 依赖(Dependency)
- 含义:一个事物的变化会影响另一个事物的语义
- 表示:虚线箭头 –>
- 示例:一个类的方法参数引用了另一个类
2. 关联(Association)
- 含义:描述一组对象之间的结构连接关系
- 表示:实线 ——
- 特殊形式:聚合(空心菱形)、组合(实心菱形)
- 示例:教师与学生之间的教学关系
3. 泛化(Generalization)
- 含义:一般与特殊的关系,即继承关系
- 表示:实线 + 空心三角箭头 ——▷
- 示例:学生类继承自人类
4. 实现(Realization)
- 含义:一个类实现接口所定义的契约
- 表示:虚线 + 空心三角箭头 –▷
- 示例:一个具体类实现某个接口
五、14种图(Diagrams)
UML 2.0定义了14种图,分为结构图和行为图两大类。
结构图(7种)——描述系统的静态结构
| 1 | 类图(Class Diagram) | 描述类、接口及其之间的关系,是OO设计的核心 |
| 2 | 对象图(Object Diagram) | 类图的实例快照,展示某一时刻的对象及其链接 |
| 3 | 构件图(Component Diagram) | 建模可替换的物理模块及其依赖关系 |
| 4 | 部署图(Deployment Diagram) | 描述软件在硬件节点上的分布和映射 |
| 5 | 包图(Package Diagram) | 展示系统的命名空间和模块划分 |
| 6 | 组合结构图(Composite Structure Diagram) | 描述类的内部结构及协作关系 |
| 7 | 制品图(Artifact Diagram) | 描述系统中物理制品(文件、库、可执行文件等)及其关系 |
行为图(7种)——描述系统的动态行为
| 1 | 用例图(Use Case Diagram) | 从用户视角捕获系统功能需求和边界 |
| 2 | 序列图(Sequence Diagram) | 按时间顺序展示对象之间的消息交互 |
| 3 | 通信图(Communication Diagram) | 展示对象间的消息传递与协作关系(侧重结构) |
| 4 | 状态机图(State Machine Diagram) | 刻画对象生命周期中的状态变迁 |
| 5 | 活动图(Activity Diagram) | 描述业务流程或算法的控制流和数据流 |
| 6 | 交互概览图(Interaction Overview Diagram) | 由多个小型交互图组合而成的概览图 |
| 7 | 计时图(Timing Diagram) | 沿时间轴可视化对象状态变化与时间约束 |
交互图:序列图、通信图、交互概览图和计时图统称为交互图,它们都用于描述对象之间的交互行为,只是侧重点不同。
六、5种视图(4+1视图模型)
UML支持从不同视角描述系统,采用4+1视图模型:
| 用例视图 | 系统功能需求 | 用例图 |
| 逻辑视图 | 系统的功能设计 | 类图、对象图、状态机图 |
| 进程视图 | 并发与同步 | 类图、通信图、序列图 |
| 实现视图 | 代码组织结构 | 构件图 |
| 部署视图 | 软件到硬件的映射 | 部署图 |
七、3种扩展机制
UML提供了三种机制来增强其表达能力:
- 构造型(Stereotype):扩展UML词汇,定义新的构造块,用 << >> 表示,如 <<entity>>、<<service>>
- 标记值(Tagged Value):为模型元素添加额外的属性信息,如 {version = "1.0"}
- 约束(Constraint):扩展或修改UML元素的语义规则,用 { } 表示,如 {readOnly}
八、知识体系总结
UML知识体系
├── 3大构造块:事物、关系、图
├── 4种事物:结构事物、行为事物、分组事物、注释事物
├── 4种关系:依赖、关联、泛化、实现
├── 14种图
│ ├── 结构图(7种):类图、对象图、构件图、部署图、包图、组合结构图、制品图
│ └── 行为图(7种):用例图、序列图、通信图、状态机图、活动图、交互概览图、计时图
├── 5种视图(4+1):用例视图、逻辑视图、进程视图、实现视图、部署视图
└── 3种扩展机制:构造型、标记值、约束
记忆口诀:UML = 4事物 + 4关系 + 14图 + 5视图 + 3扩展,其中14图分结构7 + 行为7,行为图中序列图、通信图、交互概览图、计时图合称"交互图"。
网硕互联帮助中心







评论前必须登录!
注册