Slides - Fundamentals of BPM

advertisement
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:
1. Too many readings: read the required readings, the others are for
your own culture and interest
2. Use of Signavio: not mandatory
3. Tutorial notes online late: usually on Friday, we will strive to put
them up on Thursday after the class
4. 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 selfstudy 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.
© INB/INN320 8.2/2011 – 12 September 2013
2
Tutorials attendance rate
Raffaele, Eike, Stephan
Time
Mon
9am
Tue
Wed
Thu
Fri
S502 (10)
10am
S518 (10)
11am
12am
1pm
S503 (25),
S506 (10)
S506 (20)
2pm
S507 (20)
3pm
S410 – LECT
4pm
S410 – LECT
5pm
S502 (35)
NEW!
6pm
7pm
8pm
© INB/INN320 8.2/2011 – 12 September 2013
S503 (30)
S503 (35)
3
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?
© INB/INN320 8.2/2011 – 12 September 2013
4
Uncontrolled Repetition: Ad-hoc sub-process
• The ad-hoc sub-process contains activities (tasks or subprocesses) 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
notation
Review company’s KPIs
© INB/INN320 8.2/2011 – 12 September 2013
Evaluate prior
performance
Assess
financial
stability
Profile
products and
services
Interview
corporate
executives
~
5
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.
© INB/INN320 8.2/2011 – 12 September 2013
6
Solution: ad-hoc sub-process
© INB/INN320 8.2/2011 – 12 September 2013
7
Value chain modelling
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.
Business
process
“is predecessor
of”
© INB/INN320 8.2/2011 – 12 September 2013
8
Linking value chains with process models
Process model
for this business
process is
available
PO
received
Check stock
availability
Design
product
features
New
product
to be
developed
Consult
stakeholders
Finalize
product
features
x
Product
developed
Product
in stock
Product
not in stock
Confirm order
Reject order
Order
confirmed
Order rejected
v
Send
invoice
Ship
goods
Invoice
sent
Goods
shipped
Invoice
received
Enter
customer
information
Customer
entered
Enter
purchase
information
Purchase info.
entered
Enter credit
information
Details
entered
© INB/INN320 8.2/2011 – 12 September 2013
9
BPMN Modelling
- Events Handling -
Event types
Start
Intermediate
End
Untyped Event – Indicates that an instance of the
process is created (start) or completed (end),
without specifying the cause for creation/completion
Catch
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
© INB/INN320 8.2/2011 – 12 September 2013
11
Event types (cont.’ed)
Start
Intermediate
End
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.
© INB/INN320 8.2/2011 – 12 September 2013
12
Message and Timer events
Start
Catching
process
starts upon
message
received
Intermediate
Catching
message
received
during the
process
Throwing
message
sent during
the process
End
Modelling Exceptions
Throwing
process
ends upon
message
sent
Normal
Atomic Task/
Flow
Sub-process
Normal
Flow
task terminates
upon message
received
Exception
Flow
process
starts when
time event
occurs
time event
occurred
(to model delay)
Normal
Atomic Task/
Flow
Sub-process
Normal
Flow
task terminates
when time event
occurs
Exception
Flow
© INB/INN320 8.2/2011 – 12 September 2013
13
Example: message event
Court
Administration
P&E Court
Listings
For all Judges
Check P&E Judge Availability
Check Court
Calendar
Court Calendar
Received
Court Calendar
Change Request
Request
Sittings List
Sittings List
Received
Change P&E
Schedules
Yearly
Schedule
Sent
Judiciary
Start event
(receive)
© INB/INN320 8.2/2011 – 12 September 2013
Intermediate
catching event
(receive)
Resolve P&E
Judge
Availability
End event
(send)
14
Comparison with sending/receiving tasks
Invoice
received
=
Receive
invoice
=
Receive
invoice
=
Send invoice
=
Send invoice
Is this really the same?
Invoice
received
Invoice
sent
Invoice
sent
© INB/INN320 8.2/2011 – 12 September 2013
15
So, when to use what?
Use message events only when the corresponding activity would simply
send or receive a message and do nothing else
© INB/INN320 8.2/2011 – 12 September 2013
16
Example: timer event
Prepare
Callover List
3 Weeks prior
to Callover
Prepare
Callover
Material
Contact
Parties
1 Week prior
to Callover
Start event
Attend
Callover
Callover Day
Intermediate
catching event
Prepare
Callover
Material
Attend
Callover
2 Hours
Wake-up the
List Manager
© INB/INN320 8.2/2011 – 12 September 2013
Activities must always
have input and output
Sequence Flow
17
Find the bugs…
Party
Start Message Events
cannot signal message
sending
Each Pool (white box) must
have one start and one end
event
request warrant release
Small
Claims
Registry
Operations
Retrieve
STC File
File
Distribute
SCT Warrant
Possession
coversheet
Queensland
Police
Normal Flow cannot
be used to pass on
Data Objects
© INB/INN320 8.2/2011 – 12 September 2013
File
Report
Store SCT
Physical File
“Awaiting
Report”
Retrieve
SCT File
File
Attach SCT
Document
Expanded
File
Store SCT
Physical File
report
• Start Timer instead of Intermediate Timer
• Timer events cannot be used to wait for messages
• Tasks cannot lead only to Exception Flow
18
A possible solution…
Party
Request warrant release
Small
Claims
Registry
Operations
Distribute
SCT Warrant
Possession
Retrieve
SCT File
Store SCT
Physical File
Store SCT
Physical File
report
coversheet
File
Attach new
SCT
Document
Retrieve
SCT File
Expanded
File
File
File
Queensland
Police
© INB/INN320 8.2/2011 – 12 September 2013
19
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.
Next working day
weekend/
holiday
Register PO
PO
Received
© INB/INN320 8.2/2011 – 12 September 2013
weekday
Check
Availability
Send PO
Response
PO
fulfilled
20
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.
© INB/INN320 8.2/2011 – 12 September 2013
21
Solution: modelling with events
Handle PO
Next workingNext
day working day
weekend/
holiday
weekend/
holiday
Register PO
PO
Received
weekday
weekday
Check
Availability
Check Send PO
Availability Response
PO
Registered
Send PO
Response
PO
fulfilled
Response
sent
PO
fulfilled
PO Change
received
Register PO
Change
© INB/INN320 8.2/2011 – 12 September 2013
22
Alternative solution
Handle PO
Register PO
PO
Received
Check
Availability
Next
working
day
Send PO
Response
Response
sent
PO
fulfilled
PO Change
received
Register PO
Change
© INB/INN320 8.2/2011 – 12 September 2013
23
Pool 1
Quiz: what’s wrong with this model?
A
B
Message y
Message z
Message x
D
F
Pool 2
c1
C
Not c2
Not c1
© INB/INN320 8.2/2011 – 12 September 2013
E
c2
24
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
© INB/INN320 8.2/2011 – 12 September 2013
event-driven XOR split
25
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.
© INB/INN320 8.2/2011 – 12 September 2013
26
A possible solution
PO Response
Received
Process PO
Response
Ordering
completed
Error Message
Received
From
“Order
submission”
© INB/INN320 8.2/2011 – 12 September 2013
Friday
afternoon
Notify
Purchasing
Officer
Ordering
failed
27
Quiz: find the bugs
Send
Questionnaire
Filled
Questionnaire
Received
Send reminder
not Intermediate
Timer Event
© INB/INN320 8.2/2011 – 12 September 2013
After 5 days
28
Solution: event-based decision
Send
Questionnaire
Filled
Questionnaire
Received
Send reminder
After 5 days
© INB/INN320 8.2/2011 – 12 September 2013
29
Pool
1 1
Pool
Remember the quiz from slide 23?
A
A
B
B
Message y
Message y
Message x
Pool
Pool22
c1
c1
D
C C
Message z
D
F
Not c2 Not c2
Not c1Not c1
© INB/INN320 8.2/2011 – 12 September 2013
Message z
Message x
E
E
c2
c2
F
30
Interlude: multiple start events
The first such event that occurs, will trigger an instance of the process.
PO Response
Received
Process PO
Response
Error Message
Received
Friday
afternoon
© INB/INN320 8.2/2011 – 12 September 2013
Notify
Purchasing
Officer
31
What is this process doing?
good
delivered
From “Process Invoice
Relating to PO”
POD received
Verify Goods
Delivery
good not
delivered
To “Create Goods
Receipt - Centralised”
Request Proof
of Delivery
(POD)
From “Process Blocked
Invoice Relating to PO”
5 working
days
© INB/INN320 8.2/2011 – 12 September 2013
32
Recap: Events
Start
Intermediate
Catching
End
Throwing
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.
© INB/INN320 8.2/2011 – 12 September 2013
33
BPMN Poster: get it from blackboard!
© INB/INN320 8.2/2011 – 12 September 2013
34
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
© INB/INN320 8.2/2011 – 12 September 2013
35
A/Prof. Marcello La Rosa
IS School Academic Director
(Corporate Programs and Partnerships)
BPM Discipline, IS School
Science & Engineering Faculty
Queensland University of Technology
126 Margaret Street
Brisbane QLD 4000
Australia
p +61 (0)7 3138-9482
e m.larosa@qut.edu.au
w www.marcellolarosa.com
© INB/INN320 8.2/2011 – 12 September 2013
Download