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.
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
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.
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.
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.
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.
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
Zobacz, jak wygląda to w systemach, które wdrażamy w polskich firmach.
