UML概念:关系

来源:互联网 发布:淘宝流量充值失败 编辑:程序博客网 时间:2024/05/16 11:28
关系:事物间的联系
关系贯穿于建模的全过程,正确理解其含义很有必要。uml定义的关系主要有六种:依赖、类属、关联、实现、聚合和组合。下面对其定义和表示方法逐一说明。
  • 依赖(Dependency):元素A的变化会影响元素B,但反之不成立,那么B和A的关系是依赖关系,B依赖A;类属关系和实现关系在语义上讲也是依赖关系,但由于其有更特殊的用途,所以被单独描述。uml中用带箭头的虚线表示Dependency关系,箭头指向被依赖元素。
  • 类属(Generalization):通常所说的继承(特殊个体 is kind of 一般个体)关系,不必多解释了。uml中用带空心箭头的实线线表示Generalization关系,箭头指向一般个体。
  • 实现(Realize):元素A定义一个约定,元素B实现这个约定,则B和A的关系是Realize,B realize A。这个关系最常用于接口。uml中用空心空心箭头和虚线表示Realize关系,箭头指向定义约定的元素。
  • 关联(Association):元素间的结构化关系,是一种弱关系,被关联的元素间通常可以被独立的考虑。uml中用实线表示Dependency关系,箭头指向被依赖元素。
  • 聚合(Aggregation):关联关系的一种特例,表示部分和整体(整体 has a 部分)的关系。uml中用带空心菱形头的实线表示Aggregation关系,菱形头指向整体。
  • 组合(Composition):组合是聚合关系的变种,表示元素间更强的组合关系。如果是组合关系,如果整体被破坏则个体一定会被破坏,而聚合的个体则可能是被多个整体所共享的,不一定会随着某个整体的破坏而被破坏。uml中用带实心心菱形头的实线表示Composition关系,菱形头指向整体。
在我的理解来看,关系分为两类:依赖和关联,依赖表示比关联更强的元素间关系。类属和实现是依赖的特例,聚合和组合是关联关系的特例。
下面用一个类图来简单说明一下以上关系的用法。图中描述的是一个人员列表的管理,原理比较简单,不赘述了。

图用PowerDesigner绘制,其关联关系用带箭头的实现来表示了
参考资料《uml系统分析设计与应用案例》
本文出自 51CTO.COM技术博客
原创粉丝点击