什么是 UML
面向对象的程序设计工具,独立于任何具体的程序语言
类图

关联关系
关联是一种拥有关系,具有方向性
- 单向关联,使用带箭头的实线表示,箭头指向被拥有方
- 双向关联,使用双向箭头或者不带箭头的实线表示
聚合关系
聚合关系表示整体与部分的关系,使用空心灵性带箭头的虚线表示,菱形指向整体,箭头方向指向个体
eg: 公交车与公交车队
组合关系
组合关系也表示整体与部分的关系,但是比聚合关系更为严格
使用实心菱形的箭头实线表示,菱形指向整体,箭头指向个体
组合关系和聚合关系有什么区别
- 组合需要两者有相同的生命周期
- 聚合是整体与个体的关系
泛化关系
表示泛化的元素与具体的元素之间的关系,可以理解为继承
用带三角箭头的实线表示,箭头指向父类
实现关系
表示类实现接口的关系
用带三角箭头的虚线表示,箭头指向接口
依赖关系
一个类修改后会影响到另一个类,这就是依赖关系,一般而言,依赖关系是单向的
用带箭头的虚线表示,箭头指向依赖者
关联关系和依赖关系的区别
- 依赖更多时候是作为参数传入
- 关联关系是一种拥有关系
时序图
组成元素
- 角色
- 对象
- 生命线
- 控制焦点,表示一段业务逻辑
- 消息
- 自关联消息
- 组合片段
举例

图中,client、server、device 为对象
箭头表示消息
虚线表示返回值
处理流程是控制焦点