business process modelling -8.2/2013 -
DESCRIPTION
Business Process Modelling -8.2/2013 -. Marcello La Rosa Queensland University of Technology. Brisbane, 12 September 2013. Mid-semester survey: your words, our actions…. Generally, very positive comments. A few notes worth commenting: - PowerPoint PPT PresentationTRANSCRIPT
Business Process Modelling-8.2/2013 -
Marcello La Rosa
Queensland University of Technology
Brisbane, 12 September 2013
© INB/INN320 8.2/2011 – 12 September 2013
Mid-semester survey: your words, our actions…
Generally, very positive comments. A few notes worth commenting:1. Too many readings: read the required readings, the others are for
your own culture and interest2. Use of Signavio: not mandatory3. Tutorial notes online late: usually on Friday, we will strive to put
them up on Thursday after the class4. Assignment specification came up too early, content not yet
fully covered: the idea is that you build your report incrementally rather than being confronted with a lot of content altogether. No self-study required. Do not anticipate content!
5. Audio quality poor: AV Support notified. 6. THU 8pm tutorial inconvenient: moved to S502 at 5pm for Weeks
8-12. Week 13 in S503 at 8pm.
2
© INB/INN320 8.2/2011 – 12 September 2013
Tutorials attendance rate
3
Time Mon Tue Wed Thu Fri9am S502 (10)
10am S518 (10)
11am
12am
1pm S506 (20) S503 (25), S506 (10)
2pm S507 (20)
3pm S410 – LECT
4pm S410 – LECT
5pm S502 (35) NEW!
6pm
7pm
8pm S503 (30) S503 (35)
Raffaele, Eike, Stephan
© INB/INN320 8.2/2011 – 12 September 2013
Quick Repeat from Week 7
• What splits and joins can be represented implicitly in BPMN?
• What is a sub-process?
• How can we model repetition in BPMN?
• What is a multi-instance task?
4
© INB/INN320 8.2/2011 – 12 September 2013
Uncontrolled Repetition: Ad-hoc sub-process
• The ad-hoc sub-process contains activities (tasks or sub-processes) to be executed in arbitrary order and time
• May define order of sub-set of activities by sequence flow• Can be used in an early version of a process diagram when
the order of execution is still unknown• Denoted with a tilde marker on the expanded sub-process
notationReview company’s KPIs
Evaluate prior performance
Assess financial stability
Profile products and
services
Interview corporate executives
~ 5
© INB/INN320 8.2/2011 – 12 September 2013
Example: ad-hoc sub-process
A typical army selection process starts by shortlisting all candidates’ applications. Those shortlisted are then called to sit the following tests: drug and alcohol, eye, color vision, hearing, blood, urine, weight, fingerprinting and doctor examination. The color vision can only be done after the eye test, while the doctor examination can only be done after color vision, hearing, blood, urine and weight have been tested. Moreover, it may be required for some candidates to repeat some of these tests multiple times in order to get a correct assessment, e.g. the blood test may need be repeated if the candidate has taken too much sugar in the previous 24 hours. The candidates that pass all tests are asked to sit a mental exam and a physical exam, followed by an interview. Only those that also pass these two exams and perform well in the interview can be recruited in the army.
6
© INB/INN320 8.2/2011 – 12 September 2013
Solution: ad-hoc sub-process
7
© INB/INN320 8.2/2011 – 12 September 2013
Value chain modelling
8
“is predecessor of”
Businessprocess
Chain of (high-level) processes an organisation performs in order to achieve a business goal, e.g. deliver a product or service to the market.
© INB/INN320 8.2/2011 – 12 September 2013
Linking value chains with process models
Consultstakeholders
Designproductfeatures
Newproduct
to bedeveloped
Productdeveloped
Finalizeproductfeatures
Invoice received
Enter customer
information
Customer entered
Details entered
Enter purchase
information
Purchase info. entered
Enter credit information
POreceived
Check stock availability
x
Product in stock
Product not in stock
Reject orderConfirm order
v
Order confirmed
Shipgoods
Sendinvoice
Invoicesent
Goodsshipped
Order rejected
9
Process model for this business
process is available
BPMN Modelling- Events Handling -
© INB/INN320 8.2/2011 – 12 September 2013
Event types
Untyped Event – Indicates that an instance of the process is created (start) or completed (end), without specifying the cause for creation/completion
Start Message Event – Indicates that an instance of the process is created when a message is received
End Message Event – Indicates that an instance of the process is completed when a message is sent
Intermediate Message Event – Indicates that an event is expected to occur during the process. The event is triggered when a message is received or sent
Catching
11
EndIntermediateStart
© INB/INN320 8.2/2011 – 12 September 2013
Event types (cont.’ed)
Start Timer Event – Indicates that an instance of the process is created at certain date(s)/time(s), e.g. start process at 6pm every Friday
Intermediate Timer Event – Triggered at certain date(s)/time(s), or after a time interval has elapsed since the moment the event is “enabled” (delay)
Intermediate Link Event – Indicates that the process flow is resumed from a previous diagram (represented elsewhere), or that it continues in a subsequent diagram (represented elsewhere). Often used as an off-page connector.
12
EndIntermediateStart
© INB/INN320 8.2/2011 – 12 September 2013
Message and Timer events
Atomic Task/Sub-process
Atomic Task/Sub-processprocess
starts uponmessagereceived
messagesent during the process
process ends upon message
sent
Normal Flow
Exception Flow
Normal Flow
task terminates upon messagereceived
process starts whentime event
occurs
Normal Flow
Exception Flow
Normal Flow
task terminates when time eventoccurs
messagereceived
during the process
time event occurred
(to model delay)
Start EndIntermediate
Catching ThrowingCatching Throwing
Modelling Exceptions
13
© INB/INN320 8.2/2011 – 12 September 2013
Example: message event
Listings
Judiciary
Check P&E Judge Availability
Check Court Calendar
Request Sittings List
Court CalendarReceived
For all Judges
Resolve P&E Judge
Availability
Change P&E Schedules
P&E Court
CourtAdministra-
tion
Court CalendarChange Request
Yearly Schedule
Sent
Sittings ListReceived
Start event(receive)
Intermediate catching event
(receive)
End event(send)
14
© INB/INN320 8.2/2011 – 12 September 2013
Comparison with sending/receiving tasks
Receive invoice
Receive invoice
Send invoice
Send invoice
Invoicereceived
Invoicereceived
Invoicesent
Invoicesent
=
=
=
=
Is this really the same?
15
© INB/INN320 8.2/2011 – 12 September 2013
So, when to use what?
Use message events only when the corresponding activity would simply send or receive a message and do nothing else
16
© INB/INN320 8.2/2011 – 12 September 2013
Example: timer event
Prepare Callover Material
Attend Callover
Wake-up the List Manager
2 Hours
Start event Intermediate catching event
Activities must always have input and output
Sequence Flow
Prepare Callover List
3 Weeks prior to Callover
1 Week prior to Callover
Contact Parties
Callover Day
Prepare Callover Material
Attend Callover
17
© INB/INN320 8.2/2011 – 12 September 2013
Find the bugs…
SmallClaims
RegistryOperations
Party
QueenslandPolice
Retrieve STC File
Distribute SCT Warrant Possession
Store SCT Physical File
Retrieve SCT File
Attach SCT Document
Store SCT Physical File
request warrant release
reportcoversheet
ExpandedFileFileFile Report File
“Awaiting Report”
Start Message Eventscannot signal message sending
Normal Flow cannotbe used to pass onData Objects
• Start Timer instead of Intermediate Timer• Timer events cannot be used to wait for messages• Tasks cannot lead only to Exception Flow
Each Pool (white box) must have one start and one end event
18
© INB/INN320 8.2/2011 – 12 September 2013
A possible solution…
SmallClaims
RegistryOperations
Party
QueenslandPolice
Retrieve SCT File
Distribute SCT Warrant Possession
Store SCT Physical File
Retrieve SCT File
Attach new SCT
Document
Store SCT Physical File
reportcoversheet
ExpandedFile
FileFileFile
Request warrant release
19
© INB/INN320 8.2/2011 – 12 September 2013
Example: modelling with events
20
Register PO
POReceived
Next working dayweekend/
holiday
Check Availability
Send PO Response
weekday
POfulfilled
A Purchase Order (PO) handling process starts when a PO is received. The PO is first registered. If the current date is not a working day, the process waits until the following working day before proceeding. Otherwise, an availability check is performed and a “PO response” is sent back to the customer.
© INB/INN320 8.2/2011 – 12 September 2013
Example: modelling with events
A Purchase Order (PO) handling process starts when a PO is received. The PO is first registered. If the current date is not a working day, the process waits until the following working day before proceeding. Otherwise, an availability check is performed and a “PO response” is sent back to the customer. Anytime after the PO has been registered, the customer may send a “PO change request”. When such a PO change request is received, any processing related to the PO must be stopped. The PO change request is then registered. Thereafter, the process proceeds as it would do after a normal PO is registered.
21
© INB/INN320 8.2/2011 – 12 September 2013
Register PO
POReceived
Next working dayweekend/
holiday
Check Availability
Send PO Response
weekday
POfulfilled
Solution: modelling with events
Handle PO
Register PO
POReceived
Next working dayweekend/
holiday
Check Availability
Send PO Response
weekday
POfulfilled
PORegistered
Responsesent
PO Changereceived
Register PO Change
22
© INB/INN320 8.2/2011 – 12 September 2013
Alternative solution
Handle PO
Register PO
POReceived
Next working
day
Check Availability
PO Changereceived
Send PO Response
POfulfilled
Register PO Change
Responsesent
Is it really right?
23
© INB/INN320 8.2/2011 – 12 September 2013 24
Quiz: what’s wrong with this model?P
ool 1
Poo
l 2
C
Dc1
ENot c1c2
F
A B
Not c2
Message zMessage yMessage x
© INB/INN320 8.2/2011 – 12 September 2013
Event-based decision
• With the XOR-split gateway, a branch is chosen based on conditions that evaluate over available data
The choice can be made immediately after the token arrives from the incoming flow
• Sometimes, the choice must be delayed until an event happens The choice is based on a race among events
• This is why BPMN distinguishes data-driven and event-driven XOR-splits
data-driven XOR-split event-driven XOR split25
© INB/INN320 8.2/2011 – 12 September 2013
Example: event-based decision
Restaurants submit orders to suppliers to replenish their food stocks every Thursday. The process for completing an order starts when a restaurant receives either a “PO Response” or an error message. However it may also happen that no response is received at all. If no response is received by Friday afternoon or if an error message is received, the purchasing officer should be notified. Otherwise, the PO Response is processed normally.
26
© INB/INN320 8.2/2011 – 12 September 2013
A possible solution
Notify Purchasing
Officer
PO ResponseReceived
Error MessageReceived
Fridayafternoon
Process PO Response
From“Order
submission”Ordering
failed
Orderingcompleted
27
© INB/INN320 8.2/2011 – 12 September 2013
Quiz: find the bugs
Send reminder
Send Questionnaire
Filled Questionnaire
Received
After 5 daysnot Intermediate Timer Event
28
© INB/INN320 8.2/2011 – 12 September 2013
Solution: event-based decision
Send reminder
Send Questionnaire
Filled Questionnaire
Received
After 5 days
29
© INB/INN320 8.2/2011 – 12 September 2013
Remember the quiz from slide 23?P
ool 1
Pool
2
C
Dc1
ENot c1c2
F
A B
Not c2
Message zMessage yMessage x
Poo
l 1P
ool 2
C
Dc1
ENot c1c2 F
A
Message x
Not c2
B
Message y Message z
30
© INB/INN320 8.2/2011 – 12 September 2013
Interlude: multiple start events
The first such event that occurs, will trigger an instance of the process.
Notify Purchasing
Officer
PO ResponseReceived
Error MessageReceived
Fridayafternoon
Process PO Response
31
© INB/INN320 8.2/2011 – 12 September 2013
What is this process doing?
Request Proof of Delivery
(POD)good not delivered
Verify Goods Delivery
5 working days
good delivered
POD received
From “Process Invoice Relating to PO”
From “Process Blocked Invoice Relating to PO”
To “Create Goods Receipt - Centralised”
32
© INB/INN320 8.2/2011 – 12 September 2013
Recap: Events
Untyped: indicate start point, state changes or final states.
Message: Receiving and sending messages.
Timer: Cyclic timer events, points in time, time spans or timeouts.Link: Off-page connectors. Two corresponding link events equal a sequence flow.
Start EndIntermediate
Catching Throwing
33
© INB/INN320 8.2/2011 – 12 September 2013
BPMN Poster: get it from blackboard!
34
© INB/INN320 8.2/2011 – 12 September 2013
References
Required• Sections 4.3.2 - 4.4.2 of Chapter 4 of textbook “Fundamentals of BPM”
Recommended• OMG (2011): BPMN 2.0 Specification• BPM Offensive (2011): BPMN 2.0 Poster• OGM (2010): BPMN 2.0 By Example
Web References• OMG BPM Initiative• BPMN Community
Books on BPMN• Silver B. (2011): “BPMN Method & Style” 2nd Edition, Cody-Cassidy
35
© INB/INN320 8.2/2011 – 12 September 2013
A/Prof. Marcello La RosaIS School Academic Director(Corporate Programs and Partnerships)BPM Discipline, IS School
Science & Engineering FacultyQueensland University of Technology126 Margaret StreetBrisbane QLD 4000Australia
p +61 (0)7 3138-9482e [email protected] www.marcellolarosa.com