Kontakt
Słownik pojęć e-MSI

DMN – notacja decyzji

DMN (Decision Model and Notation) to standard organizacji OMG do zapisu decyzji biznesowych tak, żeby rozumiał je człowiek i mógł wykonać system. Decyzję opisuje diagram wymagań - skąd bierze dane i wiedzę - oraz logika, najczęściej tabela decyzyjna, w której każdy wiersz to reguła: zestaw warunków i wynik.

6 pytań i odpowiedzi5 powiązane hasła

Co to jest DMN i do czego służy

W praktyce DMN rozdziela dwa pytania, które w zwykłym opisie procesu się mieszają: kiedy zapada decyzja i jak się ją podejmuje. Pierwsze pokazuje diagram BPMN, drugie - model DMN. Dzięki temu proces zostaje prosty, a logika decyzji, która zmienia się częściej niż kolejność kroków, ma jedno miejsce i jednego właściciela. Standard utrzymuje OMG, ta sama organizacja, która odpowiada za BPMN i notację spraw CMMN. Pierwsza wersja, DMN 1.0, ukazała się we wrześniu 2015 r., a obecna wersja formalna to DMN 1.5 z sierpnia 2024 r. Model ma dwa poziomy: wymagania decyzyjne, czyli co od czego zależy, oraz logikę decyzyjną, czyli jak dokładnie wylicza się wynik.

Diagram wymagań decyzyjnych (DRD) - elementy DMN

  • Decyzja (prostokąt) - ustala wynik na podstawie danych, na przykład „Kto akceptuje fakturę”.
  • Dane wejściowe (owal) - informacje, z których decyzja korzysta: kwota, kategoria kosztu, MPK.
  • Model wiedzy biznesowej (prostokąt ze ściętymi rogami) - logika wielokrotnego użytku, na przykład jedna tabela progów używana przez kilka decyzji.
  • Źródło wiedzy (kształt z falistą dolną krawędzią) - skąd reguła pochodzi: regulamin, uchwała zarządu, przepis.
  • Usługa decyzyjna - zestaw decyzji udostępniony innym systemom do wywołania.

Strzałki na diagramie to wymagania: informacyjne (dane dla decyzji), wiedzy (logika dla decyzji) i autorytetu (źródło, które uzasadnia regułę). Sam diagram nie liczy wyniku - pokazuje zależności i pozwala sprawdzić, czy przy zmianie przepisu wiadomo, które decyzje trzeba poprawić.

Tabela decyzyjna DMN - jak ją czytać

Tabela ma kolumny warunków (wejścia) i kolumny wyników. Każdy wiersz to jedna reguła. Znak „-” w komórce warunku oznacza dowolną wartość. Warunki zapisuje się w języku FEEL (Friendly Enough Expression Language), na przykład „[10000..50000]” oznacza kwotę od 10 000 do 50 000 włącznie. W lewym górnym rogu tabeli stoi litera polityki trafień (hit policy), która mówi, co zrobić, gdy pasuje kilka wierszy:

  • U - Unique: pasuje najwyżej jeden wiersz. Bezpieczny wybór domyślny.
  • F - First: wygrywa pierwszy pasujący wiersz od góry, więc kolejność wierszy zmienia wynik.
  • A - Any: może pasować kilka wierszy, ale wszystkie muszą dawać ten sam wynik.
  • P - Priority: pasuje kilka wierszy z różnymi wynikami, a wygrywa wynik stojący wyżej na liście dopuszczalnych wartości.
  • C - Collect, R - Rule order, O - Output order: zwracają wszystkie pasujące wyniki. Collect może je też zsumować, policzyć albo wybrać najmniejszy lub największy.

DMN a BPMN w praktyce wdrożenia

W diagramie BPMN decyzję wywołuje zadanie typu reguła biznesowa (business rule task). Proces przekazuje dane, dostaje wynik i idzie dalej właściwą ścieżką. Sposób powiązania zadania z konkretną tabelą zależy od narzędzia. DMN nie wymaga silnika reguł - tabela jest też po prostu jednoznaczną specyfikacją, którą zespół wdrożeniowy odwzorowuje w systemie.

Tak można jej użyć w projektach e-MSI. Na platformie JobRouter procesy projektuje się w Designerze z notacją BPMN, który odwzorowuje warunki, rozgałęzienia i punkty decyzyjne, a reguły biznesowe definiuje się w samym procesie. Tabela zapisana na etapie analizy przekłada się na warunki przejść, a zmiana progu czy ścieżki akceptacji nie wymaga budowania systemu od nowa. Więcej o tym, jak reguły działają w procesie, na stronie system workflow.

