Uml 在活动图中,是否允许没有分叉的死角和连接?(包括示例)

Uml 在活动图中,是否允许没有分叉的死角和连接?(包括示例),uml,activity-diagram,Uml,Activity Diagram,我的问题实际上包括两个关于活动图中相同流程建模的问题 简而言之,这个过程: Joe将一个文件上传到一个门户,这个门户将文件传输到我们的服务器,在那里检查错误。如果出现错误,服务器会向门户发送一条消息,Joe可以在那里看到(如果他仍然登录或下次访问)并再次上传他的文件(希望这次没有错误)。如果成功,服务器也会通知门户,但Joe不必采取任何行动,因此我们对结果不感兴趣。由于文件正常,系统现在等待Sarah,Sarah必须手动开始处理文件,然后处理完成 在下图中,我画了这个,包括我的两个问题。 允许

我的问题实际上包括两个关于活动图中相同流程建模的问题

简而言之,这个过程: Joe将一个文件上传到一个门户,这个门户将文件传输到我们的服务器,在那里检查错误。如果出现错误,服务器会向门户发送一条消息,Joe可以在那里看到(如果他仍然登录或下次访问)并再次上传他的文件(希望这次没有错误)。如果成功,服务器也会通知门户,但Joe不必采取任何行动,因此我们对结果不感兴趣。由于文件正常,系统现在等待Sarah,Sarah必须手动开始处理文件,然后处理完成

在下图中,我画了这个,包括我的两个问题。

  • 允许我让门户泳道中的“通知用户成功”(我发现了拼写错误,谢谢)这样终止吗?如果我在这后面放一个ActivityFinal,这将意味着整个过程将在那里结束,这不是我们想要的
  • 是否允许我在“流程文件”之前加入而不使用fork,还是在一开始就需要一个fork来跨越从Joe到Sarah的所有过程
  • 这一点只不过是试图找到一个有效的UML解决方案来解决这个问题,在我自己的图表中,我会像在示例中那样做

    提前谢谢

  • 我不确定是否禁止在没有传出链接的情况下离开活动节点,但为了清楚起见(因为用户可能认为这是一个错误),我将使用流最终节点(内有x的圆圈)。此节点仅终止流,不影响图中的其他流
  • 您可以在任何地方使用联接节点,无论您以前是否使用过fork。所以你所做的是正确的

  • 在这种情况下,我将从“notifyuserofsuccess”到join元素制作一个箭头,删除从fork到join元素的箭头,并创建一个从fork到“Start process”的箭头

    据我所知,join元素之前的某个点必须有一个fork。
    图表中可以有许多活动结束节点,但我认为不能有多个开始节点。

    活动图表中没有活动,您认为可以吗?没有

    当一条车道收到某个信息时,它应该显示为消息(写在箭头上),而不是动作。发送和接收是特殊的东西,它们不是显示为动作,而是显示为箭头末端,或者它们是否作为活动的参数(边框矩形)重要

    至于fork/join组合,这是绝对可以的

    这是一个示例图,我在上面添加了一些对您有用的元素。这并不意味着你应该复制它,只是把它作为一个来源


    在解决方案中,您将成功通知用户箭头指向fork,这意味着门户必须在开始文件处理之前通知用户,但事实并非如此。因为这是一个异步调用,Sarah可以在通知用户之前启动文件处理。在这种情况下,将是不同步的。