关于 uml:Activity Diagram – 在这种情况下关于 fork/join 和决策/merge 的混淆

Activity Diagram - confusion regarding fork/join and decision/merge in this scenario

我正在创建一个活动图

  • 管理员登录网络
  • 如果经过验证,它将到达仪表板
  • 通过仪表板可以管理帐户、管理产品和管理问题
  • 执行上述选项之一后,它可以返回仪表板或从系统注销。
  • 我使用了 fork/join,是正确的还是我应该使用决策/合并来代替
    第二,是否正确定义了注销或执行仪表板中可用的其他选项的过程?

    enter

    第二点是您只想执行(根据您的描述)其中一个管理操作。 (顺便说一句,带有通用动词的名称,如"管理"、"维护"、"执行"、"执行"等,对于动作来说是非常糟糕的名称,请改用更具体的名称)。无论仪表板操作中的选择如何,您的模型都会同时执行所有操作。并发意味着以任意顺序并且不需要并行执行。因此,您应该将分叉替换为决策节点,其中输出流的条件基于仪表板中的选择。决策节点可以具有任意(但有限)数量的传出控制流。来自管理操作的所有传出控制流都使用合并节点而不是连接节点进行合并。因为加入节点将等待每个传入控制流的传入令牌。

    使用 UML/SysML 工具可以解决的一个小问题是,fork 和 join 节点是条形而不是矩形框架。


    您的广告有 2 个缺陷。首先,分叉/连接是实心粗线,但不是空心矩形。二是使用不当。这样,您可以并行运行所有 Manage 操作,并在它们全部完成后继续。根据您的描述,使用菱形来决定其中一个动作 之后也使用菱形来合并流并继续 Logout.