Najczęstsze błędy w tabelach DMN

  • Luka w warunkach: faktura dokładnie na progu nie pasuje do żadnego wiersza.
  • Nakładające się wiersze w tabeli typu Unique.
  • Polityka First wybrana dla wygody, bez testu, co się stanie po przestawieniu wierszy.
  • Nieopisane jednostki: kwota netto czy brutto, dni kalendarzowe czy robocze.
  • Jedna ogromna tabela zamiast kilku decyzji połączonych diagramem wymagań.
  • Brak źródła wiedzy, przez co nikt nie wie, kto może zmienić regułę.

Przykłady zastosowania

01

Dział finansów zapisuje matrycę akceptacji faktur kosztowych jako tabelę DMN: kwota netto i kategoria kosztu w warunkach, rola akceptującego w wyniku. Podwyższenie progu to zmiana jednej komórki.

02

Kadry opisują w DMN, czy wniosek o pracę zdalną wymaga zgody dyrektora. Warunki to stanowisko, liczba dni w miesiącu i dział, a źródłem wiedzy jest regulamin pracy zdalnej.

03

Kancelaria urzędu stosuje tabelę DMN do przydziału pism: rodzaj sprawy i nadawca wskazują komórkę merytoryczną, a pisma, które nie pasują do żadnego wiersza, trafiają do sekretariatu.

04

Firma leasingowa liczy wstępną ocenę klienta tabelą z polityką Collect i sumowaniem: punkty za staż firmy, branżę i wysokość wpłaty własnej dodają się do jednego wyniku.

05

Analityk rysuje diagram wymagań dla decyzji o zapłacie faktury: dane z KSeF i z zamówienia, model wiedzy „Tolerancja różnic kwot” i źródło wiedzy w postaci polityki zakupowej.

Najczęstsze pytania

Co to znaczy DMN?

Decision Model and Notation, czyli model i notacja decyzji. To standard organizacji OMG do zapisywania decyzji biznesowych w formie diagramu wymagań i tabel decyzyjnych. Pierwsza wersja ukazała się w 2015 r., obecna wersja formalna to DMN 1.5 z 2024 r.

Czym różni się DMN od BPMN?

BPMN opisuje przebieg procesu: kroki, role i kolejność. DMN opisuje logikę jednej decyzji w tym procesie: jakie dane wchodzą i jaki wynik wychodzi. W diagramie BPMN decyzja jest jednym zadaniem, a jej szczegóły żyją w osobnej tabeli DMN, którą można zmieniać bez przerysowywania procesu.

Co to jest hit policy w tabeli DMN?

Polityka trafień, czyli zasada, co zrobić, gdy do danych pasuje kilka wierszy tabeli. Oznacza się ją literą w rogu tabeli: U - tylko jeden wiersz, F - pierwszy od góry, P - według priorytetu, C - wszystkie pasujące, opcjonalnie zsumowane. Domyślnie warto zaczynać od U.

Co to jest FEEL w DMN?

Friendly Enough Expression Language - język wyrażeń zdefiniowany w standardzie DMN. Służy do zapisu warunków i obliczeń w tabelach, na przykład progu kwoty, przedziału „[10000..50000]” czy listy dopuszczalnych wartości. Jest pomyślany tak, żeby czytał go analityk biznesowy, a wykonywał silnik reguł.

W jakim programie tworzyć tabele DMN?

Tabele i diagramy DMN obsługują m.in. Camunda Modeler, narzędzia Trisotech i Sparx Enterprise Architect. Do szkicu na warsztacie wystarczy arkusz, byle zachować układ kolumn warunków i wyników oraz politykę trafień. Ważniejsza od narzędzia jest kompletność tabeli i przetestowane przypadki brzegowe.

Czy do stosowania DMN potrzebny jest silnik reguł?

Nie. DMN można używać jako samej specyfikacji: tabela jednoznacznie opisuje regułę, a zespół wdrożeniowy odwzorowuje ją w systemie workflow. Silnik DMN przydaje się, gdy reguł jest dużo i zmieniają się często, bo wtedy tabela jest wykonywana wprost, bez przepisywania na warunki procesu.

Powiązane hasła

DMN – notacja decyzji w praktyce

Zobacz, jak wygląda to w systemach, które wdrażamy w polskich firmach.

Przewijanie do góry