Archyno
UMLDiagramy chování

UML diagramy případů užití

Diagram o rozsahu, ne o návrhu. Kdo systém používá, k čemu ho používá a kde vlastně leží hranice toho, co stavíte - kreslený dřív, než vznikne první třída.

13 min čteníUML 2.5.111 z 35

Krátká odpověď

  • Diagram případů užití je mapa rozsahu: kdo se systémem interaguje, s jakými cíli přichází a kudy vede hranice mezi vnitřkem a vnějškem.
  • Případ užití je cíl, který aktérovi přináší hodnotu, ne krok ani obrazovka. Aktéři jsou role a vždy stojí mimo hranici.
  • «include» vede od základního případu k chování, které proběhne vždy; «extend» vede od volitelného rozšíření zpět k základu. Směry jsou opačné a právě v tom se nejčastěji chybuje.
  • Diagram je obsah knihy. Výstupem je popis případu užití za každou elipsou - hlavní aktér, předpoklady, hlavní úspěšný scénář, rozšíření a následné podmínky.
UML diagram případů užití. Aktér Obchodník stojí mimo hranici systému Checkout a je asociovaný se třemi případy užití: podat platbu, autorizovat platbu a vrátit platbu. Podat platbu i vrátit platbu zahrnují autorizovat platbu. Zaznamenat audit rozšiřuje vrátit platbu. Autorizovat platbu je asociované se Službou pro podvody, sekundárním aktérem vpravo.
Diagram případů užití pro pokladní systém. Obdélník je hranice systému: všechno uvnitř stavíte vy, všechno venku je někdo, s kým se bavíte.

01Co ukazuje a co záměrně neukazuje#

Diagram případů užití je mapa rozsahu. Pojmenovává lidi a systémy, které komunikují s tím, co stavíte, cíle, se kterými k tomu přicházejí, a čáru mezi vnitřkem a vnějškem. To je všechno, co dělá, a právě jeho zdrženlivost je smyslem.

Neříká nic o pořadí. Nic o obrazovkách, polích či algoritmech. Nic o tom, jak cokoli funguje. Každé z toho je jiný diagram a pokušení propašovat je na tenhle je to, co vyrábí rozbujelé a nepoužitelné diagramy případů užití, které této notaci udělaly špatné jméno.

02Jak najít aktéry a případy užití#

Seznam vám nikdo nedá. Diagram výše vypadá po nakreslení samozřejmě a předtím samozřejmý vůbec nebyl; mezeru mezi prázdným papírem a tím obrázkem vyplní čtyři otázky, které se v místnosti dají položit za dvacet minut.

  1. Kdo tu něco začíná? Každý z nich je kandidát na primárního aktéra. Ptejte se na roli, ne na jméno - člověk, který řekl „to dělám já“, je jedním nositelem role, která ho přežije.
  2. Kdo nebo co něco dostává, aniž by o to žádal? Reporty, soubory, notifikace, zúčtovací běhy. Tohle jsou podpůrní aktéři na pravé straně hranice a je to ta polovina diagramu, která většině prvních návrhů chybí.
  3. Co tam musí být, aby to fungovalo? Platební poskytovatelé, identitní služby, mainframe, protipodvodný engine. Cokoli, kvůli čemu byste zakládali ticket jinému týmu, je mimo hranici a patří na diagram - jeho nakreslení bývá okamžikem, kdy si někdo uvědomí, že ta závislost nikdy nebyla dohodnuta.
  4. Co se děje proto, že uběhl čas? Noční rekonciliace, čtrnáctidenní expirace, měsíční fakturace. Čas je aktér, kreslí se jako panáček s popisem Clock nebo Scheduler, a procesy, které ho vynechají, končí s případy užití, které zdánlivě nikdo nezačíná.

Pak pojmenujte každý cíl z aktérovy strany pultu, slovesem napřed, jeho slovníkem: Submit payment, ne Payment submission handling a už vůbec ne PaymentController. Pokud název dává smysl jen někomu, kdo viděl kód, je to krok v případu užití, ne případ užití.

03Čtyři značky#

