如何在UML中合并决策/分叉节点

如何在UML中合并决策/分叉节点,uml,activity-diagram,Uml,Activity Diagram,下面是购物车用例的UML活动图。它有几个decision和fork节点,但没有相应的join/merge节点。你能告诉我: 如何通过引入合并/连接节点来更正关系图 如何修改图表,以便客户可以重复该过程(向购物车添加更多产品) 多谢各位。 您在任何地方都有初始活动元素吗?使它更容易阅读。对于您的问题,应该使用合并,而不是让多个连接器进入同一活动。例如,“Acknowledge Msg”上面应该有一个合并,其他分支可以流入其中 至于如何使其可重复,您可能需要一个“添加到购物车”操作,并且在“结帐

下面是购物车用例的UML活动图。它有几个decision和fork节点,但没有相应的join/merge节点。你能告诉我:

  • 如何通过引入合并/连接节点来更正关系图
  • 如何修改图表,以便客户可以重复该过程(向购物车添加更多产品)
多谢各位。

您在任何地方都有初始活动元素吗?使它更容易阅读。对于您的问题,应该使用合并,而不是让多个连接器进入同一活动。例如,“Acknowledge Msg”上面应该有一个合并,其他分支可以流入其中


至于如何使其可重复,您可能需要一个“添加到购物车”操作,并且在“结帐”操作之前,与警卫一起决定“购物完成”(转到结帐操作)和“继续购物”(回到“输入产品”)。它在petri网中引入,也用于UML活动图中

决策节点只生成一个令牌,即它们只遵循一条传出路径。要合并这样的路径(只遵循其中的一个),可以使用合并节点。它看起来就像一个反向决策节点,能够使用一个令牌。有多条边的钻石

如果使用并行化节点启动并发执行路径,则有多个令牌离开并行化节点。要合并这类路径,可以使用同步节点,它看起来像一个反向并行化节点,每个传入边缘必须使用一个令牌



(来源:)

是“确认消息”上方的合并(条形图)还是加入(菱形图)?来自ErrMsg 1和ErrMsg 2的流是交替的,而不是并行的。合并将在进行之前等待这两种情况——这是永远不会发生的。不过,我已经有一段时间没有看活动图语义了,所以你可能是对的……抱歉,我把术语理解错了。菱形被称为合并节点,因此您是正确的。