代码之家  ›  专栏  ›  技术社区  ›  NenadP

UML序列图-哪一方拥有被调用的消息方法?

  •  0
  • NenadP  · 技术社区  · 7 月前

    根据UML标准,在使用序列图时,是否严格定义了谁拥有 perform() 此消息中指定的操作?

    Foo与Bar交互,“传递消息”

    Sequence diagram

    (图表中有一个拼写错误,它应该说 性能() )

    我想知道哪些可能的组合是有效的(比如在随附的类图中)

    A. Foo 有它和 Bar 不能拥有它:

    enter image description here

    B 酒吧 有它和 Foo 不能拥有它:

    enter image description here

    C 也许两者都有:

    enter image description here

    我在UML规范中找不到具体的定义,也不知道权威资源(Fowler、Jacobson、Booch、Rumbaugh)对此有何看法。

    1 回复  |  直到 7 月前
        1
  •  1
  •   Jim L.    7 月前

    箭头尖端的对象(在本例中为Bar)必须为箭头钝端的对象(在此例中为Foo)提供操作才能调用它。因此,需要选项B。

    不过,没有什么能阻止双方提供同样的行动。因此,选项C也是可行的。

    请注意,您的序列图中有一个拼写错误。

    推荐文章