UML2元模型中演员和用例之间的关联

4
我正在尝试理解UML2元模型中用例图中演员和用例之间关联的规则。我知道演员和用例可以参与泛化(因为它们是从分类器派生而来,该分类器添加了泛化的可能性),并且我知道用例可以与其他用例具有扩展/包含关系(因为它直接在用例图规范中定义)。这是用例的一部分元模型图:

enter image description here

正如您所看到的,这个图中根本没有演员和用例之间的关联。这只能意味着由于演员和用例的共同超类型(可能是BehavioredClassifier或Classifier),因此允许关联。所以我的问题是:

  • 在元模型层次结构中,哪些元类或元素负责演员和用例之间的关联?

另一个令人困惑的事情:有一个约束条件说:

演员只能与用例、组件和类建立关联。此外,这些关联必须是二进制的。

但是对于用例没有定义等价的约束条件(除了二进制)。这是否意味着关联总是属于演员,而用例不知道其与演员的关联?规范可以在此处找到,谢谢。


你是在开发UML工具吗?还是只是想学习UML以便使用它? - Hippias Minor
我正在尝试构建一个独立、轻量级和小型的基于ecore的元模型,用于用例图,完全遵循UML元模型的规则。这是为了UML工具的原型。但除此之外,我现在只是好奇。 - ceran
1个回答

3
负责Actor、UseCase、Class、Component等之间关联的元类是Association和Property。 当你将Actor与UseCase相关联时,涉及到三个元素:一个Association和两个Property。 Association是元素(类、组件等)之间的无向关系。 Property代表关联的“端点”,如果Association有恰好两个端点,则为二进制关联。

到目前为止,谢谢您。如果您能简要概述一个演员和用例之间的简单单一关联以及它们之间的关系,那将是很棒的。因此,我们有一个演员A,一个用例B和一个具有每端2个属性P1和P2的关联C。其中,关联具有"memberEnd"和"ownedEnd"等引用。"memberEnd"似乎总是参与其中(2..*),但何时使用"ownedEnd"(0..*)?并且A和B如何知道它们之间的关联,在它们的属性(0..*)引用中链接到P1/P2吗?谢谢。 - ceran
所有关联端点都由“memberEnd”引用,“ownedEnd”用于建模导航性。如果A和B拥有一个端点,则它们知道该关联。如果P1和P2由关联所拥有,则A和B不知道该关联,该关联是不可导航的。如果A和B各自拥有一个属性,则它们都知道该关联,因此该关联在双方都是可导航的。如果一个端点由关联所拥有,而另一个端点由A拥有,则该关联从A到B是可导航的。 - Red Beard

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接