关系元素概述(关系Relationship,有向关系DirectedRelationship)

关系(Relationship)定义了模型元素之间的抽象关系。这些关系可以分为两大类,有向关系(DirectedRelationship)和关联(Association)。有向关系继续分为依赖(Dependency)、泛化(Generalization)、扩展(Extend)、包含(Include,用例的包含关系),包导入(PackageImport)等。

在MBSES的模型浏览器中,所有关系元素都放在一个“关系”节点下面,包括父节点所拥有的关系元素以及父节点作为关系一端的关系元素。如果父节点是关系一端的元素,展开关系元素时显示的子节点是关系另外一端的元素。一致展开这种关系节点能找到一条链。例如一直展开一个类型元素的泛化关系,能找到这个元素最初的基类。

有些元素是用一条线来表示的,但它并不是关系元素。例如“连接器”(Connector,它是一个属性Property);活动图中的活动边(ActivityEdge,包括控制流和对象流)也不是从“关系”继承的元素。但这一类用“线”表示的元素,在模型浏览器中也被放进了“关系”节点下面,但它们并不是关系。

关系(Relationship)主要的属性就是“产生关系的元素”(relatedElement),就是这个关系连起来的元素。一般是两个元素产生关系,但也可能是多个。

有向关系(DirectedRelationship)元素主要有两个属性:

/source : Element [1..*]{union, subsets Relationship::relatedElement}

就是关系的源端元素,也就是表示有向关系的线的开始端连着的元素。

/target : Element [1..*]{union, subsets Relationship::relatedElement}

就是关系的目标端元素,也就是表示有向关系的线的末尾端连着的元素。

从有向关系继承的关系元素,这两个端可能会有更具体的属性名称。例如“依赖”(Dependency)关系中,源端称为“客户”(client),目标端称为“提供者”(supplier)。

以下各章节中将进一步介绍关系类元素。

MBSES用户使用说明书