Aktuálně: Postihly zákazy tvou profesi? Poptávka po ajťácích prudce roste, využij slevové akce 50% výuky zdarma!
Pouze tento týden sleva až 80 % na e-learning týkající se Javy

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.

Modelovací jazyk UML

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)

Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!

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 v UML

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í.


 

Všechny články v sekci
UML
Článek pro vás napsal David Čápka
Avatar
Jak se ti líbí článek?
57 hlasů
David je zakladatelem ITnetwork a programování se profesionálně věnuje 13 let. Má rád Nirvanu, sushi a svobodu podnikání.
Unicorn university David se informační technologie naučil na Unicorn University - prestižní soukromé vysoké škole IT a ekonomie.
Aktivity (7)

 

 

Komentáře

Avatar
tony
Neregistrovaný
Avatar
tony:6.3.2013 11:46

Čau dejve chci se zeptat ohledne rozdeleni tech diagramu... konkretne me zajima diagramy struktury... je to krasne vetveni atd.. ale kdyz v EA je diagram ktery se jmenuje DATABASE... tak to je ktery prosim te?? protoze ja ho v te vetvi nejak nemuzu najit.. :D jak jiste vis tak delam zrovna nejakou praci.. a rad bych tam popsal prave tento database diagram z EA.. tak prece nemuzu udelat strukturu kde neni.. a pak ho zacit popisovat

 
Odpovědět
6.3.2013 11:46
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na tony
David Čápka:6.3.2013 12:08

Pokud myslíš schéma databáze tak to bych řekl že je Class diagram, kdy třída reprezentuje tabulku.

Odpovědět
6.3.2013 12:08
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
tony
Neregistrovaný
Avatar
tony:6.3.2013 12:26

no nerekl bych ze je to class diagram jako takovej.. protoze v tom tezko udelas PK a FK.. :D todle je proste diagram DATABASE... (btw Class je nad tim ) tak to asi nebude stejne ne ? :D

 
Odpovědět
6.3.2013 12:26
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na tony
David Čápka:6.3.2013 12:37

To je class a máš tam nějaký stereotyp Table ne?

Odpovědět
6.3.2013 12:37
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
Akimi Mei
Neregistrovaný
Avatar
Akimi Mei:10.4.2013 20:49

Zdravím,
jaký program používat na kresbu UML?

 
Odpovědět
10.4.2013 20:49
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Akimi Mei
David Čápka:10.4.2013 20:58

Zdejší diagramy jsou v Astah Community, dnes bych ale spíše použil modelio, je to opensource :)

Odpovědět
10.4.2013 20:58
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
Akimi Mei
Neregistrovaný
Avatar
Akimi Mei:10.4.2013 21:15

Děkuji.

 
Odpovědět
10.4.2013 21:15
Avatar
Kit
Redaktor
Avatar
Odpovídá na Akimi Mei
Kit:11.4.2013 9:31

Dá se použít i program Dia.

Program Umbrello umí z nakreslených diagramů vygenerovat zdrojáky (nebo alespoň mocky) aplikace.

Odpovědět
11.4.2013 9:31
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
HQ GeoSpy
Člen
Avatar
Odpovídá na Akimi Mei
HQ GeoSpy:2.10.2013 10:03

Asi jeden z nejlepších (je komerční) je EA = Enterprise Architect.

Pro sdraco:
Krásně napsaný článek o UML.
Jsme rádi, že je zde další člověk UML friendly :-)
Také občas o UML píšeme na svém BLOGu.

Pokud by to někoho zajímalo, tak o UML zde:
http://blog.geospy.org/…na-hrotekova
http://blog.geospy.org/…el-hq-geospy
http://blog.geospy.org/…na-hrotekova
http://blog.geospy.org/…na-hrotekova

HQ GeoSpy
http://blog.geospy.org/
http://www.geospy.org/

Editováno 2.10.2013 10:04
 
Odpovědět
2.10.2013 10:03
Avatar
Snorlax
Redaktor
Avatar
Snorlax:2.10.2013 20:37

Po přečtení tohoto článku pro mě zkratka OMG dostala úplně nový rozměr :D

Odpovědět
2.10.2013 20:37
Kdo chce pochopit, pochopí. Kdo dělá že chce pochopit, může pouze dělat, že pochopil...
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Snorlax
David Čápka:2.10.2013 20:55

Taky jsem se tomu smál, když nás to učili ve škole :D

Odpovědět
2.10.2013 20:55
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:2.10.2013 21:00

A smál ses i když jsi to konečně pochopil? :D

Odpovědět
2.10.2013 21:00
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Snorlax
Redaktor
Avatar
Odpovídá na Kit
Snorlax:2.10.2013 22:02

já se směju doteď :D

Odpovědět
2.10.2013 22:02
Kdo chce pochopit, pochopí. Kdo dělá že chce pochopit, může pouze dělat, že pochopil...
Avatar
Marek Šafránek:7.3.2015 12:52

Napadlo mě jestli existuje něco jako celkový velký diagram funkčností a struktury PHP? jak je tam co provázané, co k čemu patří...hledal sem a nic jsem nenašel...

Odpovědět
7.3.2015 12:52
Stojí-li něco za námahu, je třeba to udělat pořádně...
Avatar
Patrik
Člen
Avatar
Patrik:30.7.2016 13:12

Rozumiem tomu správne?? Diagramy chovania sú vlastne algorytmy??

 
Odpovědět
30.7.2016 13:12
Avatar
Simona Dostálová:27.9.2017 15:24

Díky tomuto článku, jsem se vrhla zde na studium UML :)

 
Odpovědět
27.9.2017 15:24
Avatar
Honza S
Člen
Avatar
Honza S:22.1.2018 15:53

Ahoj, děkuji za skvělé vysvetlení úvodu UML, budu pokračovat až do konce :)

 
Odpovědět
22.1.2018 15:53
Avatar
Pavel Jakl
Člen
Avatar
Pavel Jakl:5.11.2019 10:56

Skvěle vysvětlený úvod do UML

 
Odpovědět
5.11.2019 10:56
Avatar
Attila Lörincz:20.12.2020 11:09

jednoduše napsané a i já tomu začínám přicházet na kloub :-)

 
Odpovědět
20.12.2020 11:09
Avatar
Martin McDermot:31.12.2020 23:19

Nebo výborná stránka na diagramy je také
Lucid Chart
Vřele doporučuji

 
Odpovědět
31.12.2020 23:19
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 20 zpráv z 20.