Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия |
ru:rule:external_event [2024-08-27 17:20] – Anatoly Belaychuk | ru:rule:external_event [2024-10-05 13:31] (текущий) – [Моделируйте обработку события, инициированного внешним участником, отдельным процессом] Anatoly Belaychuk |
---|
====== 0-TBD Моделируйте реакцию на событие, инициируемое внешним участником, отдельным процессом ====== | ====== Моделируйте обработку события, инициированного внешним участником, отдельным процессом ====== |
| |
{{tag>ru-процесс}} | {{tag>процесс-ru взаимодействие}} |
| |
{{:ru:v_razrabotke.png?nolink&200|}} | В момент, когда происходит внешнее событие (например, приходит груз от поставщика), оно еще не привязано к контексту (заказ, по которому осуществляется доставка). |
| Это значит, что внешнее событие нельзя обработать в рамках экземпляра уже запущенного процесса (у нас множество заказов, ожидающих доставки) - |
Краткое описание правила. | следовательно, его следует обрабатывать стартовым событием отдельного процесса-обработчика (не путать с подпроцессом-обработчиком). |
| |
===== ✔ Как надо ===== | ===== ✔ Как надо ===== |
<bpmnio type="bpmn"> | <bpmnio type="bpmn"> |
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> |
<definitions | <definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="sid-38422fae-e03e-43a3-bef4-bd33b32041b2" targetNamespace="http://bpmn.io/bpmn" exporter="http://bpmn.io" exporterVersion="0.10.1"> |
xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" | <collaboration id="Collaboration_0g7t6mq"> |
xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" | <participant id="Participant_144acff" name="От потребности до закупки" processRef="Process_1" /> |
xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" | <participant id="Participant_04mf8ql" name="Приемка товара от поставщика" processRef="Process_0ath8fq" /> |
xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" | <messageFlow id="Flow_06phhio" sourceRef="Event_12lad3v" targetRef="Event_1nu1su1" /> |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | </collaboration> |
id="sid-38422fae-e03e-43a3-bef4-bd33b32041b2" | <process id="Process_1" isExecutable="false"> |
targetNamespace="http://bpmn.io/bpmn" exporter="http://bpmn.io" exporterVersion="0.10.1">Паттерны (диаграммы). | <task id="Activity_0xko542" name="..."> |
<bpmn:process id="Process_1" isExecutable="false"> | <incoming>Flow_0fqr94i</incoming> |
<bpmn:startEvent id="StartEvent_1" /> | <outgoing>Flow_1qzqmrm</outgoing> |
</bpmn:process> | <dataOutputAssociation id="DataOutputAssociation_1sbeyu0"> |
| <targetRef>DataStoreReference_0ptgekw</targetRef> |
| </dataOutputAssociation> |
| </task> |
| <sequenceFlow id="Flow_0fqr94i" sourceRef="Event_1ng94pf" targetRef="Activity_0xko542" /> |
| <sequenceFlow id="Flow_1qzqmrm" sourceRef="Activity_0xko542" targetRef="Event_1nu1su1" /> |
| <intermediateCatchEvent id="Event_1nu1su1" name="Товар принят"> |
| <incoming>Flow_1qzqmrm</incoming> |
| <outgoing>Flow_0mvecfq</outgoing> |
| <messageEventDefinition id="MessageEventDefinition_1lzzfm9" /> |
| </intermediateCatchEvent> |
| <startEvent id="Event_1ng94pf"> |
| <outgoing>Flow_0fqr94i</outgoing> |
| </startEvent> |
| <sequenceFlow id="Flow_0mvecfq" sourceRef="Event_1nu1su1" targetRef="Activity_1ashtyk" /> |
| <sequenceFlow id="Flow_1uu5pmf" sourceRef="Activity_1ashtyk" targetRef="Event_1kmjuhs" /> |
| <dataStoreReference id="DataStoreReference_0ptgekw" name="Заказы на закупку" /> |
| <task id="Activity_1ashtyk" name="..."> |
| <incoming>Flow_0mvecfq</incoming> |
| <outgoing>Flow_1uu5pmf</outgoing> |
| </task> |
| <endEvent id="Event_1kmjuhs"> |
| <incoming>Flow_1uu5pmf</incoming> |
| </endEvent> |
| </process> |
| <process id="Process_0ath8fq"> |
| <startEvent id="Event_0djxenp" name="Товар доставлен"> |
| <outgoing>Flow_0za1h4b</outgoing> |
| </startEvent> |
| <sequenceFlow id="Flow_0za1h4b" sourceRef="Event_0djxenp" targetRef="Activity_16ezjxr" /> |
| <sequenceFlow id="Flow_12cq0dp" sourceRef="Activity_16ezjxr" targetRef="Gateway_1gih9c0" /> |
| <sequenceFlow id="Flow_1or7fxn" name="нет" sourceRef="Gateway_1m9hhay" targetRef="Event_1lai5qt" /> |
| <task id="Activity_1eay84c" name="Проверить качество и количество"> |
| <incoming>Flow_0g7l5fa</incoming> |
| <outgoing>Flow_0xz7y35</outgoing> |
| </task> |
| <sequenceFlow id="Flow_0g7l5fa" name="да" sourceRef="Gateway_1gih9c0" targetRef="Activity_1eay84c" /> |
| <exclusiveGateway id="Gateway_1m9hhay" name="В порядке?"> |
| <incoming>Flow_0xz7y35</incoming> |
| <outgoing>Flow_1or7fxn</outgoing> |
| <outgoing>Flow_1l6vlkb</outgoing> |
| </exclusiveGateway> |
| <sequenceFlow id="Flow_0xz7y35" sourceRef="Activity_1eay84c" targetRef="Gateway_1m9hhay" /> |
| <endEvent id="Event_1lai5qt" name="Товар не принят"> |
| <incoming>Flow_1or7fxn</incoming> |
| </endEvent> |
| <sequenceFlow id="Flow_14lwxg3" name="нет" sourceRef="Gateway_1gih9c0" targetRef="Event_1xx98wd" /> |
| <sequenceFlow id="Flow_1l6vlkb" name="да" sourceRef="Gateway_1m9hhay" targetRef="Event_12lad3v" /> |
| <endEvent id="Event_12lad3v" name="Товар принят"> |
| <incoming>Flow_1l6vlkb</incoming> |
| <messageEventDefinition id="MessageEventDefinition_0ypnf1d" /> |
| </endEvent> |
| <task id="Activity_16ezjxr" name="Идентифицировать заказ"> |
| <incoming>Flow_0za1h4b</incoming> |
| <outgoing>Flow_12cq0dp</outgoing> |
| <property id="Property_1tojodc" name="__targetRef_placeholder" /> |
| <dataInputAssociation id="DataInputAssociation_0rbyde0"> |
| <sourceRef>DataStoreReference_0ptgekw</sourceRef> |
| <targetRef>Property_1tojodc</targetRef> |
| </dataInputAssociation> |
| </task> |
| <exclusiveGateway id="Gateway_1gih9c0" name="Есть заказ на закупку?"> |
| <incoming>Flow_12cq0dp</incoming> |
| <outgoing>Flow_0g7l5fa</outgoing> |
| <outgoing>Flow_14lwxg3</outgoing> |
| </exclusiveGateway> |
| <endEvent id="Event_1xx98wd" name="Ошибочная доставка"> |
| <incoming>Flow_14lwxg3</incoming> |
| </endEvent> |
| </process> |
<bpmndi:BPMNDiagram id="BPMNDiagram_1"> | <bpmndi:BPMNDiagram id="BPMNDiagram_1"> |
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1"> | <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Collaboration_0g7t6mq"> |
<bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1"> | <bpmndi:BPMNShape id="Participant_144acff_di" bpmnElement="Participant_144acff" isHorizontal="true"> |
<dc:Bounds x="156" y="82" width="36" height="36" /> | <omgdc:Bounds x="30" y="130" width="570" height="160" /> |
| <bpmndi:BPMNLabel /> |
</bpmndi:BPMNShape> | </bpmndi:BPMNShape> |
| <bpmndi:BPMNShape id="Activity_0xko542_di" bpmnElement="Activity_0xko542"> |
| <omgdc:Bounds x="170" y="170" width="100" height="80" /> |
| <bpmndi:BPMNLabel /> |
| </bpmndi:BPMNShape> |
| <bpmndi:BPMNShape id="Event_0r0qs2b_di" bpmnElement="Event_1nu1su1"> |
| <omgdc:Bounds x="312" y="192" width="36" height="36" /> |
| <bpmndi:BPMNLabel> |
| <omgdc:Bounds x="289" y="168" width="81" height="14" /> |
| </bpmndi:BPMNLabel> |
| </bpmndi:BPMNShape> |
| <bpmndi:BPMNShape id="Event_1ng94pf_di" bpmnElement="Event_1ng94pf"> |
| <omgdc:Bounds x="92" y="192" width="36" height="36" /> |
| </bpmndi:BPMNShape> |
| <bpmndi:BPMNShape id="Activity_1ashtyk_di" bpmnElement="Activity_1ashtyk"> |
| <omgdc:Bounds x="390" y="170" width="100" height="80" /> |
| <bpmndi:BPMNLabel /> |
| </bpmndi:BPMNShape> |
| <bpmndi:BPMNShape id="Event_1kmjuhs_di" bpmnElement="Event_1kmjuhs"> |
| <omgdc:Bounds x="532" y="192" width="36" height="36" /> |
| </bpmndi:BPMNShape> |
| <bpmndi:BPMNEdge id="Flow_0fqr94i_di" bpmnElement="Flow_0fqr94i"> |
| <di:waypoint x="128" y="210" /> |
| <di:waypoint x="170" y="210" /> |
| </bpmndi:BPMNEdge> |
| <bpmndi:BPMNEdge id="Flow_1qzqmrm_di" bpmnElement="Flow_1qzqmrm"> |
| <di:waypoint x="270" y="210" /> |
| <di:waypoint x="312" y="210" /> |
| </bpmndi:BPMNEdge> |
| <bpmndi:BPMNEdge id="Flow_0mvecfq_di" bpmnElement="Flow_0mvecfq"> |
| <di:waypoint x="348" y="210" /> |
| <di:waypoint x="390" y="210" /> |
| </bpmndi:BPMNEdge> |
| <bpmndi:BPMNEdge id="Flow_1uu5pmf_di" bpmnElement="Flow_1uu5pmf"> |
| <di:waypoint x="490" y="210" /> |
| <di:waypoint x="532" y="210" /> |
| </bpmndi:BPMNEdge> |
| <bpmndi:BPMNShape id="Participant_04mf8ql_di" bpmnElement="Participant_04mf8ql" isHorizontal="true"> |
| <omgdc:Bounds x="30" y="430" width="714" height="240" /> |
| <bpmndi:BPMNLabel /> |
| </bpmndi:BPMNShape> |
| <bpmndi:BPMNShape id="Event_0djxenp_di" bpmnElement="Event_0djxenp"> |
| <omgdc:Bounds x="92" y="482" width="36" height="36" /> |
| <bpmndi:BPMNLabel> |
| <omgdc:Bounds x="75" y="525" width="70" height="14" /> |
| </bpmndi:BPMNLabel> |
| </bpmndi:BPMNShape> |
| <bpmndi:BPMNShape id="Activity_1eay84c_di" bpmnElement="Activity_1eay84c"> |
| <omgdc:Bounds x="420" y="460" width="100" height="80" /> |
| <bpmndi:BPMNLabel /> |
| </bpmndi:BPMNShape> |
| <bpmndi:BPMNShape id="Gateway_1m9hhay_di" bpmnElement="Gateway_1m9hhay" isMarkerVisible="true"> |
| <omgdc:Bounds x="565" y="475" width="50" height="50" /> |
| <bpmndi:BPMNLabel> |
| <omgdc:Bounds x="578" y="451" width="23" height="14" /> |
| </bpmndi:BPMNLabel> |
| </bpmndi:BPMNShape> |
| <bpmndi:BPMNShape id="Event_1lai5qt_di" bpmnElement="Event_1lai5qt"> |
| <omgdc:Bounds x="572" y="572" width="36" height="36" /> |
| <bpmndi:BPMNLabel> |
| <omgdc:Bounds x="564" y="615" width="52" height="27" /> |
| </bpmndi:BPMNLabel> |
| </bpmndi:BPMNShape> |
| <bpmndi:BPMNShape id="Event_1ipj0il_di" bpmnElement="Event_12lad3v"> |
| <omgdc:Bounds x="662" y="482" width="36" height="36" /> |
| <bpmndi:BPMNLabel> |
| <omgdc:Bounds x="637" y="525" width="87" height="14" /> |
| </bpmndi:BPMNLabel> |
| </bpmndi:BPMNShape> |
| <bpmndi:BPMNShape id="Activity_16ezjxr_di" bpmnElement="Activity_16ezjxr"> |
| <omgdc:Bounds x="170" y="460" width="100" height="80" /> |
| <bpmndi:BPMNLabel /> |
| </bpmndi:BPMNShape> |
| <bpmndi:BPMNShape id="Gateway_1gih9c0_di" bpmnElement="Gateway_1gih9c0" isMarkerVisible="true"> |
| <omgdc:Bounds x="305" y="475" width="50" height="50" /> |
| <bpmndi:BPMNLabel> |
| <omgdc:Bounds x="285" y="451" width="89" height="14" /> |
| </bpmndi:BPMNLabel> |
| </bpmndi:BPMNShape> |
| <bpmndi:BPMNShape id="Event_1xx98wd_di" bpmnElement="Event_1xx98wd"> |
| <omgdc:Bounds x="312" y="572" width="36" height="36" /> |
| <bpmndi:BPMNLabel> |
| <omgdc:Bounds x="294" y="615" width="73" height="14" /> |
| </bpmndi:BPMNLabel> |
| </bpmndi:BPMNShape> |
| <bpmndi:BPMNEdge id="Flow_0za1h4b_di" bpmnElement="Flow_0za1h4b"> |
| <di:waypoint x="128" y="500" /> |
| <di:waypoint x="170" y="500" /> |
| </bpmndi:BPMNEdge> |
| <bpmndi:BPMNEdge id="Flow_12cq0dp_di" bpmnElement="Flow_12cq0dp"> |
| <di:waypoint x="270" y="500" /> |
| <di:waypoint x="305" y="500" /> |
| </bpmndi:BPMNEdge> |
| <bpmndi:BPMNEdge id="Flow_1or7fxn_di" bpmnElement="Flow_1or7fxn"> |
| <di:waypoint x="590" y="525" /> |
| <di:waypoint x="590" y="572" /> |
| <bpmndi:BPMNLabel> |
| <omgdc:Bounds x="599" y="546" width="13" height="14" /> |
| </bpmndi:BPMNLabel> |
| </bpmndi:BPMNEdge> |
| <bpmndi:BPMNEdge id="Flow_0g7l5fa_di" bpmnElement="Flow_0g7l5fa"> |
| <di:waypoint x="355" y="500" /> |
| <di:waypoint x="420" y="500" /> |
| <bpmndi:BPMNLabel> |
| <omgdc:Bounds x="379" y="482" width="17" height="14" /> |
| </bpmndi:BPMNLabel> |
| </bpmndi:BPMNEdge> |
| <bpmndi:BPMNEdge id="Flow_0xz7y35_di" bpmnElement="Flow_0xz7y35"> |
| <di:waypoint x="520" y="500" /> |
| <di:waypoint x="565" y="500" /> |
| </bpmndi:BPMNEdge> |
| <bpmndi:BPMNEdge id="Flow_14lwxg3_di" bpmnElement="Flow_14lwxg3"> |
| <di:waypoint x="330" y="525" /> |
| <di:waypoint x="330" y="572" /> |
| <bpmndi:BPMNLabel> |
| <omgdc:Bounds x="339" y="546" width="13" height="14" /> |
| </bpmndi:BPMNLabel> |
| </bpmndi:BPMNEdge> |
| <bpmndi:BPMNEdge id="Flow_1l6vlkb_di" bpmnElement="Flow_1l6vlkb"> |
| <di:waypoint x="615" y="500" /> |
| <di:waypoint x="662" y="500" /> |
| <bpmndi:BPMNLabel> |
| <omgdc:Bounds x="630" y="482" width="17" height="14" /> |
| </bpmndi:BPMNLabel> |
| </bpmndi:BPMNEdge> |
| <bpmndi:BPMNShape id="DataStoreReference_0ptgekw_di" bpmnElement="DataStoreReference_0ptgekw"> |
| <omgdc:Bounds x="195" y="345" width="50" height="50" /> |
| <bpmndi:BPMNLabel> |
| <omgdc:Bounds x="103" y="363" width="82" height="14" /> |
| </bpmndi:BPMNLabel> |
| </bpmndi:BPMNShape> |
| <bpmndi:BPMNEdge id="DataInputAssociation_0rbyde0_di" bpmnElement="DataInputAssociation_0rbyde0"> |
| <di:waypoint x="220" y="395" /> |
| <di:waypoint x="220" y="460" /> |
| </bpmndi:BPMNEdge> |
| <bpmndi:BPMNEdge id="Flow_06phhio_di" bpmnElement="Flow_06phhio"> |
| <di:waypoint x="680" y="482" /> |
| <di:waypoint x="680" y="355" /> |
| <di:waypoint x="330" y="355" /> |
| <di:waypoint x="330" y="228" /> |
| </bpmndi:BPMNEdge> |
| <bpmndi:BPMNEdge id="DataOutputAssociation_1sbeyu0_di" bpmnElement="DataOutputAssociation_1sbeyu0"> |
| <di:waypoint x="220" y="250" /> |
| <di:waypoint x="220" y="345" /> |
| </bpmndi:BPMNEdge> |
</bpmndi:BPMNPlane> | </bpmndi:BPMNPlane> |
</bpmndi:BPMNDiagram> | </bpmndi:BPMNDiagram> |
<bpmnio type="bpmn"> | <bpmnio type="bpmn"> |
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> |
<definitions | <definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="sid-38422fae-e03e-43a3-bef4-bd33b32041b2" targetNamespace="http://bpmn.io/bpmn" exporter="http://bpmn.io" exporterVersion="0.10.1"> |
xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" | <collaboration id="Collaboration_0g7t6mq"> |
xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" | <participant id="Participant_144acff" name="От потребности до закупки" processRef="Process_1" /> |
xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" | <participant id="Participant_0pa16ys" name="Поставщик" /> |
xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" | <messageFlow id="Flow_0sp4o62" name="Доставленный товар" sourceRef="Participant_0pa16ys" targetRef="Event_1nu1su1" /> |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | </collaboration> |
id="sid-38422fae-e03e-43a3-bef4-bd33b32041b2" | <process id="Process_1" isExecutable="false"> |
targetNamespace="http://bpmn.io/bpmn" exporter="http://bpmn.io" exporterVersion="0.10.1">Антипаттерны (диаграммы). | <task id="Activity_0xko542" name="..."> |
<bpmn:process id="Process_1" isExecutable="false"> | <incoming>Flow_0fqr94i</incoming> |
<bpmn:startEvent id="StartEvent_1" /> | <outgoing>Flow_1qzqmrm</outgoing> |
</bpmn:process> | </task> |
| <sequenceFlow id="Flow_0fqr94i" sourceRef="Event_1ng94pf" targetRef="Activity_0xko542" /> |
| <sequenceFlow id="Flow_1qzqmrm" sourceRef="Activity_0xko542" targetRef="Event_1nu1su1" /> |
| <intermediateCatchEvent id="Event_1nu1su1" name="Товар доставлен"> |
| <incoming>Flow_1qzqmrm</incoming> |
| <outgoing>Flow_0mvecfq</outgoing> |
| <messageEventDefinition id="MessageEventDefinition_1lzzfm9" /> |
| </intermediateCatchEvent> |
| <startEvent id="Event_1ng94pf"> |
| <outgoing>Flow_0fqr94i</outgoing> |
| </startEvent> |
| <task id="Activity_0b0ddht" name="Принять товар"> |
| <incoming>Flow_0mvecfq</incoming> |
| <outgoing>Flow_0o10xoz</outgoing> |
| </task> |
| <sequenceFlow id="Flow_0mvecfq" sourceRef="Event_1nu1su1" targetRef="Activity_0b0ddht" /> |
| <task id="Activity_1ashtyk" name="..."> |
| <incoming>Flow_0o10xoz</incoming> |
| <outgoing>Flow_1uu5pmf</outgoing> |
| </task> |
| <sequenceFlow id="Flow_0o10xoz" sourceRef="Activity_0b0ddht" targetRef="Activity_1ashtyk" /> |
| <endEvent id="Event_1kmjuhs"> |
| <incoming>Flow_1uu5pmf</incoming> |
| </endEvent> |
| <sequenceFlow id="Flow_1uu5pmf" sourceRef="Activity_1ashtyk" targetRef="Event_1kmjuhs" /> |
| </process> |
<bpmndi:BPMNDiagram id="BPMNDiagram_1"> | <bpmndi:BPMNDiagram id="BPMNDiagram_1"> |
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1"> | <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Collaboration_0g7t6mq"> |
<bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1"> | <bpmndi:BPMNShape id="Participant_144acff_di" bpmnElement="Participant_144acff" isHorizontal="true"> |
<dc:Bounds x="156" y="82" width="36" height="36" /> | <omgdc:Bounds x="30" y="130" width="700" height="160" /> |
| <bpmndi:BPMNLabel /> |
| </bpmndi:BPMNShape> |
| <bpmndi:BPMNShape id="Activity_0xko542_di" bpmnElement="Activity_0xko542"> |
| <omgdc:Bounds x="170" y="170" width="100" height="80" /> |
| <bpmndi:BPMNLabel /> |
| </bpmndi:BPMNShape> |
| <bpmndi:BPMNShape id="Event_0r0qs2b_di" bpmnElement="Event_1nu1su1"> |
| <omgdc:Bounds x="312" y="192" width="36" height="36" /> |
| <bpmndi:BPMNLabel> |
| <omgdc:Bounds x="290" y="235" width="81" height="14" /> |
| </bpmndi:BPMNLabel> |
| </bpmndi:BPMNShape> |
| <bpmndi:BPMNShape id="Event_1ng94pf_di" bpmnElement="Event_1ng94pf"> |
| <omgdc:Bounds x="92" y="192" width="36" height="36" /> |
| </bpmndi:BPMNShape> |
| <bpmndi:BPMNShape id="Activity_0b0ddht_di" bpmnElement="Activity_0b0ddht"> |
| <omgdc:Bounds x="380" y="170" width="100" height="80" /> |
| <bpmndi:BPMNLabel /> |
| </bpmndi:BPMNShape> |
| <bpmndi:BPMNShape id="Activity_1ashtyk_di" bpmnElement="Activity_1ashtyk"> |
| <omgdc:Bounds x="530" y="170" width="100" height="80" /> |
| <bpmndi:BPMNLabel /> |
| </bpmndi:BPMNShape> |
| <bpmndi:BPMNShape id="Event_1kmjuhs_di" bpmnElement="Event_1kmjuhs"> |
| <omgdc:Bounds x="662" y="192" width="36" height="36" /> |
| </bpmndi:BPMNShape> |
| <bpmndi:BPMNEdge id="Flow_0fqr94i_di" bpmnElement="Flow_0fqr94i"> |
| <di:waypoint x="128" y="210" /> |
| <di:waypoint x="170" y="210" /> |
| </bpmndi:BPMNEdge> |
| <bpmndi:BPMNEdge id="Flow_1qzqmrm_di" bpmnElement="Flow_1qzqmrm"> |
| <di:waypoint x="270" y="210" /> |
| <di:waypoint x="312" y="210" /> |
| </bpmndi:BPMNEdge> |
| <bpmndi:BPMNEdge id="Flow_0mvecfq_di" bpmnElement="Flow_0mvecfq"> |
| <di:waypoint x="348" y="210" /> |
| <di:waypoint x="380" y="210" /> |
| </bpmndi:BPMNEdge> |
| <bpmndi:BPMNEdge id="Flow_0o10xoz_di" bpmnElement="Flow_0o10xoz"> |
| <di:waypoint x="480" y="210" /> |
| <di:waypoint x="530" y="210" /> |
| </bpmndi:BPMNEdge> |
| <bpmndi:BPMNEdge id="Flow_1uu5pmf_di" bpmnElement="Flow_1uu5pmf"> |
| <di:waypoint x="630" y="210" /> |
| <di:waypoint x="662" y="210" /> |
| </bpmndi:BPMNEdge> |
| <bpmndi:BPMNShape id="Participant_0xjrlh6_di" bpmnElement="Participant_0pa16ys" isHorizontal="true"> |
| <omgdc:Bounds x="180" y="-10" width="300" height="60" /> |
</bpmndi:BPMNShape> | </bpmndi:BPMNShape> |
| <bpmndi:BPMNEdge id="Flow_0sp4o62_di" bpmnElement="Flow_0sp4o62"> |
| <di:waypoint x="330" y="50" /> |
| <di:waypoint x="330" y="192" /> |
| <bpmndi:BPMNLabel> |
| <omgdc:Bounds x="286" y="103" width="87" height="14" /> |
| </bpmndi:BPMNLabel> |
| </bpmndi:BPMNEdge> |
</bpmndi:BPMNPlane> | </bpmndi:BPMNPlane> |
</bpmndi:BPMNDiagram> | </bpmndi:BPMNDiagram> |
===== Примечания ===== | ===== Примечания ===== |
| |
* Дополнительные комментарии (опционально) | * Обратите внимание на задачу "Идентифицировать доставку" на диаграмме [[#как надо]]. Эта задача имеет место в реальности: когда на наш склад прибывает фура от поставщика, то первое, что делает наш сотрудник - проверяет сопроводительные документы и выясняет, заказывали ли мы этот груз (возможно, он доставлен по ошибке). Но на диаграмме [[#как не надо]] для этой задачи нет места! |
| * Еще одно преимущество схемы [[#как надо]] - она предусматривает возможность, что груз не был принят (например, из-за претензий по качеству и/или количеству) с первой попытке, но был благополучно принят при повторной доставке поставщиком. В этом случае просто будет два экземпляра процесса приемки груза на один экземпляр процесса закупки. |
| * В приведенных примерах опущен таймер (процесс ждет доставки бесконечно) и другие подробности. |
| * На диаграмме [[#как надо]] изображены два развернутых процесса. При моделировании реальных (а не учебных) процессов лучше изображать каждый процесс [[single_process|на отдельной диаграмме]]. |
| * Для моделирования взаимодействия между процессами предпочтительнее использовать не событие-сообщение, а [[conditional_event_collaboration|событие-условие]]. |
| |
===== Исключения ===== | ===== Исключения ===== |
| |
* Исключения из правила (если есть) | Процесс-обработчик может не потребоваться, если модель процесса является исполняемой, а внешний участник процесса - не человек, а робот (информационная система, веб-портал). |
| Поток сообщений в этом случае моделирует вызов веб-сервиса. |
| |
===== Смотри также ===== | ===== Смотри также ===== |
| |
* Ссылки на страницы со схожим контентом (опционально) | * [[single_process]] |
| * [[conditional_event_collaboration]] |
| |
===== Автор(ы) ===== | ===== Автор(ы) ===== |
| |
--- //[[user:bell|Anatoly Belaychuk]] 2024-08-27 17:17// | --- //[[user:bell|Anatoly Belaychuk]] 2024-08-27 17:17// |