1. diel - Úvod do UML
UML (Unified Modeling Language) je súbor grafických notácií, ktorý sa používa pri vývoji softvéru. V oblasti analýzy a návrhu sa stal štandardom a preto je pre programátorov dôležité, aby sa v ňom orientovali. UML je použité v mnohých materiáloch, v dokumentáciách a podobne. Hlavne nám ale môže slúžiť ako užitočný nástroj na uľahčenie návrhu a vývoja informačného systému.
![Modelovací jazyk UML - UML](images/5/uml/uml_logo.gif)
História
Po rozšírení objektovo orientovaného programovania sa hľadal spôsob, ako sa pozerať z rôznych pohľadov na informačné systémy. Vznikalo obrovské množstvo špecifikácií a štandardov, ako objekty a ďalšie súčasti aplikácie zakresľovať. Tými sa tu samozrejme nebudeme zaťažovať. V priebehu 90. rokov sa podarilo firme Rational Software pomocou zjednotenia niekoľkých metodík vytvoriť štandard UML. Časom sa ukázalo, že veľké korporácie majú veľký záujem na tom, aby takýto štandard existoval a bol naďalej udržiavaný. Dôvody sú jednoduché, jeden štandard uľahčuje komunikáciu, dokumentáciu rôznych projektov všetci rozumejú a nemusia sa učiť pre každý projekt ďalší jazyk. Náklady na komunikáciu a školenia sa rapídne znížia. Takto vzniklo medzinárodné konzorcium s možno zvláštnym názvom OMG (ako Object Management Group), ktoré na špecifikácie UML dohliada. Ide o otvorenú inštitúciu, kde figurujú firmy ako IBM, Rational Software, Microsoft, Oracle, HP a ďalšie. Spoločne tak vytvára jazyk UML.
Význam UML
Komplexnosť informačných systémov rastie, to je známy fakt. Doby, keď celý systém naprogramoval jeden človek sú nenávratne preč. Systém je nutné najskôr navrhnúť, už si nemôžeme len tak sadnúť a písať nejaký kód. Pri jeho implementácii je nutné pracovať v tíme programátorov, pretože jeden na to určite nestačí. V tíme musí prebiehať veľmi dobrá komunikácia. Ďalej je nutné reagovať na zmeny v zadaní klienta. Veľmi ťažké môže byť odhadnúť cenu systému v počiatočných fázach vývoja. UML je jeden z nástrojov, ktorý nám pomáha sa s týmito problémami vysporiadať. Pomôže nám vo fáze analýzy, kedy komunikujeme s klientom a zisťujeme, čo budeme vlastne programovať. A pomôže nám aj vo fáze designu, kedy riešime otázku ako to naprogramujeme.
UML je možné všeobecne použiť tromi spôsobmi:
1. UML ako náčrt (sketch)
UML diagramy môžeme používať vo veľmi jednoduchej podobe ako náčrt. Obvykle sa jedná o ručne kreslené diagramy na tabuli alebo do zošita. Používame ich pri jednaní s klientom, kde nám grafická podoba problému pomôže ho lepšie pochopiť a uľahčí komunikáciu. Sme ľudia a grafická podoba je nám bližšia ako text. Samozrejme črtáme aj v priebehu návrhu systému, keď diskutujeme v našom tíme.
Diagramy majú veľmi dôležitú vlastnosť a tou je abstrakcia. Každý diagram je vlastne určitý pohľad na systém, pohľad z určitého uhla. Zvyšok systému zanedbáme a zobrazíme len to, čo je v danej chvíli dôležité. UML diagramy zlepšujú komunikáciu a znižujú riziko, že niečomu zle porozumieme my alebo klient a systém bude zle navrhnutý.
2. UML ako plán (blueprint)
UML ako plán je oveľa detailnejší ako náčrt. Diagramy sú vytvárané v CAD nástrojoch a slúžia ako plán implementácie pre programátorov. Uľahčujú komunikáciu v tíme a uľahčujú implementáciu systému, pretože sa vďaka diagramom programátori v systéme lepšie orientujú. Po dokončení systému slúži diagramy ďalej ako dokumentácia. Keďže je UML štandardom, aj nezasvätený programátor sa bude schopný v systéme orientovať.
3. UML ako programovací jazyk
Tretím významom je UML ako programovací jazyk. Z detailného UML diagramu je možné vygenerovať šablónu kódu, ktorá slúži ako základ pre implementáciu. V databázach sa bežne tieto modely používajú na vygenerovanie zakladacích skriptov.
Diagramy
UML sa v súčasnej dobe skladá zo 14 diagramov:
![Diagramy v UML - UML](images/5/uml/uml_diagrams.png)
Diagramy sa delia na 2 základné skupiny:
- Diagramy štruktúry (Structure Diagrams) - Popisujú štruktúru systému, teda z čoho je zložený.
- Diagramy správania (Behaviour Diagrams) - Popisujú správanie systému, teda ako funguje.
V diagramoch správania ešte nájdeme samostatnú skupinu:
- Diagramy interakcie (Interaction Diagrams) - Popisujú interakciu medzi jednotlivými časťami systému.
Každý diagram má svoj účel. Diagramy by sme mali robiť preto, že ich potrebujeme, že pre nás majú nejakú pridanú hodnotu. Keď nás niekto núti tvoriť nejaké diagramy len preto, aby existovali, obvykle je to iba strata času.
Nástroje
Veľmi odporúčame používať na kreslenie diagramov online nástroj https://www.draw.io, tvary pre UML diagramy vyberiete v ľavej lište, v pravej lište sa dajú následne zafarbovať a dostylovať. Pokiaľ z nejakého dôvodu ešte preferujete desktop aplikácie, odporúčame https://www.modelio.org. Oba spomínané nástroje sú kompletne zadarmo.
V tomto kurze si postupne predstavíme všetky typy UML diagramov vrátane praktických ukážok. Naučíme sa ich využívať v procese vývoja softvéru, teda od identifikácie požiadaviek na systém zo zadania klienta po nasadenie hotového systému. Zameriame sa teda hlavne na využitie UML v praxi.
V budúcej lekcii, UML - Use Case Diagram , začneme s Use Case diagramy, teda diagramy prípadov použitia.