Pořadí prvků typu Actor resp. include v UC diagramu (z cyklu zajímavé otázky ze školení)

Účastnici e-kurzu Čtvrtletní vzdělávací program profesního růstu analytika dostali za úkol vytvořit Use Case Diagram na základě zadání. Ve výsledném  diagramu figurovalo vícero prvků typu Actor a některé z nich jako externí systémy. Ze zadání a následně za scénáře případu užití bylo zřejmé, že tyto prvky Actor se v algoritmu scénáře použijí v určitém pořadí.

Jeden z účastníků vznesl dotaz, zda lze nějak toto pořadí použití znázornit v UC Diagramu, když ho známe.

Odpověď zněla: Nebývá to zvykem, protože smysl a poslání prvků typu Actor v UC Diagramu je jiné, než ukázat jejich pořadí použití ve scénáři. Prvky typu Actor pomáhají zejména v tom, abychom nalezli všechny interakce „okolí versus systém“. Jedná se tedy hlavně o dobré analytické vodítko pro nalezení interfaců, které se následně řeší až do technologie komunikace vůči okolí. Pokud ale chcete, dá se v Use Case Diagramu použití prvků typu Actor ve scénáři znázornit i s daným pořadím.

Tento článek pojednává možnosti, jak znázornit pořadí prvků typu Actor (resp. analogicky jak znázornit pořadí interakcí include).

Pořadí interakce „use“ u prvků typu Actor

Představme si situaci, kdy ve scénáři případu užití se v řadě za sebou použije několik prvků typu Actor.

Například při zpracování nějakého konkrétního požadavku od Obsluhy (Use Case XY)  se provedou ve scénáři nejprve nějaké kroky, následně se použije nějaká externí knihovna (označme jako External system 1), od ní se přijme výsledek, poté se provedou další kroky scénáře a poté se použije další externí systém (označme jako External system 2), například nějaké údaje se odešlou „ven“ do tohoto externího systému External system 2.

Některé metodické školy používající UML zavádějí pouze jeden prvek typu Actor v UC diagramu a to ten, který vše „inicializuje“ („Actor jako trigger“). Tento postup sice zjednodušuje tvorbu UC modelu, ale přicházíme tak o vynikající možnost nalézat a zobrazit interakce „okolí-systém“ a to již v ranných fázích analýzy. Považuji proto za přínosnější a praktičtější znázornit veškerou komunikaci „okolí-systém“ pomocí dalších prvků Actor (někdy se nazývají také jako sekundární).

Doporučuji tedy v našem příkladu znázornit všechny tři prvky typu Actor. Jinak řečeno identifikovali jsme v našem příkladu tři interakce „okolí-systém“. V budoucnu budeme ted řešit (až do technologie) 3 interfacy „okolí-systém“.

V Use Case Diagramu pak může výsledek vypadat nějak takto:

Představme si dále, že vzhledem ke znalosti průběhu scénáře by bylo možné určit i pořadí použití prvků typu Actor. Existuje několik možností, jak toho docílit. Domnívám se, že ideální je použít prvek typu Constraint.

Otevřeme editaci interakce „use“ (spojnice Actor – Use Case) a zavedeme v této interakci nový Constraint takto {order = <číslo> }:

Po zavedení těchto prvků Constraint u všech spojnic „use“ poté vidíme i tyto prvky typu Constraint s udáním pořadí:

Pokud bychom chtěli vypnout zobrazení prvků typu Constraint, tak klikneme pravým tlačítkem nad daným prvkem label a zvolíme „Hide label“.

Opětovné zobrazení provedeme opět přes pravé tlačítko, je třeba zvolit Visibility / Set Label Visibility a zaškrtnout daný prvek.

Interakce include a její pořadí

Podobnou konstrukci můžeme použít i pro interakci include.

Ve scénáři se include projeví použitím daného „inkludovaného“ případu užití a jeho přímým oslovením, např. takto: „…a dále se použije UC A1“. Tento případ užití musí mít ve scénáři stejný název, jako má UC znázorněný v diagramu (je to tentýž případ užití). Podobně jako u prvků typu Actor můžeme pomocí prvků Constraint také u interakce include znázornit pořadí, tj. ve scénáři se tyto „include“ použijí v daném pořadí.

Otevřeme editaci dané spojnice include vytvoříme stejným mechanismem prvky typu Constraint. Výsledný diagram pak může vypadat nějak takto:

Můžeme opět podle stejného postupu jako předešle dané prvky typu Constraint nechat schovat resp. zobrazit.

Závěr

Technika zobrazení pořadí při použití prvků typu Actor resp. interakcí include v UC Diagramu se většinou nezavádí, ale pokud by bylo přínosné dané pořadí zobrazit, můžeme k tomu použít prvky typu Constraint u interakcí.

Prvky typu Constraint lze na diagramu schovat resp. zpětně zobrazit.


Uveřejněno

v

od

Značky:

Komentáře

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *