【发布时间】:2018-01-08 02:07:21
【问题描述】:
我正在为现实生活中的纸牌游戏设计活动图,想知道所附图像中同步条的使用是否正确。
据我了解,同步条可用于将流程分成两个或多个活动。在我的图表中,我试图说明两个团队从他们收到的一组卡片中挑选一张卡片。 B 队的流程在拿到卡片后就结束了,这是因为 A 队必须先问一个问题(在卡片上)。
【问题讨论】:
标签: uml workflow-activity flowchart
我正在为现实生活中的纸牌游戏设计活动图,想知道所附图像中同步条的使用是否正确。
据我了解,同步条可用于将流程分成两个或多个活动。在我的图表中,我试图说明两个团队从他们收到的一组卡片中挑选一张卡片。 B 队的流程在拿到卡片后就结束了,这是因为 A 队必须先问一个问题(在卡片上)。
【问题讨论】:
标签: uml workflow-activity flowchart
我想根据您的解释提供一些改进。 (不过正如@ThomasKilian 所说,目前还不清楚为什么其中一名玩家会提出问题)
案例 1:
如果双方(TeamA 和 TeamB)应该拿起卡片,然后检查是否存在所选卡片中的问题:您的系统应等待两名玩家拿起卡片。所以在这种情况下,您应该在两个pick a cards 之后使用Join Node。 (见my previous post about Join)
案例 2:
如果最快的团队应该提出问题并且不需要其他团队选择卡片,那么这里还有其他改进:
您应该在两个pick a cards 之后使用Merge node with Decision(请参阅此reference 中的Merge with Decision 说明)。 (您可以使用合并节点,然后也可以使用决策节点。)
因此,您的决定是基于最快的选卡队伍。然后您应该使用以下语句完成模型。如果 TeamA 最快,那么 TeamA 应该提问,TeamB 应该回答,如果 TeamB 最快,那么 TeamB 应该提问,依此类推。)
您也可以在案例 1 中使用此改进(在加入节点之后,您需要一个决策来找到选择卡片的团队并将上述语句添加到您的模型中)。
最后,如果TeamA总是在拿卡后问这个问题,而不需要从TeamB拿卡,那么只是在两个 pick a cards 之后使用 Merge Node 的一项改进。考虑 Merge Node 输入流是接受单个输出流的备用流。
【讨论】: