76
Business Process Modeling © Maurizio Morisio, Marco Torchiano, 2012-2016 Version 13/10/2016

Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Business Process Modeling

© Maurizio Morisio, Marco Torchiano, 2012-2016

Version 13/10/2016

Page 2: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

BP Aspects

Process flow

Process modeling– UML Activity Diagrams

– BPMN

Information

Conceptual modeling– UML Class diagrams

– (Entity-Relationships)

Interaction

Functional modeling– Use cases

3

Page 3: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

UML

Unified Modeling Language

Standardized by OMG

Several diagrams

Class diagrams

Activity diagrams

Use Case diagrams

(Sequence diagrams)

(Statecharts)

Conceptual modeling

Process modeling

Functional modeling

Page 4: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Objective

Describe, as precisely as possible, a process (or workflow)

Communicate, document, analyze, validate the workflow

Implement (execute) it

Only formal notations allow this step

Page 5: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Issues

Formal notations

Executable

But model can be very complex for high level of detail

Semiformal

Not executable

But can be starting point for high level analysis

Page 6: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Notations

Formal

UML Activity Diagrams

BPMN

BPEL

Semi formal

IDEF0

Data Flow Diagrams

Page 7: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

UML ACTIVITY DIAGRAMProcess Modeling

Page 8: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Goal

Capture

Activities

Rules

Responsibilities

Page 9: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

10

Activity Diagram

Extension of Statechart Diagram used to represent temporal sequence of activities and data flow

Used to represent workflow process, or the inner service logic of an algorithm or function, process

Parallel process representation and synchronization (fork – join)

Page 10: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Action

Represents a task or operation that is performed by either a human or the IS

Page 11: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Terminal nodes

Initial node

Represents the starting point of the process execution

Create a new token

Final node

Indicate that the processing has completed

Destroy all tokens

Page 12: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Semantics

A token flows through the diagram

The token is created at the initial node

The token comply with the process rules

The token is eventually destroyed at end node

Page 13: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Basic patterns

Sequence

Parallel split

Synchronization

Exclusive choice

Merge

Multiple choice

Page 14: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Sequence

An action in a process is enabled after the completion of a preceding action

Aka serialization

It is the essential building block

Can be used to build a series of consecutive actions that take place in turn one after the other

Page 15: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Sequence

The arc determines the order of execution

Page 16: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Sequence - Semantics

A token flows through the diagram

Following the arcs

Stopping at actions

Performing actions

Page 17: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Parallel split

From a certain point on a thread diverges into several parallel threads that can be executed concurrently

Aka fork, AND-split

Represents

Actions taking place at the same time (concurrently)

Actions being performed without any specific order– Possibly even serialized

Page 18: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Parallel split

fork

Page 19: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Parallel split- Semantics

When the token reaches the fork it is duplicated as many times as there are outgoing arcs

Page 20: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Synchronization

Define a synchronization point or rendezvous

After a group of actions have been executed in parallel

Before proceeding with further activities all the previous one must be complete

Page 21: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Synchronization

join

Page 22: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Synchronization- Semantics

When one token per incoming arc has reached the join, they are merged into a single token

Page 23: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Exclusive choice

A diversion of the thread into several alternative paths

Exactly one alternative is picked up and followed during execution

Aka conditional routing, decision

Each path is characterized by a guard

Represent a condition that, when true, enable the execution of the corresponding path

Page 24: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Exclusive choice

Page 25: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Exclusive choice – Semantics

The token follows exactly one of the outgoing arcs

Page 26: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Merge

The convergence of two or more threads into a single one

Any incoming thread activates the outgoing path

Aka join

No synchronization is performed

Page 27: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Exclusive choice

Page 28: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

The token getting to the merge proceeds to the only outgoing arc

Merge– Semantics

Page 29: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Multiple choice

When several paths are available it is possible to chose one or more of them

If no path is chosen, we have an abnormal stop to the flow

Page 30: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Example

Page 31: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Structured processes

