10 Projekt indywidualny
Po spotkaniu: zaplanujesz własny projekt modelu procesu w tok z analizą symulacyjną · przygotujesz raport w R Markdown, który sam uruchamia tok i liczy wskaźniki · przedstawisz model i wyniki w pięciu minutach · Czas: Nauka 20 min, Wyzwanie 70 min
10.1 Nauka
Czego wymaga projekt
Projekt łączy wszystko, czego nauczyłeś się w kursie. Wybierasz proces informacyjny z prawdziwej instytucji, zapisujesz go w tok, dodajesz decyzje i dane, przygotowujesz symulację dwóch scenariuszy i opisujesz wyniki w raporcie. Pełne polecenie i kryteria oceny są w opisie zadania P w dodatku C. Najważniejsze wymagania w skrócie:
| Część | Minimum |
|---|---|
| model | basen instytucji z co najmniej trzema liniami, basen zewnętrzny, 10–20 elementów, bramka, zdarzenie graniczne albo podproces, dane |
| decyzje | co najmniej jedna tabela decyzyjna wywoływana przez zadanie rule |
| wariant | formularze i eksport wykonywalny dla Camunda 8 albo zmienne procesu w symulacji (variable, assign, when) |
| symulacja | zasoby, czasy, napływ spraw, co najmniej dwa scenariusze różniące się jednym założeniem |
| raport | R Markdown albo Quarto, wyrenderowany do HTML albo PDF |
| prezentacja | 5 minut i 2 minuty na pytania |
Jak wybrać proces
Dobry proces do projektu spełnia trzy warunki.
- Znasz go albo możesz go poznać. Najlepiej z regulaminu, procedury albo rozmowy z pracownikiem. Opis „z wyobraźni” daje model, którego nie da się sprawdzić.
- Ma pytanie, na które odpowie symulacja. Na przykład: czy dyżur dwóch bibliotekarzy wystarczy w sesji, czy archiwum nadąży z kwerendami po digitalizacji inwentarzy, ile trwa obieg pisma, gdy kierownik akceptuje pisma raz dziennie.
- Ma decyzję według reguł. Limity wypożyczeń, tryb udostępnienia, kwalifikacja wniosku, kategoria archiwalna. Taka reguła staje się tabelą decyzyjną.
Przykłady: udostępnianie zbiorów specjalnych w czytelni, obsługa dezyderatów, deponowanie prac w repozytorium, rejestracja i dekretacja korespondencji, kwerendy archiwalne, przyjmowanie darów, digitalizacja na zamówienie, wypożyczenia międzybiblioteczne. Możesz wybrać proces z kursu „Modelowanie procesów informacyjnych”, ale nie przykład z tej książki.
Skąd wziąć parametry symulacji
Parametry to najsłabsze ogniwo każdej symulacji, dlatego każdy z nich uzasadniasz w raporcie jednym zdaniem.
| Źródło | Przykład | Jak zapisać w tok |
|---|---|---|
| rozmowa z pracownikiem | „rejestracja trwa od 5 do 20 minut, zwykle 10” | duration="tri(5m, 10m, 20m)" |
| rejestr albo system | średnio 6 h, odchylenie 3 h (policzone z dat w EZD) | duration="lnorm(6h, 3h)" |
| statystyki roczne | 1500 kwerend rocznie, około 250 dni pracy, czyli 6 dziennie | arrival="exp(80m)" przy pracy ciągłej, z komentarzem o założeniu |
| regulamin | „wnioskodawca ma 14 dni na uzupełnienie” | boundary … timer=P14D |
| szacunek autora | „mniej więcej co piąty wniosek jest niekompletny” | p=0.2 z komentarzem w modelu |
Komentarz w modelu (#) to dobre miejsce na źródło parametru:
# czas wg rozmowy z kierownikiem kancelarii, październik
user rejestracja "Rejestracja wniosku" by=kancelisci duration="tri(5m, 10m, 20m)"
Struktura raportu
Raport ma od 4 do 8 stron i zawiera:
- Cel. Jakie pytanie instytucji zadajesz modelowi (jedno, konkretne).
- Opis procesu. Instytucja, uczestnicy, źródła wiedzy o procesie.
- Model. Diagram wygenerowany z tok, najważniejsze decyzje modelowania i ich uzasadnienie. Cały tekst modelu w załączniku.
- Decyzje i dane. Tabela decyzyjna w czytelnej postaci, zmienne procesu, formularze albo eksport wykonywalny.
- Symulacja. Założenia (tabela parametrów ze źródłami), scenariusze, liczba spraw, ziarno.
- Wyniki. Tabela wskaźników dla scenariuszy, co najmniej jeden wykres, interpretacja.
- Wnioski. Co z wyników wynika dla instytucji. Rekomendacja i warunki, w których byłaby błędna.
- Ograniczenia. Czego model nie obejmuje (np. kalendarzy pracy, różnic kompetencji między pracownikami).
- Praca z agentem. Które części przygotował agent i co w nich zmieniłeś, albo oświadczenie o samodzielnej pracy.
Szablon raportu w R Markdown
Raport może sam uruchamiać tok. Dzięki temu po każdej zmianie modelu wystarczy wyrenderować go ponownie, a diagram, wskaźniki i wykresy zaktualizują się same. Minimalny szablon raport.Rmd, umieszczony w jednym folderze z plikiem proces.tok:
---
title: "Kwerenda archiwalna: model i symulacja"
author: "Imię Nazwisko"
date: "`r Sys.Date()`"
output: html_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE, message = FALSE)
```
## Model procesu
```{r model}
cat(system2("tok", c("check", "proces.tok", "--lang", "pl"), stdout = TRUE), sep = "\n")
system2("tok", c("svg", "proces.tok"), stdout = FALSE)
knitr::include_graphics("proces.svg")
```
## Symulacja
```{r symulacja}
system2("tok", c("sim", "proces.tok", "--seed", "7",
"--log", "log.csv", "--cases-csv", "sprawy.csv"), stdout = FALSE)
sprawy <- read.csv("sprawy.csv", encoding = "UTF-8")
sprawy$czas_h <- sprawy$cycle_time_s / 3600
```
Zasymulowano `r nrow(sprawy)` spraw. Średni czas cyklu wyniósł `r round(mean(sprawy$czas_h), 1)` h,
a 90% spraw zakończyło się w ciągu `r round(quantile(sprawy$czas_h, 0.9), 1)` h.
```{r wykres, fig.cap="Rozkład czasu cyklu"}
hist(sprawy$czas_h, breaks = 30, main = "", xlab = "Czas cyklu (godziny)", ylab = "Liczba spraw")
```
Pobierz szablon raportu (.Rmd)
Dla modelu kwerendy z rozdziału 8 wyrenderowany raport zawiera zdanie: „Zasymulowano 300 spraw. Średni czas cyklu wyniósł 17.5 h, a 90% spraw zakończyło się w ciągu 36.9 h.”
Raport renderujesz w RStudio przyciskiem Knit albo poleceniem rmarkdown::render("raport.Rmd"). Jeśli R nie znajduje polecenia tok (komunikat „‘“tok”’ not found”), zamień w szablonie system2("tok", c(...)) na system2("py", c("-m", "tok", ...)) w Windows albo system2("python3", c("-m", "tok", ...)) w macOS i Linuksie.
Drugi scenariusz dodajesz tak samo: osobny plik .tok, osobne wywołanie tok sim z tym samym ziarnem i wspólna tabela wskaźników. Wzór porównania dwóch scenariuszy jest w skrypcie z rozdziału 8.
Prezentacja
Masz 5 minut na prezentację i 2 minuty na pytania. Sprawdzony układ:
- Instytucja i pytanie (30 s): czyj to proces i co chcesz sprawdzić.
- Model (1,5 min): diagram, prowadzony jedną typową sprawą. Pokaż też fragment tekstu tok, np. tabelę decyzyjną.
- Założenia (1 min): skąd wziąłeś czasy i prawdopodobieństwa.
- Wyniki (1,5 min): tabela scenariuszy i jeden wykres.
- Wniosek (30 s): jedno zdanie rekomendacji i jedno zdanie o ograniczeniach.
Nie czytaj kodu wiersz po wierszu. Mów językiem instytucji: „tu kancelista od razu odrzuca wnioski, których nie da się zrealizować”, a nie „tu jest bramka xor z p równym 0,15”.
10.2 Wyzwanie
Polecenie: zaprezentuj swój projekt i oceń dwa projekty innych osób.
Przebieg: prezentacja 5 minut, pytania 2 minuty. Kolejność ustala prowadzący na początku zajęć. Prezentujesz z własnego laptopa albo z pliku prezentacja.pdf.
Ocena koleżeńska: każda osoba ocenia dwa wylosowane projekty, odpowiadając na trzy pytania:
- Czy po prezentacji wiesz, jakie pytanie instytucji rozstrzyga projekt i jaka jest odpowiedź? (tak / częściowo / nie, z uzasadnieniem w jednym zdaniu)
- Które założenie symulacji wydaje Ci się najmniej pewne i dlaczego?
- Jaki trzeci scenariusz warto byłoby sprawdzić?
Oceny przekazujesz autorom przez Pegaz. Nie wpływają na ocenę projektu, ale autor może je uwzględnić w raporcie przed terminem oddania.
Rezultat: prezentacja i oddanie zadania P.
Czas: 70 minut, a w dużej grupie prezentacje trwają także przez część czasu przeznaczonego na Naukę.
Zadanie P. Projekt indywidualny (50%). Oddajesz archiwum z modelem tok, scenariuszami, eksportem, raportem w R Markdown albo Quarto, danymi z symulacji, rejestrem poleceń dla agenta (jeśli z niego korzystasz) i slajdami. Pełne polecenie i kryteria oceny są w dodatku C.
Na co zwrócić uwagę
- Jedno konkretne pytanie jest lepsze niż pięć ogólnych. „Czy trzeci archiwista skróci czas odpowiedzi poniżej tygodnia?” da się rozstrzygnąć. „Jak usprawnić archiwum?” nie.
- Pokaż na slajdzie liczby z raportu, a nie zrzut ekranu terminala.
- Przygotuj odpowiedź na pytanie „skąd wiesz, że czas wynosi tyle?”. Pada niemal zawsze.
10.3 Pytania sprawdzające
- Jakie trzy warunki powinien spełniać proces wybrany do projektu?
- Skąd można wziąć parametry symulacji? Jak udokumentujesz ich źródło?
- Dlaczego raport powinien sam uruchamiać
tok, zamiast zawierać przepisane liczby? - Co powinien zawierać rozdział raportu o ograniczeniach?
- Jak opisać w raporcie pracę z agentem AI zgodnie z zasadami UJ?