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

Agregace - vztah vyjdařující katedra má profesory, zánik department neznamená zánik professor
 

Kompozice - nejsilnější asociace, existence odkazovaného objektu (department) bez majitele (faculty) nemá smysl a zaniká i s ním

Realizace - implementace rozhraní

 

Asociace - vztah mezi instancemi - posílají si zprávy

Generalizace (druhý obr.) - dědičnost - automobil dědí z vehicle

 

Závislost - třída animal používá třídu food (je na ni závislá)

Zdroj Miloš Němec

 

  • 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
     


  • Use-case diagram
    Diagram případu užití (Use-case diagram) poskytuje funkční náhled systému (kdo se systémem pracuje a jak).
    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 - 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