BPMN 2.0 Method & Style - BPMessentials.com · C u s t o m e r R e v i e w C a r O S a l e s a l P...

1
Customer Review Car Sales Sales Prep Receive order Enter order Order from factory? Order yes no no Confirmation request Confirmation response Car unavailable? Order car from factory Prepare car for delivery Car unavailable Financing unavailable Ship date Factory order Cancel factory order Confirmation request Confirmation response Place factory order Calculate delivery date Notify customer delivery date confirmed? Cancel confirmed Car unavailable no yes Customer Factory Data store customer info Data Object order A B ja nein (Parallele Verzweigung) C1 C2 (Parallele Zusammenfürhung) D nach A. p.2 von A. p.1 B D C B D C B D C A B C A B C BPMN 2.0 Method & Style Subprocess A B User Task Service Task Generic (None) Task Subprocess A B Call Activity Call Activity My Process Lane 1 Lane 2 Any comment Fulfil order Out of stock? In stock? Check stock Pick stock success Out of stock Ship order Customer Order Process Ship date Factory order Cancel factory order Confirmation request Confirmation response Place factory order Calculate delivery date Notify customer delivery date confirmed? Cancel confirmed Car unavailable no yes Customer Factory Sales Fulfilment Billing Order Process Sales Fulfilment Billing Obtain management approval approved ? approved rejected Report reason for rejection no yes Continue Happy path Handle exception no yes Approve request rejected? Prozess 1 Prozess 2 A B Prozess 1 Prozess 2 A B Process 1 Process 2 A B Prepare Budget Budget Process Employee Manager Director Review budget Consolidate budget Ok? Request resubmit no yes Prepare Budget Budget Process Employee Manager Director Review budget Consolidate budget Info request claim Claimant Receive claim Review claim Complete? yes Request Additional info no Info request claim Claimant Receive claim Review claim Complete? yes A Task is an atomic Activity, having no subparts defined in the model. Level 1 palette distinguishes human User Task from automated Service Task. Generic None Task means task type undefined. A Global Task (of each type) is a call to a reusable Task definition. Activity: Work performed in a process BPMN-Level 1 Palette Subprocess A Subprocess is a compound Activity, having subparts defined in the model. May be displayed either collapsed, expanded inline, or expanded at a Child Process Level in hierarchical style. Expanded Subprocess inherits Process (Pool) of collapsed Subprocess at Parent Level. It must have a None Start Event. A Call Activity is a call to a reusable Subprocess or Global Task definition. Gateway: Routing logic Task Exclusive (XOR) Gateway Parallel (AND) Gateway A Gateway controls process flow. Without a Gateway, all Sequence Flows out of an Activity are taken in parallel. Exclusive (XOR) Gateway is exclusive decision. Parallel (AND) Gateway means split into Parallel Paths, or join Parallel Paths. A Start Event indicates the start of a Process or Subprocess. A Top-Level Process may have a Trigger representing the type of signal that starts the Process: Message (external request), Timer (scheduled start), or None (manual start). A Subprocess always has a None trigger. An End Event indicates the end of a path in a Process or Subprocess. Best to use a separate End Event for each distinct end state. End Event may throw a result signal: Message (to external entity), Terminate (abort Subprocess), or None (no signal thrown). All Parallel Paths in a Process or Subprocess must reach an End Event to complete normally. A Pool represents a participant in a Collaboration, an interaction between a Process and the external environment. A Pool can contain a single Process. An empty black-box Pool represents an external participant. A Lane is a subdivision of a Process, typically representing a performer role or organizational unit. Event: A Signal that „something happened“ Start Event End Event Pools, Lanes and Connectors Pool, Lane Sequence Flow Message Flow Sequence Flow represents orchestration, or flow of control within a Process or Subprocess. When the node at the tail is complete, the node at the arrowhead is started. Message Flow represents Collaboration, or inter- action between Pools in the form of Messages. Data Data Object, Data Store, Data Association A Data Object represents information stored within a process level. A Data Store represents external information accessible to the Process. The Data Association connector represents Data Flow. Miscellaneous Text Annotation and Association Link Event Pair A Text Annotation is a comment visible in the diagram, linked to a diagram node via an Association connector. A Link Event Pair stands for a Sequence Flow “go-to,” typically used as an off-page connector. It is only allowed where a Sequence Flow would be allowed. Boundary Events (attached to an Activity boundary) listen for a signal while the Activity is running. If the signal occurs, Interrupting Events (top) abort the Activity and exit on the Exception Flow. Non-Interrupting Events (bottom) trigger the Exception Flow in parallel with normal Activity completion and exit. Message Event is a signal from outside the Process. Timer Event is a timeout. Error and Escalation Boundary Event on Subprocess catch exception signal thrown from the child level of the Subprocess. Conditional Boundary Event responds to a continuously monitored data condition. A Send Task sends a Message. A Receive Task receives (waits for) a Message. A Loop Activity evaluates a true/false condition after each iteration; if true, the Activity is performed again. A Multi-Instance Activity is performed, typically in parallel, for each item in a list. Loop and Multi-Instance (MI) Activities may be either Tasks or Subprocesses. An Inclusive (OR) Gateway represents independent conditions; all Sequence Flows with a true condition are enabled in parallel. Conditional Sequence Flow (right) is an alternative representation without a Gateway. Default Flow (tickmark) means “otherwise,” i.e., no other conditions are true. Use OR Gateway to join conditionally parallel paths. Conditional Start signifies triggering by a monitored data condition, such as “low inventory.” Signal Start signifies triggering by a broadcast signal (publish-subscribe integration). An Error End Event in a Subprocess throws a signal caught by an interrupting Error Boundary Event on the same Subprocess. An Escalation End Event in a Subprocess throws a signal caught by a non-interrupting Escalation Boundary Event on the same Subprocess. A Signal End Event broadcasts a signal catchable by any Signal Event. Catching and throwing Intermediate Events have Sequence Flow in and out. Throwing Intermediate Events (black icon) send a signal and continue. Catching Intermediate Events (white icon) wait for a signal, then resume. Message Event sends or receives a Message to/ from another Pool. Timer Event is a specif ed time delay. Signal Event broadcasts a signal or subscribes to a broadcast Signal. Activity: Additional Types and Properties BPMN-Level 2 Palette Task Gateway: Additional Flow Control Pattern Repeating Activities Inclusive (OR) Gateway and Conditional Sequence Flow Event Gateway Event: Additional Event Types Additional Start Events Additional End Events Throwing and Catching Intermediate Events Interrupting and Non-Interrupting Boundary Events Elements of BPMN Style Expanded inline Expanded at Child Process Level None Message Timer None Message Terminate Message Flow cannot connect points in the same pool Make models hierarchical, using Subprocesses to represent Process Levels. User labels to make Process logic obvious from the diagram alone. Label Activities Verb-Noun If possible, label Exclusive Decision Gateways with a yes/no question, and label the outgoing Sequence Flows yes and no. Indicate success and failed end states of a Process with separate End Events, and label them to indicate the end state. If Subprocess is followed by yes/no Gateway, match one End Event of the Subprocess with Gateway Label. Do not use gateway to merge exclusive alter- native paths into an activity Use AND-gateway to join unconditionally parallel paths Use OR-gateway to join conditionally parallel paths Use empty (Black-box) Pools to represent external participants. Begin customer-facing Processes with a Message Start Event receiving a Message Flow from the Customer Pool. Label White-box Pools with the name of a Process; label Black-box Pools with a participant role or business entity. Model internal process participants (activity performers) as Lanes within a single Process Pool, not as separate Pools. Sequence Flow (or equivalent link event pair) must not cross a Pool boundary. Use Message Flow to link Pools. All Activities, Gateways, and Events must be connected via a continuous chain of Sequence Flows leading from a Start Event to End Event. Do not leave Flow Objects “floating” in the Diagram. Show Message Flows between Process and all external Pools in Top-level Diagram, and show Message Flows consistently in Parent- and Child-level-Diagrams. Call Activity An Event Gateway represents exclusive choice based on the Event that occurs first. Each Gate must contain a catching Intermediate Event, typically Message or Timer. Conditional Signal Error Signal Escalation Message Signal Timer Escalation Conditional Signal Error Message Timer Collapsed Subprocess Expanded at Child Process Level Collapsed Subprocess at Parent Process Level Expanded at Child Process Level A Message represents the content of a communication between two Participants. In BPMN 2.0, a Message is a graphical object. Initial Message Return Message Message Conditional Escalation Group is a drawing aid that visually links enclosed elements. Documentation is purely an XML element. It has no graphical representation. Group Documentation Method and Style Training: www.bpmessentials.com Book & Commentary : www.methodandstyle.com Tool: www.itp-commerce.com Message Flow cannot connect to a Gateway. A A Send Task Receive Task Loop Activity Multi-Instance Activity (parallel) Multi-Instance Activity (sequential) High amt Special Handling high amt special handling otherwise Normal response Exception response 3 days Exception flow Normal flow

