DMN 1.1 Eine Übersicht - SGO Verein

Die Seite wird erstellt Norbert Stahl
 
WEITER LESEN
DMN 1.1 Eine Übersicht - SGO Verein
DMN 1.1
Eine Übersicht
DMN 1.1 Eine Übersicht - SGO Verein
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
DMN 1.1 Eine Übersicht - SGO Verein
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
DMN 1.1 Eine Übersicht - SGO Verein
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
DMN 1.1 Eine Übersicht - SGO Verein
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
DMN 1.1 Eine Übersicht - SGO Verein
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