Modelování softwarových projektů v UML
Úvod
[editovat]Smyslem tohoto kurzu je zasvětit vývojáře do oblasti, kterou spousta z nich neprávem pokládá za zbytečnou, ačkoli je u každého většího projektu prakticky nezbytná. Teprve praxe vytváření složitějších projektů, či rozšiřování těch jednodušších ukáže, že bez solidního návrhu nemůže vzniknout solidní implementace. A solidní návrh by měl obsahovat diagramy. A aby si vývojáři navzájem rozuměli, byl vytvořen standard pro tvorbu těchto diagramů zvaný UML.
Nástroje
[editovat]Vývojáři open-source nelenili, a tak vzniklo hned několik velice šikovných nástrojů pro vytváření těchto diagramů. V našem kursu budeme používat Violet, neboť je ze všech nejjednodušší. Zajímavý je také nástroj Umbrello, který umí z diagramů tříd generovat kód pro C++, Javu, Python a jiné. Dokonce umí i opačnou konverzi, tedy z existujících zdrojových textů vygenerovat diagramy. Z dalších nástrojů si můžete vybrat zde
Kapitola 0 - Stažení, instalace a první kroky s Violet
[editovat]Violet je vytvořen v Javě, a proto ho lze spustit prakticky na všech moderních operačních systémech.
Instalace pro Linux
[editovat]Balíček pro linux (alespoň ne pro ubuntu) zatím nevznikl, nicméně i tak je instalace velmi snadná. Z oficiálních webových stránek stáhneme soubor com.horstmann.violet-0.21.1.jar (link Download now) a ten někam uložíme. Můžeme si klidně vytvořit ve své domovské složce podsložku programy a tam ho dát. Poté například na ploše vytvoříme zástupce (spouštěč), kde jako jméno dáme Violet a jako příkaz 'java -jar /home/{vaše uživatelské jméno}/programy/com.horstmann.violet-0.21.1.jar'. POZOR: v cestě nemůže být zkratka ~ ani $HOME. Potvrdíme a klikneme na náš nově vytvořený spouštěč.
Jestliže se nám program nespustil, nainstalujeme Javu od Sunu. POZOR: nepoužívejte OpenJDK, Violet v něm běží velice pomalu. (jestliže máme již nainstalované OpenJDK, výchozí javu změníme například pomocí utility galternatives)
Instalace pro Windows
[editovat]První kroky
[editovat]Po spuštění si vybereme typ diagramu, který chceme vytvořit a v závislosti na tom se nám objeví odpovídající panel nástrojů.
Kapitola 1 - Strukturní diagramy
[editovat]Kapitola 2 - Diagramy chování
[editovat]Kapitola 3 - Diagramy interakce
[editovat]Sekvenční diagram
[editovat]Pro tvorbu sekvenčního diagramu vybereme po spuštění Sequence diagram.
Sekvenční diagram popisuje komunikaci objektů v čase. Hodí se obzvláště pro tyto oblasti:
- návrh síťových protokolů
- pro návrh programů používajících vzdálené volání procedur
- pro návrh paralelních programů komunikujících pomocí zasílíní zpráv (typicky pomocí knihovny MPI)
Jak na to v 5 krocích:
- Vložíme procesy Vpravo vybereme nástroj Object lifeline a klikáním vkládáme objekty (v případě sekvenčního diagramu se vlastně jedná o procesy). Když klikneme dovnitř rámečku značícího proces, můžeme vyplnit jeho jméno. Procesy se samy zarovnávají k hornímu okraji diagramu.
- Vložíme aktivační místa pomocí nástroje Activation bar. Aktivační místa značí časové okamžiky, kde proces něco udělá. Typicky počle zprávu (událost) jinému procesu, nebo čte zprávu jiného procesu.
- Doplníme šipky pomocí nástrojů Call/Create message a Return message. Čáry se dělají metodou táhni a pusť. Šipky vedou od toho, kdo zprávu odesílá, k tomu, kdo ji přijímá.
- Doplníme popisky aktivačních míst a zpráv pomocí nástroje Note.
- Uložíme do souboru, nebo zkopírujeme do schránky jako obrázek, nebo vyexportujeme jako obrázek