UML (Unified Modeling Language)
UML je jednotný jazyk pro tvorbu diagramů. Definuje standardy pro jednotnou strukturu diagramů. Pomocí něj můžeme realizovat nejrůznější schemata napříč procesem vývoje softwaru .
UML jazyk umožňuje specifikaci (struktura a model), vizualizaci (grafy), konstrukci (vygenerování kódu např. z class diagramu) a dokumentaci artefaktů softwarového systému.
Každý z UML diagramů se také používá v jiné fázi vývoje softwaru.
Dělení UML
Postihující různé aspekty systému:
1) Funkční náhled
- Diagram případů užití (Use case)
2) Logický náhled
- Diagram tříd
- Objektový diagram
3) Dynamický náhled popisující chování
- Stavový diagram
- Diagram aktivit
- Interakční diagramy
- Sekvenční diagramy
- Diagramy spolupráce
4) Implementační náhled
- Diagram komponent
- Diagram nasazení
UML diagramy a jejich použití

- Třídní diagram (Class diagram) - diagram struktury tříd poskytuje logický náhled na systém. Znázorňuje datové struktury, operace u objektů a také jejich vazby. Třídní diagram se využívá pro tvorbu ERD a při návrhu implementace.
Typy vazeb v třídním diagramu
|
|
Realizace - implementace rozhraní
|
Generalizace (druhý obr.) - dědičnost - automobil dědí z vehicle
|
- Objektový diagram (Object diagram) zobrazuje instance tříd - objekty, někdy nazýván jako instanční diagram.
Je snímkem objektů a jejich vztahů v systému v určitém časovém okamžiku, který chceme z nějakého důvodu zdůraznit. Využívá se v datové analýze pro ERD.
Objektový diagram -
Diagram případu užití (Use-case diagram) poskytuje funkční náhled systému (kdo se systémem pracuje a jak).
Use-case diagram
Uplatňuje se pro realizaci DFD, ve vývojové fázi specifikace požadavků.
- Stavový diagram (State diagram) zobrazuje životní cyklus objektů a stavy do kterých se během svého života dostávají. Obsahuje 3 základní prvky – stav, událost, přechod. Využívá se při návrhu implementace.
Stavový diagram - Faktura
Stavový diagram - životní cyklus žárovky
- Diagram aktivit - (Activity diagram) grafické znázornění algoritmů. Tento diagram se používá pro modelování procedurální logiky, procesů a zachycení workflow. Každý proces v diagramu aktivit je reprezentován sekvencí jednotlivých kroků, které určují řídící tok. Tento diagram obsahuje i rozhodovací symbol (kosočtverec) s podmínkou, kdy tok procesu pokračuje na základě odpovědi jednou z větví.
Diagram aktivit se využívá pro tvorbu minispecifikací a dalších podrobných analýz a při specifikaci požadavků.
![]() Diagram aktivit |
Diagram aktivit - platba |
- Sekvenční diagram (Sequence diagram) znázorňuje komunikaci mezi objekty v čase.
Používá se ve vývojové fázi specifikace požadavků a návrhu implementace.
Sekvenční diagram - objednávka auta
- Diagram spolupráce (Colaboration diagram) - dynamický pohled na systém znázorňující chování objektů v systému. Diagram spolupráce upřednostňuje při popisu vzájemné komunikace mezi objekty jejich topologii, tedy jejich rozložení a vzájemné spojení. Podobný jako sekvenční ale bez času. Využití v implementační fázi.
Diagram spolupráce - objednávka auta
Časová posloupnost zaslání zpráv je vyjádřena jejich pořadovým číslem. Návratová hodnota je vyjádřena operátorem přířazení :=. Opakované zaslání zprávy je dáno symbolem * a v hranatých závorkách uvedením podmínky opakování cyklu. Navíc tento diagram zavádí i následující typy viditelnosti vzájemně spojených objektů:
<<local>> vyjadřuje situaci, kdy objekt je vytvořen v těle operace a po jejím vykonání je zrušen;
<<global>> specifikuje globálně viditelný objekt;
<<parameter>> vyjadřuje fakt, že objekt je předán druhému jako argument na něj zaslané zprávy;
<<association>> specifikuje trvalou vazbu mezi objekty (někdy se také hovoří o tzv. známostním spojení).
- Diagram komponent - ilustruje organizaci a závislosti mezi softwarovými komponentami. Zdrojové komponenty tvoří soubory vytvořené použitým programovacím jazykem. Diagram spustitelných komponent specifikuje všechny komponenty vytvořené námi i ty, které nám dáva k dispozici implementační prostředí.
Diagram komponent - binární kód
Diagram komponent - runtime prostředí
- Diagram nasazení - upřesněný nejen ve smyslu konfigurace technických prostředků, ale
především z hlediska rozmístění implementovaných softwarových komponent na
jednotlivé technické prostředky reprezentované v počítači.
Diagram nasazení
Zdrojem jsou skripta - Úvod do softwarového inženýrství (Prof. Ing. Ivo Vondrák, CSc.) a wikipedie