U M L diagramy v Astah*
Ukázkový příklad objektové analýzy a návrhu v CASE nástroji Astah*
Autorka
Bc. Iveta Králová
Diagram případů užití
Diagram případů užití (Use Case Diagram) zachycuje chování systému z hlediska uživatele. Prvky diagramu případů užití jsou aktéři (Actors), případy užití (Use Cases) a vztahy (Relations). Aktér představuje roli, ve které vystupuje jeden typ uživatele v rámci své komunikace se systémem. Případ užití reprezentuje určitou funkčnost, která má být systémem pokryta. Všechny případy užití umožňují znázornit funkční požadavky na systém. [3], [6]
V rámci analýzy se vytváří model případů užití, který se skládá nejen z diagramů případů užití, ale i ze specifikací (slovních popisů) jednotlivých případů užití. [3], [25]
Podrobnější charakteristika diagramu případů užití a jeho prvků je přehledně zpracována např. v [3].
Model případů užití aplikace OB ZAVODY
V diagramu případů užití aplikace OB ZAVODY, který je zachycen na obrázku 3.1, jsou čtyři aktéři:
  • Uživatel,
  • Registrovaný uživatel,
  • Závodník,
  • Pořadatel.
Mezi aktéry je použit vztah generalizace/specializace.
Aktér "Registrovaný uživatel" je zobecněním aktérů "Závodník" a "Pořadatel". Jedná se o abstraktního aktéra, jehož použití v diagramu umožní zakreslit jen jednu komunikační vazbu mezi aktérem "Registrovaný uživatel" a případem užití "Přihlásit se k aplikaci".
Aktér "Uživatel" je zobecněním aktéra "Registrovaný uživatel". Případy užití "Vypsat všechny závody", "Zobrazit detailní informace závodu" a "Zobrazit seznam přihlášených na závod", se kterými aktér "Uživatel" komunikuje, jsou společné pro všechny uživatele aplikace, včetně neregistrovaných uživatelů. Nejedná se tedy o aktéra abstraktního, protože jeho roli v aplikaci vykonává reálně existující "neregistrovaný uživatel".
Diagram případů užití aplikace OB ZAVODY obsahuje tyto případy užití:
  • UC1 - Vypsat všechny závody,
  • UC2 - Zobrazit detailní informace závodu
  • UC3 - Zobrazit seznam přihlášených na závod
  • UC4 - Přihlásit do aplikace
  • UC5 - Přihlásit se na závod
  • UC6 - Odhlásit se ze závodu
  • UC7 - Změnit přihlášení na závod
  • UC8 - Vypsat závody, na které je závodník přihlášen
  • UC9 - Založit nový závod
  • UC10 - Vypsat pořádané závody
  • UC11 - Upravit informace o závodě
  • UC12 - Zrušit závod
  • UC13 - Upravit seznam přihlášených na závod
