我知道如何显示扩展或包含以及序列图的其他内容,但没有找到任何可以在通信图中显示包含/扩展的内容?
是否有任何方法,或者我应该为我的所有用例重复每个包含?
还有代表if 条件 呢?
编辑:此链接是关于如何在序列图中表示 if/include/extends 的 ibm 教程
我知道如何显示扩展或包含以及序列图的其他内容,但没有找到任何可以在通信图中显示包含/扩展的内容?
是否有任何方法,或者我应该为我的所有用例重复每个包含?
还有代表if 条件 呢?
编辑:此链接是关于如何在序列图中表示 if/include/extends 的 ibm 教程
序列图中只有一个元素(我可以想象)可以表示包含或扩展是交互使用。无论如何,它不能是所有情况的正确表示。UML 没有定义通信图中的交互使用。那里还有更多缺失的元素,(组合片段(用于定义 If else 条件)、通用排序、发现丢失消息等)
我不确定是否有一种既定/推荐的方式来避免在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
)的片段来指示应在此处“粘贴”另一个图。
考虑这个示例序列图:
相应的通信图可能如下所示:
请注意,在上图中:
0.4
表示简化的消息流。Send Report
未显示交互的详细信息0.2
和0.3
包含guard expressions
if
使用决策节点符号if
可以实现复杂分支的更易读的表示,如下面的UML 交互概述图所示:
请注意,上图使用内联的“粘贴”交互Send Report
。interaction use
您可以使用与上面第一张图中相同的简单符号,而不是显示交互细节。
免责声明:图表并不完美,甚至可能不正确。使用风险自负