PrvekNotaceCo znamená
AktérpanáčekRole mimo systém - člověk, jiný systém nebo hodiny. Role, ne konkrétní jedinec: Merchant, nikdy Anna.
Případ užitíelipsaCíl, který systém doručuje, pojmenovaný slovesem napřed.
Hranice systémuobdélníkPředmět. Případy užití jdou dovnitř, aktéři vždy ven. Její název je to, co stavíte.
AsociaceTento aktér se účastní tohoto případu užití. Šipka není potřeba.
IncludePřerušovaná šipka od základního k vloženému případu. Vložené chování proběhne vždy.
ExtendPřerušovaná šipka od rozšíření k základnímu případu. Chování proběhne jen někdy.
GeneralizacePrázdný trojúhelník u obecnějšího. Funguje mezi aktéry i mezi případy užití.

04Include a extend bez zmatku#

Tyhle dva jsou důvodem, proč se diagramy případů užití kreslí špatně. Oba jsou přerušované šipky s klíčovým slovem a ukazují opačnými směry.

«include» ukazuje od základního případu k tomu, co vždy dělá. Čtěte to jako „volá“. V diagramu výše Submit payment zahrnuje Authorize payment: nejde odeslat bez autorizace. Existuje proto, aby vyňal chování sdílené několika případy - a přesně proto ho zahrnuje i Refund payment.

«extend» ukazuje od nepovinného doplňku zpět k základnímu případu. Čtěte to jako „může přerušit“. Log audit trail rozšiřuje Refund payment: refundace fungují i bez něj a děje se za jisté podmínky. Základní případ o svých rozšířeních neví.

Generalizace aktérů. Aktér Správce obchodníka i aktér Personál obchodníka míří prázdnými trojúhelníky na obecného aktéra Uživatel obchodníka, což znamená, že každý z nich je druhem uživatele obchodníka.
Generalizace funguje i na aktérech. Obě konkrétní role ukazují na obecnou, což znamená, že každá z nich umí všechno, co umí obchodník.

05Za bublinou: popis případu užití#

Diagram je obsah knihy. To, z čeho se opravdu staví, je popis případu užití za každou elipsou - a projekt, který nakreslí diagram a popisy nikdy nenapíše, vyrobil obrázek práce místo její specifikace. Právě o téhle části notace neříká nic, a proto tolik týmů zůstane u obrázku.

Existují tři užitečné hloubky a výběr je rozhodnutí projektu, ne modelování. Stručný popis jsou dvě věty v backlogu. Volný je odstavec na scénář. Plně rozvinutý má pole níže a vyplatí se u té hrstky případů, které nesou skutečné peníze nebo skutečné riziko.

  • Název. Popis elipsy, sloveso napřed: Authorize payment.
  • Primární aktér. Ten, kdo chce výsledek. Merchant.
  • Zainteresovaní a jejich zájmy. Komu dalšímu na tom záleží a co z toho potřebuje. Akviziční banka chce platný autorizační kód; protipodvodný tým chce mít pokus zaznamenaný bez ohledu na to, zda uspěl. V tomhle poli se objeví většina chybějících požadavků.
  • Předpoklady. Co už platí, když případ začíná - obchodník je přihlášen, objednávka existuje. Ne seznam kroků, ale seznam záruk.
  • Hlavní úspěšný scénář. Očíslovaná šťastná cesta, krok aktéra a pak krok systému, v jazyce byznysu. Někde mezi pěti a dvanácti kroky; víc znamená, že případ užití jsou ve skutečnosti dva.
  • Rozšíření. Očíslovaná podle kroku, ze kterého se větví - 4a, 4b, 7a - každé s podmínkou a s tím, co se stane. Tohle je pole, kvůli kterému se formát vyplatí, protože je systematickou pobídkou pro každý způsob, jakým šťastná cesta selže.
  • Následné podmínky. Co platí potom, při úspěchu i při každém selhání. „Autorizace je zaznamenána a prostředky jsou blokovány“ jde otestovat způsobem, jakým „platba je zpracována“ ne.

Rozpracováno v malém pro Authorize payment: hlavní úspěšný scénář je (1) obchodník odešle platbu, (2) systém ověří částku objednávky, (3) systém požádá akviziční banku o autorizaci, (4) banka vrátí schválení, (5) systém zaznamená blokaci a potvrdí. Práce je v rozšířeních - 3a bance vyprší čas, 4a banka zamítne, 4b banka si vyžádá dodatečné ověření - a každé z nich je rozhovor, který by jinak někdo vedl o šest týdnů později při triáži chyb.