Transcript of BPMN 2.0 Method & Style - BPMessentials.com · C u s t o m e r R e v i e w C a r O S a l e s a l P...

Cus

tom

erR

evie

w C

ar S

ales

Sal

esP

rep

Receive order

Enter order

Order from factory?

Order

yes

no

no

Confirmation request

Confirmation response

Car unavailable?

Order car from factory

Prepare car for delivery

Car unavailable

Financing unavailable

Ship date

Factory order

Cancel factory order

Confirmation request

Confirmation response

Place factory order

Calculate delivery date

Notify customer

delivery dateconfirmed?

Cancel

confirmed

Car unavailable

no

yes

Cus

tom

erFa

ctor

y

Data storecustomer info

Data Object order

A Bja

nein

(Parallele Verzweigung)

C1

C2

(Parallele Zusammenfürhung)

D

nach A. p.2 von A. p.1

B

D

C

B

D

C

B

D

C

A B

C

A B

C

BPMN 2.0 Method & Style

Subprocess

A B

User Task Service TaskGeneric (None)Task

Subprocess

A B

Call Activity

Call Activity

My

Proc

ess

Lane

1La

ne 2

Any comment

Fulfil order

Out of stock?

In stock?

Check stock Pick stocksuccess

Out of stock

Ship order

Cus

