Diagram případu užití Use Case Diagram
1
Případy užití • Případy užití se orientují na chování systému z vnějšího pohledu. • Případ užití popisuje funkci poskytovanou systémem, která přináší viditelný výsledek pro aktora. • Aktor reprezentuje libovolnou entitu, která je se systémem v interakci (uživatel, jiný systém, fyzické okolí systému). 2
Případy užití • Případ užití popisuje chování systému tak jak je viděno z pohledu aktora. • Aktoři inicializují případ užití, aby zpřístupnili funkcionalitu systému. • Případ užití může iniciovat jiné případy užití a také získat více informací od aktorů. • Když aktoři a případy užití si vyměňují informace, říkáme, že komunikují. 3
Řídící systém mimořádných událostí • Aktoři – terénní pracovník, dispečer. • Terénní pracovník zaznamenává událost pomocí počítače (wifi) do databáze. • Dispečer vizualizuje aktuální stav události, a aktuální stav policejních a požárních aut a přiděluje zdroje (techniku, lidi).
4
Navigační databáze
Hlášení mimořádné události
Dispečer Terénní pracovník
Otevření mimořádné události
Přidělení zdrojů
• Terénní pracovník vyvolává (spouští) případ užití „Hlášení mimořádné události“. • Tím informuje dispečera o nové mimořádné události. • Odpovědí dispečera je vyvolání případu užití „Otevření mimořádné události“, aby událost zaznamenal a inicioval zpracování události. • Dispečer získá předběžné informace o události z „hlášení mimořádné události “ z databáze a přidělí další jednotky k řešení události tj. případ užití „Přidělení zdrojů“. 5
Textová reprezentace případu užití • Atributy případu užití: – Jméno - jedinečné – Zúčastnění aktoři (jsou v interakci s případem užití) – Vstupní podmínky pro inicializaci případu užití
6
Jméno případu užití
Hlášení mimořádné události
Zúčastnění aktoři
Iniciace terénním pracovníkem, komunikace s dispečerem
Tok událostí
1. TP aktivuje „Hlášení mimořádné události“ . 2. IS odpoví formulářem k vyplnění. 3. TP vyplní formulář, stupeň důležitosti, typ, lokace, popis situace. Také popis nutných zdrojů. Odeslání formuláře. 4. IS obdrží formulář a informuje dispečera. 5. Dispečer vyhodnotí získané informace a vytvoří nový Incident v databázi pomocí případu užití „Otevření mimořádné události“. Dispečer vybere odpověď (akci). 6. IS potvrdí dispečerovi vybranou odpovědí.
Vstupní podmínky
TP se přihlásí do IS.
Výstupní podmínky
TP obdržel potvrzení své zprávy a vybranou odpověď od dispečera, nebo dostal vysvětlení proč nebyla transakce zpracovaná.
Požadavky kvality
Zpráva od TP je potvrzena do 30 sekund. Vybraná reakce přijde do 30 sekund od odeslání dispečerem.
7
Vztahy komunikace • Aktoři a případy užití komunikují, když jsou mezi nimi vyměňovány informace. • Komunikační vztahy jsou vyjádřeny plnými čarami mezi aktory a případy užití. • Komunikační vztahy mezi aktory a případy užití se používají k naznačení (symbolizování) přístupu k funkcionalitě.
8
Vztah include • Při popisu složitého systému – model případu užití je také složitý a obsahuje nadbytečnosti (zbytečné opakování). • Ke snížení složitosti modelu identifikujeme společné věci v různých případech užití. – např. dispečeru se po stisknutí dané klávesy zobrazí mapa ulice – to je možné modelovat případem užití „Zobraz mapu“, který je začleněn do „Otevření mimořádné události“. 9
• Dva případy užití jsou propojeny vztahem (relací) „include“, znamená, že používají další případ užití. • Vztah „include“ se značí čárkovanou čarou, s popisem „include“ a se šipkou označující která případ užití používá jiný případ užití.
10
Vztah extend • Vztah extend představuje alternativní prostředky ke snížení složitosti modelu případu užití. • Případ užití může rozšířit jiný případ užití přidáním událostí. • Vztah „extend“ naznačuje, že instance rozšířeného případu užití zahrnuje (za daných podmínek) chování specifikované rozšířeným (extended) případem užití. 11
Vztah extend • Typickým příkladem pro vztah „extend“ je specifikace výjimečného chování (exceptional behaviour). • Např. síťové spojení dispečera a TP může být přerušeno kdykoli. (TP vjede do tunelu). • Případ užití „ConnectionDown“ popisuje množinu událostí, které provede systém, když je spojení přerušeno. 12
• Případ užití „ConnectionDown“ rozšiřuje případy užití „Otevření mimořádné události“ a „Přidělení zdrojů“ . • Oddělením zpracování výjimky nám dovolí psát efektivnější , přehlednější a kratší kód. • Čárkovaná čára směřující od výjimečného případu užití ke standardním případům užití. 13
Jméno případu užití
ConnectionDown
Zúčastnění aktoři
Terénní pracovník, dispečer
Tok událostí
---
Vstupní podmínky
Tento případ užití rozšiřuje (extends) případy užití „Otevření mimořádné události“ a „Přidělení zdrojů“. Je iniciován systémem, když je ztraceno síťové spojení mezi dispečerem a terénním pracovníkem.
Výstupní podmínky
---
14
Rozdíl mezi vazbami include a extend • Rozdílem je umístění závislosti. • Předpoklad, máme další nové případy užití pro dispečera, např. AktualizaceIncitentu, RelokaceZdrojů. • Pokud bychom modelovali případ užití ConnectionDown pomocí include, oba nové případy užití musí vědět o include případu užití ConnectionDown. 15
Rozdíl mezi vazbami include a extend • Při použití vazby extend pro ConnectionDown, modifikovaný musí být pouze „ConnectionDown“, aby pokryl dodatečné případy užití. • Vyjímečné případy jsou většinou modelovány pomocí vazby extend. • Případy užití, které popisují všeobecné chování sdílené množinou případů užití, jsou modelovány s vazbou include. 16
Vztah dědičnosti • Vztah dědičnosti je třetím mechanismem pro snížení složitosti modelu. • Jeden případ užití může specializovat jiný všeobecnější případ užití. • V našem případě, TP je žádán, aby se autentikoval před vstupem do IS. • Autentizace se popsána jako všeobecný případ užití, který se může dále specializovat. 17
• Autentizace – potvrzení pravosti • Zjemnění činnosti zahrnuje autentizaci heslem nebo autentizaci kartou.
18
Jméno případu užití
Autentizace s kartou
Zúčastnění aktoři
Zděděni z případu užití Autentikace
Tok událostí
1. 2. 3. 4.
Vstupní podmínky
Zděděné z Autentikace - případu užití
Výstupní podmínky
Zděděné z Autentikace - případu užití
TP vloží svoji kartu do rerminálu. Terminál potvrdí kartu a žádá o číslo PINu. TP vloží číslo svého PINu. Terminál zkontroluje PIN s pinem na vložené kartě. Pokud se PINy shodují, je TP autentizován. Jinak terminál odmítne vstup.
19
Vazby mezi případy užití • Všimněte si, že vazby extend a dědičnosti (inheritance) jsou odlišné. • Ve vazbě extend, každý případ užití popisuje odlišný tok událostí k dokončení odlišného úkolu. • Ve vazbě dědičnosti, případy užití popisují stejný tok událostí k dokončení společného úkolu. 20
Scénáře • Případ užití je abstrakce, která popisuje všechny možné scénáře zahrnující popisovanou funkcionalitu. • Scénář je instance případu užití, popisující konkrétní množinu akcí. • Scénáře jsou používány jako příklady pro ilustraci společných případů; jejich záměrem je srozumitelnost. 21
Scénáře • Scénář standardně popisujeme pouze tři pole: – jméno – zúčastnění aktoři – tok událostí
• Vstupní a výstupní podmínky se používají v případech užití, které jsou abstrakcemi scénářů.
22
Jméno scénáře
Hoří velkosklad
Zúčastněné instance aktorů
Josef, Alena: terenní pracovníci Jan: Dispečer
Tok událostí
1. Josef během řízení zpozoroval kouř přicházející z velkoskladu. Alena aktivovala Hlášení momořádné události. 2. Alena vložila adresu budovy, krátký popis místa a úroveň mimořádné události. Žádala hasičské jednotky. Odeslala zprávu a čeká na potvrzení. 3. Dispečer Jan byl upozorněn na mimořádnou událost akusticky. Obdržel informace od Aleny a potvrdil jejich příjem. Alokoval dvě požární jednotky a zaslal odhadovaný čas jejich příjezdu Aleně. 4. Alena obdržela potvrzení o přijetí její zprávy a předpokládaný čas příjezdu hasičů.
23
Diagram tříd • Diagram tříd popisuje strukturu systému v termínech tříd a objektů. • Třídy jsou abstrakce, které specifikují atributy a chování množiny objektů. • Diagram objektů se liší od diagramu tříd: – název objektu je podtržený, – datové atributy jsou konkrétní.
24
• Diagram tříd- třídy, které se
zúčastní v případu užití: „Hlášení mimořádné události“. • Asociace mezi třídami, kardinality a role. 25
• Diagram objektů,
uvedeny pouze konkrétní vztahy. Linky mezi objekty. 26
Asociace a linky (spojení) • Link (spojení) reprezentuje spojení dvou objektů. • Asociace jsou relace (vztahy) mezi třídami a tedy reprezentují skupinu linků – viz předchozí obrázky.
27
Navigace - směrování • Jednosměrná asociace. • Navigace směrem od Mnohoúhelníku k Bodu znamená, že pouze Mnohoúhelník zná bodu, ze kterých je složen. • Bod neví do kterého Mnohoúhelníku patří.
28
Asociační třída • Asociace jsou podobné třídám tím, že mohou mít také k sobě připojené atributy a operace.
29
Asociační třída • Asociační třída se také může převést na klasickou třídu s jednoduchými asociacemi.
30
Role a kardinality (násobnosti) • Role – na každém konci asociace může být označení role. • Kardinality: je uvedeno na koncích asociace – one-to-one – one-to-many (1..n, 0..n) – many-to-many.
31
32
• Přidáním kardinality k asociacím, zvyšujeme množství informací ,
které získáme z aplikace nebo domény řešení. •Specifikace kardinalit asociací se stává kritickou, když určujeme, který případ užití je nutný k manipulaci s aplikačními doménovými objekty. • Např. souborový systém je tvořen adresáři a soubory. Adresář může obsahovat jakýkoli počet Prvků Souborového Systému. • V případě striktně hierarchického systému, Prvek Souborového Systému je součástí přesně jednoho adresáře, což označíme jako one-to-many. 33
• Avšak
v případě, že Soubor nebo Adresář může být současně částí více než jednoho adresáře, musíme reprezentovat agregaci PrvkuSouborovehoSystemu do Adresářů jako asocoaci many-to-many.
34
Agregace • Asociace se používají pro široký rozsah spojení mezi objekty. • Speciálním případem asociace je agregace. • Agregace představuje „volnou“ vazbu mezi celkem a jeho částmi.
35
Kvalifikace • Kvalifikace je technika ke snížení kardinalit (násobnosti) pomocí klíčů. • Asociace 0..1 nebo 1 je snazší než 0..n, 1..n. • Často v případě asociace 1..n, mohou objekty na straně many rozlišeny od jiných přidáním jména. • Každý soubor je jednotně identifikován podle jména souboru. 36
Kvalifikace • Vztah mezi adresářem a souborem se nazývá kvalifikovaná asociace. bez kvalifikace
Adresar
1
*
Soubor jmenoSouboru
s kvalifikací Adresar
jmenoSouboru
1
0..1 Soubor
37
Dědičnost
• Vyjádření vztahů nadtříd a podtříd, datové atributy, metody. 38