Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische...

125
1.2 BPMN 2.0 1 Methodische Grundlagen Methodische Grundlagen des Software-Engineering des Software-Engineering SS 2014 SS 2014 Vorlesung Methodische Grundlagen des Software-Engineering im Sommersemester 2014 Prof. Dr. Jan Jürjens TU Dortmund, Fakultät Informatik, Lehrstuhl XIV Teil 1.2: Einführung in BPMN 2.0 v. 27.04.2014

Transcript of Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische...

Page 1: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

1

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Vorlesung

Methodische Grundlagen desSoftware-Engineeringim Sommersemester 2014

Prof. Dr. Jan Jürjens

TU Dortmund, Fakultät Informatik, Lehrstuhl XIV

Teil 1.2: Einführung in BPMN 2.0

v. 27.04.2014

Page 2: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

2

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

1.2 Einführung in BPMN 2.0 (Business Process Model and Notation)

[inkl. Beiträge der IBM Software Group undProf. Dr. Frank Leyman, Univ. Stuttgart]

Literatur:J. Freund, B. Rücker: Praxishandbuch BPMN 2.0. Carl Hanser Verlag, 2012, 3. Auflage. Unibibliothek E-Book: http://www.ub.tu-dortmund.de/katalog/titel/1361293 ● Kapitel 1-2

Page 3: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

3

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Einführung in BPMN 2.0: Einordnung

● Geschäftsprozessmodellierung● Grundlagen Geschäftsprozesse ● Ereignisgesteuerte Prozessketten (EPKs) ● Einführung in die BPMN 2.0● Workflow-Management-Systeme● Workflow-Automatisierung

● Process Mining● Modellbasierte Entwicklung sicherer

Software

Page 4: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

4

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Einführung in die BPMN 2.0:Überblick

● BPMN am Beispiel

● BPMN-Hintergrundwissen

● BPMN im Detail

● Grundlegende Konzepte

● Weiterführende Konzepte

Page 5: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

5

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Motivation:Kommunikation über Prozesse

Christian Customer Paul Programmer

????

CallSupport();Kunde k = identifyCustomer();k.identifyDepartment();if(k.hasBasicSupport()) { ….} elseif {h.hasPremiumSupport() } …}

Wenn ein Kunde anruft wird zuerst immer der Kunde identifiziert und dann der Standort erfragt. Anhand der Daten können wir feststellen was für eine Betreuung gebucht wurde. Wenn es sich um einen Standardkunden handelt, analysieren die Call Agents mithilfe unseres Hilfsleitfaden die Situation und versuchen den Fehler zu beheben. Wenn dies fehlschlägt, oder das Expertensystem die Weiterleitung angibt, wird der Fall aufgenommen und das Ticket zu Second Level weitergeleitet. Das Telefonat wird beendet. Wenn die Second Level den Fehler bearbeitet hat, wird entweder der Kunde vom Call Agent oder vom Second Level direkt angerufen. Wenn es ein Premium Kunde ist, wir der Kunde sofort von einem Second Level Mitarbeiter kontaktiert.

Page 6: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

6

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Was ist Business Process Model and Notation (BPMN) ?

● Flussdiagramm-basierte Notation für Definitionvon Geschäftsprozessen.

● Vereinbarung verschiedener Notationsanbieter. → Mit einziger Notation dem Anwender Arbeit und Verständnis erleichtern.

Page 7: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

7

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

BPMN am Beispiel: Startereignis, Prozessablauf, Teilprozesse

Christian Customer

Wenn ein Kunde anruft wird zuerst immer der Kunde identifiziert und dann der Standort erfragt.

Kundeidentifizieren

Standorterfragen

Start-Ereignis(-Event)

Prozessablauf

Teilprozesse

Page 8: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

8

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

BPMN am Beispiel:Gateway (Verzweigung)

Christian Customer

… Anhand der Daten können wir feststellen was für eine Betreuung gebucht wurde. ...

Kundeidentifizieren

Standorterfragen

Gateway (Verzweigung)

Default Case

Fallangabe

...

...Ist Premiumkunde

Page 9: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

9

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

BPMN am Beispiel:Unterprozess

Christian Customer… Wenn es sich um einen Standardkunden handelt, analysieren die Call Agents mithilfe unseres Hilfsleitfaden die Situation und versuchen den Fehler zu beheben. Wenn dies fehlschlägt, oder das Expertensystem die Weiterleitung angibt, wird der Fall aufgenommen und das Ticket zu Second Level weiter-geleitet. Das Telefonat wird beendet. ...

Kundeidentifizieren

Standorterfragen

Ende Unterprozess

Fallangabe

Nutzung desExpertensystems

...Ist Premiumkunde

+

Ticket erstellenSL

Page 10: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

10

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

BPMN am Beispiel:Swimlanes

Christian Customer… Wenn es sich um einen Standardkunden handelt, analysieren die Call Agents mithilfe unseres Hilfsleitfaden die Situation und versuchen den Fehler zu beheben. Wenn dies fehlschlägt, oder das Expertensystem die Weiterleitung angibt, wird der Fall aufgenommen und das Ticket zu Second Level weitergeleitet. Das Telefonat wird beendet. ...

Kunde identifizieren

Standort erfragen

Nutzung Expertensystems

...Ist Premiumkunde

+

Ticket erstellen

SL

...

...

Sup

port

Ku n

de

Cal

l Age

nt2.

Lev

el

Page 11: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

11

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Einführung in die BPMN 2.0:Überblick

● BPMN am Beispiel

● BPMN-Hintergrundwissen

● BPMN im Detail

● Grundlegende Konzepte

● Weiterführende Konzepte

Page 12: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

12

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Kurze Geschichte der Workflow-Technologie

Office Automation, Forms Processing,...

Composites as a Service (CaaS)

Production WF

WF Automation

WF- based Apps

Web Service Composition

Document Routing/Case Processing

People FacingBPR

WF Standardization Begins

WF use in EAI

Graphical Modeling

Modeling/Execution Convergence

WF in eScience

Transactional WF

Mega Programming1985

1990

1995

2000

2005

2010

Page 13: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

13

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Workflow-Notationen-Genealogie

Page 14: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

14

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014BPMN: Entwicklungstreiber

Ziel: GP-Modellierungsnotation mit folgenden Eigenschaften:

● Kombination aus grafischen Elementen und zusätzl. Informationen (Attributen).

● Ausführbaren Prozess (z.B. BPEL) aus BPMN-Modell erstellen.

● Auch für allgemeinere Geschäftszwecke verwenden können.

● Akzeptabel und benutzbar für Wirtschaft.

● Agnostische Methodik:

● Hinweise zu Zweck und Detailgrad der Modellierung.

● Gesamte BPMN-Notation komplex, aber i.A. nur Teil benötigt.