Případy užití "UC11 Upravit informace o závodě", "UC12 Zrušit závod" a "UC13 Upravit seznam přihlášených na závod" jsou propojené vazbou typu include s případem užití "UC10 Vypsat pořádané závody". Relace include je v diagramu z toho důvodu, že pořadatel má právo upravovat informace o závodě, zrušit závod a upravovat seznam přihlášených jen u těch závodů, které pořádá, nikoli u všech závodů.
Diagram případů užití
Obrázek 3.1 Diagram případů užití, zdroj: autor
Postup tvorby diagramu případů užití v Astah* professional
Diagram případů užití aplikace OB ZAVODY, zachycený na obrázku 3.1, můžete v programu Astah* professional vytvořit v následujících krocích:
  1. Založte nový projekt a uložte ho pod názvem např. OBzavody, viz kapitola Nový projekt a popis rozvržení obrazovky.
  2. V hlavní nabídce vyberte [Diagram] – [UseCase Diagram].
    V editoru diagramu se zobrazí okno UseCase Diagram 0/ UseCase Diagram pro návrh diagramu případů užití, dále jen diagram případů užití.
  3. Pokud chcete jednotlivé typy prvků diagramu (v tomto případě aktéry a případy užití) na první pohled odlišit a diagram tak oživit, můžete nastavit barvu pro aktéry a případy užití v tomto projektu:
    • v hlavní nabídce zvolte [Tool] – [Project] – [Set Project Properties] , což vyvolá dialogové okno Project Property Setting (viz obrázek 3.2),
    • v dialogovém okně Project Property Setting vyberte položku [New Item Color] – [UseCase] a v nově zobrazeném okně Color Choser zvolte pro případy užití např. světle zelenou barvu (viz obrázek 3.2),
    • v dialogovém okně Project Property Setting dále vyberte položku [New Stereotype Color] – [actor] a v okně Color Choser zvolte (obdobně jako v předchozím kroku) např. červenou barvu pro aktéra.
  4. Výběr barvy
    Obrázek 3.2 Nastavení barvy případu užití, zdroj: prostředí programu Astah* professional
  5. Do diagramu případů užití vložte čtyři aktéry – volba panáčka Ikona aktéra, pojmenujte je a rozmístěte pod sebe. Následně aktéry spojte vztahem generalizace/specializace – volba prázdné šipky nahoru Ikona generalizace/specializace, jako na obrázku 3.3.
  6. Generalizace/specializace aktéru
    Obrázek 3.3 Generalizace/specializace aktérů, zdroj: prostředí programu Astah* professional
  7. Do diagramu případů užití vložte 13 případů užití – volba elipsy Ikona případ užití, pojmenujte je a umístěte pod sebe napravo od aktérů.
  8. Z estetických důvodů všem případům užití doporučuji nastavit stejnou velikost:
    • označte všechny případy užití,
    • v hlavní nabídce zvolte [Alignment] – [Adjust Size] – [Adjust Size],
    • ve vyvolaném dialogovém okně s názvem Adjust Size zvolte možnost přizpůsobení velikosti prvků diagramu podle jednoho vybraného prvku – [Adjust to the size of the selected element] a z nabídnuté tabulky vyberte např. případ užití Zobrazit seznam přihlášených na závod (viz obrázek 3.4).
    Přizpůsobeni velikosti prvku diagramu
    Obrázek 3.4 Přizpůsobení velikosti, zdroj: prostředí programu Astah* professional
  9. Aktéry spojte šipkou s příslušnými případy užití – volba vodorovné čáry, v jejímž rozbalovacím menu je šipka, viz obrázek 3.5.
    Ikona šipka Generalizace/specializace aktéru
    Obrázek 3.5 Propojení aktérů s případy užití, zdroj: prostředí programu Astah* professional
  10. Poslední tři případy užití Upravit informace o závodě, Zrušit závod a Upravit seznam přihlášených na závod spojte vztahem include – volba I s přerušovanou šipkou Ikona include s případem užití Vypsat pořádané závody. Zakřivený tvar šipky naleznete pod volbou šikmé čáry (vpravo v nabídce), kde z rozbalovacího menu vyberte křivku, viz obrázek 3.6.
    Ikona zakřivená šipka
    Vztah include se zakřivenou šipkou
    Obrázek 3.6 Vztah include se zakřivenou šipkou, zdroj: prostředí programu Astah* professional
  11. Případy užití doporučuji zarovnat, aby byly pod sebou:
    • všechny případy užití, kromě posledních dvou se vztahem include, označte,
    • v hlavní nabídce zvolte [Alignment] – [Align Vertically] – [Align Left].
  12. Všechny případy užití orámujte obdélníkem, který značí hranici systému – volba obdélníku Ikona hranice systému a do jeho levého horního rohu umístěte text OB ZAVODY – volba Ikona text, viz finální obrázek 3.1.
  13. Hotový diagram případů užití můžete vyexportovat do formátu JPEG, viz kapitola Export obrázku.
