活动图同步栏

时间:2018-01-08 02:07:22

标签: uml workflow-activity flowchart

我正在设计真实纸牌游戏的活动图,并且想知道所附图像中同步条的使用是否正确。

根据我的理解,可以使用同步栏将流分成两个或多个活动。在我的图表中,我试图说明两个团队从他们已经获得的卡片组中取出一张卡片。 B队的牌流在拿到牌后结束,这是因为A队必须先问一个问题(在卡上找到)。

JavaTimeModule

2 个答案:

答案 0 :(得分:0)

基本上你的图表是正确的。卡片的绘制同时发生。但是,您可以做一些改进。我不知道其中一个玩家会问一个问题而另一个玩家不会问。所以在这里我假设最快的一个将开始(记住一个来自非洲的纸牌游戏,其中两个玩家用一只手尽可能快地抽牌并将它们放在某个地方;不知道名称和规则,但玩起来很有趣)。无论如何,这是我的建议:

enter image description here

只需将绘图放入可中断区域,然后将其命名为导致一个玩家成为第一个要求的人。 UML规则不需要流量最终(由于玩家B的动作没有传出流量,因此吞下令牌)。

答案 1 :(得分:0)

我想根据您的解释提供一些改进。 (但正如@ThomasKilian所说,为什么其中一个玩家会问一个问题还不是很清楚)

案例1
如果两者(TeamA和TeamB)应该拿起卡片,之后检查所选卡片中是否存在问题:您的系统应该等待两名玩家拿起卡。因此,在这种情况下,您在两个pick a card之后使用加入节点。 (见my previous post about Join

案例2
如果最快的团队应该提出问题并且其他团队没有必要选择该卡,那么还有其他改进

您应该在两个pick a card之后使用带有决策的合并节点(请参阅此reference中的合并决策说明)。 (您可以使用合并节点,然后也可以使用决策节点。)

因此,您的决定是基于选择卡的最快团队。然后你应该用以下语句完成模型。如果TeamA最快,那么TeamA应该提出问题并且TeamB应该回答,如果TeamB最快,那么TeamB应该提出问题,等等。)

您也可以在案例1中使用此改进(在加入节点之后,您需要一个决定来找到选择卡的团队并将上述语句添加到您的模型中)。

最后,如果TeamA 始终在拿到卡后提问,并且无需从TeamB中挑选卡,那么在两个pick a card之后使用合并节点只是一个改进。考虑合并节点输入流是接受单个传出流的备用流。