UML关系易错点总结
用例图关系 vs 类图关系
重要区别:用例图和类图使用不同的关系类型,考试中容易混淆!
用例图关系(只有3种)
-
包含关系(include)
- 必须执行的公共用例
- 基本用例 → 抽象用例
- 例如:学习和测验都包含权限检查
-
泛化关系
- 父子继承关系
- 子用例继承父用例行为
- 例如:登录(父)→ 手机号登录、用户名密码登录(子)
-
扩展关系(extend)
- 可选执行的扩展用例
- 基本用例 ← 扩展用例
- 例如:看视频(基本)← 冲会员(可选扩展)
类图关系(6种)
-
依赖关系
- 一个事物变化影响另一个事物
- 最弱的关系,临时性使用
-
泛化关系
- 特殊/一般关系(继承)
- 与用例图中的泛化类似
-
关联关系
- 一组链,链是对象之间的连接
- 可以有方向、多重性
-
聚合关系
- 整体与部分生命周期不同
- 部分可以独立存在
- 例如:车队和车辆(车可以离开车队)
-
组合关系
- 整体与部分生命周期相同
- 部分不能独立存在
- 例如:人和心脏(心脏不能离开人)
-
实现关系
- 接口与类之间的关系
- 类实现接口定义的操作
考试重点
易混淆点
- 用例图没有聚合/组合关系:聚合和组合是类图概念
- 泛化关系在两个图中都存在:但含义略有不同
- 包含 vs 扩展:
- 包含是必须的(mandatory)
- 扩展是可选的(optional)
记忆口诀
- 用例图:包(包含)饭(泛化)菜(扩展)
- 类图:依(依赖)饭(泛化)关(关联)聚(聚合)组(组合)实(实现)
答题技巧
- 看到”用例”→ 想用例图关系(包含、泛化、扩展)
- 看到”类/对象”→ 想类图关系(6种)
- 聚合 vs 组合:看生命周期是否相同
- 包含 vs 扩展:看是否必须执行
相关笔记
创建时间:2026年5月10日