Each action has exactly one input flow and one output flow

Fork and Join must be coupled

Decision and Merge must be coupled

Page 32: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Swimlanes

Actions can be responsibility of different actors or roles

A swimlane groups together all the activities of a specific actor

Assigning responsibilities is not always required

Typically it represents a refinement step

Page 33: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Swimlanes - Example

Page 34: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Swimlanes - Example

Page 35: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Swimlanes - Example

Page 36: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Prescriptive vs. Descriptive

Initial goal: understand the currently in place procedure

Descriptive

Next goal: provide guidance for defining IS-supported procedures

Prescriptive

Advice: avoid unnecessary constraints

Page 37: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

EVENTS, OBJECTSAdditional features

Page 38: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Signals and Events

Using an event that origins outside the process as a guard to proceed with the execution of a process

Temporal signal

Signal acceptance

Signal sending

Page 39: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Temporal signal

Page 40: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Signal acceptance

Page 41: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Signal sending

Page 42: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Signals – Example

Page 43: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Object nodes

Indicate that an object node will be available at a specific point in the activity

Produced by an action

Consumed by an action

The object is an instance of a class defined in the conceptual model

Or possibly a base type

Page 44: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Grade = 30

Object nodes

Page 45: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Arcs

Page 46: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

ADVANCED PATTERNS

Page 47: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Complex structures

Complex activities

Cycles / loops

Arbitrary cycles

Implicit termination

Multiple choice

Page 48: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Complex action

Represent a complex (sub-)process a single action

Call behavior

The contents of the complex action can be represented in an additional diagram

Page 49: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Structured Loop

One or more activities are repeated until a specific condition become true

Realized by means of decision and merge nodes

First a merge node

Then a condition

Page 50: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Loop - Repeat

do {

read_item();

pick_item();

} while( more_items );

Page 51: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Loop - semantics

Page 52: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Loop - While

while( more_items ){

read_item();

pick_item();

}

Page 53: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Arbitrary cycles

Loop that is unstructured or not block structured.

That is, the looping segment of the process may allow more than one entry or exit point.

Important for the visualization of valid, but complex, looping situations in a single diagram

Page 54: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Arbitrary cycles

PROCESS MODELING NOTATIONS AND WORKFLOW PATTERNS

12

Figure 24: WP #10: Synchronizing Merge—Business Process Diagram

Activity Diagram

The UML Activity Diagram uses a join node for the Synchronizing Merge pattern (see Figure 25). The join

node with a condition expression that controls how many Tokens must arrive from the incoming control flow before a Token will continue through the outgoing control flow.

Figure 25: WP #10: Synchronizing Merge—Activity Diagram, Variation 1

Comparison

As with the previous pattern, the comparison between the two notations is basically the same as for the

other types of flow control mechanism used in the workflow patterns. A Business Process Diagram uses variations of a diamond shape to indicate the appropriate behavior. An Activity Diagram uses either a

diamond or a bar for flow control. The merits of these mechanisms have been discussed above.

STRUCTURAL PATTERNS

The two patterns in this group cover such behavior as looping and the independence of separate process paths.

WORKFLOW PATTERN: ARBITRARY CYCLES

The Arbitrary Cycle pattern is a mechanism for allowing sections of a process to be repeated—it is a loop. This pattern allows looping that is unstructured or not block structured. That is, the looping segment of

the process may allow more than one entry or exit point. This pattern is important for the visualization

of valid, but complex, looping situations in a single diagram. Notations that allow only block structured loops would not be able to display the entire process in a single diagram or process level or would dis-

tribute the behavior in a non-intuitive manner.

Business Process Diagram

It is possible to create an Arbitrary Cycle pattern within a Business Process Diagram by connecting Se-

quence Flow to upstream activities (see Figure 26).

Figure 26: WP #11: Arbitrary Cycles—Business Process Diagram

Page 55: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Implicit termination

A specific path of a process can be concluded without other parallel paths be required to end as well.