Page 15: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

15

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Verschiedene Ebenender Prozessmodellierung

Process Maps(Prozesslandkarte)

einfaches Diagramm der Aktivitäten

Process Models (Prozessmodell)

erweitert: analysieren, simulieren und ausführen

Process Descriptions(Prozessbeschreibung)

erweitert, aber nicht genugfür kompletten Ablauf

einfach

voll-ständig

BPMN

GP beschreiben, wie Unternehmen Ziele verfolgt.

Page 16: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

16

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

BPMN Lebenszyklus:Wo BPMN ansetzt

Modellierung

Anwendung

Ausführung

Beobachtung

Analyse

Key Performance

Indicators

Neu in 2.0aber optional

Page 17: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

17

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Ausführung von Prozessmodellen

Process ModelProcess Model

Process EngineProcess Engine

Anwenden

Page 18: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

18

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Ausführung von BPMN-Prozessen mittels BPEL-Repräsentation

● Verständlich● Graphisch

● XML-basiert● Ausführbar ● Ausführungsumgebungen

GP direkt in BPEL-Engine ladbar, ohne Veränderung durch menschliche Interpretation/ Übersetzungen.

Conceptual Process Model(Konzeptuelles Prozessmodell)

Conceptual Process Model(Konzeptuelles Prozessmodell)

Logical Process Model(Logisches Prozessmodell)

Logical Process Model(Logisches Prozessmodell)

Process Engine(Prozessausführungsmaschine)

Process Engine(Prozessausführungsmaschine)

Anwenden

Transformiere

BPMN

Anwenden

BPEL

Page 19: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.3 Workflow-Management-Systeme

19

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Vergleich: Prozess- vs. Datenmodellierung

Konzeptuelles Prozess-Modell(BPMN)

DBMS(Relationales Datenmodell)

Logisches Daten-Modell(SQL)

Konzeptuelles Daten-Modell(Entity-Relationship)

Process Engine(Internes Metamodell)

Logisches Prozess-Modell(BPEL)

Wende an Wende an

Transformiere Transformiere

Page 20: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

20

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Modellierung vs. Ausführung

Anwender:

Strategieberater

Wirtschaftsanalyst

Prozess-Designer

System-Architekt

Software-Engineer

Geschäftsumgebung: Zweck:

Technologieimplementierung

Ausführung

ModellierungSchnitt-stelle

Page 21: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

21

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Was ist die Business Process Execution Language (BPEL) ?

● XML-basierte Ausführungs-Sprache.

● Spezifikation von Geschäftsprozessen und Interaktionsprotokollen basierend auf Web Services. (Notation: s. übernächster Vorlesungsabschnitt.)

● Basiert auf verschiedenen XML Standards („layer“):● XML Schema 1.0● XPath 1.0● WSDL 1.1

● Einbindung und Koordination der Aktivitäten als Web Services (über WSDL).

● Ausführung eines BPEL-Prozesses durch Process-Engine.

Page 22: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

22

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Schlüsselaspekt von BPEL

BPEL wird von meisten Middleware-Anbietern unterstützt:

● Kombination zweier Modellparadigmen.

● Vermeidung der Zersplitterung des Workflow-Marktes.

● Der Runtime Standard.

● Gut definierte Syntax und operationale Semantik.

● Gewisse Portabilität über Anbietergrenzen.

Nachteil: keine „schöne“ Sprache.

Page 23: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

23

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Von BPEL zu BPMN:Historische Entwicklung

Business Process Managment Institute (BPMI; jetzt Teil der Object ManagementGroup (OMG)): BPML (XML-basierte Prozessausführungs-Notation).