tom

erO

rder

Pro

cess

Ship date

Factory order

Cancel factory order

Confirmation request

Confirmation response

Place factory order

Calculate delivery date

Notify customer

delivery dateconfirmed?

Cancel

confirmed

Car unavailable

no

yes

Cus

tom

erFa

ctor

y

Sale

sFu

lfilm

ent

Bill

ing

Ord

er P

roce

ss

Sale

sFu

lfilm

ent

Bill

ing

Obtain management approval

approved ?approved

rejected

Report reason for rejection

no

yesContinue

Happy path

Handle exception

no

yes

Approverequest

rejected?

Pro

zess

1P

roze

ss 2

A

B

Pro

zess

1P

roze

ss 2

A

B

Pro

cess

1P

roce

ss 2

A

B

Prepare Budget

Budg

et P

roce

ss

Em

ploy

eeM

anag

erD

irect

or

Review budget

Consolidate budget

Ok?

Request resubmit

no

yes

Prepare Budget

Budg

et P

roce

ss

Em

ploy

eeM

anag

erD

irect

or

Review budget

Consolidate budget

Inforequest

claim

Cla

iman

t

Receive claim

Review claim

Complete?

yes

RequestAdditional infono

Info requestclaim

Cla

iman

t

Receive claim

Review claim

Complete?

yes

A Task is an atomic Activity, having no subparts defined in the model. Level 1 palette distinguishes human User Task from automated Service Task. Generic None Task means task type undefined.A Global Task (of each type) is a call to a reusable Task definition.

Activity: Work performed in a process

BPMN-Level 1 Palette

Subprocess

A Subprocess is a compound Activity, having subparts defined in the model. May be displayed either collapsed, expanded inline, or expanded at a Child Process Level in hierarchical style. Expanded Subprocess inherits Process (Pool) of collapsed Subprocess at Parent Level. It must have a None Start Event.A Call Activity is a call to a reusable Subprocess or Global Task definition.

Gateway: Routing logic

Task

Exclusive (XOR) Gateway

Parallel (AND) Gateway

A Gateway controls process flow. Without a Gateway, all Sequence Flows out of an Activity are taken in parallel. Exclusive (XOR) Gateway is exclusive decision. Parallel (AND) Gateway means split into Parallel Paths, or join Parallel Paths.

A Start Event indicates the start of a Process or Subprocess. A Top-Level Process may have a Trigger representing the type of signal that starts the Process: Message (external request), Timer (scheduled start), or None (manual start). A Subprocess always has a None trigger.

An End Event indicates the end of a path in a Process or Subprocess. Best to use a separate End Event for each distinct end state. End Event may throw a result signal: Message (to external entity), Terminate (abort Subprocess), or None (no signal thrown). All Parallel Paths in a Process or Subprocess must reach an End Event to complete normally.

A Pool represents a participant in a Collaboration, an interaction between a Process and the external environment. A Pool can contain a single Process. An empty black-box Pool represents an external participant. A Lane is a subdivision of a Process, typically representing a performer role or organizational unit.

Event: A Signal that „something happened“Start Event

End Event

Pools, Lanes and ConnectorsPool, Lane

Sequence Flow

Message Flow

Sequence Flow represents orchestration, or flow of control within a Process or Subprocess. When the node at the tail is complete, the node at the arrowhead is started.

Message Flow represents Collaboration, or inter-action between Pools in the form of Messages.

DataData Object, Data Store, Data Association A Data Object represents information stored

within a process level. A Data Store represents external information accessible to the Process.The Data Association connector represents Data Flow.

MiscellaneousText Annotation and Association

Link Event Pair

A Text Annotation is a comment visible in the diagram, linked to a diagram node via an Association connector.

A Link Event Pair stands for a Sequence Flow “go-to,” typically used as an off-page connector. It is only allowed where a Sequence Flow would be allowed.