The normal case require the whole process to end when any end node is reached.

Page 56: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Implicit termination - semantics

Only one path is terminated

Page 57: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Explicit termination - semantics

The process is terminated, i.e.

ALL path are terminated

Page 58: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Structured Discriminator

Convergence of two or more branches such that the first activation of an incoming branch results in the subsequent activity being triggered and subsequent activations of remaining incoming branches are ignored.

Page 59: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Structured Discriminator

Activity Diagram0 2014/10/22 powered by Astah

Activity Diagram0act

Previous

action

Discriminator

Next

action

Discriminator 2014/10/22 powered by Astah

Discriminatoract

Alternative 1 Alternative 2

Page 60: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Deferred choice

A divergence point in a process where one of several possible branches should be activated.

The actual decision on which branch is activated is made by the environment and is deferred to the latest possible moment.

Page 61: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Deferred choice

Choice 2014/10/22 powered by Astah

Choiceact

< < signal receipt> >

Signal 1

< < signal receip t> >

Signal 2

Deferred Choice 2014/10/22 powered by Astah

Deferred Choiceact

Previous

Action

Choice

Option 1 Option 2

[signal 2 ][signal 1 ]

Page 62: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

Free Tools

Argo UML

Astah community

Star UML (win)

Graphical editors

Some support to translate to java

No support to execute activity diagrams

Page 63: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

References

OMG UML web site http://www.uml.org

M. Fowler, UML Distilled, Addison-Wesley

N. Russell et al. WORKFLOW CONTROL-FLOW PATTERNS A Revised View http://www.workflowpatterns.com/documentation/documents/BP

M-06-22.pdf

N.Russel et al. On the Suitability of UML 2.0 Activity Diagrams for Business Process Modelling http://www.workflowpatterns.com/documentation/documents/UM

LEvalAPCCM.pdf

Workflow Patterns web site http://www.workflowpatterns.com

Page 64: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

IDEF

Page 65: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

66

IDEF

Integrated Computer-aided Manufacturing Definition

Approach of choice in the 1990s (have been around for over 25 years)

Only one compliant with Federal Information Processing Standards (FIPS)

FIPS Publication 183

Page 66: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

67

IDEF

IDEF refers to a group of methods, each of which fulfills a specific purpose

IDEFØ, for example, is used to model an organization's functions

IDEF1x is used for DB modeling

Page 67: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

68

IDEFØ

“Box and arrow" graphics

function as a box

interfaces to or from the function as arrows entering or leaving the box

Context diagram (main)

Constraint diagrams (sub)

Decomposition

Page 68: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

69

IDEFØ - Example

Page 69: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

70

IDEFØ - Decomposition

Page 70: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

DFD

Page 71: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

72

DFD

Data Flow Diagram

Yourdon and Coad

Gane and Sarson

Page 72: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

73

DFD - Decomposition

Initially a context diagram is drawn, which is a simple representation of the entire system under investigation

This is followed by a level 1 diagram, which identifies major business processes at a high level

These processes can then be analyzed further with level 2 diagrams

And so on…

Page 73: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

74

DFD - Objects

Process

A process is a unit of work that operates on the data

Data flow

A data flow is a named flow of data through a system of processes

Data store

A data store is a logical repository of data

External entity

An external agent is a source or destination of data

Page 74: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

75

DFD – Example

EnquiriesDeposit & Withdrawals

2 Counter

Externalentity

Account info

Data flow

Data storeD persistent digital storageT temporary digital storage

Account info

Process

Banking process maintaingcustomer accounts

Account detailsD2

Customer

Page 75: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

76

DFD – Example II

Data flow

Data flow

External entity

Data store

Process

Page 76: Business Process Modeling - polito.itExecutable But model can be very complex for high level of detail Semiformal ... Extension of Statechart Diagram used to represent temporal sequence

77

DFD - Rules

Data flows are allowed between

different external entities

processes and external entities

processes and data stores

Data flows are not allowed between

external entities and data stores

one data store and another