UML: Porovnání verzí
Řádek 1: | Řádek 1: | ||
{{Pracuje se}} | {{Pracuje se}} | ||
[[File:Uml-Activity-Beispiel2.svg|thumb|UML - proces vaření špaget]] | [[File:Uml-Activity-Beispiel2.svg|thumb|UML - proces vaření špaget]] | ||
− | UML (celým názvem '''Unified Modeling Language''') je grafický jazyk používaný pro vizualizaci, specifikaci, navrhování a dokumentaci programových systémů. <ref name="JN">NOVOTNÁ, Jitka. Procesní modelování a UML. Moodle pro výuku 1 Univerzita Karlova [online]. [cit. 2021-06-14]. Dostupné z: https://dl1.cuni.cz/pluginfile.php/1159938/mod_resource/content/1/04_Prezentace%20Procesn%C3%AD%20modelov%C3%A1n%C3%AD.pdf</ref> Nejrozšířenějším uplatněním UML je modelování [[Objektově orientovaný systém|objektově orientovaných systémů]]. <ref name="DI">CHYTALOVÁ, Kamila. Katalog častých chyb v UML diagramech. Brno: Masarykova univerzita, Fakulta informatiky, 2018, 42 s. Vedoucí bakalářské práce: RNDr. Stanislav Chren [cit. 2021-06-09]. Dostupné z: https://is.muni.cz/th/dqtso/Katalog_castych_chyb_v_UML_diagramech.pdf</ref> Slouží jako podpůrný nástroj pro komunikaci mezi vývojáři (a zadavateli), pro zaznamenání myšlenek a návrhů. Kreslí se pomocí něj pouze věci, které jsou podstatné pro grafické vyjádření návrhu a části návrhu před tím, než se začne programovat. Důležitá je srozumitelnost, rychlost nakreslení a snadnost změny či navržení alternativ řešení. <ref name="JN">NOVOTNÁ, Jitka. Procesní modelování a UML. Moodle pro výuku 1 Univerzita Karlova [online]. [cit. 2021-06-14]. Dostupné z: https://dl1.cuni.cz/pluginfile.php/1159938/mod_resource/content/1/04_Prezentace%20Procesn%C3%AD%20modelov%C3%A1n%C3%AD.pdf</ref> Může sloužit jako užitečný nástroj k usnadnění návrhu a vývoje [[Informační systém|informačního systému]]. <ref name="IT">ČÁPKA, David. Lekce 1 - Úvod do UML . ITnetwork.cz [online]. [cit. 2021-06-14]. Dostupné z: https://www.itnetwork.cz/navrh/uml/uml-uvod-historie-vyznam-a-diagramy</ref> Samotný UML jazyk neposkytuje metodiku modelování systémů, obsahuje pouze [[Syntaxe|syntaxi]], která se používá při konstruování modelů. <ref name="DI">CHYTALOVÁ, Kamila. Katalog častých chyb v UML diagramech. Brno: Masarykova univerzita, Fakulta informatiky, 2018, 42 s. Vedoucí bakalářské práce: RNDr. Stanislav Chren [cit. 2021-06-09]. Dostupné z: https://is.muni.cz/th/dqtso/Katalog_castych_chyb_v_UML_diagramech.pdf</ref> | + | UML (celým názvem '''Unified Modeling Language''') je grafický jazyk používaný pro vizualizaci, specifikaci, navrhování a dokumentaci programových systémů. <ref name="JN">NOVOTNÁ, Jitka. Procesní modelování a UML. Moodle pro výuku 1 Univerzita Karlova [online]. [cit. 2021-06-14]. Dostupné z: https://dl1.cuni.cz/pluginfile.php/1159938/mod_resource/content/1/04_Prezentace%20Procesn%C3%AD%20modelov%C3%A1n%C3%AD.pdf</ref> Nejrozšířenějším uplatněním UML je modelování [[Objektově orientovaný systém|objektově orientovaných systémů]]. <ref name="DI">CHYTALOVÁ, Kamila. Katalog častých chyb v UML diagramech. Brno: Masarykova univerzita, Fakulta informatiky, 2018, 42 s. Vedoucí bakalářské práce: RNDr. Stanislav Chren [cit. 2021-06-09]. Dostupné z: https://is.muni.cz/th/dqtso/Katalog_castych_chyb_v_UML_diagramech.pdf</ref> Slouží jako podpůrný nástroj pro [[Komunikaci|komunikaci]] mezi vývojáři (a zadavateli), pro zaznamenání myšlenek a návrhů. Kreslí se pomocí něj pouze věci, které jsou podstatné pro grafické vyjádření návrhu a části návrhu před tím, než se začne programovat. Důležitá je srozumitelnost, rychlost nakreslení a snadnost změny či navržení alternativ řešení. <ref name="JN">NOVOTNÁ, Jitka. Procesní modelování a UML. Moodle pro výuku 1 Univerzita Karlova [online]. [cit. 2021-06-14]. Dostupné z: https://dl1.cuni.cz/pluginfile.php/1159938/mod_resource/content/1/04_Prezentace%20Procesn%C3%AD%20modelov%C3%A1n%C3%AD.pdf</ref> Může sloužit jako užitečný nástroj k usnadnění návrhu a vývoje [[Informační systém|informačního systému]]. <ref name="IT">ČÁPKA, David. Lekce 1 - Úvod do UML . ITnetwork.cz [online]. [cit. 2021-06-14]. Dostupné z: https://www.itnetwork.cz/navrh/uml/uml-uvod-historie-vyznam-a-diagramy</ref> Samotný UML jazyk neposkytuje metodiku modelování systémů, obsahuje pouze [[Syntaxe|syntaxi]], která se používá při konstruování modelů. <ref name="DI">CHYTALOVÁ, Kamila. Katalog častých chyb v UML diagramech. Brno: Masarykova univerzita, Fakulta informatiky, 2018, 42 s. Vedoucí bakalářské práce: RNDr. Stanislav Chren [cit. 2021-06-09]. Dostupné z: https://is.muni.cz/th/dqtso/Katalog_castych_chyb_v_UML_diagramech.pdf</ref> |
'''Výhody užití UML''' | '''Výhody užití UML''' |
Verze z 20. 6. 2021, 09:24
![]() |
Na této stránce se právě pracuje. Prosím needitujte tuto stránku, dokud na ní zůstává tato šablona. Předejdete tak editačnímu konfliktu. Jestliže uběhla od poslední editace doba alespoň dvou dnů, neváhejte tuto šablonu odstranit. | ![]() |
UML (celým názvem Unified Modeling Language) je grafický jazyk používaný pro vizualizaci, specifikaci, navrhování a dokumentaci programových systémů. [1] Nejrozšířenějším uplatněním UML je modelování objektově orientovaných systémů. [2] Slouží jako podpůrný nástroj pro komunikaci mezi vývojáři (a zadavateli), pro zaznamenání myšlenek a návrhů. Kreslí se pomocí něj pouze věci, které jsou podstatné pro grafické vyjádření návrhu a části návrhu před tím, než se začne programovat. Důležitá je srozumitelnost, rychlost nakreslení a snadnost změny či navržení alternativ řešení. [1] Může sloužit jako užitečný nástroj k usnadnění návrhu a vývoje informačního systému. [3] Samotný UML jazyk neposkytuje metodiku modelování systémů, obsahuje pouze syntaxi, která se používá při konstruování modelů. [2]
Výhody užití UML
- Zjednodušuje složitost
- Udržuje otevřenou komunikaci
- Automatizuje vývoj softwaru a procesů
- Pomáhá řešit přetrvávající problémy s architekturou
- Zlepšuje kvalitu práce
- Snižuje náklady a čas potřebný k uvedení na trh [4]
Struktura jazyka
Skládá se ze 3 prvků, kterými jsou:
- stavební bloky: základní elementy modelování v UML;
- společné mechanismy: UML má čtyři mechanismy, které popisují strategie přístupu k objektovému modelování, mezi nimi například mechanismy pro rozšíření;
- architektura: organizační struktura systému, která obsahuje rozložení systému na části a dále se zabývá jejich propojením, interakcí a mechanismy. [2]
Stavební bloky UML
Jazyk UML obsahuje tři stavební bloky, kterými jsou předměty, vztahy a diagramy.
Předměty
Předměty představují samotné modelovací prvky a dělí se do čtyř základních kategorií, kterými jsou:
- Strukturní abstrakce: jedná se o podstatná jména v UML modelu, jako je například třída, rozhraní, případ užití, uzel atd.
- Předměty chování: reprezentují dynamické chování objektů. Řadí se sem například stavový stroj, který zachycuje stavy objektu a přechody mezi nimi, nebo interakce mezi objekty, jako jsou zprávy a spoje.
- Předměty seskupení: jedná se o organizační složky modelu v podobě balíků, do kterých se sdružují související prvky.
- Poznámky: používají se jako komentáře pro bližší vysvětlení. [2]
Vztahy
Sémantickou vazbu mezi dvěma a více předměty umožňují vyjádřit vztahy. Rozlišuje se více druhů vztahů, které se zobrazují se pomocí různých typů čar.
Mezi nejčastěji používané druhy patří:
- Asociace: definuje obecný vztah mezi dvěma předměty. Upřesnit ji lze pomocí dvou speciálních případů typu celek-část, kterými jsou agregace a kompozice.
- Zobecnění: to se používá v případě, že předmět, ze kterého vztah vychází, je specializovaným případem obecnějšího cílového předmětu a může jím být kdykoliv nahrazen.
- Závislost: vyjadřuje vztah mezi dvěma předměty. Závislý předmět využívá určitou část jiného předmětu, proto může být ovlivňován změnami v něm.
- Realizace: zdrojový předmět zaručuje, že splní podmínky dohody obsažené v cílovém předmětu. [2]
Diagramy
Zachycují konkrétní skupiny předmětů a vztahů uložených v modelu. Vytvořený diagram tedy poskytuje pohled na systém z určitého úhlu. Dělí se na dva hlavní typy - diagram struktury, který modeluje statickou strukturu systému a diagram chování, který modeluje dynamickou strukturu systému. [2]
Typy UML diagramů
Existují dva hlavní typy UML diagramů – diagramy struktury a chování (a několik dalších v rámci těchto kategorií). Zachycují tak nejrůznější typy scénářů a diagramů, které používají různé profese. Každá role, od zákazníků a projektových manažerů po tvůrce technické dokumentace, návrháře, analytiky, programátory a testery, používá konkrétní diagramy, které vyhovují jejím potřebám. Každé schéma tedy vyžaduje jiné zaměření a úroveň podrobností. Cílem je prostřednictvím UML vizuálně vyjádřit diagramy, které každý snadno pochopí. [4]
Diagramy struktury
Jedná se o statickou strukturu softwaru nebo systému, zobrazující různé úrovně abstrakce a implementace. Slouží k lepší vizualizaci jednotlivých struktur, ze kterých se skládá systém, jako databáze nebo aplikace. Ukazují hierarchii součástí nebo modulů, jejich propojení a vzájemné interakce. Tyto nástroje umožňují ověřit, zda všechny součásti systému fungují ve vztahu s ostatními součástmi tak, jak mají.
Typy diagramů
- Diagram tříd: tento diagram je nejběžnější v oblasti vývoje softwaru a znázorňuje logický a fyzický návrh systému a přehled jeho tříd. Podobá se vývojovému diagramu, protože třídy jsou tvořeny rámečky. Diagram zachycuje vizuální podobu jednotlivých tříd a jejich vzájemných propojení.
- Diagram objektů: často se používá pro ověření přesnosti diagramu tříd. Ukazuje, zda bude v praxi opravdu fungovat. Diagram znázorňuje objekty systému a jejich vzájemné vztahy a lze v něm lépe odhalit případné chyby návrhu, které je zapotřebí opravit.
- Diagram komponent: znázorňuje logická seskupení prvků a jejich vzájemné vztahy. Poskytuje zjednodušený pohled na komplexní systém jeho rozdělením na menší komponenty. Každý díl je zobrazen pomocí obdélníkového rámečku, ve kterém je jeho název. Spojovací čáry definují vztahy a závislosti jednotlivých komponent.
- Diagram složených struktur: mimo oblast vývoje softwaru se používá jen zřídka. Podobá se diagramu tříd, ale jde více do hloubky, popisuje vnitřní strukturu více tříd a zobrazuje jejich interakce.
- Diagram nasazení: zobrazuje hardwarové (uzly) a softwarové (artefakty) komponenty a jejich vzájemné vztahy. Vizuálně znázorňuje, kde přesně je která softwarová komponenta nasazena.
- Diagram balíčků: znázorňuje závislosti mezi balíčky, ze kterých je model vytvořen. Hlavním cílem je zobrazit vztahy mezi různými velkými komponentami, které vytváří složitý systém.
- Diagram profilů: jedná se spíše o jazyk než o diagram. Pomáhá vytvářet nové vlastnosti a sémantické významy UML diagramů definováním vlastních stereotypů, hodnot s příznakem a omezení. Pomocí těchto profilů si můžete přizpůsobit metamodel UML pro různé platformy (např. Java Platform nebo Microsoft .NET Framework) a oblasti (např. modelování podnikových procesů, architektura orientovaná na služby, zdravotnické aplikace a podobně). [4]
Diagramy chování
Zaměřují se na dynamické aspekty softwarového systému nebo procesu. Tyto diagramy ukazují funkčnost systému a zdůrazňují, co se musí v modelovaném systému dít.
Typy diagramů
- Diagram aktivit: znázorňuje jednotlivé kroky procesu s jasným začátkem a koncem. Jedná se o soubor aktivit, které je třeba provést pro dosažení cíle. Zobrazuje, jak každá aktivita vede k následující a jak jsou všechny propojeny. Kromě vývoje softwaru lze tyto diagramy použít prakticky v každém podnikovém prostředí.
- Diagram případů užití: popisuje, co systém dělá, ne však jakým způsobem. Případ užití je soubor událostí, ke kterým dojde, když účastník použije systém k provedení procesu. Účastník je definován jako kdokoli nebo cokoli (osoba, organizace nebo aplikace), co se systémem interaguje z vnějšku. Diagram případů užití tedy popisuje sadu posloupností a představuje funkční požadavky systému.
- Diagram interakcí: bývá složitý a podobá se diagramu aktivit, protože oba ukazují posloupnost aktivit. Diagram interakcí je však diagram aktivit složený z různých diagramů interakcí. Používá stejný způsob záznamu jako diagram aktivit (počáteční, koncové, rozhodovací, slučovací, rozvětvovací a spojovací uzly) s dalšími prvky, jako jsou interakce, použití interakce, časové omezení a omezení trvání.
- Diagram časování: používá se, když má rozhodující roli časování. Nezobrazuje, jak spolu objekty interagují ani jak se mění. Funkčně znázorňuje, jak objekty a účastníci jednají v průběhu času. Zaměřuje se na to, jak dlouho události trvají a k jakým změnám dochází v závislosti na omezení trvání.
- Stavový diagram: používá se, když je zapotřebí zachytit podrobnosti složitého chování objektu. Pomáhá popsat chování jednoho objektu a jeho změny na základě interních a externích událostí.
- Sekvenční diagram: tento vizuálně atraktivní diagram je populární i mimo vývojářskou komunitu a dokáže znázornit všechny typy podnikových procesů. Ukazuje strukturu systému a chronologicky zobrazuje sled zpráv a interakcí mezi účastníky a objekty. Znázorňují jednoduché opakování a větvení. Je vhodný pro multitasking.
- Diagram komunikace: podobá se sekvenčnímu diagramu. Klade však důraz na komunikaci mezi objekty. Znázorňuje organizaci objektů, které se účastní interakce, a umožňuje složitější opakování a větvení. [4]
Užití UML
UML lze obecně použít třemi způsoby, jako náčrt, plán anebo programovací jazyk.
UML jako náčrt
UML diagramy můžeme používat jako náčrt. Obvykle se jedná o ručně kreslené diagramy na tabuli anebo do sešitu. Používáme jej při jednání s klientem, kde nám grafická podoba problému pomůže jeho lepší pochopení a usnadní komunikaci. Možnost náčrtu se využívá i v průběhu návrhu systému, když diskutujeme v našem týmu. Diagramy mají velmi důležitou vlastnost a tou je abstrakce. Každý diagram je pohled na systém z určitého úhlu. Zbytek systému zanedbáme a zobrazíme jen to, co je v danou chvíli důležité. UML diagramy zlepšují komunikaci a snižují riziko, že něčemu špatně porozumíme a systém bude špatně navržený.
UML jako plán
UML jako plán je o mnoho detailnější než náčrt. Diagramy jsou vytvářeny v CAD nástrojích a slouží jako plán implementace pro programátory. Usnadňují komunikaci v týmu a ulehčují implementaci systému, jelikož se díky diagramům programátoři v systému lépe orientují. Po dokončení systému slouží diagramy dále jako dokumentace. Jelikož je UML standardem, i nezasvěcený programátor se bude schopen v systému orientovat.
UML jako programovací jazyk
Třetím významem je UML jako programovací jazyk. Z detailního UML diagramu lze vygenerovat šablonu kódu, která slouží jako základ pro implementaci. V databázích se běžně tyto modely používají pro vygenerování zakládacích skriptů. [3]
Odkazy
Reference
- ↑ 1,0 1,1 NOVOTNÁ, Jitka. Procesní modelování a UML. Moodle pro výuku 1 Univerzita Karlova [online]. [cit. 2021-06-14]. Dostupné z: https://dl1.cuni.cz/pluginfile.php/1159938/mod_resource/content/1/04_Prezentace%20Procesn%C3%AD%20modelov%C3%A1n%C3%AD.pdf
- ↑ 2,0 2,1 2,2 2,3 2,4 2,5 CHYTALOVÁ, Kamila. Katalog častých chyb v UML diagramech. Brno: Masarykova univerzita, Fakulta informatiky, 2018, 42 s. Vedoucí bakalářské práce: RNDr. Stanislav Chren [cit. 2021-06-09]. Dostupné z: https://is.muni.cz/th/dqtso/Katalog_castych_chyb_v_UML_diagramech.pdf
- ↑ 3,0 3,1 ČÁPKA, David. Lekce 1 - Úvod do UML . ITnetwork.cz [online]. [cit. 2021-06-14]. Dostupné z: https://www.itnetwork.cz/navrh/uml/uml-uvod-historie-vyznam-a-diagramy
- ↑ 4,0 4,1 4,2 4,3 Jednoduchý návod k UML diagramům a modelování databází. Microsoft [online]. 2019 [cit. 2021-06-14]. Dostupné z: https://www.microsoft.com/cs-cz/microsoft-365/business-insights-ideas/resources/guide-to-uml-diagramming-and-database-modeling
Doporučená literatura
- Rydval, Slávek. 30+3 pravidel UML. 1. vydání. Praha: Elebedial, 2021. 103 stran. ISBN 978-80-906968-6-0.
- Lano, Kevin. Advanced systems design with Java, UML and MDA [online]. Oxford: Elsevier Butterworth-Heinemann, 2005 [cit. 2021-06-14]. Dostupné z: https://ebookcentral.proquest.com/lib/natl-ebooks/detail.action?docID=270039.
- Merunka, Vojtěch. Datové modelování. 1. vyd. Praha: Alfa Publishing, 2006. 177 s. Informatika studium. ISBN 80-86851-54-0.
- Koch, Miloš a Neuwirth, Bernard. Datové a funkční modelování. Vyd. 3., přeprac. Brno: Akademické nakladatelství CERM, 2008. 121 s. Učební texty vysokých škol. ISBN 978-80-214-3731-9.
- Šešera, Ľubor, Mičovský, Aleš a Červeň, Juraj. Datové modelování v příkladech. 1. vyd. Praha: Grada, 2001. 151 s. ISBN 80-247-0049-2.
Související články
Klíčová slova
UML, programovací jazyk, grafický jazyk, vizualizace