DMN 1.1 Eine Übersicht - SGO Verein
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Agenda 1 Einleitung 2 Übersicht DMN 1.1 3 Decision Requirements Diagramming 4 Entscheidungstabellen 5 Geschachtelte Ausdrücke und FEEL 6 Diskussion 12.04.2018 DMN Intro (v1) 2
Serge Schiltz Begeisterter GPM-Experte und erfahrener Projektleiter Gründer der processCentric GmbH Verheiratet, 3 Kinder Ausbildung / Zertifizierungen: • Dr. sc. inf., Dipl. math. (Universität Fribourg - CH) • MBA General Management • MSc Project Management • Project Management Professional (PMI) • OCEB Business Advanced (OMG) • Certified Business Process Professional (CBPP) • Certified Lean Six Sigma Black Belt (IASSC) • Certified BPMN Professional (BPMessentials) • DMN Method & Style Advanced (Method & Style) • Microsoft Specialist MS Project 2013 • HERMES 5 Advanced 12.04.2018 DMN Intro (v1) 3
Agenda 1 Einleitung 2 Übersicht DMN 1.1 3 Decision Requirements Diagramming 4 Entscheidungstabellen 5 Geschachtelte Ausdrücke und FEEL 6 Diskussion 12.04.2018 DMN Intro (v1) 4
Was ist Entscheidungsmodellierung? • Eine Entscheidung ist eine Wahl zwischen mehreren Optionen. • In einer Entscheidung wird ein Ausgabewert (die gewählte Option) bestimmt indem eine Entscheidungslogik auf die Eingangswerte angewendet wird. • DMN befasst sich mit operativen (nicht strategischen) Entscheidungen. 12.04.2018 DMN Intro (v1) 5
Beispiel-Entscheidung Autoversicherung • Aufgrund eines Kundenprofils wird ein Scoring erstellt: • Aufgrund ihres Alters werden die Kunden in Minderjährig, Junglenker, Mittleres Alter und Senior eingeteilt. • Minderjährige dürfen keine Autoversicherung abschliessen. • Junglenker erhalten ein Scoringwert von 10 Punkten, Mittleres Alter 30 Punkte, Senioren 20 Punkte. • Männer erhalten zusätzlich 10 Punkte, Frauen 20 Punkte. • Aufgrund der Anzahl Unfälle in den letzten 5 Jahren wird der Score bei 0 Unfällen mit 3 multipliziert, bei 1 Unfall mit 2 und bei mehr als 2 Unfällen mit 0. • Eine Versicherung kann abgeschlossen werden bei einem Score von mindestens 60 Punkten. • Das Fahrzeug spielt insofern eine Rolle, dass keine Quads versichert werden. 12.04.2018 DMN Intro (v1) 6
Ebenen der Entscheidungsmodellierung • Grobe Darstellung von Entscheidungen in Geschäftsprozessmodellen (wie zum Beispiel BPMN): • Detaillierte Logik ist dargestellt entweder in Programmcode (zum Beispiel geschachtelte if-then- else-Befehle) oder in Entscheidungstabellen. Beide sind für die meisten Fachvertreter schwierig zu nachzuvollziehen. 12.04.2018 DMN Intro (v1) 7
Absicht hinter DMN • Einführen einer visuellen Zwischenebene, die für alle potentiellen Zielgruppen einfach zu verstehen ist. Diese «Entscheidungsanforderungs»-Sicht zeigt die Abhängigkeiten und Beziehungen zwischen den Elementen einer Entscheidung. • Schaffen eines Standards für Entscheidungstabellen (die bisher in einer Vielzahl von Formen dargestellt werden). • Formalisieren der Entscheidungsmodelle so dass sie für die Automatisierung der in Entscheidungen involvierten Geschäftsregeln verwendet werden können. 12.04.2018 DMN Intro (v1) 8
Zielsetzung von DMN-Entscheidungsmodellen • Modellierung der menschlichen Entscheidungsfindung Mehrheitlich deskriptive Modellierung. Typischerweise sind wenig Formalismen nötig. Fokus auf die Modellierung der Anforderungen. Entscheidungslogik kann in Prosa-Texten beschrieben werden, sofern überhaupt erforderlich. • Modellierung der Anforderungen für automatisierte Entscheidungen Preskriptive Modellierung mit mehr Gewicht auf auf der Entscheidungslogik. Oft nicht vollständig formalisiert da viele Entscheidungen weiterhin teilweise von Menschen getroffen werden. • Umsetzung automatisierter Entscheidungen Präzise Modellierung mit starker Gewichtung der Entscheidungslogik. Definition von Entscheidungsdiensten, die in einem BRMS umgesetzt werden. 12.04.2018 DMN Intro (v1) 9
Agenda 1 Einleitung 2 Übersicht DMN 1.1 3 Decision Requirements Diagramming 4 Entscheidungstabellen 5 Geschachtelte Ausdrücke und FEEL 6 Diskussion 12.04.2018 DMN Intro (v1) 10
Entscheidungs-Anforderungs-Modellierung • Eine Entscheidung erfordert • Eingangsdaten • Weitere (Teil-)Entscheidungen • Geschäftswissen(-Modelle) • Wissensquellen (Gesetze, Regularien, Weisungen, Experten, etc.) • Gemäss der DMN-Sicht, gibt es um eines Geschäftsentscheidung herum einen Abhängigkeitsgraph: Dieser Graph wird als «Decision Requirements Graph» (DRG) bezeichnet. • Teile des DRG können graphisch mithilfe von einem oder mehreren «Decision Requirements Diagrams» (DRD) dargestellt werden. 12.04.2018 DMN Intro (v1) 11
Entscheidung • Rechteckige Form mit Bezeichnung • Bestimmt Ausgabewerte aufgrund von Eingabewerten 12.04.2018 DMN Intro (v1) 12
Beispiel: Entscheidung • Die Entscheidung IstMündig erfordert die Informationen HatVormund und Alter • HatVormund ist ein Eingangsdatum • Alter ist eine Entscheidung, die Geburtsdatum als Eingangsdatum benötigt • Informations-Anforderungen werden mithilfe eines durchgezogenen Pfeils angezeigt. 12.04.2018 DMN Intro (v1) 13
Eingangsdaten • Daten, die für Entscheidung erforderlich sind. • Es ist hilfreich, die Daten zu strukturieren (z.B. mithilfe einer «Punkt»-Notation - «object.data») • Datentypen und/oder Einschränkungen müssen angegeben werden falls das Ziel eine Automatisierung ist. 12.04.2018 DMN Intro (v1) 14
Wissensmodelle • Kapselung von wiederverwendbarem Geschäftswissen, welches in Entscheidungen verwendet werden kann. • Wenn menschliche Entscheidungen modelliert werden, können die DRDs durch die Verwendung von BKMs komplex werden. • Für Automatisierungs-Zwecke ist eine durchgängige Verwendung von BKMs empfohlen. • Eine Wissensanforderung wird mithilfe eines gestrichelten Pfeils dargestellt. 12.04.2018 DMN Intro (v1) 15
Beispiel: Wissensmodell 12.04.2018 DMN Intro (v1) 16
Wissensquelle • Hat keine Bedeutung für die Automatisierung. • Erläutert dem menschlichen Leser woher das Wissen stammt: Gesetze, Regularien, Leitlinien, Weisungen, Experten, etc. • Nützlich für die Pflege eines Entscheidungsmodells und sicherlich empfehlenswert zu Dokumentationszwecken. 12.04.2018 DMN Intro (v1) 17
Wissensquelle (forts.) • Wissensquellen können kaskadieren: Eine Regulierung baut auf Gesetzen auf, eine Weisung auf Regularien, sowie auf Expertenwissen, etc. • Wissen stammt von einer kompetenten Stelle, weshalb wir Kompetenzanforderungen verwenden: 12.04.2018 DMN Intro (v1) 18
Beispiel: Wissensquelle 12.04.2018 DMN Intro (v1) 19
Agenda 1 Einleitung 2 Übersicht DMN 1.1 3 Decision Requirements Diagramming 4 Entscheidungstabellen 5 Geschachtelte Ausdrücke und FEEL 6 Diskussion 12.04.2018 DMN Intro (v1) 20
Entscheidungstabelle • Liste von Regeln, die Kombinationen von Eingangswerten mit einem entsprechenden Ausgabewert in Bezug setzen. • Beispiel: Routing-Tabelle für gescannte Dokumente nachdem diese klassifiziert und indexiert wurden. Ein Dokument der Klasse «Polizeirapport» mit einem identifizierten Kunden wird an den für die Schadenbearbeitung zuständigen Sachbearbeiter weitergeleitet, der sich bereits um den vom Kunden gemeldeten Schaden kümmert. • In DMN ist eine Entscheidungstabelle eine Ausprägung eines «geschachtelten Ausdrucks (Boxed Expression)». Es ist die bevorzugte Darstellung für Entscheidungslogik. • DMN standardisiert und formalisiert Entscheidungstabellen, so dass diese für die Automatisierung von Entscheidungslogik verwendet werden können. 12.04.2018 DMN Intro (v1) 21
Beispiel: Entscheidungstabelle MaintenanceCostRate U Property.Class Property.MarketValue MaintenanceCostRate luxury, normal, cheap number 1%, 1.5%, 2% 1 cheap - 2% 2 =1 Mio. 1% 4 luxury - 1% 12.04.2018 DMN Intro (v1) 22
Regeln-als-Zeilen-Entscheidungstabelle 12.04.2018 DMN Intro (v1) 23
Trefferstrategien (einzel) • U - Unique: Um gültig zu sein, darf jede Eingangsdatenkombination nur eine einzige Regel auslösen. • A - Any: Eine beliebige, für eine Eingangsdatenkombination gültige Regel kann aktiviert werden, vorausgesetzt dass alle anwendbaren Regeln zum gleichen Ergebnis führen. • P - Priority: Falls mehrere Regeln anwendbar sind, wird der Ausgabewert mit der höchsten Priorität ausgegeben. Die Priorität ist durch den Datentyp vorgegeben. • F - First: Der erste Ausgabewert einer anwendbaren Regel wird zurückgegeben. Reglnummern definiert die Regelprioritäten. 12.04.2018 DMN Intro (v1) 24
Trefferstrategien (mehrfach) • O - Output order: Erstellt eine Liste von Ausgabewerten aus allen anwendbaren Regeln, geordnet nach Priorität (abhängig vom Datentyp). • R - Rule order: Erstellt eine Liste von Ausgabewerten aus allen anwendbaren Regeln, geordnet nach Regelnummer. • C - Collect: Berechnet einen Ausgabewert mithilfe des angegebenen Operators (+ sum , < min., > max., # count). Wenn kein Operator angegeben ist, gibt es eine beliebige Liste von Ergebnissen aus anwendbaren Regeln zurück. 12.04.2018 DMN Intro (v1) 25
Agenda 1 Einleitung 2 Übersicht DMN 1.1 3 Decision Requirements Diagramming 4 Entscheidungstabellen 5 Geschachtelte Ausdrücke und FEEL 6 Diskussion 12.04.2018 DMN Intro (v1) 26
Geschachtelte Ausdrücke (Boxed Expression) • Grafische Darstellung von Entscheidungslogik (in tabellarischer Form). • Geschachtelter Ausdruck ist bezeichnet wie das Name entsprechende Element im DRD. Boxed Expression • Die Bezeichnung kann sich direkt oberhalb des geschachtelten Ausdrucks befinden oder mithilfe einer Linie am linken Rand verbunden sein. Name Boxed Expression 12.04.2018 DMN Intro (v1) 27
Arten von geschachtelten Ausdrücken • Entscheidungstabelle (siehe vorheriges Kapitel) • Geschachtelter Aufruf (Boxed Invocation) • Geschachtelter FEEL-Ausdruck (Boxed FEEL Expression) • Geschachtelter Kontext (Boxed Context) • Geschachtelte Liste (Boxed List) • Relation • Geschachtelte Funktion (Boxed Function) 12.04.2018 DMN Intro (v1) 28
Geschachtelter Aufruf (Boxed Invocation) • Ein geschachtelter Aufruf ruft ein Wissensmodell (Business Knowledge Model) auf und überträgt die Werte aus dem lokalen Kontext auf die Schnittstellenparameter. DisposableIncome • In diesem Beispiel ruft die Entscheidung NetIncome VerfügbaresEinkommen das Wissensmodell Nettoeinkommen auf und übergibt ihm die Salary Client.EmploymentIncome Eingangsdaten. Return Client.AssetIncome Alimony Client.Alimony 12.04.2018 DMN Intro (v1) 29
Geschachtelter FEEL-Ausdruck (Boxed FEEL Expression) • Beliebiger FEEL-Ausdruck, der ein Ausgabe- Ergebnis zurückgibt. • Kann die vollständige Ergebnislogik darstellen oder Teil eines geschachtelten Kontext (Boxed Context) sein (siehe nächstes Thema) EmploymentIncome + AssetIncome + Alimony 12.04.2018 DMN Intro (v1) 30
Geschachtelter Kontext (Boxed Context) • Ein geschachtelter Kontext (Boxed Context) ist eine Liste von Name/Wert-Paaren mit einem optionalen Ergebnis-/Ausgabeausdruck (in FEEL). • Kann benutzt werden um Variablen mit Name 1 Value 1 Zwischenergebnissen zu definieren. Name 2 Value 2 … … • Vertikale oder horizontale Darstellung. Name n Value n Result Name 1 Name 2 … Name n Result Value 1 Value 2 … Value n 12.04.2018 DMN Intro (v1) 31
Geschachtelter Kontext mit Ergebnis MaintenanceCostRate MaintenanceCostRate Class Property.Class Class Property.Class Value Property.MarketValue Value Property.MarketValue if Class = "cheap" U Class Value Rate then "2%" luxury, normal, cheap number 1%, 1.5%, 2% else if Class = "normal" then if Value < 1000000 1 cheap - 2% then "1.5%" 2 =1 Mio. 1% else "1.0%" 4 luxury - 1% 12.04.2018 DMN Intro (v1) 32
Geschachtelte Liste (Boxed List) • Liste von Einträgen, die bearbeitet werden können (z.B. in Iterationen). Item 1 • Listendarstellung kann vertikal oder horizontal sein. Item 2 • nter Eintrag in einer Liste L wird in einem FEEL- Item 3 Ausdruck als L[n] angesprochen. Item 1, Item 2, Item 3 12.04.2018 DMN Intro (v1) 33
Relation • Darstellung einer relationalen Tabelle (Liste von Listen) • Folgendes Beispiel gibt «VW» zurück: CarModels[Group="compact" and NumberOfSeats>4].Manufacturer CarModels Group Manufacturer Model NumberOfSeats compact Ford Focus 4 compact VW Beetle 5 mid-size Toyota Camry 5 mid-size Chevrolet Malibu 6 12.04.2018 DMN Intro (v1) 34
Geschachtelte Funktion (Boxed Function) • Ruft eine Funktion auf, die extern implementierte Entscheidungslogik definiert. • Kind ist eines von: • F - FEEL • P - PMML • J - Java Kind (Parameter 1, Parameter 2, …) • Argumente werden durch Reihenfolge und Function Invocation nicht durch Namen übergeben. 12.04.2018 DMN Intro (v1) 35
Agenda 1 Einleitung 2 Übersicht DMN 1.1 3 Decision Requirements Diagramming 4 Entscheidungstabellen 5 Geschachtelte Ausdrücke und FEEL 6 Diskussion 12.04.2018 DMN Intro (v1) 36
Diskussion 12.04.2018 DMN Intro (v1) 37
Sie können auch lesen