--- marp: true theme: default paginate: true size: 16:9 style: | section { font-size: 24px; } section h1 { color: #1a5276; } section h2 { color: #2980b9; } section table { font-size: 20px; } section small { font-size: 18px; } --- # Wykład 9 ## Procesy pracy — pojęcia, koncepcje i zastosowania **Systemy Zarządzania Treścią** Politechnika Poznańska --- # Część 1 ## Definicje i geneza procesów pracy --- ## Co to są "procesy pracy" (PP)? Nie istnieje definicja, która byłaby satysfakcjonująca dla wszystkich — "procesy pracy" integrują wiele pojęć. Jedna z wielu definicji: > **Procesy pracy (workflow)** to **komputerowe wspomaganie pracy zespołów ludzkich** poprzez porządkowanie, organizowanie, automatyzowanie, przekazywanie i śledzenie prac wykonywanych przez te zespoły. ### Dlaczego trudno zdefiniować? - Termin łączy pojęcia **biznesowe** (procesy, role, zadania) z **technicznymi** (narzędzia, języki, interfejsy), - Granice technologii są **rozmyte** — integruje wiele znanych technologii w różnych proporcjach, - Nowa jakość polega m.in. na **automatyzacji uciążliwych prac manualnych**. --- ## Definicje procesów pracy — oprogramowanie Oprogramowanie procesów pracy ma za zadanie **usprawnić procesy biznesu** poprzez automatyzację następujących aspektów: | Aspekt | Opis | |---|---| | **Przekazywanie czynności** | Przekazywanie czynności personelowi zgodnie z określoną sekwencją | | **Dostęp do danych** | Zapewnienie dostępu do danych i dokumentów wymaganych przez czynności | | **Śledzenie** | Śledzenie wszystkich aspektów związanych z wykonaniem procesu | ### Główny cel narzędzi workflow **Wyodrębnienie logiki procesów** wykonywanych w przedsiębiorstwie z wszystkich funkcji realizowanych w ramach aplikacji użytkowych. > Logika procesu (kto, co, kiedy, w jakiej kolejności) zostaje **oddzielona** od logiki aplikacji — dzięki temu jest łatwiejsza do zmiany i utrzymania. --- ## Geneza tematyki procesów pracy Tematyka procesów pracy wyrosła z wielu wcześniejszych technologii: | Źródło | Opis | |---|---| | **Wizualizacja dokumentów** | Dokumenty elektroniczne (obrazy) | | **Automatyzacja biur** | Automatyzacja rutynowych prac biurowych | | **Obieg dokumentów** | Automatyzacja manualnego obiegu "teczek spraw" z "obiegówką" | | **Systemy rejestracji** | Rejestracja i przetwarzanie dokumentów | | **Wzmocniona poczta elektroniczna** | E-mail rozszerzony o reguły przetwarzania | | **Groupware** | Komputerowe wspomaganie pracy grupowej (CSCW) | | **Aplikacje klient-serwer** | Rozproszone, wielosystemowe aplikacje | | **Systemy zarządzania** | Systemy informowania kierownictwa | --- ## Reinżynieria procesów biznesowych (BPR) Głównym katalizatorem tematyki jest **reinżynieria procesów biznesowych** (BPR — *Business Process Reengineering*). > **BPR** to **fundamentalne przemyślenie i radykalne przeprojektowanie** procesów biznesowych dla uzyskania istotnego usprawnienia wg krytycznych miar wydajności, takich jak **koszt, jakość i szybkość**. ### Zasada kolejności Reinżynierię należy wykonać **przed komputeryzacją** przedsiębiorstwa — najpierw przeprojektować proces, potem go zinformatyzować. > Informatyzacja źle zaprojektowanego procesu **utrwala jego wady** — dlatego najpierw BPR, potem system workflow. --- ## Tematy związane z procesem pracy Procesy pracy styka się z wieloma dyscyplinami: ```mermaid mindmap root((Procesy pracy)) Reinżynieria (BPR) Modelowanie procesów Wizualizacja dokumentów Groupware / CSCW Interakcja człowiek-komputer (HCI) Technologie sieciowe (LAN, Internet) Wsparcie logistyczne procesów Analiza, symulacja, monitorowanie Inteligentni/mobilni agenci Teoria zachowań w grupie Implikacje finansowe i socjologiczne ``` > Workflow to dziedzina **interdyscyplinarna** — łączy zarządzanie, informatykę, psychologię i socjologię organizacji. --- # Część 2 ## Koncepcje techniczne procesów pracy --- ## Obieg pracy (routing) **Obieg pracy** to zdefiniowanie z góry kolejności czynności niezbędnych do wykonania danego zadania. ### Cechy - **Z góry zdefiniowana sekwencja** czynności, - **Automatyczne przekazywanie** sterowania i dokumentów do następnej czynności po zakończeniu poprzedniej. ```mermaid flowchart LR A["Czynność 1"] --> B["Czynność 2"] --> C["Czynność 3"] --> D["Czynność 4"] ``` > Obieg pracy to najprostszy model workflow — sekwencyjny przepływ zadań od jednego wykonawcy do kolejnego. --- ## Dynamiczny podział pracy **Dynamiczny podział pracy** polega na przypisaniu prac do wykonania w **elastyczny sposób**. ### Zasady | Zasada | Opis | |---|---| | **Role, nie osoby** | Pracę przypisuje się do ról, a nie do konkretnych osób | | **Dynamiczna zmiana** | Przypisanie osób do ról może zmieniać się dynamicznie | | **Elastyczność** | Np. przypisanie w zależności od obciążenia pracowników | ### Przykład Zamiast przypisać zadanie "Janowi Kowalskiemu", przypisuje się je **roli** "Kierownik działu". Kto aktualnie pełni tę rolę, ten otrzymuje zadanie. > Role oddzielają **definicję procesu** od **konkretnych osób** — proces jest odporny na zmiany kadrowe. --- ## Priorytety i dynamiczna zmiana procesu ### Ustalanie priorytetów prac Jeżeli od wykonania konkretnych prac zależy uruchomienie innych prac, dotrzymanie terminu lub ocena — konieczne jest **bieżące nadawanie priorytetów** dla poszczególnych prac. ### Dynamiczna zmiana procesu Dynamiczna zmiana procesu (procesów) pracy dla uwzględnienia **nieprzewidzianych wcześniej okoliczności** przy ich realizacji. > Procesy pracy nie są sztywne — muszą reagować na zmieniające się warunki biznesowe. --- ## Śledzenie pracy **Śledzenie pracy** to sprawne uzyskiwanie informacji o przebiegu i aktualnym stanie wykonania zadania lub zadań. ### Co śledzimy? | Element | Przykład | |---|---| | **Przestoje** | Gdzie proces "stoi" | | **Opóźnienia** | Które czynności się spóźniają | | **Brak obciążenia** | Którzy pracownicy nie mają pracy | | **Zbyt długie kolejki** | Gdzie tworzą się wąskie gardła | ### Cel Umożliwienie **dynamicznej reakcji** na zakłócenia w przebiegu pracy. --- ## Raporty dla administracji i kierownictwa Rejestracja zdarzeń następujących w czasie wykonania pracy umożliwia sporządzanie zestawień i analiz: | Rodzaj analizy | Przykład | |---|---| | **Ocena efektywności** | Jak wydajnie działa proces | | **Rozliczenia pracy** | Kto ile wykonał | | **Badania statystyczne** | Trendy i prawidłowości | | **Wąskie gardła** | Gdzie proces się zatrzymuje | ### Monitorowanie zadań - ustalanie i rozstrzyganie **nieprawidłowości** (np. zakleszczeń), - stan **zużycia czasu** i innych zasobów, - stan **obciążeń** infrastruktury biurowej i komputerowej, - **prognozy** i wspomaganie planowania zasobów. ### Symulacja procesów Symulacja procesów pracy np. celem **zbadania ich poprawności przed uruchomieniem**. --- ## Aktualne wyzwania systemów PP Systemy zarządzania procesami pracy borykają się z wieloma wyzwaniami: | Wyzwanie | Opis | |---|---| | **Brak spójnej semantyki** | Definicja procesu — subtelne, ale trudne do zidentyfikowania błędy | | **Słaba elastyczność** | Sztuczne rozbudowywanie procesów, duży koszt utrzymania | | **Nieadekwatne modelowanie jakości** | Zbyt "czuły" system powiadomień, chaos informacyjny | | **Kosztowna integracja** | Złożone API, brak bezpośredniego dostępu do bazy, ograniczone transakcje | ### Kluczowe problemy - **Jak przekazywać wiedzę o procesach?** - **Zawiły sposób obsługi sytuacji wyjątkowych.** - **Ograniczone wsparcie dla transakcji** (transakcje workflow trwają dni, nie sekundy). --- ## Problemy badawczo-rozwojowe (1) | Problem | Opis | |---|---| | **Uniwersalny język** | Opracowanie standardowego języka odwzorowania procesów i zależności | | **Środki dla użytkowników** | Sprawne definiowanie, modyfikowanie, symulowanie, śledzenie, sterowanie | | **Współdziałanie** | Dostęp do federacyjnych baz danych, integracja schematów, hurtownie | | **Dostępność i skalowalność** | Aplikacje dla tysięcy użytkowników rozproszonych geograficznie | | **Współbieżność** | Transakcje ACID nie wystarczają — workflow trwa dni, obejmuje wiele miejsc | ### Problem transakcji długotrwałych Tradycyjne pojęcie transakcji (ACID) nie wystarcza, gdyż transakcje w systemach procesów pracy mogą **trwać dni** i obejmować wiele miejsc oddalonych geograficznie. Mogą istnieć transakcje, których **nie da się cofnąć**. --- ## Problemy badawczo-rozwojowe (2) | Problem | Opis | |---|---| | **Obsługa wyjątków** | Przyjąć jako regułę, że proces będzie podlegał zakłóceniom; deklarowanie i obsługa wyjątków | | **Odporność na błędy** | Przy dużej liczbie komponentów awarie są prawdopodobne — system musi być niewrażliwy | | **Wydajność** | Sprawne metody optymalizacji wykonania przebiegów PP | | **Skalowalność** | Niewrażliwość na rozszerzenia bazy, liczby procesów i użytkowników | | **Metodyki projektowania** | Sprawne metody przejścia od wymagań do analizy, projektu i konstrukcji | > Kluczowa obserwacja: **wyjątki są regułą** — dobrze zaprojektowany system workflow zakłada, że procesy będą zakłócane. --- # Część 3 ## Zastosowania i modelowanie --- ## Zastosowanie systemów procesów pracy Systemy workflow obsługują procesy o różnej złożoności: ```mermaid flowchart LR A["Administracyjne PP\n(proste, powtarzalne)"] --> C["Zastosowania"] B["PP ad hoc\n(złożone, dynamiczne)"] --> C ``` ### Administracyjne procesy pracy (proste) Obejmują **powtarzalne, przewidywalne** procesy z prostymi regułami koordynacji: - przesyłanie komunikatów między działami, - obieg i akceptacja zestawienia wydatków, - obsługa i akceptacja delegacji służbowych. ### Procesy pracy ad hoc (złożone) Procesy włączające **elementy bieżącej koordynacji i zarządzania**: - koordynacja działalności osób, - wspólne podejmowanie decyzji, - wytwarzanie treści dla systemu CMS, - dokumentowanie produktu, - przetwarzanie ofert sprzedaży. --- ## Przykłady wymagających procesów pracy ### Analiza i akceptacja wniosku kredytowego w banku Wymaga skoordynowania zadań wykonywanych przez poszczególnych pracowników banku: - przyjęcie wniosku, - analiza ryzyka, - kontrola zabezpieczeń, - planowanie, - sporządzanie i analiza zestawień, raportów, bilansów, statystyk, tendencji. ### Wspomaganie obsługi pacjenta w ośrodku zdrowotnym Wymaga koordynacji zadań: - rejestracja pacjenta, - ustalenie wizyt u lekarzy, - rejestracja wyników badań, - planowanie zabiegów i badań laboratoryjnych, - rozliczenia finansowe, - sporządzanie i analiza zestawień, statystyk. --- ## Przykład: model dynamiczny (UML) Proces "Wniosek o zakup" zamodelowany jako **diagram aktywności UML**: ```mermaid flowchart TD Start([Start]) --> A["Wypełnienie wniosku o zakup"] A --> B["Akceptacja kierownika"] B --> C{"Decyzja?"} C -->|"zaakceptowany"| D{"koszt >= 1000?"} C -->|"odrzucony"| E["Info o odrzuceniu"] C -->|"wątpliwości"| F["Akceptacja prezesa"] D -->|"tak"| F D -->|"nie"| G["Akceptacja działu finansów"] F --> G G --> H{"Decyzja?"} H -->|"zaakceptowany"| I["Zakup"] H -->|"odrzucony"| E E --> End([Koniec]) I --> End ``` ### Role i decyzje | Rola | Czynność | |---|---| | Pracownik | Wypełnienie wniosku | | Kierownik | Akceptacja wstępna | | Prezes | Akceptacja (dla koszt ≥ 1000) | | Dział finansowy | Akceptacja ostateczna | --- ## Przykład: graf procesu (FlowMark, IBM) Ten sam proces przedstawiony jako **graf procesu** w notacji FlowMark: ```mermaid flowchart TD W["Wniosek o zakup"] --> Wp["Wypełnienie wniosku"] Wp --> Ak["Akcept kierownika"] Ak --> D{"Decyzja"} D -->|"zaakcept, koszt < 1000"| AF["Akcept Działu Finans"] D -->|"zaakcept, koszt >= 1000"| AP["Akcept Prezesa"] D -->|"wątpliwości"| AP D -->|"odrzucony"| Od["Info o odrzuceniu"] AP --> AF AF --> D2{"Decyzja"} D2 -->|"zaakcept"| Z["Zakup"] D2 -->|"odrzucony"| Od ``` > Różne notacje (UML, FlowMark, BPMN) modelują ten sam proces — wybór zależy od narzędzia i standardu. --- ## Charakterystyka obecnych systemów PP Współczesne systemy workflow charakteryzują się kilkoma cechami: | Cecha | Opis | |---|---| | **Nacisk na procesy biurowe** | Wizualizacja dokumentów, obieg dokumentów, wzmocniona poczta | | **Graficzne kodowanie** | Wiele produktów oferuje "przyjemne graficzne środki kodowania procesów" | | **Wspomaganie rysowania** | Diagramy, dostęp do bazy, arkusze, symulacja | | **Systemy zarządzania danymi** | Poczta, wizualizacja, bazy, formularze, teksty, kreślenie | ### Powszechne powiązanie w jeden system - zarządzanie dokumentami i ich obrazami, - środki budowy interfejsów graficznych, - wyspecjalizowane narzędzia (np. symulacji). --- # Część 4 ## Architektura i narzędzia systemów PP --- ## Koncepcyjna architektura SPP System procesów pracy składa się z trzech warstw narzędzi: ```mermaid flowchart LR A["📐 Narzędzia do modelowania\nprocesów biznesowych"] --> D["⚙️ System i narzędzia\nrealizacji procesów pracy"] B["🛠️ Narzędzia do rozwoju\naplikacji PP"] --> D C["📊 Narzędzia monitorowania"] --> D ``` ### Warstwy narzędzi | Warstwa | Zawartość | |---|---| | **Modelowanie procesów** | Perspektywa procesów, organizacji, danych; re-inżynieria | | **Rozwój aplikacji PP** | Projektowanie grafiki, warsztat projektanta (testowanie, symulacja) | | **Realizacja procesów** | Planowanie, zarządca zadań, monitorowanie, śledzenie, raportowanie | --- ## Narzędzia dla użytkownika końcowego Użytkownik końcowy (nietechniczny) otrzymuje narzędzia umożliwiające: | Funkcja | Opis | |---|---| | **Graficzna reprezentacja** | Ikony czynności powiązane w sieć odwzorowującą sterowanie i przepływ dokumentów | | **Dynamiczna zmiana grafu** | Możliwość zmiany grafu procesu | | **Definiowanie tabelaryczne** | Logika procesu, priorytety, reguły poprawności — przez nie-programistów | | **Odczyt stanu** | Czytelna tabelaryczna/graficzna forma danych o stanie procesu | | **Symulacja** | Zasymulowanie procesu dla wykrycia wąskich gardeł i błędów | | **Dostęp do aplikacji** | Zintegrowany dostęp do edytorów, arkuszy, baz danych, serwisów Internetu | > Symulacja pozwala **szybko sprawdzić i zmodyfikować** alokację zadań i logikę procesu przed wdrożeniem. --- ## Narzędzia dla programisty Programista otrzymuje narzędzia umożliwiające zaawansowaną implementację: | Funkcja | Opis | |---|---| | **Skryptowy język programowania** | Zapis złożonej logiki z funkcjami dla PP; izolacja od manipulacji grafiką | | **Definicje** | Kolejki, bazy danych, dokumenty, zdarzenia | | **Wyjście do Java/C#/C++** | Wyjście z języka skryptów do kodu (z przekazaniem danych) | | **Powiązania** | Zakodowanie typowych zadań | | **API zewnętrzne** | Dostęp do baz danych, serwisów Internetu, GUI, systemów rozproszonych | | **Debugowanie** | Kontrola składni, śledzenie, wykonanie krok-po-kroku, punkty kontrolne | > Skryptowy język **izoluje programistę** od złożoności manipulowania grafiką i formularzami — upraszcza tworzenie procesów. --- ## Moduły systemu zarządzania procesami pracy (ZPP) ```mermaid flowchart TD A["📋 Moduł definiowania i\ndynamicznych zmian PP"] --> G["🗄️ Repozytorium\ndokumentów i PP"] B["⚙️ Moduł wykonawczy PP"] --> G C["👥 Moduł zarządzania\nzadaniami i wykonawcami"] --> G D["🔍 Moduł śledzenia i\nmonitorowania populacji"] --> G E["🧪 Moduł symulacji i\npredykcji zachowania"] --> G F["🛠️ Moduł administrowania PP"] --> G ``` ### Sześć modułów | Moduł | Rola | |---|---| | **Definiowanie i zmiany** | Tworzenie i modyfikacja definicji procesów | | **Wykonawczy** | Realizacja procesów | | **Zarządzanie zadaniami** | Przypisywanie zadań i wykonawców | | **Śledzenie i monitorowanie** | Nadzór nad populacją procesów | | **Symulacja i predykcja** | Testowanie i prognozowanie | | **Administrowanie** | Zarządzanie systemem | --- ## Modelowanie organizacji Modelowanie organizacji obejmuje definiowanie struktury i ról: ### Zależności służbowe i jednostki organizacyjne | Aspekt | Opis | |---|---| | **Statyczne role** | Role z góry przypisane do osób | | **Dynamiczne role** | Kierownik przypisuje rolę do osoby; przypisanie automatyczne wg kryterium (np. obciążenia) | | **Planowanie** | Przyporządkowanie zadań/aktywności do ról i/lub osób | ### Planowanie - **Planowanie operacyjne**: zmiana przydziałów zadań, oddelegowanie, czasowe zmiany w rolach, - **Planowanie zasobów**: budżet, czas, pracochłonność, infrastruktura. ### Zasoby - **Zużyte** (rozkład w czasie, w przekroju zadań), - **Planowane** (rozkład w czasie, w przekroju zadań), - **Niewykorzystane** (poprawa procesów celem ich wykorzystania). --- ## Procesy pracy i zadania wykonawców Każdy wykonawca otrzymuje **listę zadań** — interfejs, przez który wykonuje przypisane mu czynności: ```mermaid flowchart LR subgraph "Procesy" PP1["PP1"] PP2["PP2"] PP3["PP3"] PP4["PP4"] PP5["PP5"] end PP1 --> W1["Wykonawca 1\nLista zadań 1"] PP2 --> W1 PP3 --> W2["Wykonawca 2\nLista zadań 2"] PP4 --> W2 PP5 --> W3["Wykonawca 3\nLista zadań 3"] ``` ### Zasada - Jeden proces może angażować **wielu wykonawców**, - Jeden wykonawca może obsługiwać **wiele procesów**, - Lista zadań jest **podstawowym interfejsem** wykonania procesu. --- ## Śledzenie i monitorowanie procesów pracy Różni interesariusze zadają różne pytania o stan procesów: ```mermaid flowchart TD subgraph "Pytania" K1["Kierownik: W jakim stanie jest PP2?"] A["Administrator: Które procesy uległy zakleszczeniu?"] AN["Analityk: Jaki procent budżetu zużyto?"] K2["Kierownik: Który proces przetwarza dokument D459?"] end P["🔍 Monitorowanie populacji procesów"] K1 --> P A --> P AN --> P K2 --> P ``` ### Role monitorowania | Rola | Pytanie | |---|---| | **Kierownik** | Stan konkretnego procesu | | **Administrator** | Zakleszczenia, błędy | | **Analityk** | Zużycie budżetu, efektywność | --- ## Podsumowanie | Temat | Kluczowe wnioski | |---|---| | **Procesy pracy** | Komputerowe wspomaganie pracy zespołów: porządkowanie, automatyzacja, śledzenie | | **Cel narzędzi** | Wyodrębnienie logiki procesów z logiki aplikacji | | **BPR** | Najpierw przeprojektowanie procesu, potem komputeryzacja | | **Koncepcje** | Obieg pracy, dynamiczny podział (role), priorytety, śledzenie, raporty | | **Wyzwania** | Semantyka, elastyczność, transakcje długotrwałe, wyjątki | | **Zastosowania** | Administracyjne (proste) i ad hoc (złożone) | | **Architektura** | Modelowanie + rozwój + realizacja + monitorowanie | | **Organizacja** | Role statyczne/dynamiczne, listy zadań, planowanie zasobów | --- # Dziękuję za uwagę **Systemy Zarządzania Treścią** Politechnika Poznańska