Model - bflow* Toolbox

advertisement
Business Process Modeling (BPM) with
Event Driven Process Chains
and bflow* Toolbox
www.bflow.org
1
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)
2
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)
3
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)
4
Instance of the Process
Business
Process
Different business processes – instance of a
business process
Order by Frieda
Müller received
Capture order:
Name: Frieda Müller
Date: 16.4.2013
Article: Slippers
Amount: 2
Order by Frieda
Müller recorded
Order by Hugo
Becker received
Capture order:
Name: Hugo Becker
Date: 17.4.2013
Article: Cowboyhut
Amount: 1
Order by Hugo
Becker
recorded
5
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)
6
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
7
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
8
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
9
Components of a business process
•
•
•
•
Order of operations (control flow)
Production and exchange of data (data flow)
operational organization
used equipment
10
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
11
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?
12
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
shown
The model can be
extended…
Latitute and longitude
exists in the model.
13
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
14
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?
15
The field of activity of process analysts
16
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 IT
Means: workshops, compare metrics, simulation, checklists
• Make proposals for the implementation of the
measures
Objective: To improve the process, IT support
17
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
18
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
19
Value chain diagrams and process chains
20
(and optionally further)
possibly more detailed
modeling of individual
activities
Value chain diagrams
Event driven
process chains
Level 1
Level 2
Flow modeling of a subprocess
Level 4
How to break down into
sub-processes?
Level 3
Process Map: What are
the fundamental
processes?
21
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)
22
Processes in the value chain
• primary processes
• control processes
•
• supporting processes
23
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
24
Control processes
• Control processes (also: management
processes, governance processes)
• Processes to operational planning, command
and control
• Examples:
– Strategy Development
– Creating goals
25
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
26
Support
Processes
Primary
Processes
Managerial
Processes
Value chain diagram (VCD) in a production facility
27
Support
Processes
Primary
Processes
Managerial
Processes
Value chain diagram (VCD) in a hospital
Source: Vollert / Hamm: Prozessorientierte und standardisierte Umsetzung von DGK-Leitlinien, Kardiologe 3 / 2009
28
«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:
29
Event-driven process chains (EPCs)
30
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
31
Basic Components of EPCs:
Functions and Events
Functions
Events
an activity that has a
beginning and an end
State at a certain time
May be the cause or
result of a function
e.g. «Request arrives",
e.g. «Check Application" «Application is
approved"
32
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"
33
EPCs always begin with a start event (or more
start events)
shows: "What triggers the process?"
Events and functions alternate within EPC
shows: "Events control the process"
EPCs are terminated by an end event (or more
end events)
shows: "What is the completion criteria of the
process"
34
Trivial Events
To make the model more
compact, "trivial events" are
often omitted.
35
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 Always name objects uniformly
Important:
e.g. Always customer (rather than buyer etc.)
36
Modeling of Alternative Paths
XOR-Connector
Modeling one alternatife flow:
Exactly one of several
possible paths is taken
37
XOR-Connector
in the example:
either the item is in stock
► left path is traversed
or it is not available
► right path traversed
38
Modeling of Parallel Executions
AND-Connector
More than one function can be
performed simultaneously
40
AND-Connector
The two paths are traversed in
parallel:
"Announce schedule on
internet" can be executed at
the same time with "send
invitations"
41
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.
43
OR-Connector
3 ways to choose
Case 1: left path
Case 2: right path
Case 3: both
44
How many possible sequences are there after
OR?
45
Multiple Start Events
Connectors can
also be used to
model more
complex conditions
for the start of a
process
46
Multiple End Events: Example 1
three possible
outcomes,
Exactly one of
them occurs.
47
Multiple End Events: Example 2
At the end of the
process, both
events have
occurred.
48
Only functions make decisions!
In the model, the function for
the decision is missing.
Such a decision is an activity,
so it must be modeled in a
function!
Rule: there shall not be
an XOR or connector
after events!
49
Error is noticed by the semantic verification of
bflow * Toolbox!
50
Corrected model: decision is taken by function
51
Prozesswegweiser und Funktionsverfeinerung
Model A
Model C
Process Interface:
Model A ends with
Event 3
then it continues with
Model B, which starts
with Event 3
Sub-diagram:
Model B
Function 2 from model A is
shown in more detail in
model C.
52
Process interface and function refinement
Model A
Model C
Model B
53
Modularization allows reuse - and avoids
duplicate modeling
54
Summarized Syntax Rules
55
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).
56
Syntax Rules - Functions
• Functions have exactly one incoming and exactly
one outgoing arc.
wrong!
wrong!
57
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)
58
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.
59
Events «decide things»
• Before XOR and OR split, there must be a
function, not event.
60
Modeling Typical Situations
61
Loop
if an activity needs to
be repeated
62
Limiting number of repetitions
If the number of
repetitions will be
limited
63
One inquiry
only used if the correction
is guaranteed and no new
test is necessary!
64
Optional design
If an activity must be
carried out only under
certain circumstances
65
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
66
Reach a point in time
The process is continued
until a certain time is
reached.
67
Readable Models
68
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)
69
(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
70
Good layout is essential for good readability of
models!
Both
models are
identical!
•
•
•
•
•
Main reading order from top to bottom
Use symmetry
Lines with minimal bend points
minimize cross lines
No parallel lines close to each other
71
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
72
Extended EPCs (eEPCs)
73
Erweiterte EPK: zusätzliche Notationselemente
Sequence of activities (control flow)
Creation and exchange of data (data flow)
Organizational Elements
Resources used
EPC
eEPC








74
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
75
Input
Control flow arrow
Output
Data flow arrow
76
Applications
• What computer systems are used by a function?
Connection
(no arrow!)
77
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»)
78
Connection (no
arrow!)
79
EPC-Modeling with bflow* Toolbox
80
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
81
Workspace
defines the location at which bflow* stores the data
Workspace
82
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
83
Project
• The project in which related model files will be
collected
Workspace
Project 1
Project 2
84
Creating a Project
" File -> New -> Project "
85
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)
Workspace
Project 1
Folder A
Project 2
OrFolder C
Folder B
86
Create New Folder
• File -> New -> Other
• General (double click to open) - Folder - Next
87
Models
• Can reside in the folders
(Or directly in the project folder)
Arbeitsbereich
Project 1
Folder A
Project 2
Folder C
Folder B
88
Package Explorer
Project
Working
area
File (Model)
Folder
Subfolder in another
folder
89
Views
Package
explorer
Palette
Quick
navigation
More
views
90
Navigation in large models
Outline view
Model Navigator:
shows predecessors and
successors of the selected model
element
91
Background Validation
Finds typical modeling errors
highly recommended especially for beginners
9292
Notes appear in the "Problems" view
93
Advanced model checking
• much more comprehensive examination
highly recommended for beginners and
advanced
94
Model Checking
Rules can be
connected and
disconnected:
Window Preferences EMTB - Validation
95
Tips for modeling with bflow* Toolbox
96
Model Wizard
• rapid creation of model parts
no need use the mouse
• Right-click on the model
97
Model Wizard
98
Printing Models in Black and White
• Right-click on the model
Style: select Black-White
99
Add Comments
• Right-click on the model
Add - Note
Note
100
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.))
101
Change size of model elements
• Mark model element
pull the "touch points"
• Tip:
You can also select multiple items (CTRL + click)
and then resize it uniformly.
102
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
103
Assign self defined attributes
• Open "Attribute View"
if the view is not open: Window-Show-View-Other-Modeling ToolboxAttribute View
• Mark model element
• Enter the name and value for the attribute
• Press the enter key
New attribute (name and value)
Already existing attributes
104
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
105
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
106
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/
107
Download