Как разработать процесс, в котором деятельность используется по-разному? - PullRequest
3 голосов
/ 14 января 2020

У меня есть эта часть процесса:

Process

Я пытаюсь описать, что Task 2 может выполняться параллельно с Task 1 если мы идем по flow A, или сам по себе, если мы идем по flow B.

Мне кажется, что две стрелки, выходящие из Task 2, вводят в заблуждение, поэтому я подумал, что лучшая версия была бы такой:

Same process

, где Task 2 дублируется. Мне не нравятся дубликаты, но последняя версия кажется мне менее двусмысленной.

Есть ли третий, правильный путь? Если нет, то какие решения являются правильными?

Ответы [ 2 ]

2 голосов
/ 16 января 2020

Единственный способ express модели, которая соответствует предполагаемой семантике процесса, - это определить Task 2 как глобальное действие подпроцесса и использовать Активность вызова вместо Task 2 во втором шаблоне.

1 голос
/ 15 января 2020

Вы можете объединить два потока с помощью эксклюзивных шлюзов. Я добавил событие начала и включающий шлюз в начале диаграммы процесса ниже, чтобы проиллюстрировать возможный сценарий ios.

  1. Если он начинается в ветви Flow A, он будет разбит на первый и объединенный во втором параллельном шлюзе согласно вашей исходной схеме.
  2. Если ваш экземпляр процесса происходит из ветви Flow B, он обойдет все параллельные шлюзы и перейдет к любой операции, выполняемой в потоке B (задача 4 в моем примере).
  3. Если оба потока активируются одновременно, токены из потока A будут вести себя так, как описано в 1), а те, что формируют поток B, как в 2) выше.

I лично Подумайте, что глобальная задача, предложенная @Gerd Wagner, могла бы облегчить понимание вашей диаграммы, но было бы важно увидеть остальную часть вашей исходной диаграммы, чтобы дать вам четкое суждение.

enter image description here

...