Příklady diagramů aktivit
Tři diagramy aktivit procesů, které znáte - CI pipeline, třídění ticketů a fragment, který ukončuje dva tokeny různě - vždy s odůvodněním každého uzlu.
8 min čteníUML 2.5.114 z 35
Krátká odpověď
- Nejsrozumitelnější příklad je CI pipeline: sestavení, pak tři kontroly souběžně za vidlicí, spojení čekající na všechny tři a větvení podle výsledku.
- Hrany vycházející z vidlice nikdy nenesou stráže, protože se použijí všechny. Stráže patří na hrany vycházející z rozhodnutí.
- Konec toku ukončí jeden token, konec aktivity ukončí všechno. Kroužkovaný kruh na vedlejší větvi tiše zabije hlavní tok.
- Poslední hraně z rozhodnutí dejte stráž [else]. Bez ní může token dorazit tam, kde neplatí žádná stráž, a aktivita uvázne.
01Příklad 1: paralelní práce za rozvětvením#
Build pipeline je nejjasnějším prvním příkladem, protože souběžnost je tu skutečná, ne pomyslná. Jednotkové testy, linting a sken závislostí opravdu běží naráz, nic dál po proudu nemůže začít, dokud všechny tři neskončí, a každý to už viděl.
Práci dělají ty dva plné pásy. Horní je rozvětvení: přijde jeden token a odejdou tři, takže běží všechny tři větve. Dolní je spojení: čeká, dokud token nepřijde po každé vstupní hraně, a teprve pak nechá jeden pokračovat. Vyměňte kterýkoli za kosočtverec a diagram teď tvrdí něco nepravdivého - kosočtverec se spustí u prvního tokenu a nikdy nečeká.
Všimněte si těch dvou samostatných koncových uzlů. Selhaný build a nasazený build jsou rozdílné konce a nakreslit je jako dva kotouče s prstencem je legální i jasnější než směrovat oba zpět do jednoho. UML neklade žádný limit na to, kolik koncových uzlů aktivity aktivita má.
02Příklad 2: trojcestné větvení s vyčerpávajícími strážemi#
Většina obchodních procesů není souběžná. Jsou to rozhodnutí s několika výsledky, které se později sejdou, a to je tvar níže.
Tři věci na tomhle diagramu jsou záměrné. Stráže jsou vyčerpávající: [sev 1], [sev 2 or 3] a [else] dohromady pokryjí každý tiket, takže žádný token nemůže dorazit ke kosočtverci a nenajít kam jít. Token bez povolené odchozí hrany je zastavený proces a je to vada, kterou se vyplatí zachytit na papíře.
Dolní kosočtverec je sloučení, ne spojení, a na tom rozdílu záleží: token nese vždy jen jedna z těch tří cest, takže čekat na všechny tři by se okamžitě zablokovalo. Pravidlo se snadno drží - kosočtverec zavírá to, co kosočtverec otevřel, a pás zavírá to, co otevřel pás.
Konečně, každá akce je slovesná fráze v rozkazovacím způsobu: „Přivolat pohotovost“, ne „Přivolávání pohotovosti“. Podstatná jména se vkrádají, když někdo popisuje systém místo procesu, a diagram podstatných jmen je diagram tříd, který nabral špatný tvar.
03Příklad 3: dva způsoby, jak může tok skončit#
Dvojice koncových uzlů je detail, který většina prvních diagramů pokazí, a ta chyba je neviditelná: diagram pořád vypadá správně.
Za rozvětvením jsou v letu dva tokeny. Auditní větev dosáhne konce toku - kruhu s křížem - který spotřebuje ten token a nic jiného. Zákaznická větev dosáhne konce aktivity, kotouče s prstencem, který ukončí celou aktivitu a zahodí v ní každý další token.
Dejte kotouč s prstencem na auditní větev místo toho a diagram teď říká, že objednávka je opuštěná, jakmile se zapíše řádek do logu. Nic na něm nevypadá špatně, a právě proto se ten rozdíl vyplatí naučit jednou: konec toku použijte pro vedlejší větev, která prostě doběhne, a konec aktivity jen tam, kde myslíte „jsme hotovi“.
04Jak z nich udělat vlastní#
Tyhle tři pokrývají tvary, ze kterých je téměř každý diagram aktivit poskládaný. Mezi nimi a tím vaším se mění popisky; co by se měnit nemělo, je disciplína ohledně rozsahu.
Sáhněte po něm, když
- Jeden proces na diagram, s názvem, který byste dali do předmětu e-mailu.
- Akce jako slovesné fráze, aby každý box byl něčím, co někdo nebo něco dělá.
- Plavecké dráhy, když jsou pointou předání mezi rolemi - procesy selhávají právě na přechodech drah.
- Stráž [else] na poslední hraně z každého rozhodnutí, aby byla množina vyčerpávající.
Sáhněte po něčem jiném, když
- Víc než zhruba patnáct akcí. Raději vytáhněte podstrom jako vlastní aktivitu.
- Pás tam, kde se sbíhají alternativy, nebo kosočtverec tam, kde se sbíhá souběžná práce.
- Ošetření chyb u každého kroku. Nakreslete šťastnou cestu a pak jeden diagram na selhání, na kterém záleží.
- Modelování životního cyklu jednoho objektu - to je stavový automat, ne aktivita.
Pokud jsou publikem byznys analytici a ne inženýři, tentýž proces bývá lépe nakreslit v BPMN, které má bohatší sémantiku událostí a je tím, co spustí procesní engine. Ty dvě notace odpovídají na tutéž otázku pro rozdílné místnosti.
05Co si zapamatovat#
Po jednom řádku na každé
- 01Pás rozvětvuje a spojuje; kosočtverec větví a slučuje. Kosočtverec nikdy nečeká a pás čeká vždy.
- 02Stráže patří na hrany z rozhodnutí a nikdy na hrany z rozvětvení.
- 03Množinu stráží udělejte vyčerpávající - [else] na poslední hraně - jinak se proces může zastavit.
- 04Konec toku ukončí jeden token; konec aktivity ukončí všechno. Ten nesprávný vypadá stejně.
- 05Akce jsou slovesné fráze. Pokud jsou boxy podstatná jména, kreslíte špatný diagram.
06Časté dotazy#
Jaký je dobrý příklad diagramu aktivit?
Nejsrozumitelnější je CI pipeline: sestav artefakt, pak souběžně za vidlicí spusť testy, lintery a sken závislostí, počkej na všechny tři ve spojení a větvi se podle výsledku. Použije každý podstatný druh uzlu v asi deseti boxech.
Jak se v diagramu aktivit kreslí souběžné kroky?
Přes tok položte plný pruh - vidlici - a z něj veďte jednu hranu do každé souběžné akce. Skupinu uzavřete druhým pruhem, spojením, které počká na token na každé vstupní hraně. Na hranách vycházejících z vidlice nikdy nejsou stráže, protože se použijí všechny.
Jaký je rozdíl mezi koncem toku a koncem aktivity?
Konec toku, kruh s křížem, ukončí token, který k němu dorazí, a zbytek aktivity běží dál. Konec aktivity, kroužkovaný kruh, ukončí celou aktivitu a zahodí všechny ostatní tokeny. Použít kroužkovaný kruh na vedlejší větvi tiše zabije hlavní tok.
Musí stráže vycházející z rozhodnutí pokrýt každý případ?
Ano. Pokud neplatí žádná stráž, token nemá kam jít a aktivita uvázne, což je skutečná vada, ne kosmetika. Bezpečný zvyk je dát poslední hraně stráž [else], čímž se množina stane vyčerpávající z konstrukce.
Kolik akcí má mít jeden diagram aktivit?
Zhruba patnáct, pak přestává být čitelný. Nad tento počet vyjměte podstrom jako samostatnou aktivitu a odkazujte na ni jedinou volací akcí. Diagram, který je třeba přiblížit, je diagram, který nikdo neporovnává s realitou.
V této sérii
- 01Co je UML?
- 02Symboly UML
- 03Výběr diagramu
- 04Diagramy tříd
- 05Příklady diagramů tříd
- 06Jak nakreslit diagram tříd
- 07Symboly diagramu tříd
- 08Sekvenční diagramy
- 09Příklady sekvenčních diagramů
- 10Jak nakreslit sekvenční diagram
- 11Diagramy případů užití
- 12Příklady případů užití
- 13Diagramy aktivit
- 14Příklady aktivit
- 15Stavové diagramy
- 16Příklady stavových diagramů
- 17Diagramy komponent
- 18Příklady komponent
- 19Kreslení diagramu komponent
- 20Symboly komponent
- 21Diagramy nasazení
- 22Příklady nasazení
- 23Diagramy objektů
- 24Diagramy balíků
- 25Diagramy složené struktury
- 26Komunikační diagramy
- 27Sekvenční vs komunikační
- 28Časové diagramy
- 29Diagramy přehledu interakcí
- 30Diagramy profilů
- 31UML pomocí AI
- 32Příklad e-shopu
- 33Příklad banky
- 34Příklad mikroslužeb
- 35Příklad AWS
Související články
Diagramy chování
Základy
Diagramy chování
Praxe modelování
Diagramy chování
Praxe modelování