Príklady diagramov aktivít
Tri diagramy aktivít procesov, ktoré poznáte - CI pipeline, triedenie tiketov a fragment, ktorý ukončuje dva tokeny rôzne - vždy s odôvodnením každého uzla.
8 min čítaniaUML 2.5.114 z 35
Krátka odpoveď
- Najzrozumiteľnejší príklad je CI pipeline: zostavenie, potom tri kontroly súbežne za vidlicou, spojenie čakajúce na všetky tri a vetvenie podľa výsledku.
- Hrany vychádzajúce z vidlice nikdy nenesú stráže, lebo sa použijú všetky. Stráže patria na hrany vychádzajúce z rozhodnutia.
- Koniec toku ukončí jeden token, koniec aktivity ukončí všetko. Krúžkovaný kruh na vedľajšej vetve ticho zabije hlavný tok.
- Poslednej hrane z rozhodnutia dajte stráž [else]. Bez nej môže token doraziť tam, kde neplatí žiadna stráž, a aktivita uviazne.
01Príklad 1: paralelná práca za rozvetvením#
Build pipeline je najjasnejším prvým príkladom, lebo súbežnosť je tu skutočná, nie pomyselná. Jednotkové testy, linting a sken závislostí naozaj bežia naraz, nič ďalej po prúde nemôže začať, kým všetky tri neskončia, a každý to už videl.
Prácu robia tie dva plné pásy. Horný je rozvetvenie: príde jeden token a odídu tri, takže bežia všetky tri vetvy. Dolný je spojenie: čaká, kým token nepríde po každej vstupnej hrane, a až potom nechá jeden pokračovať. Vymeňte ktorýkoľvek za kosoštvorec a diagram teraz tvrdí niečo nepravdivé - kosoštvorec sa spustí pri prvom tokene a nikdy nečaká.
Všimnite si tie dva samostatné koncové uzly. Zlyhaný build a nasadený build sú rozdielne konce a nakresliť ich ako dva kotúče s prstencom je legálne aj jasnejšie než smerovať oba späť do jedného. UML nekladie žiadny limit na to, koľko koncových uzlov aktivity aktivita má.
02Príklad 2: trojcestné vetvenie s vyčerpávajúcimi strážami#
Väčšina obchodných procesov nie je súbežná. Sú to rozhodnutia s viacerými výsledkami, ktoré sa neskôr zídu, a to je tvar nižšie.
Tri veci na tomto diagrame sú zámerné. Stráže sú vyčerpávajúce: [sev 1], [sev 2 or 3] a [else] dohromady pokryjú každý tiket, takže žiadny token nemôže doraziť ku kosoštvorcu a nenájsť kam ísť. Token bez povolenej odchádzajúcej hrany je zastavený proces a je to chyba, ktorú sa oplatí zachytiť na papieri.
Dolný kosoštvorec je zlúčenie, nie spojenie, a na tom rozdiele záleží: token nesie vždy len jedna z tých troch ciest, takže čakať na všetky tri by sa okamžite zablokovalo. Pravidlo sa ľahko drží - kosoštvorec zatvára to, čo kosoštvorec otvoril, a pás zatvára to, čo otvoril pás.
Napokon, každá akcia je slovesná fráza v rozkazovacom spôsobe: „Privolať pohotovosť“, nie „Privolávanie pohotovosti“. Podstatné mená sa vkrádajú, keď niekto popisuje systém namiesto procesu, a diagram podstatných mien je diagram tried, ktorý nabral zlý tvar.
03Príklad 3: dva spôsoby, ako môže tok skončiť#
Dvojica koncových uzlov je detail, ktorý väčšina prvých diagramov pokazí, a tá chyba je neviditeľná: diagram stále vyzerá správne.
Za rozvetvením sú v lete dva tokeny. Auditná vetva dosiahne koniec toku - kruh s krížom - ktorý spotrebuje ten token a nič iné. Zákaznícka vetva dosiahne koniec aktivity, kotúč s prstencom, ktorý ukončí celú aktivitu a zahodí v nej každý ďalší token.
Dajte kotúč s prstencom na auditnú vetvu namiesto toho a diagram teraz hovorí, že objednávka je opustená, len čo sa zapíše riadok do logu. Nič na ňom nevyzerá zle, a práve preto sa ten rozdiel oplatí naučiť raz: koniec toku použite pre vedľajšiu vetvu, ktorá jednoducho dobehne, a koniec aktivity len tam, kde myslíte „sme hotoví“.
04Ako z nich spraviť vlastné#
Tieto tri pokrývajú tvary, z ktorých je takmer každý diagram aktivít poskladaný. Medzi nimi a tým vaším sa menia popisky; čo by sa meniť nemalo, je disciplína ohľadom rozsahu.
Siahnite po ňom, keď
- Jeden proces na diagram, s názvom, ktorý by ste dali do predmetu e-mailu.
- Akcie ako slovesné frázy, aby každý box bol niečím, čo niekto alebo niečo robí.
- Plavecké dráhy, keď sú pointou odovzdania medzi rolami - procesy zlyhávajú práve na prechodoch dráh.
- Stráž [else] na poslednej hrane z každého rozhodnutia, aby bola množina vyčerpávajúca.
Siahnite po niečom inom, keď
- Viac než zhruba pätnásť akcií. Radšej vytiahnite podstrom ako vlastnú aktivitu.
- Pás tam, kde sa zbiehajú alternatívy, alebo kosoštvorec tam, kde sa zbieha súbežná práca.
- Ošetrenie chýb pri každom kroku. Nakreslite šťastnú cestu a potom jeden diagram na zlyhanie, na ktorom záleží.
- Modelovanie životného cyklu jedného objektu - to je stavový automat, nie aktivita.
Ak sú publikom biznis analytici a nie inžinieri, ten istý proces býva lepšie nakresliť v BPMN, ktoré má bohatšiu sémantiku udalostí a je tým, čo spustí procesný engine. Tie dve notácie odpovedajú na tú istú otázku pre rozdielne miestnosti.
05Čo si zapamätať#
Po jednom riadku na každé
- 01Pás rozvetvuje a spája; kosoštvorec vetví a zlučuje. Kosoštvorec nikdy nečaká a pás čaká vždy.
- 02Stráže patria na hrany z rozhodnutia a nikdy na hrany z rozvetvenia.
- 03Množinu stráží spravte vyčerpávajúcou - [else] na poslednej hrane - inak sa proces môže zastaviť.
- 04Koniec toku ukončí jeden token; koniec aktivity ukončí všetko. Ten nesprávny vyzerá rovnako.
- 05Akcie sú slovesné frázy. Ak sú boxy podstatné mená, kreslíte zlý diagram.
06Časté otázky#
Aký je dobrý príklad diagramu aktivít?
Najzrozumiteľnejšia je CI pipeline: zostav artefakt, potom súbežne za vidlicou spusti testy, lintery a sken závislostí, počkaj na všetky tri v spojení a rozvetv sa podľa výsledku. Použije každý podstatný druh uzla v asi desiatich boxoch.
Ako sa v diagrame aktivít kreslia súbežné kroky?
Cez tok položte plný pruh - vidlicu - a z neho veďte jednu hranu do každej súbežnej akcie. Skupinu uzavrite druhým pruhom, spojením, ktoré počká na token na každej vstupnej hrane. Na hranách vychádzajúcich z vidlice nikdy nie sú stráže, lebo sa použijú všetky.
Aký je rozdiel medzi koncom toku a koncom aktivity?
Koniec toku, kruh s krížom, ukončí token, ktorý k nemu dorazí, a zvyšok aktivity beží ďalej. Koniec aktivity, krúžkovaný kruh, ukončí celú aktivitu a zahodí všetky ostatné tokeny. Použiť krúžkovaný kruh na vedľajšej vetve ticho zabije hlavný tok.
Musia stráže vychádzajúce z rozhodnutia pokryť každý prípad?
Áno. Ak neplatí žiadna stráž, token nemá kam ísť a aktivita uviazne, čo je skutočná chyba, nie kozmetika. Bezpečný zvyk je dať poslednej hrane stráž [else], čím sa množina stane vyčerpávajúcou z konštrukcie.
Koľko akcií má mať jeden diagram aktivít?
Zhruba pätnásť, potom prestáva byť čitateľný. Nad tento počet vyberte podstrom ako samostatnú aktivitu a odkazujte naň jedinou volacou akciou. Diagram, ktorý treba priblížiť, je diagram, ktorý nikto neporovnáva s realitou.
V tejto sérii
- 01Čo je UML?
- 02Symboly UML
- 03Výber diagramu
- 04Diagramy tried
- 05Príklady diagramov tried
- 06Ako nakresliť diagram tried
- 07Symboly diagramu tried
- 08Sekvenčné diagramy
- 09Príklady sekvenčných diagramov
- 10Ako nakresliť sekvenčný diagram
- 11Diagramy prípadov použitia
- 12Príklady prípadov použitia
- 13Diagramy aktivít
- 14Príklady aktivít
- 15Stavové diagramy
- 16Príklady stavových diagramov
- 17Diagramy komponentov
- 18Príklady komponentov
- 19Kreslenie diagramu komponentov
- 20Symboly komponentov
- 21Diagramy nasadenia
- 22Príklady nasadenia
- 23Diagramy objektov
- 24Diagramy balíkov
- 25Diagramy zloženej štruktúry
- 26Komunikačné diagramy
- 27Sekvenčný vs komunikačný
- 28Časové diagramy
- 29Diagramy prehľadu interakcií
- 30Diagramy profilov
- 31UML pomocou AI
- 32Príklad e-shopu
- 33Príklad banky
- 34Príklad mikroslužieb
- 35Príklad AWS
Súvisiace články
Diagramy správania
Základy
Diagramy správania
Prax modelovania
Diagramy správania
Prax modelovania