1

我知道如何显示扩展或包含以及序列图的其他内容,但没有找到任何可以在通信图中显示包含/扩展的内容?

是否有任何方法,或者我应该为我的所有用例重复每个包含?

还有代表if 条件 呢?

编辑此链接是关于如何在序列图中表示 if/include/extends 的 ibm 教程

4

2 回答 2

1

序列图中只有一个元素(我可以想象)可以表示包含或扩展是交互使用。无论如何,它不能是所有情况的正确表示。UML 没有定义通信图中的交互使用。那里还有更多缺失的元素,(组合片段(用于定义 If else 条件)、通用排序、发现丢失消息等)

于 2014-12-21T17:31:35.657 回答
1

我不确定是否有一种既定/推荐的方式来避免在UML Communication Diagrams中复制/粘贴。可能没有因为 UML 2.5 Beta 2 规范中的这一段:

资料来源:http ://www.omg.org/spec/UML/2.5/Beta2/PDF

17.9 通讯图

...通信图对应于不使用任何结构化机制(例如 InteractionUses 和 CombinedFragments)的简单序列图...

UML 序列图中,您可以使用带有 ref 运算符 ( interaction use)的片段来指示应在此处“粘贴”另一个图。

考虑这个示例序列图:

在此处输入图像描述

相应的通信图可能如下所示:

在此处输入图像描述

请注意,在上图中:

  • message0.4表示简化的消息流。Send Report未显示交互的详细信息
  • 用于表示分支的消息0.20.3包含guard expressionsif

使用决策节点符号if可以实现复杂分支的更易读的表示,如下面的UML 交互概述图所示:

在此处输入图像描述

请注意,上图使用内联的“粘贴”交互Send Reportinteraction use您可以使用与上面第一张图中相同的简单符号,而不是显示交互细节。


免责声明:图表并不完美,甚至可能不正确。使用风险自负

于 2014-12-23T15:52:13.923 回答