Ukázková specifikace případu užití Přihlásit se na závod
Součástí modelu případů užití jsou rovněž specifikace jednotlivých případů užití (scénáře případů užití), které představují sekvenci kroků popisujících interakci mezi aktérem a systémem.[6] Jazyk UML nedefinuje žádný standardní způsob, jak specifikaci případu užití zapisovat a v různých případech jsou vhodné různé formáty. [6], [4] V tabulce 3.2 je zachycena ukázková specifikace případu užití UC5 Přihlásit se na závod, jejíž formát je převzatý z [3].
Název případu užití Přihlásit se na závod
Identifikace případu užití UC5
Cíl případu užití Přihlásit se na vybraný závod
Primární aktér(ři) Závodník
Pomocný aktér(ři) -
Vstupní podmínky Závodník je přihlášen k aplikaci, zvolí vypsat všechny závody a u vybraného závodu ze seznamu zadá volbu přihlásit se na závod
Výstupní podmínky Závodník je přihlášen na vybraný závod
Základní scénář
Krok Role Akce
1 Systém kontroluje, zda již nevypršel termín řádných přihlášek
2 Systém pokud termín řádných přihlášek nevypršel, kontroluje, zda závodník není na tento závod již přihlášen
3 Systém pokud závodník není na tento závod přihlášen, zobrazí formulář pro přihlášení na závod, kde jméno závodníka je předvyplněno dle registračního čísla, pod kterým se přihlašuje do aplikace
4 Aktér zadá údaje: kategorie, číslo SI, jednu z možností vlastní čip/požaduji zapůjčit/doplním později, licence, požadovaný start (nepovinně), poznámka (nepovinně)
5 Aktér zvolí, že chce dokončit přihlášku
6 Systém provede kontrolu zadaných údajů
7 Systém pokud není chyba, uloží přihlášku do systému
Alternativní scénář 2a:
Termín řádných přihlášek vypršel
Krok Role Akce
2a1 Systém pokud vypršel termín řádných přihlášek, zobrazí hlášení „Prostřednictvím aplikace se již nelze přihlásit, protože termín řádných přihlášek vypršel. Pro dodatečné přihlášení kontaktujte pořadatele.“
2a2 Systém nabídne kontakt na pořadatele
Alternativní scénář 3b:
Závodník je již přihlášen na závod
Krok Role Akce
3b1 Systém pokud je závodník již na závod přihlášen, zobrazí hlášení „Závodník jméno příjmení je již na závod přihlášen.“
3b2 Systém nabídne volbu odhlásit se závodu (viz UC6 Odhlásit se závodu) a volbu změnit přihlašovací údaje závodníka (viz UC7 Změnit přihlášení na závod)
Alternativní scénář 7c:
Chyba vstupních údajů
Krok Role Akce
7c1 Systém pokud je chyba vstupních údajů, zobrazí chybové hlášení
7c2 Aktér opraví položku(y), k níž (nimž) se vztahuje chybové hlášení)
7c3 Aktér pokračuje od bodu 5 základního scénáře

Tabulka 3.2 Specifikace případu užití, zdroj: autor dle šablony [3]

Možnosti uchovávání specifikací případů užití:

  1. Specifikace případů užití je možné vytvářet a uchovávat externě, bez propojení s případy užití. Takto vytvořený model případů užití s jejich specifikacemi můžete udržovat např. pomocí adresářové struktury operačního systému.
  2. Specifikace případů užití můžete vytvořit externě, a následně je importovat a připojit k jednotlivým případům užití v CASE nástroji, v němž jsou potom uchovávány s nimi propojené.
  3. Specifikace případů užití vytvořit přímo v CASE nástroji, kde je můžete snadno uchovávat propojené s jednotlivými případy užití.
Následuje postup vytvoření specifikace případů užití v Astah* professional:
  • v lokálním menu případu užití zvolte [Open UseCase Description],
  • otevře se okno s názvem NázevPripaduUziti/ UseCase Description, ve kterém vyplníte jednotlivé položky specifikace případu užití.
Program umožňuje i vytváření vlastních šablon pro specifikace případů užití:
  • v hlavní nabídce zvolte [Tool] – [Set Template] – [UseCase Description]
  • otevře se okno s názvem Set UseCase Description Template jako na obrázku 3.7, ve kterém lze nadefinovat vlastní specifikace případů užití.
Šablona specifikace případů užití
Obrázek 3.7 Nastavení šablony specifikace případů užití, zdroj: prostředí programu Astah* professional
Na ukázku jsem v programu nadefinovala šablonu specifikace případu užití UC5 Přihlásit se na závod stejnou jako v tabulce 3.5. Zachycuje ji obrázek 3.8.
Specifikace případů užití
Obrázek 3.8 Specifikace případu užití v Astah* professional, zdroj: autor