Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия |
ru:rule:do_not_save_on_gateways [2024-08-26 11:29] – [Отредактирована диаграмма] Anatoly Belaychuk | ru:rule:do_not_save_on_gateways [2024-08-26 13:08] (текущий) – [Примечания] Anatoly Belaychuk |
---|
====== 0-TBD Не экономьте на развилках ====== | ====== Не экономьте на развилках ====== |
| |
{{tag>развилка}} | {{tag>развилка цикл}} |
| |
{{:ru:v_razrabotke.png?nolink&200|}} | |
| |
Стремление уменьшить количество элементов ухудшает читаемость. | |
| |
| Развилки делают схему понятной с первого взгляда. |
===== ✔ Как надо ===== | ===== ✔ Как надо ===== |
| |
===== Примечания ===== | ===== Примечания ===== |
| |
Благодаря своей заметности развилки делают схему понятной с первого взгляда. | Некоторые авторы рекомендуют использовать развилки только там, где без них нельзя обойтись. |
| Аргументируется это тем, что уменьшение количества элементов на диаграмме делает ее более понятной. |
Структурированные блоки. | Например, Брюс Сильвер в книге "BPMN - метод и стиль" рекомендует использовать неявное распараллеливание (экономится расходящаяся параллельная развилка) |
| и схождение альтернативных маршрутов на действии (экономится сходящаяся развилка "или-или"). |
Противоречит Методу и стилю Брюса Сильвера. | Другие авторы из этих же соображений рекомендуют использовать условные потоки управления (экономится расходящаяся развилка "или-или"). |
| |
| Такая рекомендация является спорной: считать развилки бесполезным балластом неверно - |
| они позволяют разбить диаграмму на [[structured_diagram|структурные блоки]], тем самым делая процессную логику явной, легко считываемой. |
===== Исключения ===== | ===== Исключения ===== |
| |
<process id="Process_0a1x1rm"> | <process id="Process_0a1x1rm"> |
<laneSet id="LaneSet_0oxuxy6"> | <laneSet id="LaneSet_0oxuxy6"> |
<lane id="Lane_0ydghza" name="Employee"> | <lane id="Lane_0ydghza" name="Исполнитель"> |
<flowNodeRef>Activity_1mas9cf</flowNodeRef> | <flowNodeRef>Activity_1mas9cf</flowNodeRef> |
<flowNodeRef>Event_0rrygmz</flowNodeRef> | <flowNodeRef>Event_0rrygmz</flowNodeRef> |
<flowNodeRef>Activity_0u0drg9</flowNodeRef> | <flowNodeRef>Activity_0u0drg9</flowNodeRef> |
</lane> | </lane> |
<lane id="Lane_0hvsiwo" name="Manager"> | <lane id="Lane_0hvsiwo" name="Руководитель"> |
<flowNodeRef>Activity_0rgs3uj</flowNodeRef> | <flowNodeRef>Activity_0rgs3uj</flowNodeRef> |
<flowNodeRef>Gateway_1r795qj</flowNodeRef> | <flowNodeRef>Gateway_1r795qj</flowNodeRef> |
</lane> | </lane> |
</laneSet> | </laneSet> |
<task id="Activity_1mas9cf" name="Do"> | <task id="Activity_1mas9cf" name="Сделать"> |
<incoming>Flow_1muai6c</incoming> | <incoming>Flow_1muai6c</incoming> |
<outgoing>Flow_1a7m68a</outgoing> | <outgoing>Flow_1a7m68a</outgoing> |
</startEvent> | </startEvent> |
<sequenceFlow id="Flow_1a7m68a" sourceRef="Activity_1mas9cf" targetRef="Activity_0rgs3uj" /> | <sequenceFlow id="Flow_1a7m68a" sourceRef="Activity_1mas9cf" targetRef="Activity_0rgs3uj" /> |
<task id="Activity_0rgs3uj" name="Accept"> | <task id="Activity_0rgs3uj" name="Принять"> |
<incoming>Flow_1a7m68a</incoming> | <incoming>Flow_1a7m68a</incoming> |
<incoming>Flow_0w6ruw6</incoming> | <incoming>Flow_0w6ruw6</incoming> |
<outgoing>Flow_02iidys</outgoing> | <outgoing>Flow_02iidys</outgoing> |
</task> | </task> |
<exclusiveGateway id="Gateway_1r795qj" name="OK?"> | <exclusiveGateway id="Gateway_1r795qj" name="Принято?"> |
<incoming>Flow_02iidys</incoming> | <incoming>Flow_02iidys</incoming> |
<outgoing>Flow_0s9fue9</outgoing> | <outgoing>Flow_0s9fue9</outgoing> |
<outgoing>Flow_15vub0z</outgoing> | <outgoing>Flow_15vub0z</outgoing> |
</exclusiveGateway> | </exclusiveGateway> |
<task id="Activity_0u0drg9" name="Redo"> | <task id="Activity_0u0drg9" name="Переделать"> |
<incoming>Flow_15vub0z</incoming> | <incoming>Flow_15vub0z</incoming> |
<outgoing>Flow_0w6ruw6</outgoing> | <outgoing>Flow_0w6ruw6</outgoing> |
<sequenceFlow id="Flow_0w6ruw6" sourceRef="Activity_0u0drg9" targetRef="Activity_0rgs3uj" /> | <sequenceFlow id="Flow_0w6ruw6" sourceRef="Activity_0u0drg9" targetRef="Activity_0rgs3uj" /> |
<sequenceFlow id="Flow_02iidys" sourceRef="Activity_0rgs3uj" targetRef="Gateway_1r795qj" /> | <sequenceFlow id="Flow_02iidys" sourceRef="Activity_0rgs3uj" targetRef="Gateway_1r795qj" /> |
<sequenceFlow id="Flow_0s9fue9" name="yes" sourceRef="Gateway_1r795qj" targetRef="Event_05brdcz" /> | <sequenceFlow id="Flow_0s9fue9" name="да" sourceRef="Gateway_1r795qj" targetRef="Event_05brdcz" /> |
<sequenceFlow id="Flow_15vub0z" name="no" sourceRef="Gateway_1r795qj" targetRef="Activity_0u0drg9" /> | <sequenceFlow id="Flow_15vub0z" name="нет" sourceRef="Gateway_1r795qj" targetRef="Activity_0u0drg9" /> |
<endEvent id="Event_05brdcz"> | <endEvent id="Event_05brdcz"> |
<incoming>Flow_0s9fue9</incoming> | <incoming>Flow_0s9fue9</incoming> |
* [[overlapped_flows]] | * [[overlapped_flows]] |
* [[alternative_paths]] | * [[alternative_paths]] |
| * [[time_flows_left_to_right]] |
| |
===== Автор(ы) ===== | ===== Автор(ы) ===== |
| |
--- //[[user:bell|Anatoly Belaychuk]] 2024-08-22 20:38// | --- //[[user:bell|Anatoly Belaychuk]] 2024-08-22 20:38// |