Definicja #
UML (Unified Modeling Language) to standaryzowany język modelowania służący do wizualizacji, projektowania i dokumentowania struktury oraz zachowania systemów informatycznych. Stworzony w latach 90. przez Grady'ego Boocha, Ivara Jacobsona i Jamesa Rumbaugha (tzw. "Trzej Amigos"), jest zarządzany przez OMG (Object Management Group).
UML definiuje 14 rodzajów diagramów podzielonych na dwie kategorie:
- Diagramy strukturalne — opisują statyczną strukturę systemu:
- Diagram klas (Class Diagram) — klasy, atrybuty, metody i relacje między nimi
- Diagram komponentów — fizyczne komponenty systemu
- Diagram wdrożenia — rozmieszczenie systemu na infrastrukturze
- Diagramy behawioralne — opisują dynamiczne zachowanie systemu:
- Diagram sekwencji (Sequence Diagram) — interakcje między obiektami w czasie
- Diagram przypadków użycia (Use Case) — aktorzy i funkcjonalności systemu
- Diagram aktywności — przepływ sterowania i danych
- Diagram stanów — stany obiektu i przejścia między nimi
UML jest powszechnie stosowany w dokumentacji, projektowaniu architektur systemów i komunikacji między architektami, analitykami i developerami.
Zastosowania #
UML stosuje się do:
- Dokumentowania architektury systemów — diagramy klas i komponentów dla nowych projektów
- Projektowania baz danych — diagramy encji i relacji (ERD) jako rozszerzenie UML
- Analizy wymagań — diagramy przypadków użycia do opisu funkcjonalności z perspektywy aktora
- Komunikacji w zespołach — wspólny wizualny język dla architektów, analityków i developerów
- Modelowania procesów biznesowych we współpracy z BPMN
Ścieżka nauki #
UML jest przydatny na każdym etapie kariery w IT — od analityka, przez architekta, po developera.
Zacznij od:
- Diagram klas — klasy, atrybuty, metody, relacje (dziedziczenie, kompozycja, agregacja, asocjacja)
- Diagram sekwencji — interakcje między komponentami w scenariuszach
- Diagram przypadków użycia — aktorzy, przypadki użycia, relacje <
>, < > - Narzędzia: draw.io, Lucidchart, PlantUML (tekst → diagram), Mermaid
Następnie poznaj:
- Diagram aktywności i stanów — modelowanie przepływów i maszyn stanów
- Diagram wdrożenia i komponentów — dla architektów systemowych
- PlantUML jako "diagrams-as-code" w dokumentacji Markdown
- Powiązanie z BPMN — kiedy używać UML, a kiedy BPMN
FAQ #
- Czy UML jest nadal używany?
- Tak, choć mniej formalnie niż w latach 2000. Diagramy klas i sekwencji są powszechne w dokumentacji i dyskusjach architektonicznych. Podejście 'diagrams-as-code' (PlantUML, Mermaid) ożywiło UML w nowoczesnych projektach.
- Jakie narzędzia do tworzenia diagramów UML?
- Popularne: draw.io (darmowe, online), Lucidchart (SaaS), PlantUML (tekst → diagram, open source), Mermaid (Markdown), Enterprise Architect (profesjonalne). W VS Code są wtyczki do PlantUML i Mermaid.
- Czym różni się UML od BPMN?
- UML jest ogólnym językiem modelowania systemów informatycznych (kod, architektura, interakcje). BPMN skupia się na modelowaniu procesów biznesowych (workflow, uczestnicy, zdarzenia). W praktyce oba są używane uzupełniająco.
- Ile zarabia architekt systemów znający UML?
- UML to umiejętność przekrojowa — używana przez analityków BA, architektów i lead developerów. Architekt systemów w Polsce zarabia od 18 000 do 35 000 zł brutto. Sama znajomość UML nie jest wyróżnikiem — liczy się szerszy kontekst projektowania systemów.