如何在UML活动图中表示3个选项?

如何在UML活动图中表示3个选项?,uml,system,diagram,flowchart,activity-diagram,Uml,System,Diagram,Flowchart,Activity Diagram,我的情况是,系统向用户提供3个选项: 打开PDF1 打开PDF2 继续 系统指示用户读取PDF,但不强制执行。 因此,他们可以自由地单击“继续”按钮,进入下一个屏幕 我画了下面的图表,但我觉得我不知怎么搞错了 这种方式不正确。你的第二次尝试一点也不好。这些条将创建并行流,但由于您立即加入它们,因此在第一种情况下实际上是不可操作的。无法到达该条,因为它等待3个令牌,而实际上只有一个令牌可以到达。在第二种情况下,连接后将永远不会继续,因为它只从提供的操作中获取一个令牌…但需要3个令牌才能继续 以下

我的情况是,系统向用户提供3个选项:

  • 打开PDF1
  • 打开PDF2
  • 继续
  • 系统指示用户读取PDF,但不强制执行。 因此,他们可以自由地单击“继续”按钮,进入下一个屏幕

    我画了下面的图表,但我觉得我不知怎么搞错了


    这种方式不正确。你的第二次尝试一点也不好。这些条将创建并行流,但由于您立即加入它们,因此在第一种情况下实际上是不可操作的。无法到达该条,因为它等待3个令牌,而实际上只有一个令牌可以到达。在第二种情况下,连接后将永远不会继续,因为它只从
    提供的操作中获取一个令牌…
    但需要3个令牌才能继续

    以下是您需要做的一部分:

    首先有一个合并节点来捕获来自顶部操作或左侧两个操作的令牌。在这之后,有两个决定将转到左侧的操作。可以继续到顶部(防护装置
    [阅读下一步]
    )或底部(防护装置
    [确认]
    )。这样,用户可以重复阅读(或完全跳过),直到通过
    确认操作。在该操作之前有一个最终合并节点


    请注意,
    read/ack
    保护应该为每个流显示两次,以使其成为机器可读的模型。这里的文字只是叠加在一起,但人类还是可以理解的。

    谢谢。但是游泳道呢?此外,在阅读本文之前,我添加了第二次尝试。好点了吗?这是一种可以接受不止一种方式的事情,还是受到严格规则的约束?你的第二次尝试更糟糕。试着把你的“泳道”(它们应该是分区)想象成在我摘录的相同位置。这些东西只有一个正确答案吗?而且,我以前从未在活动图中看到过守卫,这正常吗?我觉得我被教导的是错误的。守卫就是它所说的:只有假释是正确的,它才会让令牌通过。是的,这就是你建模的方式。你可能会有不同的安排,但基本上就是这样。例如,您可以使用具有2个保护输出的单个决策,而不是2个连续的决策。