1. díl - Úvod do UML

Návrhové vzory UML Ú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)

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í implemetaci 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 14ti 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.

V tomto seriálu se budeme zabývat jen několika nejdůležitějšími (které budou pro většinu projektů stačit) a ukážeme si, jak je postupně využít 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.


 

  Aktivity (1)

Článek pro vás napsal David Čápka
Avatar
Autor pracuje jako softwarový architekt a pedagog na projektu ITnetwork.cz (a jeho zahraničních verzích). Velmi si váží svobody podnikání v naší zemi a věří, že když se člověk neštítí práce, tak dokáže úplně cokoli.
Unicorn College Autor se informační technologie naučil na Unicorn College - prestižní soukromé vysoké škole IT a ekonomie.

Jak se ti líbí článek?
Celkem (16 hlasů) :
4.437514.437514.437514.43751 4.43751


 


Miniatura
Všechny články v sekci
UML
Miniatura
Následující článek
UML - Use Case Diagram

 

 

Komentáře
Zobrazit starší komentáře (5)

Avatar
David Čápka
Tým ITnetwork
Avatar
David Čápka:

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
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Akimi Mei
Neregistrovaný
Avatar
Akimi Mei:

Děkuji.

 
Odpovědět 10.4.2013 21:15
Avatar
Kit
Redaktor
Avatar
Kit:

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
HQ GeoSpy:

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:

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

Odpovědět  +3 2.10.2013 20:37
Kdo chce pochopit, pochopí. Kdo dělá že chce pochopit, může pouze dělat, že pochopil...
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Snorlax
David Čápka:

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

Odpovědět 2.10.2013 20:55
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:

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:

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:

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:

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

Odpovědět 30. července 13:12
Nikdy nedovolím aby mi škola bránila v ceste za vzdelaním (Mark Twain).
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 10 zpráv z 15. Zobrazit vše