06Kdy takový diagram kreslit#

Sáhněte po něm, když

  • Dohadování rozsahu na začátku projektu s lidmi, kteří nečtou kód
  • Zjišťování, na kterých externích systémech opravdu závisíte
  • Výroba seznamu, ze kterého jde odvodit testovací plán nebo backlog
  • Ukázání, že požadavek patří do cizího systému, ne do vašeho

Sáhněte po něčem jiném, když

  • Chcete ukázat posloupnost kroků - to je diagram aktivit nebo sekvenční
  • Systém má jednoho aktéra a čtyři případy užití; odrážkový seznam je jasnější
  • Máte chuť rozkládat případy užití na podpřípady do tří úrovní
  • Publikem jsou inženýři, kteří potřebují návrh, ne rozsah

Užitečný diagram případů užití se vejde na jednu stránku a má někde mezi třemi a deseti elipsami. Je to obsah, ne kniha. Detail patří do popisů případů užití - očíslovaného hlavního toku a jeho alternativ - nebo, pokud je tok dost větvený na to, aby se vyplatilo ho nakreslit, do diagramu aktivit na každý případ.

07Časté chyby#

  1. Funkční rozklad. Dvacet elips pojmenovaných podle tlačítek. Případy užití jsou cíle; pokud to není něco, co aktér chce, nepatří to sem.
  2. Aktéři pojmenovaní podle lidí nebo pozic z organigramu. Modelujte roli. Jeden člověk může být několika aktéry a jeden aktér může být dávková úloha.
  3. Prohozené šipky «include» a «extend». Ukazují opačně. Použijte test odstranění z výše uvedeného.
  4. Aktéři uvnitř hranice. Hranice je to, co stavíte. Aktér je z definice mimo ni.
  5. Pořadí naznačené svislou pozicí. Diagram případů užití nemá časovou osu. Nic na rozvržení neříká, co se děje dřív.

Po jednom řádku na každé

  1. 01Diagramy případů užití odpovídají na kdo a nač - nikdy na jak a v jakém pořadí.
  2. 02Případ užití je cíl, který aktérovi přináší hodnotu, pojmenovaný slovesem napřed.
  3. 03Aktéři jsou role a vždy stojí mimo hraniční obdélník.
  4. 04«include» ukazuje od základního případu k chování, které proběhne vždy.
  5. 05«extend» ukazuje od nepovinného doplňku zpět k základnímu případu.
  6. 06Tři až deset případů na jednu stránku; detail žije v popisech, ne na plátně.

08Časté dotazy#

Jaký je rozdíl mezi include a extend?

Include znamená, že základní případ užití vždy spustí ten zahrnutý, jde tedy o vyňaté chování a šipka míří od základního k zahrnutému. Extend znamená, že rozšiřující případ proběhne jen za podmínky, a šipka míří opačně, od rozšíření k základu. Právě směr si lidé nejčastěji pletou.

Co je aktér v diagramu případů užití?

Cokoli mimo systém, co s ním interaguje: člověk v roli, jiný systém nebo naplánovaný spouštěč. Aktér je role, ne jednotlivec, takže jeden člověk může být dvěma aktéry a jeden aktér může být mnoha lidmi.

Co do diagramu případů užití nepatří?

Pořadí, data a návrh. Diagram případů užití odpovídá na to, kdo to používá a k čemu, ne v jakém pořadí nebo s jakými poli. Zjistíte-li, že kreslíte kroky, chcete diagram aktivit.

K čemu je rám hranice systému?

Obdélník kolem případů užití vyznačuje to, co stavíte. Aktéři stojí venku a případy užití uvnitř. Je to prvek, který z diagramu dělá výrok o rozsahu, a to je hlavní důvod ho vůbec kreslit.

Co patří do popisu případu užití?

Plně rozepsaný má název, hlavního aktéra, zainteresované strany a to, co každá z nich potřebuje, předpoklady, očíslovaný hlavní úspěšný scénář, rozšíření očíslovaná podle kroku, ze kterého se větví, a následné podmínky. Formát si zaslouží právě pole rozšíření, protože je systematickou výzvou promyslet každý způsob, jakým může šťastná cesta selhat.

V této sérii

Související články

Všechny články