2011: BPMN 2.0 (Business Process Model and Notation) verabschiedet.(vgl. http://www.omg.org/spec/BPMN/2.0)

2006: BPMN 1.0 ist OMG-Standard.

2004: BPMN 1.0 (Business Process Modeling Notation)Spezifikation veröffentlicht.

2001: „Notation Working Group“ gegründet:35 Firmen, Organisationen und Einzelpersonen.

BPML durch BPEL ersetzt.

2013: Version 2.0.1 ist ISO-Standard: ISO/IEC 19510

Dez. 2013: Version 2.0.22.0.2: Nur kleinere Änderungen gegen- über 2.0, daher im Folgenden 2.0.

Page 24: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

24

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014BPMN 1.x füllte eine Lücke

● BPEL konzentrierte sich auf die Syntaxsprache und operationale Semantiken.

● Ziel: schnelle Markteinführung → visuelle Repräsentation ignoriert.

● → Schwer zu benutzen.

● BPMN 1.x füllte diese Lücke.

● Nicht-IT Experten konnten über Geschäfts-Prozesse kommunizieren.

● Großer Fortschritt in der BPM Technologie.

Page 25: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

25

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014BPEL- BPMN Historie

BPEL ein Ausgangspunkt für BPMN:

● Ziel: vollständige bijektive Transformation.

Erzeugung von BPEL automatisch

● z.B. mit Hilfe eines graph. Modellierungswerkzeuges von BPMN nach BPEL.

● Problematik: Trotz unterschiedlicher Ausdrucksmächtigkeit der Sprachen hohe Überdeckung.

● Z.B. Datenaspekt bei BPMN vernachlässigt

Page 26: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

26

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Wichtige Eigenschaften von BPMN 2.0

● Operationale Semantik.

● „Natives“ XML-Austausch-Format.

● Meta-Modell.

● Event- & Exception-Handler (BPEL-Gegenstücke).

● Choreographie-Erweiterungen.

...und:

Muster-basiertes Abbilden zu BPEL (Teilmenge von BPMN):

● BPMN 2.0 enthält signifikante Teilmenge isomorph zu BPEL. → Visuelle Darstellung von BPEL.(Transformation: s. übernächster Vorlesungsabschnitt.)

Page 27: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

27

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Nachteile von BPMN 2.0

● Komplexität ist groß.

● Lauffähigkeit zu sichern, ist immer komplex.

● Kann nur Teilmenge von BMN 2.0 zu BPEL einfach abbilden.

● Kann BPMN-Prozesse modellieren, die keine kanonische Repräsentation in BPEL haben.

● Einige Funktionen haben noch keine Laufzeitumgebung.

● Z.B.: dazugehörige Domain außerhalb des Anwendungsbereiches von BPEL (siehe BPEL4Chor).

Page 28: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

28

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

BPMN 2.0 vs BPEL:Mögliche Sichtweisen

Standpunkt 1 (BPEL-zentrisch):● Teilmenge von BPMN 2.0 ist isomorph zu BPEL.

● Kanonisch zu BPEL transformiert und in BPEL-Engines ausführbar.

● Passende Teilmenge: visuelle Schicht oben auf BPEL.

Standpunkt 2 (BPMN-zentrisch):● BPMN 2.0: Prozesssprache mit wohldefinierter operationalen

Semantik durch BPEL.● BPMN 2.0 Engine erstellbar, ohne separate BPEL Engine zu

benutzen.

Page 29: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

29

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Einführung in die BPMN 2.0:Überblick

● BPMN am Beispiel

● BPMN-Hintergrundwissen

● BPMN im Detail

● Grundlegende Konzepte

● Weiterführende Konzepte

Page 30: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

30

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Diagrammelemente: Die Wichtigsten

● Flussobjekte (Flow Objects): die Knoten(Aktivität (activity), Verzweigung (gateway) und Ereignis (event))

● Konnektoren: die verbindenden Kanten

● Pools und Swimlanes: die Bereiche, mit Aktoren und Systemen

● Artefakte: u.a. Datenobjekte, Gruppen und Annotationen

Page 31: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

31

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Diagrammelemente: Überblick

Flussobjekte Konnektoren Artefakte Swimlanes

Page 32: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

32

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Aktivitäten (Activities)

● Aktivität: In Geschäftsprozess verrichteter Arbeit.

− Atomar oder nicht-atomar (zusammengesetzt)

− Arten von Aktivitäten: Unterprozess und Aufgabe (Task).

● Aktivitäten werden als abgerundete Rechtecke dargestellt.

● Einfach oder als intern definierte mehrfache Wiederholung ausführbar.

Page 33: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

33

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Aufgabe: atomare Aktivität.

Benutzt, wenn Prozess nicht in höheremDetailgrad dargestellt.

Spezielle Arten von Aufgaben für Senden, Empfangen, oder anwenderorientierte Arbeiten.

Kann Aufgabe Markierungen und Symbole zuweisen. Wichtig dabei:

● Redundanz: Dürfen nur auch ohne Markierung ersichtliche Informationen enthalten. (Markierungen werden bei Transformationen nicht mitgenommen, es droht Informationsverlust.)

● Konfusionsfreiheit: Markierung darf nicht zur Verwechslung der Elemente führen.

Aufgaben (Tasks)

Page 34: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

34

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Unterprozess (Sub-Process)

● Unterprozess: Zusammengefasste Aktivitätsmenge innerhalb Prozess.

● Zusammengeklappter Unterprozess: Markiert durch „+“ in der unteren Mitte des Symbols. Keine Details sichtbar.

● Aufgeklappter Unterprozess: Details innerhalb Unterprozessgrenzen sichtbar.

● Ermöglicht hierarchische Prozessentwicklung.

Page 35: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

35

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Verständnis-Frage:Aufgabe vs. Unterprozess

Was ist der Unterschied zwischen einer Aufgabe und einem Unterprozess ?

Page 36: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

36

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Verständnis-Frage:Aufgabe vs. Unterprozess

Was ist der Unterschied zwischen einer Aufgabe und einem Unterprozess ?

Unterprozess zum untergeordneten detaillierten Prozess aufschlüsselbar, Aufgabe nicht.

Page 37: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

37

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Erstes einfaches Beispiel

● Wir sind hungrig und möchten unseren Hunger stillen

● Dazu müssen wir uns zuerst entscheiden, ob wir Pizza oder Pasta essen möchten

● Je nach Wahl, müssen wir das entsprechende Gericht zubereiten

● zuletzt müssen wir die Mahlzeit verzehren

Page 38: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

38

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Erstes einfaches Beispiel

● Wir sind hungrig und möchten unseren Hunger stillen

● Dazu müssen wir uns zuerst entscheiden, ob wir Pizza oder Pasta essen möchten

● Je nach Wahl, müssen wir das entsprechende Gericht zubereiten

● zuletzt müssen wir die Mahlzeit verzehren

Page 39: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

39

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Erstes einfaches Beispiel

Hunger festgestellt

● Wir sind hungrig und möchten unseren Hunger stillen

● Dazu müssen wir uns zuerst entscheiden, ob wir Pizza oder Pasta essen möchten

● Je nach Wahl, müssen wir das entsprechende Gericht zubereiten

● zuletzt müssen wir die Mahlzeit verzehren

Page 40: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

40

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Erstes einfaches Beispiel

Hunger festgestellt

Pizza oder Pasta?

Pizza

Pasta

● Wir sind hungrig und möchten unseren Hunger stillen

● Dazu müssen wir uns zuerst entscheiden, ob wir Pizza oder Pasta essen möchten

● Je nach Wahl, müssen wir das entsprechende Gericht zubereiten

● zuletzt müssen wir die Mahlzeit verzehren

Page 41: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

41

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Erstes einfaches Beispiel

Pizza zubereiten

Hunger festgestellt

Pizza oder Pasta?

Pasta zubereiten

Pizza

Pasta

● Wir sind hungrig und möchten unseren Hunger stillen

● Dazu müssen wir uns zuerst entscheiden, ob wir Pizza oder Pasta essen möchten

● Je nach Wahl, müssen wir das entsprechende Gericht zubereiten

● zuletzt müssen wir die Mahlzeit verzehren

Page 42: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

42

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Erstes einfaches Beispiel

Pizza zubereiten

Hunger festgestellt

Mahlzeit zubereitet

Pizza oder Pasta?

Pasta zubereiten

Pizza

Pasta

Blanko-Zwischenereignis

● Wir sind hungrig und möchten unseren Hunger stillen

● Dazu müssen wir uns zuerst entscheiden, ob wir Pizza oder Pasta essen möchten

● Je nach Wahl, müssen wir das entsprechende Gericht zubereiten

● zuletzt müssen wir die Mahlzeit verzehren

Page 43: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

43

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Erstes einfaches Beispiel

Pizza zubereiten

Hunger festgestellt

Mahlzeit zubereitet

Pizza oder Pasta?

Pasta zubereiten

Pizza

Pasta

● Wir sind hungrig und möchten unseren Hunger stillen

● Dazu müssen wir uns zuerst entscheiden, ob wir Pizza oder Pasta essen möchten

● Je nach Wahl, müssen wir das entsprechende Gericht zubereiten

● zuletzt müssen wir die Mahlzeit verzehren

Kennzeichnet hier einen Status, der durch den Prozessfortschritt

erreicht wird

Später: andere Arten von Zwischenereignissen

Page 44: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

44

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Erstes einfaches Beispiel

Pizza zubereiten Mahlzeit verzehren

Hunger festgestellt

Mahlzeit zubereitet

Pizza oder Pasta?

Pasta zubereiten

Pizza

Pasta

● Wir sind hungrig und möchten unseren Hunger stillen

● Dazu müssen wir uns zuerst entscheiden, ob wir Pizza oder Pasta essen möchten

● Je nach Wahl, müssen wir das entsprechende Gericht zubereiten

● zuletzt müssen wir die Mahlzeit verzehren

Page 45: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

45

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Erstes einfaches Beispiel

Pizza zubereiten Mahlzeit verzehren

Hunger festgestellt

Hunger gestillt

● Wir sind hungrig und möchten unseren Hunger stillen

● Dazu müssen wir uns zuerst entscheiden, ob wir Pizza oder Pasta essen möchten

● Je nach Wahl, müssen wir das entsprechende Gericht zubereiten

● zuletzt müssen wir die Mahlzeit verzehren

Mahlzeit zubereitet

Pizza oder Pasta?

Pasta zubereiten

Pizza

Pasta

Page 46: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

46

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Ereignisse (Events)

● Ereignis: Etwas, das während Geschäftsprozesses „passiert“ und Fluss des Prozesses beeinflusst.

● Hat Auslöser („Trigger“, s. nächste Folie) oder Ergebnis.

● Kann Fluss starten, unterbrechen oder enden lassen.

● Symbolisiert durch Kreise. Art des Randes bestimmt Ereignis-Typ.

Page 47: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

47

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Startereignisse (Start Events)

Startereignisse bestimmen, wo Prozess beginnt.

Verschiedene Auslöser: Geben an, unter welchen Umständen Prozess startet:

● „Nichts“ („None“): Start von Unterprozess oder undefinierte Startumstände.

● Nachricht: Ereignis durch Nachricht ausgelöst.

● Zeitmesser: Ereignis durch Zeitüberschreitung ausgelöst.

● Regel: Durch Brechen oder Wirksam-Werden einer Regel ausgelöst (z.B. Tempolimit-Verstoß).

● Mehrfach (OR): Jedes enthaltene Startereignis startet Prozess.

● Mehrfach (AND): Alle enthaltenen Startereignisse benötigt, um Prozess zu starten.

Nichts

Nachricht

Zeitmesser

Regel

Mehrfach(OR)

Mehrfach(AND)

Page 48: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

48

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Zwischenereignisseim Prozessfluss

● Im Prozessfluss platzierte Ereignisse repräsentieren Dinge, die während der Prozessausführung passieren.

● Sie können− Reaktion auf ein Ereignis repräsentieren (z.B. Erhalten einer Nachricht).− Auftreten eines Ereignisses anzeigen (z.B. Versenden einer Nachricht).

● Auslösende Zwischenereignisse: Durch den Prozess getriggert.

→ Token löst Ereignis aus und wandert weiter, kein Abbruch!

● Eintretende Zwischenereignisse: angeheftet, am Rand zu unterbrechender Aktivität positioniert. → Abbruch der Aktivität!

Page 49: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

49

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Eingetretene Zwischenereignisse(Intermediate Events)

● Zwischenereignisse treten auf nach Start und vor Ende des Prozesses.

● Teil des normalen Flusses / an Rand der Aktivität anhängbar (später mehr).

● Darstellung: nicht ausgefülltes Symbol.

● Bei eingetretenen Zwischenereignissen im Sequenzfluss läuft Prozess erst weiter, wenn entsprechendes Ereignis (z.B. Erhalt einer Nachricht) eintritt.

● Verschiedene Auslöser spezifizieren Umstände des Ereignisses (wie bei Startereignissen).

Nichts

Nachricht

Zeitmesser

Fehler

Kompensation

Regel

Link

Mehrfach

Page 50: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

50

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Ausgelöste Zwischenereignisse(Intermediate Events)

● Teil des normalen Flusses.

● Darstellung: ausgefülltes Symbol.

● Bei auslösenden Zwischenereignissen im Sequenzfluss löst Prozess das Ereignis (z.B. Versenden einer Nachricht) aus und läuft sofort weiter.

● Verschiedene Auslöser (wie bei Endereignissen). Sowie:

− Kompensation: Definiert Rück-abwickeln vorhergehender Tasks (z.B. Rücküberweisung von Geld).

− Link-Ereignis: s. spätere Folie

Nichts

Nachricht

Zeitmesser

Fehler

Kompensation

Regel

Link

Mehrfach

Page 51: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

51

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Ein Pizza Beispiel

● Wir möchten Pizza machen

● zuerst müssen wir die Pizza zubereiten (Teig ausrollen und belegen)

● dann die Pizza in den Ofen schieben

● anschließend 15 Minuten warten

● und zuletzt die Pizza aus dem Ofen nehmen

Page 52: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

52

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Ein Pizza Beispiel

● Wir möchten Pizza machen

● zuerst müssen wir die Pizza zubereiten (Teig ausrollen und belegen)

● dann die Pizza in den Ofen schieben

● anschließend 15 Minuten warten

● und zuletzt die Pizza aus dem Ofen nehmen

Page 53: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

53

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Ein Pizza Beispiel

Pizza zubereiten

● Wir möchten Pizza machen

● zuerst müssen wir die Pizza zubereiten (Teig ausrollen und belegen)

● dann die Pizza in den Ofen schieben

● anschließend 15 Minuten warten

● und zuletzt die Pizza aus dem Ofen nehmen

Page 54: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

54

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Ein Pizza Beispiel

Pizza zubereiten

● Wir möchten Pizza machen

● zuerst müssen wir die Pizza zubereiten (Teig ausrollen und belegen)

● dann die Pizza in den Ofen schieben

● anschließend 15 Minuten warten

● und zuletzt die Pizza aus dem Ofen nehmen

Pizza in den Ofen schieben

Page 55: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

55

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Ein Pizza Beispiel

Pizza zubereiten

● Wir möchten Pizza machen

● zuerst müssen wir die Pizza zubereiten (Teig ausrollen und belegen)

● dann die Pizza in den Ofen schieben

● anschließend 15 Minuten warten

● und zuletzt die Pizza aus dem Ofen nehmen

15 Minuten

Pizza in den Ofen schieben

Page 56: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

56

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Ein Pizza Beispiel

Pizza zubereiten

Pizza aus dem Ofen nehmen

● Wir möchten Pizza machen

● zuerst müssen wir die Pizza zubereiten (Teig ausrollen und belegen)

● dann die Pizza in den Ofen schieben

● anschließend 15 Minuten warten

● und zuletzt die Pizza aus dem Ofen nehmen

15 Minuten

Pizza in den Ofen schieben

Page 57: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

57

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Ein Pizza Beispiel

Pizza zubereiten

Pizza aus dem Ofen nehmen

● Wir möchten Pizza machen

● zuerst müssen wir die Pizza zubereiten (Teig ausrollen und belegen)

● dann die Pizza in den Ofen schieben

● anschließend 15 Minuten warten

● und zuletzt die Pizza aus dem Ofen nehmen

Pizza fertig

Pizza in den Ofen schieben

Alternativ: Zwischenereignis mit Regel Die Pizza wird erst aus dem Ofen geholt,

wenn sie fertig ist.

Page 58: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

58

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

An den Rand angehängte Zwischenereignisse

An Aktivitäts-Rand angehängte Ereignisse repräsentieren Auslöser (Trigger). Können Aktivität unterbrechen.

An Aufgaben und Unterprozesse anhängbar.

Werden z.B. benutzt, um Fehler oder Ausnahmen zu behandeln.

Jegliche Arbeit innerhalb der Aktivität wird beendet und der Fluss setzt sich am Ereignis fort.

Zeitmesser (Timer), Fehler oder Nachrichten können Auslöser sein.

Page 59: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

59

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Zeitmesser:Prozessfluss vs. Aktivitätsrand

Page 60: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

60

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Zeitmesser:Prozessfluss vs. Aktivitätsrand

Page 61: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

61

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Angehängte Zwischenereignisse(Intermediate Events)

● An Rand der Aktivität anhängbar.

● Darstellung: nicht ausgefülltes Symbol.

● Reagiert bei angehängten Zwischen- ereignissen auf entsprechendes Ereignis (z.B. Erhalt einer Nachricht).

● Aktivität bei

− Durchgezogenem Rand abbrechen.

− Gestricheltem Rand nicht abbrechen.

● Verschiedene Auslöser spezifizieren Umstände des Ereignisses (wie bei Startereignissen) sowie:

− Abbruch, Fehler und Kompensation

Nachricht

Zeitmesser

Fehler

Kompensation

Regel

Link

Mehrfach

Abbruch

Page 62: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

62

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Beispiel: Fehlerereignis

Beispiel für Einsatz eines Fehlerereignisses für Spezifikation der Ausnahmebehandlung (Exception Handling).

Anmerkung: Namen von Fehlerereignissen werden bei Ausführung berücksichtigt. Nach Erreichen des Endereignesses „neues elektrisches Design“ wird mit normalem Fluss fortgesetzt.

Page 63: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

63

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Ein weiteres Pizza Beispiel

● Wir haben Hunger und möchten Pizza bestellen

● dazu müssen wir uns zuerst eine Pizza aussuchen

● können wir uns jedoch nicht entscheiden und das Aussuchen dauert länger als 30 Minuten so kochen wir einfach Pasta

● wenn das nicht der Fall ist, bestellen wir die Pizza

● und warten bis wir die Pizza erhalten haben

● in beiden Fällen essen wir zuletzt die Mahlzeit

Page 64: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

64

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Ein weiteres Pizza Beispiel

● Wir haben Hunger und möchten Pizza bestellen

● dazu müssen wir uns zuerst eine Pizza aussuchen

● können wir uns jedoch nicht entscheiden und das Aussuchen dauert länger als 30 Minuten so kochen wir einfach Pasta

● wenn das nicht der Fall ist, bestellen wir die Pizza

● und warten bis wir die Pizza erhalten haben

● in beiden Fällen essen wir zuletzt die Mahlzeit

Hunger festgestellt

Page 65: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

65

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Ein weiteres Pizza Beispiel

Pizza aussuchen

● Wir haben Hunger und möchten Pizza bestellen

● dazu müssen wir uns zuerst eine Pizza aussuchen

● können wir uns jedoch nicht entscheiden und das Aussuchen dauert länger als 30 Minuten so kochen wir einfach Pasta

● wenn das nicht der Fall ist, bestellen wir die Pizza

● und warten bis wir die Pizza erhalten haben

● in beiden Fällen essen wir zuletzt die Mahlzeit

Hunger festgestellt

Page 66: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

66

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Ein weiteres Pizza Beispiel

Pizza aussuchen

● Wir haben Hunger und möchten Pizza bestellen

● dazu müssen wir uns zuerst eine Pizza aussuchen

● können wir uns jedoch nicht entscheiden und das Aussuchen dauert länger als 30 Minuten so kochen wir einfach Pasta

● wenn das nicht der Fall ist, bestellen wir die Pizza

● und warten bis wir die Pizza erhalten haben

● in beiden Fällen essen wir zuletzt die Mahlzeit

Hunger festgestellt

Pasta kochen

30 Minuten

Page 67: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

67

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Ein weiteres Pizza Beispiel

Pizza aussuchen

● Wir haben Hunger und möchten Pizza bestellen

● dazu müssen wir uns zuerst eine Pizza aussuchen

● können wir uns jedoch nicht entscheiden und das Aussuchen dauert länger als 30 Minuten so kochen wir einfach Pasta

● wenn das nicht der Fall ist, bestellen wir die Pizza

● und warten bis wir die Pizza erhalten haben

● in beiden Fällen essen wir zuletzt die Mahlzeit

Pizza bestellen

Hunger festgestellt

Pasta kochen

30 Minuten

Page 68: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

68

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Ein weiteres Pizza Beispiel

Pizza aussuchen

● Wir haben Hunger und möchten Pizza bestellen

● dazu müssen wir uns zuerst eine Pizza aussuchen

● können wir uns jedoch nicht entscheiden und das Aussuchen dauert länger als 30 Minuten so kochen wir einfach Pasta

● wenn das nicht der Fall ist, bestellen wir die Pizza

● und warten bis wir die Pizza erhalten haben

● in beiden Fällen essen wir zuletzt die Mahlzeit

Pizza erhalten

Pizza bestellen

Hunger festgestellt

Pasta kochen

30 Minuten

Page 69: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

69

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Ein weiteres Pizza Beispiel

Pizza aussuchen

Mahlzeit verzehren

● Wir haben Hunger und möchten Pizza bestellen

● dazu müssen wir uns zuerst eine Pizza aussuchen

● können wir uns jedoch nicht entscheiden und das Aussuchen dauert länger als 30 Minuten so kochen wir einfach Pasta

● wenn das nicht der Fall ist, bestellen wir die Pizza

● und warten bis wir die Pizza erhalten haben

● in beiden Fällen essen wir zuletzt die Mahlzeit

Pizza erhalten

Pizza bestellen

Hunger festgestellt

Hunger gestillt

Pasta kochen

30 Minuten

Page 70: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

70

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Kompensation (Compensation)

Für Abbruch: Fluss, der bei Abbruch- Ereignis startet.

Für Fehler (Ausnahme): Fluss, der bei Fehler-Ereignis startet (keine Kompensation).

Für Kompensation: Aktivitäten mit entsprechender Markierung außerhalb des normalen Flusses.

Abbruch-Ereignis

Kompensations-Ereignis

Fehler-EreignisFehler-Ereignis

Page 71: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

71

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Transaktionen

Transaktionen: Aktivitäten mit doppelten Rand.

Von Transaktions- protokoll unterstützt (z.B. WS-Transaction).

Bei erfolgreichem Abschluss: weiter mit normalem ausgehenden Sequenzfluss.

Bei Abbruch: Kompensationen für enthaltene Aktivitäten (Atomarität von Transaktionen)

Abbruch-Ereignis

Kompensations-Ereignis

Page 72: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

72

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Link-Ereignisse innerhalb eines Prozesses (Link Events)

Link-(Verbindungs-)Ereignisse: graphische Vereinfachung, um Sequenzfluss-Konnektoren an verschiedenen Teilen des Diagrammes zu verbinden.

Page 73: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

73

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Beendende Ereignisse(End Events)

● Beendende Ereignisse zeigen Prozessende an.● Verschiedene Arten von Ereignissen zeigen,

warum Prozess beendet wird. Analog zu Zwischenereignissen. Insbesondere:

● „Nichts“-Ereignisse: Um Ende eines Unterprozesses zu definieren, oder wenn Ende undefiniert ist.

● Terminierung: Terminiert alle noch aktiven Teile des Prozesses (vgl. [FR12] Abs. 2.6.7).

● Abbruch: Nur im Kontext von Transaktionen (vgl. [FR12] Abs. 2.6.13).

● Beendendes Ereignis „Link“ aus BPMN 1.0 gibt es in BPMN 2.0 nicht mehr.

Nichts

Nachricht

Fehler

Kompensation

Terminierung

Abbruch

Mehrfach

Page 74: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

74

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Verbindungen (Connectors)

● Sequenzfluss (Sequence Flow): Reihenfolge der Aktivitäten in Prozess festlegen.

● Nachrichtenfluss (Message Flow): Richtung des Flusses zwischen zwei Entitäten, die senden und empfangen können.

● Assoziation (Association): Zuordnung von Daten, Informationen und Artefakte an Flussobjekten.

Page 75: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

75

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Sequenzfluss (Sequence Flow)

● Sequenzfluss: Reihenfolge der Aktivitäten in Prozess festlegen.

● Ausgangspunkt und Ziel sind: Ereignisse (Events), Aktivitäten (Aktivities) oder Gateways.

● Sequenzfluss kann keine Unterprozess- oder Poolgrenzen überschreiten.

Page 76: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

76

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Normaler Fluss (Normal Flow)

Normaler Sequenzfluss: Fluss, der ...

● … bei Startereignis beginnt, durch Aktivitäten (ggf. alternative oder parallele Pfade) fließt und in Endereignis abschließt.

● … nicht den Ausnahme- oder Kompensationsfluss beinhaltet.

Page 77: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

77

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Bedingter Sequenzfluss (Conditional Sequence Flow)

Sequenzfluss KANN definierte Bedingung haben, wenn er Aktivität verlässt.

● Aktivität muss min. 2 ausgehende Sequenzflüsse haben.

Bedingung muss erfüllt werden, damit Fluss fortfahren kann.

● Diamant-Symbol zeigt,dass SequenzflussBedingung hat.

Min. 1 ausgehenden Sequenzfluss während Ausführung des Prozesses auswählen können.

Page 78: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

78

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Standard Sequenzfluss(Default Sequence Flow)

Bei exklusivem oder inklusivem Gateway: ausgehenden Sequenzfluss als Standardpfad angeben (Querbalken durch den Strich).

Standardpfad wird ausgewählt, wenn alle anderen Bedingungen nicht erfüllt.

Page 79: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

79

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Verständnis-Frage: Sequenzfluss

Was sind die hauptsächlichen Einschränkungen eines Sequenzflusses ?

Page 80: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

80

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Verständnis-Frage: Sequenzfluss

Was sind die hauptsächlichen Einschränkungen eines Sequenzflusses ?

● Sequenzfluss kann nur Aktivitäten, Ereignisse und Gateways verbinden. Er kann nicht die Grenzen eines Unterprozesses oder Pools überschreiten.

Wie vergleicht sich BPMN bezüglich Einschränkungen eines Sequenzflusses mit EPKs ?

Page 81: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

81

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Verständnis-Frage: Sequenzfluss

Was sind die hauptsächlichen Einschränkungen eines Sequenzflusses ?

● Sequenzfluss kann nur Aktivitäten, Ereignisse und Gateways verbinden. Er kann nicht die Grenzen eines Unterprozesses oder Pools überschreiten.

Wie vergleicht sich BPMN bezüglich Einschränkungen eines Sequenzflusses mit EPKs ?

● Bei EPKs müssen Aktivitäten und Ereignisse sich abwechseln, bei BPMN nicht.

Page 82: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

82

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Gateways

● Gateway: Steuert, wie sich Sequenzflüsse beim Vereinigen oder Aufspalten verhalten.

● Symbolisiert durch Raute / Diamant.

● Symbole im Inneren repräsentieren unterschiedliches Verhalten.

● Alle Gateways können Fluss spalten oder vereinigen.

● Gateway nur notwendig, wenn Fluss kontrolliert werden muss.

Page 83: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

83

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Exklusive Gateways

Exklusives Gateway (Entscheidung): Alternative Pfade basierend auf definierten Bedingungen.

Optional symbolisiert durch „X“ im Diamant.

Meist-verbreiteter Typ von Gateways.

Page 84: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

84

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Ereignis-basierteGateways

● Ereignis-basiertes Gateway: Verzweigungspunkt, wo Alternativen aufgrund von Ereignissen, die hier eintreffen, ausgewählt werden.

● Merkmal: Mehrfaches parallele Auftreten von Zwischenereignissen.

● Ereignis, das auf Gateway-Raute folgt, definiert eingeschlagenen Weg.

● Erstes eintreffendes Ereignis „gewinnt“ Entscheidung.

Page 85: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

85

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Inklusive Gateways

● Inklusives Gateway: Entscheidungen mit mehr als einem (gleichzeitig) möglichen Ergebnis.

● Identifiziert durch Symbol „O“.

● Normalerweise durch dazugehöriges zusammenführendes inklusives Gateway beendet.

Page 86: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

86

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Verständnis-Frage

Wieviele Beiblätter müssen vorbereitet werden, bevor die Dokumente kompiliert werden ?

Page 87: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

87

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Verständnis-Frage

Wieviele Beiblätter müssen vorbereitet werden, bevor die Dokumente kompiliert werden ?

Beim inklusiven Gateway muss man nicht alle Flüsse durchlaufen. Es reicht also ggf. nur ein Angebot und kein Beiblatt vorzubereiten.

Page 88: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

88

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Komplexe Gateways

● Komplexes Gateway: Entscheidung, an der detailliertere Definitionen des Verhalten angegeben werden kann.

● Gekennzeichnet durch Sternsymbol.

● Für aufspaltende und zusammenführende Gateways definierbar.

Page 89: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

89

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Parallele Gateways

Paralleles Gateway:Stelle, an der parallelePfade definiert werden.

● Meistens nicht zur Gabelung des Pfades erforderlich.

● Aus methodischen Gründen verwendbar.

Kennzeichnet durch „+“-Symbol.

Verwendung zur Synchronisation von parallelen Pfaden.

Page 90: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

90

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Verständnis-Frage

Frage: Was passiert hier mit Aufgabe 3?

Aufgabe 1 (30 min)

Aufgabe 2 (45 min)

Start Ende

Aufgabe 3X

Page 91: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

91

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Verständnis-Frage

Frage: Was passiert hier mit Aufgabe 3?

Aufgabe 1 (30 min)

Aufgabe 2 (45 min)

Start Ende

Aufgabe 3X

Antwort: Aufgabe 3 wird zwei mal ausgeführt, einmal nach 30 und einmal nach 45 Minuten. Exklusive Gateways sind keine synchronisierenden Gateways.

Page 92: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

92

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Verständnis-Frage

Frage: Wie lange „lebt“ die Prozessinstanz?

Aufgabe 1 (30 min)

Aufgabe 2 (45 min)

Start Ende

Ende

Page 93: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

93

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Verständnis-Frage

Frage: Wie lange „lebt“ die Prozessinstanz?

Aufgabe 1 (30 min)

Aufgabe 2 (45 min)

Start Ende

Ende

Antwort: 45 Minuten. Eine Prozessinstanz ist erst beendet, wenn alle Token „konsumiert“ wurden.

Page 94: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

94

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Verständnis-Frage

Frage: Wie lange „lebt“ die Prozessinstanz?

Aufgabe 1 (30 min)

Aufgabe 2 (45 min)

Start Ende

Ende

So lebt die Prozessinstanz allerdings nur 30 Minuten.

Terminierungsereignis

Page 95: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

95

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Nachrichtenfluss (Message Flow)

● Nachrichtenfluss: Zeigt Richtung der Nachrichten zwischen zwei Teilnehmern des Prozesses an.

− Teilnehmer werden durch separate Pools repräsentiert.

● Nachrichtenfluss kann an Rand eines Pools oder an Objekt im Pool gebunden werden.

● Nachrichtenflüsse zwischen zwei Objekten im gleichen Pool nicht erlaubt.

Page 96: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

96

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Assoziationen (Associations)

● Assoziation: Wird benutzt, um zwei Objekte miteinander zu verbinden (z.B. Artefakte und Aktivitäten).

● Assoziationen können angeben, wie Daten eine Aktivität verlassen oder wie sie eingehen.

Textuelle Anmerkungen am Objekt zuweisbar.

Page 97: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

97

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Einführung in die BPMN 2.0:Überblick

● BPMN am Beispiel

● BPMN-Hintergrundwissen

● BPMN im Detail

● Grundlegende Konzepte

● Weiterführende Konzepte

Page 98: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

98

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Artefakte (Artifacts)

● Artefakte: zeigen Informationen, die über Flussdiagramm-Struktur des Prozesses hinausgehen.

● Drei Standard-Artefakte in BPMN:

● Datenobjekte (Data Objects)

● Gruppen (Groups)

● Anmerkungen (Annotations)

● Anwender kann BPMN durch Hinzufügen neuer Artefakte erweitern.

Page 99: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

99

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Artefakte: Datenobjekte

● Datenobjekte: zeigen Nutzung der Daten im Objekt des Prozesses.

● Können In- und Output einerAktivität definieren.

● Können Status haben, der anzeigt, wie Dokument im Laufe des Prozesses verändert wird.

Page 100: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

100

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Datenobjekte:Datenfluss (Data Flow)

Aufgabe 1 Aufgabe 2Aufgabe 1 Aufgabe 2

Aufgabe 2Aufgabe 1

Aufgabe 3 Aufgabe 4

Page 101: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

101

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Ad-hoc Prozesse:Nur Datenfluss spezifiziert

Kein Sequenz-fluss vorge- geben, nur Datenfluss.

Symbol fürAd-hoc Prozesse.

Innerhalb eines Kapitels können mehrere Texte und

Grafiken parallel hinzugefügt werden.

Man kann mehrere Kapitel

parallel schreiben.

Page 102: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

102

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Artefakte: Gruppen

● Gruppen: heben Sektionen eines Diagramms hervor, ohne zusätzliche Bedingungen wie bei Unterprozess hinzuzufügen.

● Kann Gruppen dazu benutzen, Elemente zu kategorisieren.

● Gruppen habe keine Einschränkungen wie Pools oder Bahnen.

Termin in Kalen-der eintragen

5) Arzt hat Zeit für den Patienten

