UML diagramy - část 2.
Use case diagram
Slouží pro zachycení všech případů užití aktérů, kteří interagují s navrhovaným systémem. Mezi aktéry patří například uživatelé nebo externí systémy. Tento diagram také slouží jako podklad pro odhad velikosti navrhovaného systému, díky kterému můžeme lépe ocenit celkový projekt.
V některých případech se také používá textové zachycení, kde jsou popsány:
- název případu užití, popř. identifikační zkratka
- popis
- aktéři
- priorita
- scénář akcí
- aj.
Mezi nejdůležitější konstrukty patří:
![image2](https://fra1.digitaloceanspaces.com/endevel-web/media/images/image2.width-800.png)
Tento konstrukt popisuje Aktéra (User) a všechny případy užití, které se aktéra týkají.
![image5](https://fra1.digitaloceanspaces.com/endevel-web/media/images/image5.width-800.png)
Čára <<include>> znázorňuje povinné rozšíření Use Case A případem užití Use Case B.
Čára <<exclude>> znázorňuje nepovinné rozšíření Use Case A případem užití Use Case B.
Důležité je také dodržovat směr šipek.
Na následujícím obrázku je ukázka Use case diagramu habit tracker aplikace.
![image8](https://fra1.digitaloceanspaces.com/endevel-web/media/images/image8.width-800.png)
Activity diagram
Pro zachycení průběhu aktivity nebo návrh algoritmu se používá Activity diagram. V některých případech se používá k upřesnění složitého případu užití. Dobře navržený activity diagram může pomoci k ujasnění některých částí navrhovaného systému.
Mezi nejdůležitější konstrukty patří:
Start and end nodes
![image3](https://fra1.digitaloceanspaces.com/endevel-web/media/images/image3.width-800.png)
Každý flow začíná ve Start node a končí v End node
Branch/Merge node
![image1](https://fra1.digitaloceanspaces.com/endevel-web/media/images/image1.width-800.png)
Pokud použijeme větvení, tak je důležité flow aktivity v nějakém bodě zase spojit.
V příkladu nalevo je znázorněno větvení, kde flow končí, pokud se dostane do určité větve.
Fork/Join node
![image7](https://fra1.digitaloceanspaces.com/endevel-web/media/images/image7.width-800.png)
Pokud potřebujeme v Activity diagramu zachytit paralelní běh, používá se Fork/Join konstrukt. Důležité je paralelní běh v nějakém bodě spojit.
Swimlanes
![image6](https://fra1.digitaloceanspaces.com/endevel-web/media/images/image6.width-800.png)
Tento konstrukt znázorňuje zóny zodpovědnosti pro aktéry. Všechny konstrukty v zóně aktéra patří danému aktérovi.
Na tomto obrázku je znázorněna aktivita vytvoření objednávky zákazníkem až po samotné doručení eshopu bez kamenné prodejny a doručováním pouze po online zaplacení.
![image4](https://fra1.digitaloceanspaces.com/endevel-web/media/images/image4.width-800.png)