BPMN Best Practices: Unterschied zwischen den Versionen
Gero (Diskussion | Beiträge) (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 | ||
== 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, 23:57 Uhr
Inhaltsverzeichnis
- 1 Ablauf des Workshops
- 2 Mehrere Startereignisse
- 3 Mehrere eingehende Nachrichtenflüsse für ein Nachrichtenereignis
- 4 Delegation
- 5 Pools/Lanes: Rollen vs. Systeme
- 6 Mehrere Rollen führen einen Task aus
- 7 Wann verwende ich Pools und wann Lanes?
- 8 Zerschneiden von komplexen Diagrammen
- 9 Wiederverwenden von Nachrichtenmustern
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:
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.
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.