如何在 UML 序列图的自消息方法中绘制方法

How to draw methods inside self message methods for UML sequence diagrams

我正在尝试为如下所示的代码绘制序列图:

Class Z:
   method y()

Class X:
   method w()

Class A inherits X & Z:
   method b() { 
       calls y()
       calls w()
   }

A a;
a.b()

一开始我觉得应该画一个这样的自传方法:

     ┌─┐         
     │A│         
     └┬┘         
     ┌┴┐         
     │ │────┐    
     │ │    │ b()
     │ │<───┘    
     │ │         
     │ │         
     └┬┘    
     ┌┴┐     
     │A│         
     └─┘                         

但后来我意识到这并没有显示 b() 如何调用 y(),所以我考虑了这个:

     ┌─┐          ┌─┐          ┌─┐
     │A│          │Z│          │X│
     └┬┘          └┬┘          └┬┘
     ┌┴┐    y()    │            │ 
     │ │ ─────────>│            │ 
     │ │           │            │ 
     │ │          w()           │ 
     │ │ ──────────────────────>│ 
     └┬┘           │            │ 
      │         return          │ 
      │<─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ 
     ┌┴┐          ┌┴┐          ┌┴┐
     │A│          │Z│          │X│
     └─┘          └─┘          └─┘

但是这个没有显示 b()。有没有一种方法可以绘制此序列图,以便我可以展示这两种方法?

b 的调用似乎是由与 class 相关联的东西构成的,所以假设初始调用者使用找到的消息并不重要,那么yw 应用于 A 执行 b[=20 的实例=] 无论这些操作是继承的,所以:

@bruno 的回答是正确的。他没有包含 return 消息。这是我用 ZenUML (https://app.zenuml.com) 创建的图表。

免责声明:我是 ZenUML 的作者。