BIS 3106: Business Process Management. Lecture Four: Process Modelling with BPMN - Control-flow

BIS 3106: Business Process Management Lecture Four: Process Modelling with BPMN Control-flow Makerere University School of Computing and Informatics ...
Author: Buck Price
8 downloads 0 Views 541KB Size
BIS 3106: Business Process Management Lecture Four: Process Modelling with BPMN Control-flow

Makerere University School of Computing and Informatics Technology

SEM I 2016/2017

(Makerere University)

BIS 3106

1 / 36

Outline

1

BPMN Modelling

2

BPMN Basic Elements Gateways Exclusive Gateway Parallel Gateway Inclusive Gateway Arbitrary Cycles

(Makerere University)

BIS 3106

2 / 36

Business Process Modeling Notation (BPMN)

BPMN is an Object Management Group (OMG) Standard for representing business processes. There are many tools that support the designing of a BPMN process: -

Bizagi Process Modeller Signavio (http://www.signavio.com/) TIBCO Business Studio (free download, quite large) BM Websphere Business Modeler ARIS Oracle BPA Business Process Visual Architect (Visual Paradigm) Progress Savvion Business Modeller

(Makerere University)

BIS 3106

3 / 36

Activity Behaviour

Five basic categories of elements: Flow Objects - Events - Activities - Gateways

Data Objects -

Data Data Data Data

objects inputs outputs stores

(Makerere University)

BIS 3106

4 / 36

Activity Behaviour

Connecting Objects. -

Sequence Flows; Message Flows; Associations; Data Associations.

Swimlanes. - Used to group the primary modeling elements. Can be of two forms: Pools and Lanes.

Artifacts. - Used to provide additional information about the process. Include Group, and Text Annotation.

(Makerere University)

BIS 3106

5 / 36

BPMN Basic Elements A BPMN model consists of 4 basic elements that usually cover 80% of modeling needs.

(Makerere University)

BIS 3106

6 / 36

Connecting Activities The sequence flow defines the order of flow objects in a process (activities, events and gateways). Each activity can have one or more incoming sequence flow and one or more outgoing sequence flow.

Each process must have always at least a - start event (a circle with a thin border), that shows where a process instance can start, and - end event (a circle with a thick border), for indicating when a process instance completes.

(Makerere University)

BIS 3106

7 / 36

Activity Behaviour

Once a process instance has been created, we use the notion of tokens to identify the progress (or state) of that instance. A token is a “theoretical object” used to create a descriptive “simulation” of the behavior associated to each BPMN element. A token is created in the start event, traverses the sequence flow and is destroyed in a end event. There is no time associated with the token travelling down a sequence flow.

(Makerere University)

BIS 3106

8 / 36

Gateways

A gateway implies that there is a gating mechanism that either allows or disallows passage of tokens through the gateway. As tokens arrive at a gateway, they can be merged together on input, or split apart on output depending on the gateway type. A split gateway represents a point where the process flow diverges. A join gateway represents a point where the process flow converges.

(Makerere University)

BIS 3106

9 / 36

Types of Gateways: Exclusive Exclusive Gateways (XOR) - Indicates locations within a business process where the sequence flow can take two or more alternative paths. - Depicted by a diamond shape that may contain a marker that is shaped like an “X”. - We use a XOR-join to merge two or more alternative branches that may have previously been forked with a XOR-split.

(Makerere University)

BIS 3106

10 / 36

Exclusive Gateways - Splitting Behavior The criteria for the decision exist as conditions on each of the outgoing sequence flow. When a token arrives at an exclusive gateway, there is an immediate evaluation of the conditions that are on the gateway’s outgoing sequence flow. One of those conditions must always evaluate to true.

(Makerere University)

BIS 3106

11 / 36

Exclusive Gateways - Merging Behavior When a token arrives at the exclusive gateway, there is no evaluation of conditions on the incoming sequence flow. Token immediately moves down the outgoing sequence flow.

(Makerere University)

BIS 3106

12 / 36

BPMN Gateways Exercise (1)

Consider the process fragment below: - As soon as an invoice is received from a customer, it needs to be checked for mismatches. - The check may result in either of these three options: (i) there are no mismatches, in which case the invoice is posted; (ii) there are mismatches but these can be corrected, in which case the invoice is re-sent to the customer; and (iii) there are mismatches but these cannot be corrected, in which case the invoice is blocked.

- Once one of these three activities is performed the invoice is parked and the process completes.

Draw a BPMN model depicting this process.

(Makerere University)

BIS 3106

13 / 36

BPMN Gateways Solution

(Makerere University)

BIS 3106

14 / 36

Types of Gateways: Parallel Parallel Gateways (AND) - Provide a mechanism to synchronize parallel flows (AND-join) and to create parallel flows (AND-split). - Done with activities that can be executed concurrently. - Depicted by a diamond shape that must contain a marker that is shaped like a plus sign (“+”).

(Makerere University)

BIS 3106

15 / 36

Parallel Gateways - Splitting Behavior When a token arrives at a parallel gateway, there is no evaluation of any conditions on the outgoing sequence flow. Parallel gateway will create parallel paths. Gateway will create a number of tokens that are equal to the number of outgoing sequence flow. One token will move down each of the outgoing sequence flow.

(Makerere University)

BIS 3106

16 / 36

Parallel Gateways - Merging Behavior To synchronize the flow - gateway will wait for a token to arrive from each incoming sequence flow. When 1st token arrives, there is no evaluation of a condition for the incoming sequence flow - the token is “held” at the gateway and does not continue. When all the tokens are arrived - are merged and one token moves down the outgoing sequence flow.

(Makerere University)

BIS 3106

17 / 36

Gateways Exercise Consider the process fragment, describe the behavior of this process.

Email Warning No

Yes

Check Calendar

(Makerere University)

BIS 3106

Conference call

18 / 36

Gateways Exercise Consider the process fragment, describe the behavior of this process. Only 2 of 3 paths will be used at any one time. Process will be stuck waiting for the third path Email Warning No

Check Calendar

(Makerere University)

Yes

Conference call

BIS 3106

19 / 36

Gateways Exercise Consider the process fragment, describe the behavior of this process.

Email Warning No

Check Calendar

Yes

Conference call The intervening Exclusive gateway reduces the number of incoming gateways to the Parallel gateway

(Makerere University)

BIS 3106

20 / 36

Inclusive Gateways (OR)

Sometimes we may need to take one or more branches after a decision activity. To model situations where a decision may lead to one or more options being taken at the same time, we need to use an inclusive (OR) split gateway. An OR-split is similar to the XOR-split, but the conditions on its outgoing branches do not need to be mutually exclusive, i.e. more than one of them can be true at the same time. When we encounter an OR-split, we thus take one or more branches depending on which conditions are true.

(Makerere University)

BIS 3106

21 / 36

Inclusive Gateways -Splitting Behaviour

Inclusive gateways support decisions where more than one outcome is possible at the decision point. Inclusive gateway with multiple outgoing sequence flows creates one or more paths based on the conditions on those sequence flow. For token semantics - OR-split takes the input token and generates a number of tokens equivalent to the number of output conditions that are true. Every condition that evaluates to true will result in a token moving down that sequence flow.

(Makerere University)

BIS 3106

22 / 36

Inclusive Gateways -Splitting Behaviour

(Makerere University)

BIS 3106

23 / 36

Inclusive Gateways -Merging Behaviour

When the first token arrives at the gateway, the gateway will “look” upstream for each of the other incoming sequence flow to see if there is a token that might arrive at a later time. Thus, the gateway will hold the first token that arrived in the upper path until the other token from the lower path arrives. When all the expected tokens have arrived at the gateway, the process flow is synchronized (the incoming tokens are merged) and then a token moves down the gateway’s outgoing sequence flow.

(Makerere University)

BIS 3106

24 / 36

Inclusive Gateways -Splitting Behaviour

(Makerere University)

BIS 3106

25 / 36

BPMN Model Exercise (3):Inclusive Gateways

Consider the following fragment of a business process. A company has two warehouses that store different products: Jinja and Kampala. When an order is received, it is distributed across these warehouses: if some of the relevant products are maintained in Jinja, a sub-order is sent there; likewise, if some relevant products are maintained in Kampala, a sub-order is sent there. Afterwards, the order is registered and the process completes.

(Makerere University)

BIS 3106

26 / 36

A First Solution

Order contains only Kampala products

Order contains only Jinja products

Order received

Check Items Order contains both Kampala and Jinja products

Forward suborder to Kampala Warehouse Forward suborder to Jinja Warehouse

Register order

Order completed

Forward suborder to Kampala Warehouse Forward suborder to Jinja Warehouse

(Makerere University)

BIS 3106

27 / 36

A Second Solution

Order does not contain Jinja products

Order contains Forward only Jinja suborder to products

Order received

Jinja Warehouse

Check Items

Register order Order completed

Order does not contain Kampala products

Order contains only Kampala products

(Makerere University)

Forward suborder to Kampala Warehouse

BIS 3106

28 / 36

A Third Solution

Order contains Jinja products

Order received

Forward suborder to Jinja Warehouse

Check Items Forward suborder to Kampala Order contains Warehouse

Order completed

Kampala products

(Makerere University)

BIS 3106

29 / 36

Exercise

What type should be assigned to this join?

D

B

E

?

A

F

C

(Makerere University)

BIS 3106

30 / 36

Arbitrary Cycles

Used to model parts of the process that can be repeated. To model this, use an XOR-split with two outgoing branches: one which allows us to continue with the rest of the process and the other which goes back to the repetition block. We use an XOR-join to reconnect this branch to the point of the process model just before the repetition block

(Makerere University)

BIS 3106

31 / 36

Arbitrary Cycles Example

In the treasury minister’s office, once a ministerial inquiry has been received, it is first registered into the system. Then the inquiry is investigated so that a ministerial response can be prepared. The finalization of a response includes the preparation of the response itself by the cabinet officer and the review of the response by the principal registrar. If the registrar does not approve the response, the latter needs to be prepared again by the cabinet officer for review. The process finishes only once the response has been approved.

(Makerere University)

BIS 3106

32 / 36

Arbitrary Cycles Example

h3_MinisterialCorrespondence

Ministerial inquiry received

Assign ministerial inquiry

Investigate ministerial inquiry

Prepare ministerial response

Review ministerial response

response approved

Ministerial correspondence addressed

response not approved

(Makerere University)

BIS 3106

33 / 36

Arbitrary Cycles Exercise

Model the following fragment of a business process for assessing loan applications. Once a loan application is received by the loan provider, and before proceeding with its assessment, the application itself needs to be checked for completeness. If the application is incomplete, it is returned to the applicant, so that they can fill out the missing information and send it back to the loan provider. This process is repeated until the application is found complete.

(Makerere University)

BIS 3106

34 / 36

Summary

Since the OR-join semantics is not simple, the presence of this element in a model may be confusing. Thus, we suggest to use it only when it is strictly required. Clearly, it is easy to see that an OR-join must be used whenever we need to synchronize control from a preceding OR-split. Similarly, we should use an AND-join to synchronize control from a preceding AND-split. And an XOR-join to merge a set of branches that are mutually exclusive.

(Makerere University)

BIS 3106

35 / 36

Order Fulfilment Exercise

Draw a process model of the Order fulfilment process in BPMN. Use Parallel, Exclusive and Inclusive gateways in your model. Ensure that the diagram is well labelled and that you have one start event and one end event. Make sure that your process model is sound.

(Makerere University)

BIS 3106

36 / 36