10) Medizin des Patienten

1) Patient möchte zum Arzt

9) Patient braucht Medizin

Krankheit tritt auf

Medizin einnehmen

Termin beim Arzt anfordern

Freien Termin suchen

Termin dem Patienten mitteilen

Medizin anfordern

Medizin verschreiben

Patient untersuchen

Page 103: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

103

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Artefakte: Anmerkungen

● Anmerkungen können:

− weitere Informationen über Prozess hinzufügen.

− über Assoziation einem Objekt zugeordnet werden.

Page 104: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

104

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Artefakte sind erweiterbar

Kann BPMN um neue Artefakteerweitern. Beispiel: Artefakt für Code:

Spezielle Branchen oder Märkte könneneigene Artefaktmengen haben.

Deren Symbole dürfen nicht inKonflikt mit vorhandenen Symbolen stehen.

● Beispiel für Konflikt: Artefakt „Uhr“ (im Sinne einer physischen Uhr) eingeführt mit Symbol, das Symbol für zeitgesteuertes Ereignis entspricht.

Page 105: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

105

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Schleifen (Looping)

Page 106: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

106

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Schleifen: Beispiel für Do-While;Multiple Instanzen

Multiple Instanzen: Mehrere Einreichungen erlaubt, die parallel bearbeitet werden:

