【发布时间】:2022-10-17 05:30:15
【问题描述】:
我目前坚持为许多用户以协作方式发生的工作流建模活动图。它有点类似于多个用户同时编辑和验证同一个 Confluence 页面,所以我决定用这个作为一个易于理解的示例。
单个用户的工作流程如下所示:
用户编辑一个页面(在我的例子中是复杂的活动),发布它,然后在发布的页面上执行某种验证(另一个复杂的活动)。如果不满意,则用户返回编辑页面并重复此循环直到满意。
现在想象一下它的协作版本(这当然是一个可怕的工作流程,但想象一下你无论如何都必须对其进行建模):
多个用户协作编辑同一页面,并且在任何时候,其中一个用户都可以发布当前内容并开始验证到目前为止已编辑的内容。但是,其他用户将停留在编辑步骤中,并且可能会在第一个用户进行验证时编辑更多内容。各个用户的“状态”是相互独立的,因此用户 1 可以开始验证,然后用户 2 和 3 可以发布更改并开始验证,同时用户 1 回到编辑状态,在此期间用户 4 发布更改等。 只有在所有用户都决定不再需要任何更改后,工作流程才会结束。
这就引出了一个问题:我将如何更改图表来表达我在这里描述的协作工作流程? 整个活动图是一个<<parallel>>扩展区域吗?我要在最后添加一个同步点吗?它是一个 <<iterative>> 区域吗?还是内部活动是平行的,而不是整个工作流程?
【问题讨论】:
-
你不能显示任何事物在一张图中。将其拆分为几个重要的场景并分别显示。这不是你展示它的唯一方式。以上将是晴天然后添加一个并发编辑,其中一个覆盖另一个编辑器的更改等。
-
此外,您可能会为文档使用状态机,这样您就可以展示如何进行并发编辑(这可能很难到没有限制)。
-
虽然我首先赞成这个问题,但现在我发现它没有简单的答案。协作工作非常复杂,您无法给出简明的答案,这就是为什么我现在投票赞成结束这个问题过于宽泛。
标签: architecture uml modeling activity-diagram