UML (Unified Modeling Language)
Definicja
UML (Unified Modeling Language) to ustandaryzowany język modelowania graficznego o ogólnym przeznaczeniu. W przeciwieństwie do BPMN, który skupia się na procesach biznesowych, UML dostarcza bogaty zestaw narzędzi do opisu struktury systemu, jego zachowań oraz interakcji między komponentami. Jest to podstawowy język pracy analityka systemowego i architekta oprogramowania.
Rodzaje diagramów UML
Specyfikacja UML 2.5 obejmuje 14 rodzajów diagramów, podzielonych na dwie główne grupy:
1. Diagramy Strukturalne
Opisują statyczne aspekty systemu (co w nim jest):
- Diagram Klas (Class Diagram): Najważniejszy w UML; pokazuje klasy, ich atrybuty, metody oraz relacje (dziedziczenie, asocjacje).
- Diagram Komponentów: Przedstawia fizyczną strukturę kodu i modułów.
- Diagram Wdrożenia (Deployment Diagram): Opisuje architekturę sprzętową i rozmieszczenie artefaktów.
2. Diagramy Behawioralne
Opisują dynamiczne aspekty systemu (jak się zachowuje):
- Diagram Przypadków Użycia (Use Case Diagram): Pokazuje interakcje między aktorami a systemem. Idealny do wysokopoziomowej analizy wymagań.
- Diagram Sekwencji (Sequence Diagram): Przedstawia przepływ komunikatów między obiektami w czasie. Niezbędny przy projektowaniu API i mikrousług.
- Diagram Maszyny Stanów (State Machine Diagram): Opisuje cykl życia obiektu (np. statusy zamówienia: Nowe -> Opłacone -> Wysłane).
UML w projektach zwinnych (Agile)
Choć UML wywodzi się z czasów dominacji metodyk kaskadowych, wciąż znajduje zastosowanie w Agile, o ile jest stosowany selektywnie:
- Szkicowanie (UML as Sketch): Deweloperzy rysują szybkie diagramy na tablicy, aby omówić logikę zadania przed implementacją.
- Uściślanie wymagań: Diagram sekwencji może służyć jako uzupełnienie Acceptance Criteria dla bardzo złożonych procesów integracyjnych.
- Dokumentacja techniczna: Wybrane diagramy (np. klas lub stanów) są utrzymywane w Wiki projektu jako “żywa dokumentacja” kluczowych modułów.
UML a BPMN – kiedy co wybrać?
| Cecha | BPMN | UML |
|---|---|---|
| Główny cel | Modelowanie procesów biznesowych. | Modelowanie architektury systemowej. |
| Główny odbiorca | Biznes, analityk biznesowy. | Deweloper, analityk systemowy, architekt. |
| Skupienie | Na przepływie pracy (Workflow). | Na strukturze obiektów i ich interakcji. |
Typowe błędy
- ❌ Przeładowanie detalami – Próba narysowania każdej pojedynczej klasy w systemie (diagram staje się nieczytelny).
- ❌ Traktowanie UML jako schematu blokowego – Częste mylenie diagramów aktywności z prostymi flowchartami, ignorowanie semantyki notacji.
- ❌ Brak aktualizacji – Rysowanie diagramów na początku projektu i nieaktualizowanie ich przy zmianach w kodzie (prowadzi do dezinformacji).
Podsumowanie
UML pozostaje najpotężniejszym językiem wizualnym w inżynierii oprogramowania. Dla analityka systemowego biegłość w tworzeniu przejrzystych diagramów klas czy sekwencji jest kluczowa dla skutecznego przekładania wymagań biznesowych na konkretną architekturę techniczną.
Powiązane pojęcia:
Kliknij w pojęcie, aby przejść do jego definicji w słowniku
Inne pojęcia ze słownika
Agile at Scale
Podejście pozwalające na stosowanie metodologii Agile w dużych organizacjach, angażujących setki lub tysiące pracowników, przy zachowaniu spójności celów i wysokiej jakości dostarczanych produktów.
Czytaj więcej →Programowanie Obiektowe (OOP)
Paradygmat programowania oparty na koncepcji 'obiektów', które łączą dane (pola) oraz działania (metody). Pozwala na tworzenie modularnego, łatwego w utrzymaniu i skalowalnego kodu.
Czytaj więcej →Persona
Fikcyjna, ale oparta na badaniach postać reprezentująca konkretną grupę docelową użytkowników, stworzona w celu lepszego zrozumienia ich potrzeb, celów i zachowań.
Czytaj więcej →
Latarnia Analizy