Do-While:

|||

Page 107: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

107

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Ein Schleifen Beispiel

Aufgabe 1

Start Ende

Wie kann man folgenden Prozess mit Hilfe einer Schleife darstellen?

X XAufgabe 2

Aufgabe 3

Aufgabe 4

X X

Ja

Nein

Bedingung 1 erfüllt?

Bedingung 2 erfüllt?

Ja

Nein

Page 108: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

108

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Ein Schleifen Beispiel

Aufgabe 1

Start Ende

Wie kann man folgenden Prozess mit Hilfe einer Schleife darstellen?

X XAufgabe 2

Aufgabe 3

Aufgabe 4

X X

Ja

Nein

Bedingung 1 erfüllt?

Bedingung 2 erfüllt?

Ja

Nein

Start

Aufgabe 1 XAufgabe 2

Aufgabe 3

Aufgabe 4

Ja

Bedingung 1 erfüllt?

Nein

Ende

Bis Bedingung 2 erfüllt ist

Page 109: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

109

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Pools und Swimlanes

Zwei Notationen für Abgrenzung von Aktivitäten: Pool und Bahn (Swimlane).

● Pools repräsentieren Teilnehmer in einem interaktiven (B2B) Geschäftsprozessdiagramm.

● Bahnen repräsentieren Unterbereiche für Objekte innerhalb Pool.

