首页/开发/系统分析与架构设计速查/类关系:泛化、实现、聚合与组合
需求分析与建模61 条

类关系:泛化、实现、聚合与组合

类之间常见六种关系:泛化、实现、关联、聚合、组合、依赖;聚合与组合的区别在于部分能否脱离整体独立存在,菱形画在整体一侧。

关系

关系记法语义示例
泛化实线 + 空心三角is-a 继承VIP用户 泛化自 用户
实现虚线 + 空心三角实现接口订单服务 实现 订单接口
关联实线(可带方向)长期结构关系订单 关联 客户
聚合实线 + 空心菱形整体-部分,部分可独立车队 聚合 车辆
组合实线 + 实心菱形整体-部分,部分随整体生命周期订单 组合 订单行
依赖虚线 + 箭头临时使用结算服务 依赖 汇率服务
聚合与组合的菱形永远画在整体一侧;方向画错会让实现者误解生命周期责任。

易错点

  • 把“调用一次”的依赖关系画成关联,模型里出现大量无意义连线
  • 组合关系写进模型但数据库没有级联约束,语义与实现脱节

数据来源与参考

  • OMG UML 2.5.1 规范
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