如何在UML序列图中绘制多个收益

ale*_*ung 6 uml sequence-diagram

在UML序列图中,一个方法只能有一条返回线(至少在Astah中,我无法从一种方法绘制两条返回线),如何在if-else块中为多个返回建模?

在下面的示例中,返回线'a'结束methodX(),如何绘制返回线'b'?

String methodX(int i) {
  if (i>0)
    return 'a';
  else
    return 'b';
}

     +------------+            +------------+
     |    Foo     |            |     Bar    |
     +-----+------+            +------+-----+
           |                          |
           |        methodX(i)         |
          +-+----------------------->+-+
          | |                        | |
  +-----+------------------------------------+
  | alt | | |  [i>0]                 | |     |
  +-----+ | |           a            | |     |
  |       | |<- - - - - - - - - - - -+-+     |
  |       | |                         |      |
  |       | |                         |      |
  +------------------------------------------+
  |       | |  [else]                 |      |
  |       | |                         |      |
  |       | |           b             |      |
  |       | |<- - - - - - - - - - - - | ??   |
  |       | |                         |      |
  |       | |                         |      |
  +------------------------------------------+
          | |                         |
          +-+                         |
           +                          +
Run Code Online (Sandbox Code Playgroud)

vai*_*olo 2

问题出在你的工具上,而不是 UML 上。查看UML 的可视化范例。您可以在每个片段的开头手动添加激活alt,并在激活结束时发送返回消息。