Page 110: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

110

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Pools

Pools repräsentieren Teilnehmer in einem interaktiven (B2B) Geschäftsprozessdiagramm.

● Teilnehmer ist Rollein Geschäftsbetrieb (z.B.„Käufer“ oder eine Firma).

● Pool: schwarzes Rechteck,beinhaltet Prozess.

● Interaktionen zwischen Poolsüber Nachrichtenflüsse.

● Sequenzfluss kann Pool-Grenzen nicht überschreiten(d.h. Prozess ist in Pooleingeschlossen).

Page 111: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

111

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Bahnen (Swimlanes)

Bahnen repräsentieren Unterbereiche innerhalb eines Pools.● Rollen aus Organisation (z.B. „Manager“, „Gesellschafter“), können

jeden gewünschten Charakter übernehmen.● Sequenzflüsse

dürfen Bahn-Grenzenüberschreiten.

Page 112: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

112

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Prozessebenen (Process Levels)

● Kann Prozesse hierarchisch entwickeln. Verschiedene Ebenen durch Unterprozesse verwirklicht.

● Sequenzflüsse dürfen Unterprozessrand nicht überschreiten.● Nachrichtenflüsse oder Assoziationen dürfen Unterprozessrand

passieren.

Page 113: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

113

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Orchestrierung oder Choreografie

