Sei sulla pagina 1di 40

BPMN Process Diagram

BPMN Symbols
Events Processes Connectors Gateways

Events
An event is something that happens during the process Events affect the flow of the process and usually have a cause and/or impact

Events are classified as either start, intermediate or end

Sample Events
Events are classified as start, intermediate or end events.
Start events have single borders, intermediate events have double borders and end events have thick borders.

Activity
Activity is a step in a process that performs work Activities are either atomic or compound (subprocess)
Compound activities have their own activities, events, gateways, etc.

Processes are hierarchical


Activities within a compound activity can also be a compound activity

Activities
Task

Collapsed subprocess

Looping Ad Hoc subprocess

Compensation

Loop

Multiple instances

Ad Hoc subprocess

~+

Sequence Flow

Sequence Flow

Conditional Flow

Default Flow

Gateways
Gateways are controllers that split or join sequence flows

Messages

Only messages are allowed between pools

Data Objects

Basic process structure


Start Event End event

Handle request
Partner request

Send partner response

Sequence of activities

Intermediate event

Could be a receive task

Send Msg to partner

Start 2PM

Wait for partner response

Send partner ACK

Variables and properties


Objects in diagrams can have properties and decisions can be made based on the values assigned to them

Exception handling and compensation


Enroll customer Send welcome package

Exception occurs in subprocess


Enroll customer

Fix

Throw bad credit

Expanded subprocess

Check credit

Check credit

Compensation
Reserve hotel Reserve hotel Customer calls to cancel

+
Cancel reservation
..causes this to fire

Compensate Reserve Hotel


This

Compensation is used to undo the effects of previous activities

Parallel Split
Get Itenerary

AND Gateway

Book airline

Book hotel

Book car

Send confirmation

Multi-Choice
Evaluate damage

Inclusive OR
>$1000 damage Structural damage
Contact insurance company

Contact fire department

Submit report

Exclusive Choice
Get approved

XOR gateway

Send welcome package

Send rejection letter

Record an audit trail

Multi-Merge

Audit application

Close case

Process application

Discriminator and N-Out-of-M Join


Submit report

Submit report

Submit report

Submit report

Submit report

Deferred Choice
Send welcome package

Accept
Submit request

Wait for response


Reject

Send rejection letter

Cancel Case
Canceller

Main flow

Step 1

Step 2

Step 3

Expense Reimbursement Process


Send Approval in Progress email to submitter

Send e-mail cancellation notice to submitter 23 days

7 days

No

Create Expense Account PreApproved? Amount < $200

Account Exists? Yes

Review for PreApproval

AutoApprove Expense Account

Transfer Money to Employees Bank

Receive Expense Report

Approved Otherwise Approved? Approval Review by Supervisor

Rejected

Notify Employee of Rejection

Mortgage Company Case


Mortgage Co. take applications from potential customers, make an assessment whether or not to offer the mortgage, and then, either reject the application or make the offer.
Yes Offer?

No

Setting Timers
Now, assume that we want to represent the fact that our potential customer contacted Mortgage Co. to ask for an application form. We want to set a clock running to send them a reminder after seven days if Mortgage Co. does receive the application.

Setting Timers

Application and Reminders as subprocess

Loop Process
Instead of representing a loop as a explicit sequence of activities, its possible to use a loop activity instead.

However, it doesnt really make sense to wait for the application indefinitely so Mortgage Co. has decided to send two reminders then cancel the application and archive the case.

Loop with counter

Decisions based on Events


If the customer never sends in the application, then the process will never get to the assessment phase, but what if the customer does let Mortgage Co. know that they do not want to proceed. After sending the application packet, Mortgage Co. waits for one of three different events.

Event-based exclusive gateway

Non-interrupt alert
Now assume Mortgage Co. guarantees that they will respond to a loan application within 14 days. In support of this, the process should alert a manager after 10 days if it has not been completed and then every day thereafter.

Non-interrupt alert

Representing messages

Modeling Data and Documents

COMPLETE PROCESS

Decisions with more than one right answer

Conditional Flow

Potrebbero piacerti anche