求知 文章 文库 Lib 视频 iProcess 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
要资料
 
 

uml2.5教程
uml2.5 图概述
UML 类和对象图概述
UML 类概述
UML 类
uml 接口
uml 数据类型
uml 属性
uml 操作
uml 多重性
uml 的可见性
UML约束
UML对象
UML关联
UML聚合
UML组合
uml的泛化
UML中的依赖
UML抽象
嵌套分类器
UML类图参考
uml 复合结构图
UML结构分类器
UML封装分类器
UML部件
UML连接器
UML端口
UML协作
UML协作使用
UML协作模板
复合结构的参考
uml 包图
uml包图符号
UML元素导入
UML包导入
UML包合并
UML模型
UML封装图参考
uml 组件图
uml 部署图
uml 用例图
uml 信息流程图
uml 活动图
uml 状态机图
uml 序列图
uml 通信图
uml 时序图
UML交互概述图
UML配置文件图
 
 
UML聚合
原文作者:Kirill Fakhroutdinov
98 次浏览
3次  
 捐助

共享聚集(aggregation Aggregation,简称aggregation)是属性 与一个或多个组合对象(将一组实例组合在一起) 之间的二元关联。 当零件实例独立于复合材料时,它是一种“弱” 聚合形式。共享聚合具有以下特点:

  • 它是二元关联,
  • 它是不对称的-只有关联的一端可以是聚合,
  • 它是可传递的-聚合链接应该形成一个有向的、非循环的图,这样组合实例就不可能是自身的间接部分,
  • 共享部分可以包含在多个复合材料中,如果某些或全部复合材料被删除,共享部分可能仍然存在。

符号(Notation)

共享聚集被描述为在关联线的聚集端用空心菱形装饰的关联。菱形应该明显小于N元关联的菱形符号。

以下示例将三角形显示为正好三条线段(边)的集合。三角形关联端的多重性“*”意味着每个线段可以是几个三角形的一部分,或者根本不属于任何三角形。擦除特定三角形实例并不意味着所有或任何线段也将被删除。(注意,我们将三个线段的集合命名为“边”,而通常的UML惯例是使用单数形式,即“边”,即使是集合。)

三角形有三条线段的“边”集合。
每条线段可以是无三角形、一个三角形或多个三角形的一部分。

共享聚合可以与其他关联装饰(如导航性和关联最终所有权)一起描述。在下面的示例中,线段可以从三角形导航。关联端“边”属于三角形(而不是关联本身),这意味着“边”是三角形的一个属性。

三角形具有三个独特线段的“边”集合。
线段可从Triangle导航。
关联端“边”由Triangle拥有,而不是关联本身。

错误(Mistakes)

聚合是不对称关系-只允许将关联的一端标记为共享或复合聚合。UML 1.x和2.x都不允许将菱形附着到关联线的两端。下面例子背后的推理是每个学生实例都有一个他/她注册的课程列表,每个课程都有一个注册该课程的学生列表。

聚合错误——关联只有一端
可以标记为聚合。

如果我们如下图所示绘制两个单独的聚合,将不会有帮助。聚合链接应该形成一个有向的非循环图,这样组合实例就不应该是其自身的直接或间接部分。

聚合错误-没有复合实例
应该是它自身的直接或间接部分。

历史

在UML 1.x中,聚合的种类为none,aggregate和Composite。UML 2.0将本页上描述的聚合类型从聚合重命名为共享,因此在UML 2.x中聚合类型为: 非共享聚合,共享聚合和复合聚合等。

例子

图书馆领域模型

医院领域UML类图示例

医学中的数字成像——现实世界的数字医学模型

android相机实现类


您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码: 验证码,看不清楚?请点击刷新验证码 必填



98 次浏览
3次
 捐助