Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
— | pitel:isz:jazyk_uml [30. 12. 2022, 13.43:01] (aktuální) – vytvořeno - upraveno mimo DokuWiki 127.0.0.1 | ||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
+ | ====== Jazyk UML ====== | ||
+ | [[wp> | ||
+ | |||
+ | Jazyk UML je jednotný grafický jazyk pro modelování. Umožňuje pomocí různých typů diagramů zachytit systém z různých pohledů a na různé úrovni abstrakce. | ||
+ | ===== Struktura | ||
+ | Jako stavební bloky se označují prvky, relace a diagramy. **Prvky** jsou samostatné elementy a dělí se na: | ||
+ | * strukturální prvky -- třída, rozhraní, případ užití, aktivní třída, uzel | ||
+ | * chování -- interakce, stav | ||
+ | * seskupení -- balíčky používané k seskupování sémanticky souvisejících prvků | ||
+ | * poznámky -- anotace, které lze k modelu připojit | ||
+ | |||
+ | Relace lze dělit na: | ||
+ | * asociace -- abstrakce množiny spojení mezi objekty | ||
+ | * agregace a kompozice -- vyjadřuje vztah části k celku | ||
+ | * závislost | ||
+ | * zobecnění | ||
+ | * realizace | ||
+ | |||
+ | Mechanismy používané v různých typech diagramů: | ||
+ | * specifikace -- textový popis jednotlivých elementů | ||
+ | * ozdoby -- volitelné doplňky elementů | ||
+ | * podskupiny -- popisují různé způsoby vidění " | ||
+ | |||
+ | ===== Diagramy UML ===== | ||
+ | ==== Diagram chování ==== | ||
+ | Zachycuje chování procesu nebo systému. Např. diagram aktivit, stavový diagram, diagram případů užití... | ||
+ | |||
+ | ==== Diagram struktury ==== | ||
+ | Zachycuje elementy nezávislé na čase. Např. diagram tříd, diagram vnitřní struktury, diagram komponent... | ||
+ | ===== Diagram případů užití (Use Case Diagram) ===== | ||
+ | {{ http:// | ||
+ | [[wp>Use case diagram]] | ||
+ | |||
+ | Umožňuje popsat chování systému z hlediska uživatele. Specifikuje typy uživatelů a jaké činnosti uživatelé vykonávají. Následuje popis jednotlivých prvků diagramu. | ||
+ | |||
+ | ==== Aktér ==== | ||
+ | Reprezentuje prvek okolí systému, který komunikuje se systémem. Může buď předávat informace systému nebo je od něj přijímat. Aktér reprezentuje roli, kterou hraje člověk, hardwarové zařízení nebo externí systém ve vztahu k modelovanému systému. Role není funkcní místo v organizaci, ale je to role při používání systému. Jeden člověk může plnit více rolí a jednu roli může vykonávat více lidí. **Primární aktér** je osoba nebo systém, který má určitý úkol v systému. **Pomocný aktér** je další osoba nebo systém, který poskytuje službu potřebnou pro splnění úkolu primárního aktéra (např. tiskárna, webová služba, člověk). | ||
+ | |||
+ | ==== Případ užití ==== | ||
+ | Specifikuje část funkcionality systému, kterou využívá aktér a která plní určitý cíl. Měl by mít název, který vyjadřuje jeho cíl (" | ||
+ | |||
+ | === Vztah include === | ||
+ | Při vytváření modelu případů užití se mohou některé případy užití v různých částech navrhovaného systému opakovat. Příkladem může být přihlášení do systému nebo vyběr prvku ze seznamu. V těchto případech je lepší opakující se činnost vyjmout a do samostatného případu užití a odkázat se na ni v jiných případech užití pomocí vztahu include. Základní(" | ||
+ | |||
+ | === Vztah extend === | ||
+ | Tato vazba představuje rozšíření původního případu užití. K rozšíření dochází v tzv. bodě rozšíření a to jen když je splněna podmínka rozšíření. Př.: Vedoucí bakalářek vypisuje témata. Systém mu poskytuje možnost " | ||
+ | |||
+ | === Generalizace/ | ||
+ | Umožňuje zachytit obecné a speciální chování. Složitý koncept, zhoršuje srozumitelnost modelu. Doporučuje se nepoužívat. | ||
+ | ===== Diagram tříd (Class Diagram) ===== | ||
+ | {{ http:// | ||
+ | [[wp> | ||
+ | |||
+ | Představuje statický pohled na modelovaný systém. Zachycuje strukturu tříd v systému, nelze v něm vyjádřit interakce mezi třídami, ke kterým dochází v čase. | ||
+ | ==== Třída ==== | ||
+ | Jedná se o základní prvek diagramu tříd. Třída je abstrakcí objektů se stejnými vlastnostmi, | ||
+ | |||
+ | Třídy lze seskupovat do tzv. **balíčků (packages)**. | ||
+ | |||
+ | Mezi třídami dochází také ke " | ||
+ | * běžná asociace -- zisk reference | ||
+ | * násobnost (kardinalita) -- určuje kolik instancí jedné třídy má vztah k jedné instanci druhé | ||
+ | * role -- představuje jeden konec asociace (zaměstnanec - zaměstnavatel), | ||
+ | * asociační třída -- vazba nese nějakou informaci, vazba " | ||
+ | * agregace s kvalifikátorem (eh?) | ||
+ | * agregace -- vnější objekt obsahuje vnitřní objekty (Auto -- 4 kola, 1 karoserie) | ||
+ | * kompozice -- jeden objekt bez druhého nemohou být (kniha se skládá z kapitol, kapitola nemůze existovat bez knihy; označuje se plným kosočtvercem s plnou čarou) | ||
+ | |||
+ | ===== Shrnutí ===== | ||
+ | * struktura UML: prvky, relace, diagramy | ||
+ | * diagram chování vs diagram struktury | ||
+ | * d. případu užití (include, extend), d. tříd (asociace, násobnost, agegace vs kompozice, role, realizace) | ||
+ | * balíčky | ||
+ | * moderní přístup: převod UML na kód a zpátky | ||