mirror of
https://github.com/kuhyx/praca_magisterska.git
synced 2026-07-04 13:43:05 +02:00
576 lines
27 KiB
Markdown
576 lines
27 KiB
Markdown
# Pytanie 11: Standardy i narzędzia do modelowania procesów biznesowych
|
||
|
||
## Pytanie
|
||
**"Scharakteryzować standardy i narzędzia do modelowania procesów biznesowych."**
|
||
|
||
Przedmiot: WSYZ (Wstęp do Systemów Zarządzania)
|
||
|
||
---
|
||
|
||
## 📚 Odpowiedź główna
|
||
|
||
### Wprowadzenie
|
||
|
||
**Modelowanie procesów biznesowych** to graficzne przedstawienie przepływu pracy, działań i decyzji w organizacji. Służy do:
|
||
- Dokumentowania procesów
|
||
- Analizy i optymalizacji
|
||
- Automatyzacji (workflow, BPM)
|
||
- Komunikacji między działami
|
||
|
||
---
|
||
|
||
## 1. Główne standardy modelowania
|
||
|
||
### Przegląd standardów
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ STANDARDY MODELOWANIA PROCESÓW │
|
||
├─────────────────┬─────────────────┬─────────────────────────────┤
|
||
│ BPMN │ UML │ EPC │
|
||
│ Business │ Activity │ Event-driven │
|
||
│ Process Model │ Diagrams │ Process Chain │
|
||
│ and Notation │ │ │
|
||
├─────────────────┼─────────────────┼─────────────────────────────┤
|
||
│ IDEF0 │ Flowcharts │ Value Stream Map │
|
||
│ Function │ (Schematy │ (Lean Manufacturing) │
|
||
│ Modeling │ blokowe) │ │
|
||
└─────────────────┴─────────────────┴─────────────────────────────┘
|
||
```
|
||
|
||
---
|
||
|
||
## 2. BPMN (Business Process Model and Notation)
|
||
|
||
### Charakterystyka
|
||
|
||
- **Standard:** OMG (Object Management Group)
|
||
- **Wersja aktualna:** BPMN 2.0 (2011)
|
||
- **Cel:** Uniwersalny język dla analityków, architektów i programistów
|
||
- **Format:** Graficzny + XML (dla automatyzacji)
|
||
|
||
### Podstawowe elementy BPMN
|
||
|
||
#### Flow Objects (Obiekty przepływu)
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ ZDARZENIA (Events) │
|
||
│ │
|
||
│ ○ Zdarzenie startowe (Start Event) │
|
||
│ │
|
||
│ ◎ Zdarzenie pośrednie (Intermediate Event) │
|
||
│ │
|
||
│ ◉ Zdarzenie końcowe (End Event) │
|
||
│ │
|
||
│ Modyfikatory: Timer ⏱, Message ✉, Error ⚡, Signal 📶 │
|
||
└─────────────────────────────────────────────────────────────────┘
|
||
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ CZYNNOŚCI (Activities) │
|
||
│ │
|
||
│ ┌─────────┐ │
|
||
│ │ │ Zadanie (Task) - atomowa czynność │
|
||
│ └─────────┘ │
|
||
│ │
|
||
│ ┌─────────┐ │
|
||
│ │ [+] │ Podproces (Sub-Process) - zagnieżdżony │
|
||
│ └─────────┘ │
|
||
│ │
|
||
│ Typy zadań: User, Service, Script, Manual, Send, Receive │
|
||
└─────────────────────────────────────────────────────────────────┘
|
||
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ BRAMKI (Gateways) │
|
||
│ │
|
||
│ ◇ Exclusive (XOR) - jeden z wielu ścieżek │
|
||
│ │
|
||
│ ◆ Parallel (AND) - wszystkie ścieżki równolegle │
|
||
│ │
|
||
│ ○◇ Inclusive (OR) - jedna lub więcej ścieżek │
|
||
│ │
|
||
│ ⊕ Event-based - wybór na podstawie zdarzenia │
|
||
└─────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
#### Connecting Objects (Łączniki)
|
||
|
||
| Symbol | Nazwa | Użycie |
|
||
|--------|-------|--------|
|
||
| ────→ | Sequence Flow | Kolejność czynności |
|
||
| - - -→ | Message Flow | Komunikacja między uczestnikami |
|
||
| · · ·→ | Association | Powiązanie z artefaktem |
|
||
|
||
#### Swimlanes (Tory)
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ Pool: Firma XYZ │
|
||
├─────────────────────────────────────────────────────────────────┤
|
||
│ Lane: Dział Sprzedaży │
|
||
│ ○────→[Przyjmij zamówienie]────→◇────→[Potwierdź] │
|
||
├─────────────────────────────────────────────────────────────────┤
|
||
│ Lane: Magazyn │
|
||
│ └──→[Skompletuj]────→◉ │
|
||
└─────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
#### Artefakty
|
||
|
||
| Symbol | Nazwa | Użycie |
|
||
|--------|-------|--------|
|
||
| 📄 | Data Object | Dane wejściowe/wyjściowe |
|
||
| 📁 | Data Store | Baza danych, repozytorium |
|
||
| 📝 | Annotation | Komentarz |
|
||
| [ ] | Group | Grupowanie elementów |
|
||
|
||
### Przykład procesu BPMN
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ Proces: Obsługa reklamacji │
|
||
│ │
|
||
│ ○────→[Przyjmij ]────→◇────→[Weryfikuj ]────→◇ │
|
||
│ [reklamację ] │ [produkt ] │ │
|
||
│ │ │ │
|
||
│ [Brak danych] [OK] │[NOK] │
|
||
│ │ │ │ │
|
||
│ ↓ │ ↓ │
|
||
│ [Poproś o ] │ [Odrzuć ]│
|
||
│ [uzupełnienie] │ [reklamację]│
|
||
│ │ │ │ │
|
||
│ └─────────────────→◆←────┘ │
|
||
│ │ │
|
||
│ ↓ │
|
||
│ [Wyślij ] │
|
||
│ [odpowiedź ] │
|
||
│ │ │
|
||
│ ↓ │
|
||
│ ◉ │
|
||
└─────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
---
|
||
|
||
## 3. UML Activity Diagrams
|
||
|
||
### Charakterystyka
|
||
|
||
- **Standard:** OMG (część UML 2.x)
|
||
- **Cel:** Modelowanie przepływu sterowania i danych
|
||
- **Pochodzenie:** Rozszerzenie flowcharts + Petri nets
|
||
|
||
### Elementy Activity Diagrams
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ WĘZŁY AKCJI │
|
||
│ │
|
||
│ ╭─────────╮ │
|
||
│ │ Akcja │ Action Node - pojedyncza czynność │
|
||
│ ╰─────────╯ │
|
||
│ │
|
||
│ ╭──[warunek]──╮ │
|
||
│ │ Akcja │ z Guard - akcja warunkowa │
|
||
│ ╰─────────────╯ │
|
||
└─────────────────────────────────────────────────────────────────┘
|
||
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ WĘZŁY STERUJĄCE │
|
||
│ │
|
||
│ ● Initial Node (początek) │
|
||
│ ◉ Activity Final (koniec całości) │
|
||
│ ⊗ Flow Final (koniec przepływu) │
|
||
│ │
|
||
│ ◇ Decision/Merge Node │
|
||
│ ▬ Fork/Join Node (równoległość) │
|
||
└─────────────────────────────────────────────────────────────────┘
|
||
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ PRZEPŁYW OBIEKTÓW │
|
||
│ │
|
||
│ [Zamówienie] Object Node │
|
||
│ │
|
||
│ ▭▭▭▭▭▭▭▭▭▭ Datastore │
|
||
└─────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### Porównanie BPMN vs UML Activity
|
||
|
||
| Cecha | BPMN | UML Activity |
|
||
|-------|------|--------------|
|
||
| **Cel** | Procesy biznesowe | Logika oprogramowania |
|
||
| **Odbiorcy** | Analitycy, biznes | Programiści, architekci |
|
||
| **Swimlanes** | Pool/Lane | Partition |
|
||
| **Zdarzenia** | Bogate (timer, message...) | Ograniczone |
|
||
| **Automatyzacja** | BPEL, silniki BPM | Generowanie kodu |
|
||
|
||
---
|
||
|
||
## 4. EPC (Event-driven Process Chain)
|
||
|
||
### Charakterystyka
|
||
|
||
- **Pochodzenie:** ARIS (Architecture of Integrated Information Systems)
|
||
- **Twórca:** Prof. August-Wilhelm Scheer (1992)
|
||
- **Zastosowanie:** SAP, modelowanie procesów ERP
|
||
|
||
### Elementy EPC
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ │
|
||
│ ⬡ Zdarzenie (Event) - pasywne, opisuje stan │
|
||
│ np. "Zamówienie otrzymane" │
|
||
│ │
|
||
│ ▭ Funkcja (Function) - aktywna, opisuje działanie │
|
||
│ np. "Sprawdź dostępność" │
|
||
│ │
|
||
│ ∧ AND - wszystkie ścieżki │
|
||
│ ∨ OR - jedna lub więcej │
|
||
│ XOR XOR - dokładnie jedna │
|
||
│ │
|
||
│ ○ Organizational Unit │
|
||
│ □ Information Object │
|
||
│ ◇ IT System │
|
||
└─────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### Reguły EPC
|
||
|
||
1. **Start i koniec:** Zdarzenie
|
||
2. **Naprzemienność:** Zdarzenie → Funkcja → Zdarzenie
|
||
3. **Łączniki:** Między zdarzeniami a funkcjami
|
||
|
||
```
|
||
EPC: Proces zamówienia
|
||
|
||
⬡ Zamówienie otrzymane
|
||
│
|
||
↓
|
||
▭ Sprawdź dostępność
|
||
│
|
||
↓
|
||
XOR
|
||
/ \
|
||
↓ ↓
|
||
⬡ Produkt ⬡ Produkt
|
||
dostępny niedostępny
|
||
│ │
|
||
↓ ↓
|
||
▭ Przygotuj ▭ Złóż
|
||
wysyłkę zamówienie
|
||
│ u dostawcy
|
||
↓ │
|
||
⬡ Wysyłka ↓
|
||
gotowa ⬡ Zamówienie
|
||
złożone
|
||
```
|
||
|
||
---
|
||
|
||
## 5. IDEF (Integration DEFinition)
|
||
|
||
### Rodzina IDEF
|
||
|
||
| Standard | Nazwa | Zastosowanie |
|
||
|----------|-------|--------------|
|
||
| **IDEF0** | Function Modeling | Hierarchia funkcji |
|
||
| **IDEF1** | Information Modeling | Struktura danych |
|
||
| **IDEF1X** | Data Modeling | Bazy danych (ERD) |
|
||
| **IDEF3** | Process Description | Przepływ procesów |
|
||
| **IDEF4** | Object-Oriented Design | Projektowanie OO |
|
||
| **IDEF5** | Ontology Description | Ontologie |
|
||
|
||
### IDEF0 - Modelowanie funkcji
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ KONTROLA (C) │
|
||
│ │ │
|
||
│ ↓ │
|
||
│ WEJŚCIE (I) ────→ ┌───────────┐ ────→ WYJŚCIE (O) │
|
||
│ │ FUNKCJA │ │
|
||
│ └───────────┘ │
|
||
│ ↑ │
|
||
│ │ │
|
||
│ MECHANIZM (M) │
|
||
│ │
|
||
│ I = Input (co jest przetwarzane) │
|
||
│ C = Control (reguły, ograniczenia) │
|
||
│ O = Output (rezultat) │
|
||
│ M = Mechanism (kto/co wykonuje) │
|
||
└─────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### Dekompozycja IDEF0
|
||
|
||
```
|
||
Poziom 0: A0 - Całość procesu
|
||
│
|
||
├── A1 - Podfunkcja 1
|
||
│ ├── A11
|
||
│ ├── A12
|
||
│ └── A13
|
||
│
|
||
├── A2 - Podfunkcja 2
|
||
│
|
||
└── A3 - Podfunkcja 3
|
||
```
|
||
|
||
---
|
||
|
||
## 6. Inne notacje i podejścia
|
||
|
||
### Flowcharts (Schematy blokowe)
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ Symbole: │
|
||
│ │
|
||
│ ⬭ Terminal (Start/End) │
|
||
│ ▭ Process (Operacja) │
|
||
│ ◇ Decision (Decyzja) │
|
||
│ ▱ I/O (Wejście/Wyjście) │
|
||
│ ─→ Flow (Przepływ) │
|
||
└─────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
**Zalety:** Proste, uniwersalne, znane
|
||
**Wady:** Brak standaryzacji, niewystarczające dla złożonych procesów
|
||
|
||
### Value Stream Map (VSM)
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ Lean Manufacturing │
|
||
│ │
|
||
│ Supplier ──→ [Magazyn] ──→ [Produkcja] ──→ [QC] ──→ Customer │
|
||
│ Inv: 5d PT: 2h PT: 30min │
|
||
│ CT: 45s │
|
||
│ │
|
||
│ PT = Processing Time (czas przetwarzania) │
|
||
│ CT = Cycle Time (czas cyklu) │
|
||
│ Inv = Inventory (zapas) │
|
||
│ │
|
||
│ Cel: Identyfikacja MUDA (marnotrawstwo) │
|
||
└─────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### Petri Nets (Sieci Petriego)
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ Formalizm matematyczny dla współbieżności │
|
||
│ │
|
||
│ ○ Place (Miejsce) - stan │
|
||
│ ▭ Transition (Przejście) - akcja │
|
||
│ ● Token (Żeton) - znacznik │
|
||
│ │
|
||
│ ●○────→▭────→○ │
|
||
│ │
|
||
│ Zastosowanie: Analiza deadlocków, weryfikacja formalna │
|
||
└─────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
---
|
||
|
||
## 7. Narzędzia do modelowania
|
||
|
||
### Przegląd narzędzi
|
||
|
||
| Narzędzie | Standardy | Typ | Cena |
|
||
|-----------|-----------|-----|------|
|
||
| **Bizagi Modeler** | BPMN | Dedykowane | Free/Paid |
|
||
| **Camunda Modeler** | BPMN, DMN | Open Source | Free |
|
||
| **Signavio** | BPMN, EPC | Cloud | Paid |
|
||
| **ARIS** | EPC, BPMN | Enterprise | Paid |
|
||
| **Enterprise Architect** | UML, BPMN | Uniwersalne | Paid |
|
||
| **Lucidchart** | Wszystkie | Cloud | Free/Paid |
|
||
| **draw.io** | Wszystkie | Free | Free |
|
||
| **Visio** | Flowcharts, BPMN | Desktop | Paid |
|
||
| **ProcessMaker** | BPMN | BPM Suite | Paid |
|
||
| **Bonita** | BPMN | Open Source | Free/Paid |
|
||
|
||
### Funkcjonalności narzędzi
|
||
|
||
| Funkcja | Podstawowe | Zaawansowane |
|
||
|---------|------------|--------------|
|
||
| Modelowanie graficzne | ✓ | ✓ |
|
||
| Walidacja modelu | ✗ | ✓ |
|
||
| Symulacja | ✗ | ✓ |
|
||
| Wykonywanie (engine) | ✗ | ✓ |
|
||
| Eksport (XML, PDF) | ✓ | ✓ |
|
||
| Współpraca | ✗/Cloud | ✓ |
|
||
| Integracja z IT | ✗ | ✓ |
|
||
|
||
---
|
||
|
||
## 📊 Porównanie standardów
|
||
|
||
| Cecha | BPMN | UML Activity | EPC | IDEF0 |
|
||
|-------|------|--------------|-----|-------|
|
||
| **Cel główny** | Procesy biznesowe | Logika systemu | Procesy ERP | Funkcje |
|
||
| **Złożoność** | Średnia-wysoka | Średnia | Średnia | Niska |
|
||
| **Automatyzacja** | Tak (BPEL) | Częściowo | Tak (SAP) | Nie |
|
||
| **Popularność** | Bardzo wysoka | Wysoka | Średnia (SAP) | Niska |
|
||
| **Krzywa uczenia** | Stroma | Średnia | Płaska | Płaska |
|
||
| **Standaryzacja** | OMG (ISO) | OMG | ARIS | NIST |
|
||
|
||
---
|
||
|
||
## 🧠 Mnemoniki
|
||
|
||
### "BPMN = Business Process Modeling Notation":
|
||
- **B**iznesowe procesy
|
||
- **P**ule i tory (swimlanes)
|
||
- **M**odele graficzne + XML
|
||
- **N**otacja standardowa (OMG)
|
||
|
||
### "EPC = Event → Process → Control":
|
||
- **E**vent startuje i kończy
|
||
- **P**roces (funkcja) działa
|
||
- **C**ontrol przez XOR/AND/OR
|
||
|
||
### "ICOM" dla IDEF0:
|
||
- **I**nput - co wchodzi
|
||
- **C**ontrol - co kontroluje
|
||
- **O**utput - co wychodzi
|
||
- **M**echanism - kto/co wykonuje
|
||
|
||
### "Bramki BPMN - X AND OR":
|
||
- **X** (XOR) - wyłącznie jedna ścieżka
|
||
- **AND** (+) - wszystkie ścieżki
|
||
- **OR** (○) - jedna lub więcej
|
||
|
||
---
|
||
|
||
## ❓ Możliwe pytania dodatkowe (follow-up)
|
||
|
||
### Q1: "Jakie są poziomy dojrzałości modelowania procesów?"
|
||
|
||
**Odpowiedź:**
|
||
|
||
**CMMI-like dla BPM:**
|
||
|
||
| Poziom | Nazwa | Charakterystyka |
|
||
|--------|-------|-----------------|
|
||
| 1 | **Initial** | Ad-hoc, brak dokumentacji |
|
||
| 2 | **Repeatable** | Podstawowa dokumentacja |
|
||
| 3 | **Defined** | Procesy zdefiniowane, BPMN |
|
||
| 4 | **Managed** | Mierzone KPI, optymalizacja |
|
||
| 5 | **Optimizing** | Ciągłe doskonalenie, automatyzacja |
|
||
|
||
---
|
||
|
||
### Q2: "Co to jest BPEL i jak się ma do BPMN?"
|
||
|
||
**Odpowiedź:**
|
||
|
||
**BPEL (Business Process Execution Language)** = język XML do wykonywania procesów przez silniki workflow.
|
||
|
||
```
|
||
BPMN (graficzny) → eksport → BPEL (XML) → silnik BPM → wykonanie
|
||
```
|
||
|
||
| Cecha | BPMN | BPEL |
|
||
|-------|------|------|
|
||
| Format | Graficzny | XML |
|
||
| Cel | Modelowanie | Wykonanie |
|
||
| Odbiorcy | Analitycy | Systemy IT |
|
||
| Czytelność | Wysoka | Niska |
|
||
|
||
---
|
||
|
||
### Q3: "Jakie metryki procesów można monitorować?"
|
||
|
||
**Odpowiedź:**
|
||
|
||
**KPI procesów biznesowych:**
|
||
|
||
| Metryka | Opis | Przykład |
|
||
|---------|------|----------|
|
||
| **Cycle Time** | Czas od początku do końca | 5 dni na zamówienie |
|
||
| **Throughput** | Liczba zakończonych instancji | 100 zamówień/dzień |
|
||
| **Cost per Transaction** | Koszt pojedynczej instancji | 50 PLN/zamówienie |
|
||
| **Error Rate** | Procent błędów/odrzuceń | 2% reklamacji |
|
||
| **SLA Compliance** | Zgodność z umową | 95% w terminie |
|
||
| **Resource Utilization** | Wykorzystanie zasobów | 80% czasu pracy |
|
||
|
||
---
|
||
|
||
### Q4: "Czym różni się proces od procedury?"
|
||
|
||
**Odpowiedź:**
|
||
|
||
| Aspekt | Proces | Procedura |
|
||
|--------|--------|-----------|
|
||
| **Definicja** | CO robimy (flow) | JAK robimy (instrukcja) |
|
||
| **Zakres** | End-to-end | Pojedyncza czynność |
|
||
| **Format** | Diagram (BPMN) | Tekst, checklist |
|
||
| **Cel** | Optymalizacja, automatyzacja | Standaryzacja, jakość |
|
||
| **Przykład** | Proces reklamacji | Procedura weryfikacji produktu |
|
||
|
||
---
|
||
|
||
### Q5: "Co to jest DMN i jak współpracuje z BPMN?"
|
||
|
||
**Odpowiedź:**
|
||
|
||
**DMN (Decision Model and Notation)** = standard OMG do modelowania decyzji.
|
||
|
||
```
|
||
BPMN: [Oceń ryzyko kredytowe] ←── połączenie ──→ DMN: Tabela decyzyjna
|
||
┌─────────────┐
|
||
│Dochód │Wynik│
|
||
│>10k │ OK │
|
||
│<10k │ NOK │
|
||
└─────────────┘
|
||
```
|
||
|
||
**Zalety:**
|
||
- Oddzielenie logiki decyzji od przepływu
|
||
- Łatwiejsze utrzymanie reguł biznesowych
|
||
- Zrozumiałe dla biznesu (tabele decyzyjne)
|
||
|
||
---
|
||
|
||
### Q6: "Jakie są zasady poprawnego modelowania BPMN?"
|
||
|
||
**Odpowiedź:**
|
||
|
||
**Dobre praktyki:**
|
||
|
||
1. **Jeden start, jeden koniec** (per proces)
|
||
2. **Nazwy = czasownik + rzeczownik** ("Sprawdź zamówienie")
|
||
3. **Bramki w parach** (split → merge)
|
||
4. **Unikaj krzyżowania linii**
|
||
5. **Swimlanes = role, nie osoby**
|
||
6. **Poziom szczegółowości = cel modelu**
|
||
7. **Happy path główny, wyjątki osobno**
|
||
|
||
**Błędy częste:**
|
||
- Brak bramki po decyzji
|
||
- Mieszanie XOR i AND bez merge
|
||
- Zbyt szczegółowe lub zbyt ogólne
|
||
|
||
---
|
||
|
||
## 🎯 Kluczowe punkty do zapamiętania
|
||
|
||
1. **BPMN** = standard przemysłowy, OMG, automatyzacja
|
||
2. **UML Activity** = dla programistów, część UML
|
||
3. **EPC** = SAP, zdarzenia-funkcje-łączniki
|
||
4. **IDEF0** = hierarchia funkcji, ICOM
|
||
5. **Narzędzia:** Bizagi, Camunda, draw.io, Visio
|
||
6. **Cel:** Dokumentacja → Analiza → Optymalizacja → Automatyzacja
|
||
|
||
---
|
||
|
||
## 📖 Źródła do pogłębienia
|
||
|
||
1. OMG - "Business Process Model and Notation (BPMN) 2.0"
|
||
2. Weske, M. - "Business Process Management"
|
||
3. Dumas, M. et al. - "Fundamentals of Business Process Management"
|
||
4. Scheer, A.-W. - "ARIS - Business Process Modeling"
|