1 business process modeling (bpm) with event driven process chains and bflow* toolbox
TRANSCRIPT
1
Business Process Modeling (BPM) with Event Driven Process Chains
and bflow* Toolbox
www.bflow.org
2
What is BPM?
• Business Process Management
• Management approach: aligning all aspects of an organization to meet the needs of customers.
• Business Process Modeling
• All relevant aspects of a business process in a defined format (e.g. Including text, tables, charts)
3
Business Process Definition
short...• describes the steps that are necessary to achieve a
business objective
A little longer...• is triggered by an event• consists of a sequence of activities• activities are carried out manually or by machine• activities produce value (for the customers of the
process)
4
Examples of Business Processes
• Processing an application for a business license
• Tendering for a construction project
• Processing of a claim (insurance)
• Opening an account (bank)
5
Different business processes – instance of a business process
Order by Frieda Müller received
Order by Hugo Becker received
Order by Hugo Becker recorded
Order by Frieda Müller recorded
Capture order:
Name: Frieda Müller
Date: 16.4.2013
Article: Slippers
Amount: 2
Capture order:
Name: Hugo Becker
Date: 17.4.2013
Article: Cowboyhut
Amount: 1
Bu
sin
ess
Pro
cess
Inst
ance
of t
he
Pro
cess
6
Business process modeling – What?
• If you cannot describe what you are doing as a process, then you do not know what you're doing
• W. Edwards Demming, a business consultant and professor at Columbia University (1900-1993)
7
Business process modeling – What?
• Documentation of existing business processes(e.g. certifications or training)
• Analysis and optimization of business processes• Redesign of business processes• Simulation (egFor example, human resources planning)• Process costing• Communication between the department and software
developers• model-based development
8
Models are used for communication
• The primary purpose of models: communication tool
• Helps that all parties have a common understanding of the modeled reality.
It follows:
► business process models should be easily understandable.
► For all involved, the models have the same meaning.
► standardized modeling languages
9
Business process models are used as reference• GPM can be found in the agreements on how to
work.• GPM should be accessible to all interested
parties (e.g. on the intranet)
► necessary changes in updates
10
Components of a business process
• Order of operations (control flow)• Production and exchange of data (data flow)• operational organization• used equipment
11
Model• A model is an abstraction that serves to
understand a system before it is built.Because a model waives minor details, it can be manipulated more easily than the original.
James Rumbaugh, co-founder of UML modeling language
short: A model is a simplification of reality for a specific purpose
12
Purpose of modeling
• It makes no sense to create a model without knowing what purpose you want to achieve
• You need to know: • Who should work with the model?• What will be achieved by working with the
model?
13
Abstraction in model• The level of detail in the model is shown to be dependent
on the purpose of the model
The model can be shortened…e.g. Temperatures are not shownThe model can be extended…Latitute and longitude exists in the model.
14
Modeling tasks
• Images of reality– Objective: Understanding the reality– The complexity is reduced (elimination of properties)
• Models for the to-be reality– Objective: Presentation of the designated state– Discussion of the allowed achievable– Planning is supported
15
Modeling purpose determines the type of the model
Management: General Overview•Who is responsible for which processes?•How can the quality of implementation be measured?
Staff executing the recurring standard processes: modeling at a detailed level•What steps must be taken under what conditions and when?
•for implementation in a computer program:•How states are stored in variables?•Which requests (e.g. to services) exist?
16
The field of activity of process analysts
17
Activities of process analysts
• Collection of business processes
Objective: To understand how an organization works
Means: study of existing process documentation, and documentation of computer programs, interviews, workshops, analysis of existing software, work reports, observation of staff
• Analysis of business processes
Objective: to study how a process can be improved or can be optimally supported by ITMeans: workshops, compare metrics, simulation, checklists
• Make proposals for the implementation of the measures
Objective: To improve the process, IT support
18
Necessary skills for process analysts
• Capacity for abstraction in the analysis of processes (understand and describe processes to separate the important from the less important)
• excellent communication skills (asking the right questions and how to listen)
• Methodological knowledge and imagination to reshape and improve processes
• Knowledge of methods for the measurement of key figures in processes
• Knowledge of the application domain• Accompanying the department in the implementation of
technical and organizational changes
19
Quote about process analysts
• In our experience, about 70% of people who take this role is rather unsuitable.
• Mostly, because they lack the skills for adequate analytical assessment. The most important qualification of a process analyst is not sending but receiving."
Jakob Freund / Bernd Rücker: «BPMN 2.0 Practical Guide»Hanser-Verlag 2010
20
Value chain diagrams and process chains
21
Lev
el 1
Lev
el 2
Lev
el 3
Lev
el 4
(and
op
tion
ally
fur
ther
)
Process Map: What are the fundamental processes?
How to break down into sub-processes?
Flow modeling of a sub-process
possibly more detailed modeling of individual activities
Va
lue
ch
ain
dia
gra
ms
Eve
nt d
rive
n
pro
cess
ch
ain
s
22
Value Chain
• introduced in 1985 by Michael E. Porter• shows the activities that are performed to produce a
product / service in the company.
• In the manufacture of a product, for example, all the steps that the product passes through from raw material to delivered end product (from supplier to customer) are shown
• Modeling in value chain diagram (VCD)
23
Processes in the value chain
• primary processes
• control processes• • supporting processes
24
Primary Processes, Core Processes
• Primary processes (also: core processes)• make a direct contribution to the creation or
distribution of a product.• focused on external customers
• Examples:– Order Processing– production– Purchase of raw material– Customer service– Marketing and Sales
25
Control processes
• Control processes (also: management processes, governance processes)
• Processes to operational planning, command and control
• Examples:– Strategy Development– Creating goals
26
Support Processes
• supporting processes (also: support processes)• make no direct contribution to value creation• focused on internal customers, support the
primary processes
• Examples:– Financial accounting– Cost accounting– Human resources
27
Value chain diagram (VCD) in a production facilityM
an
age
rial
Pro
cess
es
Pri
ma
ryP
roce
sse
sS
upp
ort
P
roce
sse
s
28
Value chain diagram (VCD) in a hospital
Source: Vollert / Hamm: Prozessorientierte und standardisierte Umsetzung von DGK-Leitlinien, Kardiologe 3 / 2009
Ma
na
geri
alP
roce
sse
sP
rim
ary
Pro
cess
es
Su
ppo
rt
Pro
cess
es
29
«Predecessor of» relationship
• From the examples we see that the relationship "is chronological predecessor" is represented differently by different authors.
• In many sources, the notation indicates that a previous relationship exists.
• In other sources, however, this is not the case, the previous relation is then represented by:
30
Event-driven process chains (EPCs)
31
Ereignisgesteuerte Prozesskette (EPK)[Event-Driven Process Chain, EPC]
• Developed in 1992 at the University of Saarland• in Germany (along with BPMN) the most common
notation for business process modeling• e.g. Used in SAP R/3• Graphical, semi-formal notation
32
Basic Components of EPCs: Functions and Events
Functions
an activity that has a beginning and an end
e.g. «Check Application"
Events
State at a certain time
May be the cause or result of a function
e.g. «Request arrives",
«Application is approved"
33
Succession of events and functions
Arrows indicate the time-logical order between events and functions.
"Request arrives" is the trigger for the "check request"
"Approved application" is the result of the function "Check Request"
34
Events and functions alternate within EPC
shows: "Events control the process"
EPCs always begin with a start event (or more start events) shows: "What triggers the process?"
EPCs are terminated by an end event (or more end events)shows: "What is the completion criteria of the process"
35
Trivial Events
To make the model more compact, "trivial events" are often omitted.
36
Possible Naming Conventions
Event as a trigger[Object] is [Verb in infinitive form]
Event as a result
[Object] is/was [Verb imn present perfect]
Function[Object] [Verb in imperative]
Infinitiv
Important: Always name objects uniformly
e.g. Always customer (rather than buyer etc.)
37
Modeling of Alternative Paths
XOR-Connector
Modeling one alternatife flow:
Exactly one of several possible paths is taken
38
XOR-Connector in the example:
either the item is in stock
► left path is traversed
or it is not available
► right path traversed
40
Modeling of Parallel Executions
AND-Connector
More than one function can be performed simultaneously
41
AND-Connector
The two paths are traversed in parallel:
"Announce schedule on internet" can be executed at the same time with "send invitations"
43
Modeling of «One or More»
OR-Konnektor
Modeling one or more alternatife flow:
Logic:
More than one of the options can be processed in parallel - but at least one must be taken.
44
OR-Connector3 ways to choose
Case 1: left path
Case 2: right path
Case 3: both
45
How many possible sequences are there after OR?
46
Multiple Start Events
Connectors can also be used to model more complex conditions for the start of a process
47
Multiple End Events: Example 1
three possible outcomes,
Exactly one of them occurs.
48
Multiple End Events: Example 2
At the end of the process, both events have occurred.
49
Only functions make decisions!
Rule: there shall not be an XOR or connector after events!
In the model, the function for the decision is missing.
Such a decision is an activity, so it must be modeled in a function!
50
Error is noticed by the semantic verification of bflow * Toolbox!
51
Corrected model: decision is taken by function
52
Prozesswegweiser und Funktionsverfeinerung
Process Interface:
Model A ends with Event 3then it continues with Model B, which starts with Event 3
Sub-diagram:
Function 2 from model A is shown in more detail in model C.
Model A
Model B
Model C
53
Process interface and function refinement
Model A
Model B
Model C
54
Modularization allows reuse - and avoids duplicate modeling
55
Summarized Syntax Rules
56
Syntax Rules - Events
• EPCs begin and end with events (or process interface that follow an event).
• Events have: – Exactly one incoming and exactly one
outgoing arc, or
– No incoming arc and exactly one outgoing arc (start event), or
– Exactly one incoming arc and no outgoing arc (end event).
57
Syntax Rules - Functions
• Functions have exactly one incoming and exactly one outgoing arc.
wrong!
wrong!
58
Syntax Rules - Connectors
Connectors have…
either exactly one incoming arc and 2 outgoing arc (Split)
Or 2 incoming arc and exactly one outgoing arc (Join)
59
Alternating Functions and Events
• Events and functions alternate. Intermediate connectors do not change this rule.
• If several functions executed in succession, "trivial events" between them can be omitted.
60
Events «decide things»
• Before XOR and OR split, there must be a function, not event.
61
Modeling Typical Situations
62
Loop
if an activity needs to be repeated
63
Limiting number of repetitions
If the number of repetitions will be limited
64
One inquiry
only used if the correction is guaranteed and no new test is necessary!
65
Optional design
If an activity must be carried out only under certain circumstances
66
Run any number of paths after OR
After OR, any number of paths are possible
If «nothing to do» is also possible, an «empty path» can be modeled
67
Reach a point in time
The process is continued until a certain time is reached.
68
Readable Models
69
Structured Modeling• Some modeling guidelines require that connectors
may be used so that split and join occur in pairs
(For each split has exactly one join same type)
70
(Un) structured modeling
• Whenever possible, you should use only the 'structured' constructs (as shown in the last slide)
• In some cases (like the one shown below), an "unstructured" model is easier to read, in some cases it is the only way to represent the facts correctly
71
Good layout is essential for good readability of models!
• Main reading order from top to bottom• Use symmetry• Lines with minimal bend points• minimize cross lines• No parallel lines close to each other
Both models are identical!
72
Main reading direction Often useful• Position "Default
case" [Happy Case] such that it can be immediately read from top to bottom
• Place exceptions on the side
73
Extended EPCs (eEPCs)
74
Erweiterte EPK: zusätzliche Notationselemente
Sequence of activities (control flow)
Creation and exchange of data (data flow)
Organizational Elements
Resources used
EPC eEPC
75
Creation and exchange of data
• Input: What are the data required to perform a function?
• Output: What data generated as a result of the execution of the function?
• Data (information objects) are present as:
Paper document File
76
Input Output
Control flow arrow Data flow arrow
77
• What computer systems are used by a function?
Applications
Connection(no arrow!)
78
Organizational Elements
• Who is responsible for the execution of a function?
Organizational unit (Department, unit, etc.)
• Location
(e.g. Staff member)
• Person(e.g. «Mrs Horn»)
79
Connection (no arrow!)
80
EPC-Modeling with bflow* Toolbox
81
bflow* Toolbox
• Free EPC modeling tool – available free of charge, source code available
• based on the open Eclipse programming tool
• extensible through add-ons without the knowledge of Eclipse Programming
• www.bflow.org
82
Workspace
defines the location at which bflow* stores the data
Workspace
83
When you first start…• Identify the location of the workspace (by default, it suggests a directory named «workspace» under the folder you placed your exe file)
• If you have a default place, check the checkbox and it will no longer ask at each run
84
Project• The project in which related model files will be collected
Project 1 Project 2
Workspace
85
Creating a Project
" File -> New -> Project "
86
Folder• Can be used for further structuring within the project• Good practice: Place subdiagram inside folders and create a folder and diagram hierarchy
(with multiple levels of folders)
Project 1 Project 2
Folder A
Folder B
OrFolder C
Workspace
87
Create New Folder
• File -> New -> Other • General (double click to open) - Folder - Next
88
Models• Can reside in the folders
(Or directly in the project folder)
Project 1 Project 2
Folder A
Folder B
Folder C
Arbeitsbereich
89
Package Explorer
Working area
Project
FolderSubfolder in another
folder
File (Model)
90
Views
Packageexplorer
Quick navigation
Palette
More views
91
Navigation in large models
Outline view
Model Navigator:
shows predecessors and successors of the selected model element
92
Background Validation
Finds typical modeling errors
highly recommended especially for beginners
92
93
Notes appear in the "Problems" view
94
Advanced model checking
• much more comprehensive examination highly recommended for beginners and advanced
95
Model Checking
Rules can be connected and disconnected:
Window - Preferences - EMTB - Validation
96
Tips for modeling with bflow* Toolbox
97
Model Wizard
• rapid creation of model parts no need use the mouse
• Right-click on the model
98
Model Wizard
99
Printing Models in Black and White
• Right-click on the model
Style: select Black-White
100
Add Comments
• Right-click on the model
Add - Note
Note
101
Change fonts
• (1) Window - Show View - Properties
• (2) Mark the fonts to change
• (3) Make changes
(choosing a font different than the default is not recommended.))
102
• Mark model element pull the "touch points"
• Tip:You can also select multiple items (CTRL + click) and then resize it uniformly.
Change size of model elements
103
Make model elements the same size
• Mark model elements using CTRL + click.• The elements should get the size of the element
marked last.• Select Diagram – Make Same Size
104
Assign self defined attributes
• Open "Attribute View"if the view is not open: Window-Show-View-Other-Modeling Toolbox-Attribute View
• Mark model element• Enter the name and value for the attribute• Press the enter key
New attribute (name and value)
Already existing attributes
105
Important Keyboard Shortcuts in bflow* Toolbox
• F5 in the package view:Update view(necessary if models are copied manually into the workspace)
• CTRL-M in the model view:Zoom in/out
• CTRL-Z in the model view:undo last action
• F2 Rename the selected item• CTRL-Enter when labeling a model element, line
break
106
Copyright
• The presentation was created by Prof. Dr. Ralf Laue, University of Zwickau
Information about the authors of images used can be found on:
http://commons.wikimedia.org/wiki/File:Blender3D_EarthQuarterCut.jpg
http://commons.wikimedia.org/wiki/File:GEO_Globe.jpg
http://commons.wikimedia.org/wiki/File:Earth_Western_Hemisphere.jpg
http://commons.wikimedia.org/wiki/File:Dipole_field.PNG
http://commons.wikimedia.org/wiki/File:Blender3D_EarthQuarterCut.jpg
http://commons.wikimedia.org/wiki/File:Map-World-Timeszones.png
107
Copyright
•This work is licensed under a "Creative Commons Attribution - Noncommercial-Share Alike 3.0 Germany license.«•You are free:
– to copy, distribute and publicly accessible
– To make derivative works of the work
•With the following conditions:
– Attribution - You must attribute the name of the author / copyright holder in the manner determined by her.
– Noncommercial-Share Alike - If you alter licensed content, or use in any other way perceivable as build upon this work, you may distribute the resulting work only under license conditions with which this license agreement are identical or similar.
– See more at: http://creativecommons.org/licenses/by-sa/3.0/de/