8 Kontrola, bezpieczeństwo i decyzje (DMN)
Efekty uczenia się: W1, W2, U3, U6, U7, U8, K4 · Treści programowe: 7, 8 · Czas: Nauka 45 min, Wyzwanie 45 min
8.1 Nauka
Na poprzednich spotkaniach model odpowiadał na pytanie, jak przebiega proces. Dziś zadajemy dwa nowe pytania. Po pierwsze: czy proces jest pod kontrolą, czyli czy ktoś sprawdza wyniki, zanim pójdą dalej, i czy informacja jest chroniona. Po drugie: na jakiej podstawie proces wybiera ścieżkę. Odpowiedź na pierwsze pytanie da nam model z punktami kontrolnymi. Odpowiedź na drugie da nam tabelę decyzyjną w notacji DMN.
Punkty kontrolne w procesie
Punkt kontrolny to miejsce w procesie, w którym ktoś albo coś sprawdza wynik wcześniejszej pracy i od wyniku sprawdzenia zależy dalszy przebieg. Norma ISO 9001 wymaga, żeby organizacja planowała i nadzorowała swoje procesy, a ISO/IEC 27001 wymaga zabezpieczeń adekwatnych do ryzyka. W modelu procesu oba wymagania stają się widoczne właśnie jako punkty kontrolne.
W instytucjach informacyjnych spotkasz cztery główne rodzaje kontroli:
| Rodzaj | Co sprawdza | Przykład | Jak wygląda w BPMN |
|---|---|---|---|
| weryfikacja | kompletność i poprawność danych | czy wniosek o kwerendę ma wszystkie wymagane pola | zadanie, a po nim bramka „Czy wniosek kompletny?” |
| zatwierdzenie | zgodę osoby uprawnionej | zgoda dyrektora archiwum na udostępnienie | zadanie użytkownika w linii osoby uprawnionej i bramka z odpowiedziami |
| kontrola krzyżowa | czy druga osoba widzi to samo co pierwsza | sprawdzenie anonimizacji przez kierownika | dwa zadania w dwóch różnych liniach |
| rejestracja | czy po zdarzeniu został ślad | wpis do ewidencji udostępnień | zadanie z zapisem do magazynu danych |
Zwróć uwagę na ostatni wiersz. Rejestracja sama niczego nie zatrzymuje. Bez niej nie da się jednak później sprawdzić, kto, kiedy i komu udostępnił dokument. Ślad w rejestrze jest podstawą każdej późniejszej kontroli.
Zasada dwóch par oczu
Zasada dwóch par oczu (four-eyes principle) mówi, że ważną czynność wykonuje jedna osoba, a sprawdza inna. Pokrewna jest zasada rozdziału obowiązków (segregation of duties): ta sama osoba nie może przygotować i zatwierdzić tej samej sprawy. Obie zasady są typowymi zabezpieczeniami z katalogu ISO/IEC 27001.
W modelu BPMN rozdział obowiązków widać od razu, jeśli dobrze dobierzesz linie. Zadanie „Anonimizacja kopii” leży w linii pracownika czytelni, a „Kontrola anonimizacji” w linii kierownika oddziału. Gdyby oba zadania leżały w jednej linii, model mówiłby, że jedna rola sprawdza samą siebie. Dlatego przy każdym punkcie kontrolnym zadaj pytanie: czy sprawdzający jest w innej linii niż wykonawca?
Punkt kontrolny ma zawsze co najmniej dwa wyjścia. Jeśli kontrola wypadnie źle, proces musi wiedzieć, co dalej: wrócić do poprawy, przekazać sprawę wyżej albo zakończyć się odmową. Kontrola, po której jest tylko jedna strzałka, w modelu niczego nie kontroluje.
Bezpieczeństwo informacji w procesie
Norma ISO/IEC 27001 opisuje bezpieczeństwo informacji przez trzy cechy:
- poufność: informację widzą tylko osoby uprawnione;
- integralność: informacja nie zmienia się w niekontrolowany sposób;
- dostępność: informacja jest dostępna wtedy, gdy uprawniona osoba jej potrzebuje.
Model procesu pomaga sprawdzić wszystkie trzy. Wystarczy przejść po diagramie i przy każdym obiekcie danych zapytać:
- Kto ma do niego dostęp? Odpowiedzią są linie, w których leżą zadania korzystające z obiektu. Jeśli wniosek z danymi osobowymi czyta pięć ról, a do pracy potrzebują go dwie, masz problem z poufnością.
- Kto może go zmienić? Zadania z asocjacją wychodzącą do obiektu danych zmieniają jego stan. Każda taka zmiana powinna mieć wykonawcę i, w ważnych sprawach, kontrolę.
- Gdzie zostaje ślad? Trwałe rejestry modelujesz jako magazyny danych. Jeśli ważna decyzja nie trafia do żadnego magazynu, po zakończeniu procesu nie będzie po niej śladu.
- Co się stanie, gdy system będzie niedostępny? To pytanie o dostępność. Odpowiedzią bywa zdarzenie graniczne błędu i ścieżka zastępcza, które znasz ze spotkania 6.
W archiwach i bibliotekach szczególne znaczenie mają dane osobowe. Rozporządzenie RODO wymaga minimalizacji danych: przetwarza się tylko te dane, które są niezbędne do celu. W modelu minimalizacja oznacza krótkie ścieżki danych osobowych. Obiekt danych z danymi osobowymi powinien dotykać jak najmniejszej liczby zadań i linii. Często dobrym rozwiązaniem jest wczesna anonimizacja: dalsze kroki pracują już na kopii bez danych identyfikujących.
BPMN nie ma osobnego symbolu „dane poufne”. Masz do dyspozycji trzy środki:
- adnotację (text annotation) przy obiekcie danych albo zadaniu, np. „zawiera dane osobowe: PESEL, adres”;
- stan danych w nawiasie kwadratowym, np.
Kopia [zanonimizowana], który pokazuje, w której części procesu dane są już bezpieczne; - grupę (group), czyli prostokąt z przerywaną linią obejmujący kroki, w których przetwarza się dane osobowe. Grupa nie zmienia przebiegu procesu, tylko zaznacza obszar na diagramie.
Jakość informacji w decyzjach
Każda bramka rozgałęziająca korzysta z jakiejś informacji. Bramka „Czy zgoda udzielona?” działa dobrze tylko wtedy, gdy decyzja dyrektora jest jednoznacznie zapisana. Ocena jakości informacji w procesie decyzyjnym opiera się na kilku kryteriach:
| Kryterium | Pytanie przy bramce | Przykład problemu |
|---|---|---|
| kompletność | czy mamy wszystkie dane potrzebne do decyzji? | wniosek bez określenia celu udostępnienia |
| aktualność | czy dane nie są przestarzałe? | decyzja na podstawie nieaktualnej ewidencji |
| dokładność | czy dane są zgodne z rzeczywistością? | błędnie wpisany rok wytworzenia akt |
| spójność | czy różne źródła mówią to samo? | inny wiek materiału w inwentarzu i we wniosku |
| jednoznaczność | czy dane da się odczytać tylko w jeden sposób? | cel „inny” bez opisu |
Dobry model pokazuje, skąd pochodzi informacja potrzebna przy każdej bramce: z obiektu danych, z magazynu danych albo z wcześniejszego zadania. Jeśli przy bramce nie potrafisz wskazać źródła informacji, model ma lukę. Spójność i kompletność modelu ocenia się właśnie w ten sposób: krok po kroku, od bramki do źródła.
Przykład: udostępnienie materiałów archiwalnych
Rysunek 8.1 pokazuje, jak archiwum rozpatruje wniosek o udostępnienie materiałów. Prześledź go razem z opisem.
Rysunek 8.1: Udostępnienie materiałów archiwalnych: weryfikacja, decyzja według reguł, zasada dwóch par oczu i rejestracja.
- Wniosek przychodzi od użytkownika archiwum. Użytkownik jest osobnym, zamkniętym basenem, bo nie modelujemy jego wewnętrznej pracy.
- Pracownik czytelni sprawdza kompletność wniosku. To pierwszy punkt kontrolny: weryfikacja.
- System archiwalny ustala tryb udostępnienia. To zadanie reguły biznesowej (business rule task, ikona tabelki). Proces nie zawiera samych reguł. Zadanie odwołuje się do tabeli decyzyjnej, którą omawiamy niżej.
- Bramka kieruje sprawę jedną z czterech ścieżek. Bramka niczego nie decyduje. Wybiera ścieżkę na podstawie wyniku zadania reguły biznesowej.
- Na ścieżce „anonimizacja” działa zasada dwóch par oczu: kopię przygotowuje pracownik czytelni, a sprawdza kierownik oddziału. Jeśli anonimizacja jest niekompletna, kopia wraca do poprawy.
- Na ścieżce „zgoda dyrektora” jest zatwierdzenie. Dyrektor ma osobną linię, więc od razu widać, że decyzja należy do innej osoby niż wykonawca.
- Każde udostępnienie trafia do magazynu danych „Ewidencja udostępnień”. To rejestracja, czyli ślad potrzebny przy późniejszej kontroli.
- Odmowa ma własne zakończenie i własną wiadomość do użytkownika. Każda decyzja negatywna wymaga uzasadnienia, dlatego przed końcem jest zadanie „Przygotowanie uzasadnienia odmowy”.
Decyzja to nie proces
Przyjrzyj się zadaniu „Ustalenie trybu udostępnienia”. Można by zamiast niego narysować kilka bramek: „Czy materiał ma co najmniej 100 lat?”, „Czy zawiera dane osobowe?”, „Jaki jest cel?”. Taki model szybko staje się nieczytelny. Gorzej, że reguły udostępniania zmieniają się częściej niż sam proces. Po każdej zmianie przepisów trzeba by przerysowywać diagram.
Dlatego od kilku lat oddziela się logikę decyzji od przebiegu procesu. Przebieg modelujemy w BPMN. Regułę, według której zapada decyzja, zapisujemy w notacji DMN (Decision Model and Notation). DMN jest standardem organizacji OMG, tak jak BPMN. Karta przedmiotu przywołuje wersję 1.2, a obecnie aktualna jest wersja 1.5. Podstawowe elementy, które tu poznasz, są we wszystkich tych wersjach takie same.
Połączenie jest proste. W procesie stoi zadanie reguły biznesowej, które wywołuje decyzję. Decyzja przyjmuje dane wejściowe (np. wiek materiału) i zwraca wynik (np. tryb udostępnienia). Po zadaniu bramka kieruje proces według tego wyniku.
Tabela decyzyjna
Najczęstszą formą zapisu decyzji w DMN jest tabela decyzyjna (decision table). Poniżej jest tabela, której używa nasz proces. Reguły są przykładowe i zostały ułożone na potrzeby ćwiczenia. Rzeczywiste zasady udostępniania określają przepisy archiwalne i regulamin danego archiwum.
Tryb udostępnienia · polityka trafień: U (unique)
| Nr | Wiek materiału (lata) | Zawiera dane osobowe | Cel udostępnienia | → Tryb udostępnienia | Uzasadnienie |
|---|---|---|---|---|---|
| 1 | >= 100 |
- |
- |
"czytelnia" |
materiały stare: bez ograniczeń |
| 2 | < 100 |
false |
- |
"czytelnia" |
brak danych osobowych |
| 3 | < 100 |
true |
"naukowy" |
"anonimizacja" |
badania naukowe: kopia po anonimizacji |
| 4 | < 100 |
true |
"urzędowy" |
"zgoda dyrektora" |
sprawa urzędowa: decyzja dyrektora |
| 5 | [30..100) |
true |
"prywatny" |
"zgoda dyrektora" |
cel prywatny, materiały starsze niż 30 lat |
| 6 | < 30 |
true |
"prywatny" |
"odmowa" |
cel prywatny, materiały młodsze niż 30 lat |
Pobierz tabelę decyzyjną (.dmn)
Plik .dmn otworzysz w Camunda Modeler tak samo jak plik .bpmn.
Jak czytać tabelę:
- Kolumny po lewej to wejścia (inputs). Każde wejście ma nazwę i typ danych: liczba, tekst, wartość logiczna, data.
- Kolumna ze strzałką to wyjście (output), czyli wynik decyzji.
- Każdy wiersz to reguła (rule). Reguła pasuje, gdy wszystkie jej warunki są spełnione jednocześnie.
- Myślnik
-znaczy „dowolna wartość”. Warunek nie jest wtedy sprawdzany. - Kolumna z uzasadnieniem to adnotacja. Nie wpływa na wynik, ale bardzo pomaga ludziom, którzy będą tabelę utrzymywać.
Przykład. Badaczka składa wniosek o akta z 1985 roku, które zawierają dane osobowe, w celu naukowym. Materiał ma około 40 lat, więc pasuje tylko reguła 3. Wynik: "anonimizacja". Proces pójdzie ścieżką z anonimizacją i kontrolą kierownika.
Polityka trafień
Co się stanie, jeśli do jednego przypadku pasuje kilka reguł? Rozstrzyga o tym polityka trafień (hit policy), oznaczana literą w nagłówku tabeli. Najważniejsze są dwie:
| Polityka | Znaczenie | Kiedy używać |
|---|---|---|
| U (unique) | do każdego przypadku może pasować najwyżej jedna reguła; reguły nie mogą się nakładać | domyślny wybór; tabela jest wtedy najłatwiejsza do sprawdzenia |
| F (first) | reguły czyta się od góry; wygrywa pierwsza pasująca | gdy chcesz zapisać wyjątki przed regułą ogólną |
Nasza tabela ma politykę U. Sprawdź, że reguły się nie nakładają: reguła 1 dotyczy wieku >= 100, a pozostałe wieku < 100. Reguła 2 dotyczy materiałów bez danych osobowych, a reguły 3–6 z danymi. Reguły 3, 4 i 5–6 różnią się celem. Reguły 5 i 6 różnią się przedziałem wieku.
Tę samą logikę można zapisać krócej przy polityce F:
| Nr | Wiek materiału | Dane osobowe | Cel | → Tryb |
|---|---|---|---|---|
| 1 | >= 100 |
- |
- |
"czytelnia" |
| 2 | - |
false |
- |
"czytelnia" |
| 3 | - |
- |
"naukowy" |
"anonimizacja" |
| 4 | - |
- |
"urzędowy" |
"zgoda dyrektora" |
| 5 | >= 30 |
- |
- |
"zgoda dyrektora" |
| 6 | - |
- |
- |
"odmowa" |
Tabela jest krótsza, ale trudniejsza w utrzymaniu. Reguła 5 sama w sobie mówi „każdy materiał starszy niż 30 lat wymaga zgody dyrektora”, a to nieprawda. Prawdziwa jest tylko dlatego, że stoi po regułach 1–4. Jeśli ktoś przestawi wiersze, wynik się zmieni. Dlatego w tym kursie domyślnie używamy polityki U.
Pozostałe polityki wystarczy znać z nazwy:
- A (any): może pasować kilka reguł, ale wszystkie muszą dawać ten sam wynik;
- P (priority): wygrywa reguła o najwyższym priorytecie wyniku, według kolejności wartości wyjścia;
- C (collect): zbiera wyniki wszystkich pasujących reguł w listę, np. listę wszystkich wymaganych załączników.
Warunki w języku FEEL
Warunki w komórkach tabeli zapisuje się w języku FEEL (Friendly Enough Expression Language), który jest częścią standardu DMN. W komórkach wejść stosuje się krótkie testy (unary tests). Wartość wejścia nie jest w nich powtarzana:
| Zapis | Znaczenie |
|---|---|
< 18 |
mniej niż 18 |
>= 100 |
co najmniej 100 |
[18..65] |
od 18 do 65, oba końce włącznie |
[30..100) |
od 30 włącznie do 100 bez 100 (można też pisać [30..100[) |
"student" |
dokładnie tekst „student” (tekst zawsze w cudzysłowie) |
"student", "doktorant" |
jedna z wymienionych wartości |
not("gość") |
każda wartość oprócz „gość” |
true / false |
wartość logiczna |
- |
dowolna wartość |
Najczęstszy błąd początkujących to tekst bez cudzysłowu. W FEEL zapis student bez cudzysłowu oznacza zmienną o nazwie student, a nie tekst.
Typowe błędy w tabelach decyzyjnych
- Luka. Żadna reguła nie pasuje do jakiegoś przypadku. W naszej tabeli luka powstałaby, gdyby ktoś wpisał cel
"genealogiczny". Tabela nie zwróci wtedy wyniku, a proces nie będzie wiedział, którą ścieżką iść. Lukę zamyka się regułą ogólną albo ograniczeniem dopuszczalnych wartości wejścia. - Nakładanie się reguł przy polityce U. Dwie reguły pasują do tego samego przypadku. Narzędzia zgłaszają wtedy błąd przy wykonaniu.
- Granice przedziałów. Przy
< 30i[30..100)wartość 30 trafia tylko do drugiej reguły. Sprawdzaj zawsze, do której reguły należą wartości graniczne. - Reguła ukryta w procesie. Bramka z warunkiem „wiek < 30 i cel prywatny” to reguła zapisana w procesie. Lepiej przenieść ją do tabeli.
Wymagania decyzyjne w skrócie
DMN ma też drugą warstwę, czyli diagram wymagań decyzyjnych (Decision Requirements Diagram, DRD). Pokazuje on, z jakich danych wejściowych (owal) korzysta decyzja (prostokąt) i od jakich innych decyzji zależy. W prostych przypadkach DRD ma jedną decyzję i kilka danych wejściowych. W Camunda Modeler zobaczysz go po otwarciu pliku .dmn. Dwuklik na decyzji otwiera jej tabelę.
8.2 Wyzwanie
Polecenie: wzbogać model procesu „Digitalizacja na zamówienie” o punkty kontrolne, zabezpieczenia informacji i tabelę decyzyjną.
Dane wejściowe: model „Digitalizacja na zamówienie” zbudowany na spotkaniu 6 albo nowy model z tabeli kroków w opisie zadania Z2 (dodatek D). Możesz też użyć własnego procesu z wcześniejszych spotkań, jeśli ma co najmniej 12 kroków i jedną decyzję opartą na regułach.
Wymagania:
- co najmniej dwa punkty kontrolne różnego rodzaju, w tym jeden według zasady dwóch par oczu (wykonawca i sprawdzający w różnych liniach);
- każdy punkt kontrolny ma co najmniej dwa wyjścia;
- obiekty danych ze stanami i co najmniej jeden magazyn danych, w którym zostaje ślad ważnej decyzji;
- adnotacja przy danych wrażliwych (np. dane osobowe zamawiającego, prawa autorskie do obiektu);
- zadanie reguły biznesowej, które wywołuje tabelę decyzyjną; tabela ma co najmniej 3 wejścia, 5 reguł i politykę trafień U, bez luk i nakładania się.
Praca: indywidualnie. Na zajęciach (30 minut) dodajesz kontrole i zadanie reguły biznesowej. Przez ostatnie 15 minut układasz tabelę decyzyjną w Camunda Modeler (nowy plik typu DMN diagram z menu File) i sprawdzasz ją z osobą z sąsiedniego stanowiska: ona podaje trzy przypadki, a ty odczytujesz wynik z tabeli.
Rezultat: model .bpmn z punktami kontrolnymi i tabela decyzyjna .dmn. Na ich podstawie kończysz w domu zadanie Z2.
Czas: 45 minut.
Zadanie Z2 (Pegaz, 15%). Oddajesz model analityczny procesu z wyjątkami, punktami kontrolnymi i tabelą decyzyjną oraz analizę procesu na 2–3 strony: bariery, miary sprawności ze spotkania 7, ocenę jakości informacji przy decyzjach i proponowane usprawnienia. Pełne polecenie, pliki do oddania i kryteria oceny znajdziesz w dodatku D.
Na co zwrócić uwagę
- Kontrola musi coś zmieniać w przebiegu. Jeśli po zadaniu „Sprawdzenie skanów” nie ma bramki z dwiema odpowiedziami, nie jest to punkt kontrolny.
- Zasada dwóch par oczu wymaga dwóch różnych linii. Dwa zadania w jednej linii to tylko dwie czynności tej samej osoby.
- Tabela decyzyjna zastępuje gąszcz bramek. Po zadaniu reguły biznesowej zostaw jedną bramkę, która kieruje proces według wyniku tabeli.
- Sprawdź granice przedziałów i wartości tekstowe w cudzysłowie. Podaj tabelę do przetestowania komuś innemu: najszybciej znajdzie luki.
- Reguły ułożone na potrzeby ćwiczenia opisz w adnotacji jako przykładowe. Nie podawaj ich jako obowiązujących przepisów.
8.3 Pytania sprawdzające
- Wymień cztery rodzaje punktów kontrolnych w procesie i podaj przykład każdego z bibliotek albo archiwów.
- Jak na diagramie BPMN rozpoznać, czy zasada dwóch par oczu jest zachowana?
- Jakie trzy cechy bezpieczeństwa informacji opisuje ISO/IEC 27001? Do każdej podaj pytanie, które warto zadać przy obiekcie danych w modelu.
- Dlaczego reguły decyzyjne lepiej zapisać w tabeli DMN niż jako ciąg bramek w procesie?
- Czym różni się polityka trafień U od F? Którą wybierzesz, jeśli tabelę będą utrzymywać różne osoby przez kilka lat, i dlaczego?
- Co oznaczają w FEEL zapisy
[18..65],not("gość")i-? Dlaczegostudentbez cudzysłowu to błąd? - Wskaż w modelu z rysunku 8.1 miejsce, w którym zostaje ślad udostępnienia, i wyjaśnij, po co jest potrzebny.