【问题标题】:Representing loops in a UML activity diagram在 UML 活动图中表示循环
【发布时间】:2009-10-07 17:50:31
【问题描述】:

我正在尝试为我开发的带有套接字的网络井字游戏设计活动图 (UML)。我正在使用活动分区(泳道)。因此,有三个分区:Client1、Server 和 Client2。

图表看起来不错,除了我不知道如何表示循环结构。

如果您查看此链接:activity diagram,并查看页面上的最后一个图(分区),这就是我正在使用的活动图类型。

有谁知道我可以如何表示循环?谢谢!

【问题讨论】:

  • 您需要详细说明您的问题域。
  • UML 活动图可能能够以程序方式解释循环​​。但是我可以看到 UML 无法以简单的方式描述 (map/foreach/reduce) 之类的函数表达式的不足之处。

标签: uml


【解决方案1】:

进一步向下查看 page you link to 以获取扩展区域。使用一个与迭代关键字。

扩展区域是执行多次的结构化活动区域。输入和输出扩展节点被绘制为一组三个框,表示项目的多项选择。关键字“迭代”、“并行”或“流”显示在区域的左上角。

【讨论】:

  • 这引起了我的注意,但我不确定如何使用它。你知道使用这个的任何其他示例图表吗?
  • 我目前没有任何非专有的东西可以展示。
【解决方案2】:

也许我遗漏了一些东西,但为什么不只使用循环中最后一个活动的退出流作为循环中第一个活动的输入流(在适当的时候使用保护条件来完成循环)

【讨论】:

    【解决方案3】:

    如果您使用一组数据作为输入,那么“扩展区域”是完美的。 例如,您想将所有收入转换成欧元。然后,它就像一个 for()。

    但如果你想拥有类似于 while() 的东西,你必须使用圆角矩形和菱形,并带有反馈循环。

    例如:[玩二十一点] ->如果我赢了 -> 我停止 -> 否则 -> 我重新开始

    我认为在活动图中进行循环的唯一有效方法。

    您可以查看loop node。但我不确定它在 OMG 规范中的定义如何。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多