Lekce 1 - Úvod do UML
UML (Unified Modeling Language) je soubor grafických notací, který se používá pří vývoji softwaru. V oblasti analýzy a návrhu se stal standardem a proto je pro programátory důležité, aby se v něm orientovali. UML je použito v mnoha materiálech, v dokumentacích a podobně. Hlavně nám ale může sloužit jako užitečný nástroj k usnadnění návrhu a vývoje informačního systému.
Historie
Po rozšíření objektově orientovaného programování se hledal způsob, jak se dívat z různých pohledů na informační systémy. Vznikalo obrovské množství specifikací a standardů, jak objekty a další součásti aplikace zakreslovat. Těmi se zde samozřejmě nebudeme zatěžovat. V průběhu 90. let se podařilo firmě Rational Software pomocí sjednocení několika metodik vytvořit standard UML. Časem se ukázalo, že velké korporace mají velký zájem na tom, aby takovýto standard existoval a byl nadále udržován. Důvody jsou jednoduché, jeden standard usnadňuje komunikaci, dokumentaci různých projektů všichni rozumí a nemusí se učit pro každý projekt další jazyk. Náklady na komunikaci a školení se rapidně sníží. Takto vzniklo mezinárodní konsorcium s možná zvláštním názvem OMG (jako Object Management Group), které na specifikace UML dohlíží. Jedná se o otevřenou instituci, kde figurují firmy jako IBM, Rational Software, Microsoft, Oracle, HP a další. Společně tak vytváří jazyk UML.
Význam UML
Komplexnost informačních systémů roste, to je známý fakt. Doby, kdy celý systém naprogramoval Karel Novák jsou nenávratně pryč. Systém je nutné nejprve navrhnout, již si nemůžeme jen tak sednout a psát nějaký kód. Při jeho implementaci je nutné pracovat v týmu programátorů, jelikož jeden na to určitě nestačí. V týmu musí probíhat velmi dobrá komunikace. Dále je nutné reagovat na změny v zadání klienta. Velmi těžké může být odhadnout cenu systému v počátečních fázích vývoje. UML je jeden z nástrojů, který nám pomáhá se s těmito problémy vypořádat. Pomůže nám ve fázi analýzy, kdy komunikujeme s klientem a zjišťujeme, co budeme vlastně programovat. A pomůže nám i ve fázi designu, kdy řešíme otázku jak to naprogramujeme.
UML lze obecně použít třemi způsoby:
1. UML jako náčrt (sketch)
UML diagramy můžeme používat ve velmi jednoduché podobě jako náčrt. Obvykle se jedná o ručně kreslené diagramy na tabuli nebo do sešitu. Používáme je při jednání s klientem, kde nám grafická podoba problému pomůže ho lépe pochopit a usnadní komunikaci. Jsme lidé a grafická podoba je nám bližší než text. Samozřejmě črtáme 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 vlastně určitý pohled na systém, pohled 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 my nebo klient a systém bude špatně navržený.
2. UML jako plán (blueprint)
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.
3. 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ů.
Diagramy
UML se v současné době skládá ze 14 diagramů
Diagramy se dělí na 2 základní skupiny:
- Diagramy struktury (Structure Diagrams) - Popisují strukturu systému, tedy z čeho je složený.
- Diagramy chování (Behaviour Diagram) - Popisují chování systému, tedy jak funguje.
V diagramech chování ještě nalezneme samostatnou skupinu:
- Diagramy interakce (interaction diagrams) - Popisují interakci mezi jednotlivými částmi systému.
Každý diagram má svůj účel. Diagramy bychom měli dělat proto, že je potřebujeme, že pro nás mají nějakou přidanou hodnotu. Když nás někdo nutí tvořit nějaké diagramy jen proto, aby existovaly, obvykle je to pouze ztráta času.
Nástroje
Velmi doporučujeme používat pro kreslení diagramů online nástroj https://www.draw.io, tvary pro UML diagramy vyberete v levé liště, v pravé liště se dají následně obarvovat a dostylovat. Pokud z nějakého důvodu ještě preferujete desktop aplikace, doporučujeme https://www.modelio.org. Oba zmíněné nástroje jsou kompletně zdarma.
V tomto kurzu si postupně představíme všechny typy UML diagramů včetně praktických ukázek. Naučíme se je využívat v procesu vývoje softwaru, tedy od identifikace požadavků na systém ze zadání klienta po nasazení hotového systému. Zaměříme se tedy hlavně na využití UML v praxi.
V příští lekci, UML - Use Case Diagram, začneme s Use Case diagramy, tedy diagramy případů užití.