Unifikovaný modelovací jazyk UML

Složky UML, elementy a diagramy UML, typy diagramů a jejich použití. 

 

UML je unifikovaný vyjadřovací prostředek pro dokumentaci obsahové části informatických projektů (dokumentace projektu obsahuje ještě projektovou dokumentaci, která popisuje projekt jako takový).

·         UML umožňuje vyjádření dokumentace analýzy, návrhu i implementace.

·         UML byl vyvinut na základě zkušeností s mnoha různými metodikami.

·         UML umožňuje i vyjádření strukturovaného přístupu, ale byl určen zejména pro objektově-orientovaný přístup.

 

UML (Unified Modeling Language) je: „Standard konsorcia OMG (Object Management Group) pro záznam, vizualizaci a dokumentaci artefaktů systémů s převážně softwarovou

charakteristikou“.

 

Je formálně definovaným, standardizovaným modelovacím jazykem pro specifikaci, návrh a dokumentaci softwarových, ale i jiných systému a je nezávislý na konkrétním implementačním jazyku. Používá vizuální styl zápisu a je vhodný pro modelování typických objektově orientovaných softwarových systémů. Pro tuto práci je také důležité, že se dá také dále rozšiřovat.

 

Jedná se o sadu grafických prostředků pro vyjádření objektově orientovaného návrhu pomocí různých typů diagramů. Jeho syntaxe je pevně daná, je tedy pro každého zasvěceného dobře čitelná, a tak se stala ideálním komunikačním  nástrojem v komunitě analytiků, designerů a programátorů, přičemž vybrané modely jsou vhodné i pro komunikaci s budoucími uživateli SW produktů bez speciálního vzdělání.

 

UML není žádná metodika – slouží pouze pro vyjádření artefaktů určitého typu, které metodiky požadují. Jsou metodiky, které UML intensivně využívají (např. UP, RUP), jiné nikoliv.

UML není všespasitelné (U znamená unifikovaný, nikoli univerzální).

 

Tři úrovně využívání UML

·         Jako notaci pro zachycení artefaktů, na kterých se je potřeba domluvit. Lze jej využít jak při přímo (nakreslíme obrázek, abychom si upřesnili imlementaci), tak zpětně (obrázek nám poslouží k pochopení existujícího kódu).

·         Jako dokumentační prostředek, ve kterém dokumentujeme systém, či jeho části.

·         Jako programovací jazyk, ze kterého se skutečná implementace (přesněji asi jen její kostra) generuje.

 

Základní cíle UML podle OMG Unified Modeling Language Specification:

 

 

Složky UML

 

Specifikace UML obsahuje 4 základní části, které popisují:

1.         Elementární prvky - infrastrukturu (zhruba: základní elementy a vztahy)

2.         Diagramy UML - superstrukturu (zhruba: diagramy a jejich význam)

3.         Výměnný formát (jak zápis v UML exportovat a importovat)

4.         Definice jazyka OCL (Object Constraint Language) – jazyk pro popis omezení

 

elementy a diagramy UML

 

1. Elementární prvky – infrastrukturu

 

Obecné elementy UML

 

Obecné vztahy v UML

 

typy diagramů a jejich použití

 

2. Diagramy UML - superstrukturu

·         diagramy případů užití (model jednání) (Use Case Model)

o   UC diagram zobrazuje chování systémů, nebo jeho části z hlediska uživatele.

 

·         stavové diagramy

o   Slouží k popisu dynamiky systému

o   Stavový diagram definuje možné stavy, možné přechody mezi stavy, události, které přechody iniciují, podmínky přechodů a akce, které s přechody souvisí

o   Stavový diagram lze použít pro popis dynamiky objektu (pokud má rozpoznatelné stavy), pro popis metody (pokud známe algoritmus), či pro popis protokolu (včetně protokolu o styku uživatele se systémem)

 

·         scénáře (diagramy sekvencí) - zachycení sledu událostí

 

 

·         diagramy komunikace (spolupráce)

o   Podobně jako scénáře činností dokumentují spolupráci objektů při řešení úlohy

o   Kladou důraz na komunikační aspekt (čas je vyjádřen číslováním)

o   Dokumentují objekty a zprávy, které si posílají při řešení problému

o   Jsou vhodné pro popis spolupráce objektů při návrhu komunikace

 

·         diagramy aktivit (činností)

o   V úvodní studii se používají pro dokumentaci případů použití  (modelování procesů, modelování „workflow“, atd.)

o   Nahrazují do určité míry v UML neexistující diagramy datových toků

o   Slouží jako prostředek pro domluvu mezi zadavatelem a řešitelem

 

·         diagramy komponent

o   Vyjadřují (fyzickou) strukturu komponent systému

o   Popisují typy komponent - instance komponent jsou vyjádřeny v diagramu nasazení

o   Komponenty mohou být vnořeny do jiných komponent

o   Při vyjadřování vztahu mezi komponentami lze používat „interface“

 

·         diagramy nasazení

o   Popisují fyzické rozmístění elementů systému na uzly výpočetního systému

o   Uzly a elementy jsou značeny obdobně jako objekty a třídy (může být uveden pouze typ, nebo konkrétní instance a typ - podtržena)

o   Popisují nutné vazby mezi uzly (případně též použitý protokol - „interface“)

o   Obsahují pouze komponenty potřebné pro běh aplikace - komponenty potřebné pro překlad a sestavení jsou v diagramu komponent

 

 


 

 

diagramy tříd

 

 

 

Vztahy tříd

Popis: agregacePopis: asociaceAsociace: obecný sémantický vztah mezi prvky modelu, který specifikuje spojení mezi jejich instancemi (objekty, které vzniknou z tříd spojených asociací, si budou moci posílat zprávy)

Agregace: forma asociace, jež vyjadřuje vztah celek – část; element může „přežít“ svůj kontejner, příp. stát se součástí jiného kontejneru

Popis: dedicnostPopis: kompoziceKompozice: silnější vazba než agregace - zrušením kontejneru automaticky zrušíme i obsažený element; daný element může být součástí právě jednoho kontejneru

Dědičnost (generalizace): hierarchický vztah tříd, v němž třída - potomek (subclass, specifický typ) dědí atributy a operace třídy - předka (superclass, nadtyp);
kromě zděděných charakteristik může mít potomek ještě své specifické vlastnosti;
zděděné vlastnosti mohou být v potomkovi modifikovány

Popis: zavislostZávislost: vztah mezi dvěma elementy modelu, v němž změna jednoho (nezávislého) elementu ovlivní druhý (závislý) element

Popis: realizaceRealizace: souhrn všech veřejně přístupných metod dané třídy;
umožňuje vícenásobné využití operací, aniž bychom museli zavádět dědičnost mezi třídami

 Násobnost (multiplicita, kardinalita) vztahů

zápis

význam

0..*

*

0 až více

0..1

0 nebo 1

1..*

1 až více

1..1

1

právě 1

1..3

1,2,3

1 až 3

5,10,20

5, 10 nebo 20

5..*

5 až více