Orchestrierung: Arbeitsfluss, interne Prozesse.

● In BPMN-Pool enthalten.

Choreografie: Kollaboration, globale Prozesse, B2B-Prozesse.

● Definiert durch Interaktion zwischen BPMN-Pools.

Page 114: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

114

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Orchestrierung

Orchestrierung beschreibt Organisations-interne Prozesse.

● Innerhalb eines Pools angesiedelt.

Page 115: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

115

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Choreographie

Choreographie-Prozess: Interaktion zwischen Geschäftsteilen (verschiedene Pools).

Dargestellt als Nachrichtenfluss zwischen Pools:

… oder als Sequenz von Aktivitäten, die Interaktionen realisieren:

Page 116: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

116

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Verständnis-Frage

Wie kann man Prozessebenen einer Prozesshierarchie verbinden ?

Page 117: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

117

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Verständnis-Frage

Wie kann man Prozessebenen einer Prozesshierarchie verbinden ?

● Sequenzflüsse dürfen Rand eines Subprozesses oder einer Transaktion nicht überschreiten.

● Verknüpfung geschieht über Assoziationen und Nachrichtenflüsse.

● Alternativ: Verbindung auf höherer Abstraktionsebene modellierbar durch Sequenz von Aktivitäten, die Interaktionen realisieren.