Boundary Events (attached to an Activity boundary) listen for a signal while the Activity is running. If the signal occurs, Interrupting Events (top) abort the Activity and exit on the Exception Flow. Non-Interrupting Events (bottom) trigger the Exception Flow in parallel with normal Activity completion and exit. Message Event is a signal from outside the Process. Timer Event is a timeout. Error and Escalation Boundary Event on Subprocess catch exception signal thrown from the child level of the Subprocess.Conditional Boundary Event responds to a continuously monitored data condition.

A Send Task sends a Message. A Receive Task receives (waits for) a Message.

A Loop Activity evaluates a true/false condition after each iteration; if true, the Activity is performed again. A Multi-Instance Activity is performed, typically in parallel, for each item in a list. Loop and Multi-Instance (MI) Activities may be either Tasks or Subprocesses.

An Inclusive (OR) Gateway represents independent conditions; all Sequence Flows with a true condition are enabled in parallel. Conditional Sequence Flow (right) is an alternative representation without a Gateway. Default Flow (tickmark) means “otherwise,” i.e., no other conditions are true. Use OR Gateway to join conditionally parallel paths.

Conditional Start signifies triggering by a monitored data condition, such as “low inventory.” Signal Start signifies triggering by a broadcast signal (publish-subscribe integration).

An Error End Event in a Subprocess throws a signal caught by an interrupting Error Boundary Event on the same Subprocess. An Escalation End Event in a Subprocess throws a signal caught by a non-interrupting Escalation Boundary Event on the same Subprocess. A Signal End Event broadcasts a signal catchable by any Signal Event.

Catching and throwing Intermediate Events have Sequence Flow in and out. Throwing Intermediate Events (black icon) send a signal and continue. Catching Intermediate Events (white icon) wait for a signal, then resume. Message Event sends or receives a Message to/from another Pool. Timer Event is a specif ed time delay. Signal Event broadcasts a signal or subscribes to a broadcast Signal.

Activity: Additional Types and Properties

BPMN-Level 2 Palette

Task

Gateway: Additional Flow Control Pattern

Repeating Activities

Inclusive (OR) Gateway and Conditional Sequence Flow

Event Gateway

Event: Additional Event TypesAdditional Start Events

Additional End Events

Throwing and Catching Intermediate Events

Interrupting and Non-Interrupting Boundary Events

Elements of BPMN Style

Expanded inline

Expanded at Child Process Level

None Message Timer

None Message Terminate

• Message Flow cannot connect points in the same pool

• Make models hierarchical, using Subprocesses to represent Process Levels.

• User labels to make Process logic obvious from the diagram alone.

• Label Activities Verb-Noun • If possible, label Exclusive Decision Gateways with a

yes/no question, and label the outgoing Sequence Flows yes and no.

• Indicate success and failed end states of a Process with separate End Events, and label them to indicate the end state.

• If Subprocess is followed by yes/no Gateway, match one End Event of the Subprocess with Gateway Label.

• Do not use gateway to merge exclusive alter-native paths into an activity

• Use AND-gateway to join unconditionally parallel paths

• Use OR-gateway to join conditionally parallel paths

• Use empty (Black-box) Pools to represent external participants.

• Begin customer-facing Processes with a Message Start Event receiving a Message Flow from the Customer Pool.

• Label White-box Pools with the name of a Process; label Black-box Pools with a participant role or business entity.

• Model internal process participants (activity performers) as Lanes within a single Process Pool, not as separate Pools.

• Sequence Flow (or equivalent link event pair) must not cross a Pool boundary.

• Use Message Flow to link Pools.

• All Activities, Gateways, and Events must be connected via a continuous chain of Sequence Flows leading from a Start Event to End Event.

• Do not leave Flow Objects “floating” in the Diagram.

• Show Message Flows between Process and all external Pools in Top-level Diagram, and show Message Flows consistently in Parent- and Child-level-Diagrams.

Call Activity

An Event Gateway represents exclusive choice based on the Event that occurs first. Each Gate must contain a catching Intermediate Event, typically Message or Timer.

Conditional Signal

Error SignalEscalation

Message SignalTimer

Escalation ConditionalSignal

Error

Message Timer

Collapsed Subprocess Expanded at Child Process Level

Collapsed Subprocess at Parent Process Level Expanded at Child Process Level

A Message represents the content of a communication between two Participants. In BPMN 2.0, a Message is a graphical object.Initial Message Return Message

Message

Conditional Escalation

Group is a drawing aid that visually links enclosed elements.

Documentation is purely an XML element. It has no graphical representation.

Group

Documentation

Method and Style Training: www.bpmessentials.com Book & Commentary : www.methodandstyle.com Tool: www.itp-commerce.com

• Message Flow cannot connect to a Gateway.

A A

Send Task Receive Task

Loop Activity Multi-InstanceActivity (parallel)

Multi-InstanceActivity (sequential)

High amt

Special Handling

high amt

special handling

otherwise

Normal response

Exception response

3 days

Exception flow

Normal flow