【问题标题】:how represent include/extends for communication diagram in UML如何在 UML 中表示包含/扩展通信图
【发布时间】:2014-12-20 17:47:08
【问题描述】:

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

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

还有代表if条件怎么样?

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

【问题讨论】:

  • 我想知道你如何在序列图中显示包含/扩展?你可以在你的问题中添加一个例子吗? sequence diagramuse casecommunication diagram 与您的问题有什么关系?给我们一个具体的例子。至于if 条件,那么在UML 中activity diagrams 称为guard 并与decision node 一起使用。卫兵在UML state machine diagrams也很正常...
  • 感谢您的关注,我插入时序图的链接
  • 在链接的文章中根本没有“扩展”一词(不是文字,也不是图片)。你的意思是ref operator 是与包含/扩展含义一起使用的符号吗?
  • @xmojmr 是的,我的意思是我在通信图中需要类似的东西,如果有的话。

标签: uml use-case sequence-diagram communication-diagram


【解决方案1】:

序列图中只有一个元素(我可以想象)可以表示包含或扩展是交互使用。无论如何,它不能是所有情况的正确表示。 UML在通信图中没有定义Interaction Use。还有更多的缺失元素,(Combined Fragment(用于定义If else条件),General Ordering,Found Lost message等)

【讨论】:

    【解决方案2】:

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

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

    17.9 通信图

    ...通信图对应于使用none结构化机制的简单序列图,例如InteractionUses和CombinedFragments...

    UML Sequence Diagrams 中,您可以使用fragment with ref operator (interaction use) 表示应在此处“粘贴”另一个图表。

    考虑这个示例序列图:

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

    注意上图中:

    • message 0.4 表示简化的消息流。未显示Send Report 交互的详细信息
    • 消息0.20.3包含guard expressions,用于表示if分支

    复杂的if分支的更易读的表示可以通过使用decision node表示法来实现,如下面的UML Interaction Overview Diagram所示:

    请注意,上图使用内联“粘贴”交互Send Report。您可以使用简单的interaction use 表示法,而不是显示交互详细信息,与上面的第一张图中相同。


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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多