BPMN Best Practices: Unterschied zwischen den Versionen

Aus www.bpmb.de
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: == Ablauf des Workshops == 1. Begrüßung durch Projektron 2. Vorstellung BPMB durch Jan Mendling 3. Vorstellungsrunde aller Teilnehmer 4. Einführung "Warum Best Pra...)
 
(Mehrere Startereignisse)
 
(5 dazwischenliegende Versionen des gleichen Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 
 
== Ablauf des Workshops ==
 
== Ablauf des Workshops ==
  
 
1. Begrüßung durch Projektron
 
1. Begrüßung durch Projektron
 +
 
2. Vorstellung BPMB durch Jan Mendling
 
2. Vorstellung BPMB durch Jan Mendling
 +
 
3. Vorstellungsrunde aller Teilnehmer
 
3. Vorstellungsrunde aller Teilnehmer
 +
 
4. Einführung "Warum Best Practices?" durch Jan Mendling
 
4. Einführung "Warum Best Practices?" durch Jan Mendling
 +
 
5. Hauptteil: Diskussion konkreter Beispiele
 
5. Hauptteil: Diskussion konkreter Beispiele
6. Vorschau auf die nächsten Termine
 
  
 +
6. Vorschau auf die nächsten Termine
  
 
== Mehrere Startereignisse ==  
 
== Mehrere Startereignisse ==  
  
 
Kernfrage: Wie modelliert man verschiedene Eintrittspunkte in einen Prozess?  
 
Kernfrage: Wie modelliert man verschiedene Eintrittspunkte in einen Prozess?  
 +
 
Alternative 1: Ein Startereignis, danach ein Event-based Gateway
 
Alternative 1: Ein Startereignis, danach ein Event-based Gateway
 +
 
Alternative 2: Kein Startereignis, danach ein Event-based Gateway
 
Alternative 2: Kein Startereignis, danach ein Event-based Gateway
 +
 
Alternative 3: Mehrere Startereignisse (diese Alternative wird von der Mehrheit favorisiert)
 
Alternative 3: Mehrere Startereignisse (diese Alternative wird von der Mehrheit favorisiert)
 +
 +
Anlagen:
 +
 +
[[Media:FP_Mehrfacher_Nachrichtenempfang.png|Modell von Frank Puhlmann]]
 +
 +
[[Media:RM_Berlin.pdf‎|Modelle von Rüdiger Molle]]
  
 
== Mehrere eingehende Nachrichtenflüsse für ein Nachrichtenereignis ==
 
== Mehrere eingehende Nachrichtenflüsse für ein Nachrichtenereignis ==
Zeile 30: Zeile 42:
  
 
Option 1: Verschiedene Pools. Ein Pool, der alle menschlichen Aktivitäten enthält. Interaktion mit Systemen geschieht über Nachrichtenfluss.
 
Option 1: Verschiedene Pools. Ein Pool, der alle menschlichen Aktivitäten enthält. Interaktion mit Systemen geschieht über Nachrichtenfluss.
 +
 
Option 2: Verschiedene Lanes. Pro Rolle und System eine Lane. Hier kann der ursprüngliche Use Case allerdings nicht umgesetzt werden.
 
Option 2: Verschiedene Lanes. Pro Rolle und System eine Lane. Hier kann der ursprüngliche Use Case allerdings nicht umgesetzt werden.
 +
 
Option 3: Kombinationen von Rolle/System in Lanes umsetzen.
 
Option 3: Kombinationen von Rolle/System in Lanes umsetzen.
 +
 
Option 4: Darstellung von Systemen über Datenobjekte mit speziellen Symbolen.
 
Option 4: Darstellung von Systemen über Datenobjekte mit speziellen Symbolen.
 +
 +
[[Media:TN_Treffen_090320.pdf|Folien von Thomas Niebisch]]
  
 
== Mehrere Rollen führen einen Task aus ==
 
== Mehrere Rollen führen einen Task aus ==
Zeile 42: Zeile 59:
  
 
Vorschlag von Jakob:
 
Vorschlag von Jakob:
 +
 
- Pool = Prozessverantwortung. Label ergibt sich aus Prozessverantwortlichem und Prozessname.
 
- Pool = Prozessverantwortung. Label ergibt sich aus Prozessverantwortlichem und Prozessname.
 +
 
- Lane = Teilprozessverantwortung.
 
- Lane = Teilprozessverantwortung.
 +
 +
[[Media:JF_3._BPM-Workshop_-_Input.pdf|Folien von Jakob Freund]], auch als [http://www.slideshare.net/camunda/3-bpm-workshop-input-jf Slidecast] erhältlich.
 +
  
 
== Zerschneiden von komplexen Diagrammen ==
 
== Zerschneiden von komplexen Diagrammen ==
  
 
Komplexe Modelle müssen für bessere Wartbarkeit / bessere Übersichtlichkeit zerschnitten werden / Abstraktionsebenen müssen eingeführt werden. Hier müssen Kriterien für das Zerschneiden gewählt werden. Beispiele:
 
Komplexe Modelle müssen für bessere Wartbarkeit / bessere Übersichtlichkeit zerschnitten werden / Abstraktionsebenen müssen eingeführt werden. Hier müssen Kriterien für das Zerschneiden gewählt werden. Beispiele:
 +
 
- Zerschneiden anhand von Lanes
 
- Zerschneiden anhand von Lanes
 +
 
- Zerschneiden anhand von Zustandübergängen von Datenobjekten
 
- Zerschneiden anhand von Zustandübergängen von Datenobjekten
 +
 +
 +
== Wiederverwenden von Nachrichtenmustern ==
 +
 +
Wie können immer wiederkehrende Nachrichtenmuster in BPMN wiederverwendet werden. Hier eignen sich Ansätze aus dem UMM von UNCEFACT.
 +
 +
[[Media:UP_UMM_Foundation_v2-0-20090130.pdf |UMM Grundlagen]]
 +
 +
[[Media:UMM_Transaction_Patterns_(GovDex).pdf|UMM Transaktionsmuster]]

Aktuelle Version vom 30. März 2009, 22:57 Uhr

Ablauf des Workshops

1. Begrüßung durch Projektron

2. Vorstellung BPMB durch Jan Mendling

3. Vorstellungsrunde aller Teilnehmer

4. Einführung "Warum Best Practices?" durch Jan Mendling

5. Hauptteil: Diskussion konkreter Beispiele

6. Vorschau auf die nächsten Termine

Mehrere Startereignisse

Kernfrage: Wie modelliert man verschiedene Eintrittspunkte in einen Prozess?

Alternative 1: Ein Startereignis, danach ein Event-based Gateway

Alternative 2: Kein Startereignis, danach ein Event-based Gateway

Alternative 3: Mehrere Startereignisse (diese Alternative wird von der Mehrheit favorisiert)

Anlagen:

Modell von Frank Puhlmann

Modelle von Rüdiger Molle

Mehrere eingehende Nachrichtenflüsse für ein Nachrichtenereignis

Verboten laut Spezifikation

Delegation

Idee: Task wird zu einer Lane zugeordnet (dort, wo der Task eigentlich ausgeführt werden soll). Die Möglichkeit der Delegation kann nicht explizit dargestellt werden.

Pools/Lanes: Rollen vs. Systeme

Wie stellt man dar, dass ein Task von einer Rolle und mit Hilfe eines Systems dargestellt wird (wie es in EPKs möglich ist). Dies kann nicht so einfach dargestellt werden.

Option 1: Verschiedene Pools. Ein Pool, der alle menschlichen Aktivitäten enthält. Interaktion mit Systemen geschieht über Nachrichtenfluss.

Option 2: Verschiedene Lanes. Pro Rolle und System eine Lane. Hier kann der ursprüngliche Use Case allerdings nicht umgesetzt werden.

Option 3: Kombinationen von Rolle/System in Lanes umsetzen.

Option 4: Darstellung von Systemen über Datenobjekte mit speziellen Symbolen.

Folien von Thomas Niebisch

Mehrere Rollen führen einen Task aus

Beispiel: Meeting

Option 1: Task duplizieren in verschiedenen Pools/Lanes und dann Verbindung durch Gruppierung. Achtung: Gruppierungen dürfen NICHT Start oder Ziel von Sequenzflüssen sein!

Wann verwende ich Pools und wann Lanes?

Vorschlag von Jakob:

- Pool = Prozessverantwortung. Label ergibt sich aus Prozessverantwortlichem und Prozessname.

- Lane = Teilprozessverantwortung.

Folien von Jakob Freund, auch als Slidecast erhältlich.


Zerschneiden von komplexen Diagrammen

Komplexe Modelle müssen für bessere Wartbarkeit / bessere Übersichtlichkeit zerschnitten werden / Abstraktionsebenen müssen eingeführt werden. Hier müssen Kriterien für das Zerschneiden gewählt werden. Beispiele:

- Zerschneiden anhand von Lanes

- Zerschneiden anhand von Zustandübergängen von Datenobjekten


Wiederverwenden von Nachrichtenmustern

Wie können immer wiederkehrende Nachrichtenmuster in BPMN wiederverwendet werden. Hier eignen sich Ansätze aus dem UMM von UNCEFACT.

UMM Grundlagen

UMM Transaktionsmuster