Page 118: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

118

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Frage: Auswirkung Terminate-Endereignis

Frage: Auf welche Prozesse wirkt sich ein Terminate-Endereignis aus? Werden auch darüberliegende Prozesse abgebrochen?

Antwort: Nein, höhere Prozessebenen oder parallele Instanzen desselben (Unter-)Prozesses sind nicht betroffen.

Quelle: BPMN-Spezifikation S. 473:

For a “terminate” End Event, the Sub-Process is abnormally terminated. In case of a multi-instance Sub-Process, only the affected instance is terminated—no other ongoing Sub-Process instances or higher-level Sub-Process or Process instances are affected.

Page 119: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

119

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Frage: Auswirkung Link-Ereignis

Frage: Auf welche Prozesse wirkt sich ein Link-Ereignis aus? Werden auch darüberliegende Prozesse abgebrochen?

Antwort: Nein, höhere Prozessebenen oder parallele Instanzen desselben (Unter-)Prozesses sind nicht betroffen.

Quelle: BPMN-Spezifikation S. 267:

A Link Event is a mechanism for connecting two sections of a Process.

Link Events can be used to create looping situations or to avoid long Sequence Flow lines.

The use of Link Events is limited to a single Process level(i.e., they cannot link a parent Process with a Sub-Process).

Page 120: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

120

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Frage: XOR-Gateway

Frage: Wie verhält sich ein XOR-Gateway beim Zusammenfügen von Sequenzflüssen, wenn es gleichzeitig Tokens von zwei Seiten bekommt.

Antwort: Dann werden auch zwei Tokens weitergeleitet.

Quelle: BPMN-Spezifikation S. 465:

Each token arriving at any incoming Sequence Flows activates the gateway and is routed to exactly one of the outgoing Sequence Flows.

=> XOR-Eigenschaft wird nur beim Aufspalten durchgesetzt, nicht beim Zusammenfügen !

Page 121: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

121

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Vergleich EPK vs. BPMN

Vorteile EPK:

● Einfache Notation

● Weit verbreitet

− z.B. SAP/R3 Prozessmodelle [vgl. http://www.drkarlpopp.de/KopplungGeschaeftsprozessAnwendungssystemSoftwareAris.html ]

− Werkzeugunterstützung (ARIS, Adonis, ...)

Vorteile BPMN:

● Moderner Standard.

● Unterstützt durch Industrie-Konsortia wie OMG.

● Integration mit Workflow-Automation und SOA durch BPEL.

● Zunehmend unterstützt durch Werkzeuge.

Page 122: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

122

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Einführung in die BPMN 2.0:Zusammenfassung

In diesem Teil haben wir betrachtet:

● BPMN am Beispiel

● BPMN-Hintergrundwissen

● BPMN im Detail

● Grundlegende Konzepte● Weiterführende Konzepte

Page 123: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

123

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Anhang (weitere Informationen und Beispiele zum Nacharbeiten)

Page 124: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.2 BPMN 2.0

124

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014

Geschäftsprozessmodellierungs-Notationen: Überblick

EPKBusiness Process Modeling Notation

BPMN

Petri NetzePN

Übersetzung / Semantik

formal

Page 125: Vorlesung Methodische Grundlagen des Software-Engineering€¦ · 1.2 BPMN 2.0 2 Methodische Grundlagen des Software-Engineering SS 2014 1.2 Einführung in BPMN 2.0 (Business Process

1.3 Workflow-Management-Systeme

125

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2014SS 2014Schichten der Prozess-Modellierung

Konzeptuelles Prozess-Modell(BPMN)

Process Engine(Internes Metamodell)

Logisches Prozess-Modell(BPEL)

Wende an

Transformiere