【发布时间】:2018-11-23 16:43:15
【问题描述】:
考虑以下类:
我想在序列图中表示这样一个事实,即 A 的实例首先导航通过 b 关联端到达 B 实例,然后通过其关联 c 导航到达 C 实例,然后调用操作foo()。
如何在序列图中表示这一点? Afaik,从一个对象导航到另一个对象不是消息,因此不能用箭头表示,对吗?那我怎么显示C实例是如何被A实例找到的呢?
到目前为止,我唯一的想法是将a.b.c 写入 C 实例生命线的名称中,但我知道这很可能是不正确的:
编辑 (28/11): 我不认为这个问题是 this existing question 的重复,因为在这里我有兴趣在序列图中表示一个对象如何能够访问另一个对象,而不是通过方法调用/消息获取对象的方式。
编辑(28/11 再次): 我意识到我所描述的情况是错误的,因为实际上是一个交互(即序列或通信图) 必须包含在 Classifier 中,并且只能显示可通过 Classifier 的属性访问的元素的 Lifelines。因此,对于我当前的类图,实际上不可能同时表示 A 的实例和 C 的实例,因为没有候选 Classifier 引用这两者可以用来包含序列图.
换句话说,afaik,用提议的类图,我不能有一个表示 A 和 C 的序列图,我只能表示 A 和 B,或 B 和 C。
【问题讨论】:
标签: uml class-diagram operation sequence-diagram