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:

  1. 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.
  2. 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.
  3. 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á.
  4. Doplníme popisky aktivačních míst a zpráv pomocí nástroje Note.
  5. Uložíme do souboru, nebo zkopírujeme do schránky jako obrázek, nebo vyexportujeme jako obrázek