Notitievorm
Symbolen
De symbolen die gebruikt worden binnen UML Activity Diagram zijn gestandaardiseerd. Je mag dus daar niet van afwijken of beginnen improviseren!
De belangrijkste symbolen zijn:
- Een rondje duidt het begin van een workflow aan. Daar stap je in het bedrijfsproces dat je wil beschrijven.
- Een rechthoek met afgeronde hoeken wordt gebruikt om een activiteit aan te geven.
- Een pijl geeft het pad, de volgorde tussen verschillende activiteiten aan.
- Een balk wordt gebruikt om een punt aan te geven waar een workflow splitst in verschillende parallelle activiteiten. Men spreekt van een "Fork". Komen die parallelle activiteiten terug tezamen, dan wordt opnieuw een balk gebruikt waar de pijlen op toekomen: een "Join"
- Een ruit wordt gebruikt om een punt aan te geven waar een workflow pad splitst in meerdere paden. Slechts één van die paden zal gekozen worden op basis van een beslissing. Indien de verschillende paden later terug samen dienen te komen wordt opnieuw een ruit gebruikt
- Wil je wat meedelen, plaats dan een nota (rechthoekje met omgeplooid hoekje)
- Een rondje binnen een cirkel geeft het einde van het proces aan.
Activiteiten & Transities
- Een activiteit is een stap binnen het proces waar werk uitgevoerd wordt. In onderstaande tekening de afgeronde rechthoekjes
- Een transitie gebeurt wanneer je overgaat van de ene activiteit naar de volgende. De verbindingslijn met pijl is de transitie.
Begin en einde
- Start van het activity diagram = starting point
- End activity diagram = ending point(s). Je zult er vaak meer dan 1 hebben omdat men vaak een proces op verschillende plaatsen kan verlaten.
Memotechnisch onthouden:
- Start = Je kijkt naar de staart van een pijl en ziet enkel de "pluimpjes"
- End = Je kijkt naar de punt van de pijl en daarrond zie je in de verte de pluimpjes (de cirkel errond)
Even pauseren (Guard)
Indien iets dient voldaan te zijn voor je verder kunt naar de volgende activiteit plaats je een [guard condition], dat is de testvoorwaarde die moet voldaan zijn voor je de pijl verder mag volgen. Zo'n testvoorwaarde zit op de pijl tussen rechthoekige haakjes. Je proces wacht tot de voorwaarde voldaan is.
Soorten flow
In de workflow kom je naast het na elkaar uitvoeren van activiteiten volgende 3 speciale gevallen tegen:
Choice gaat over beslissen om dit of wat anders te doen. Iteration gaat over een stukje proces dat steeds weer opnieuw uitgevoerd wordt. Concurrency gaat over meerdere zaken tegelijkertijd doen.
Een keuze maken (en: choice)
Je gebruikt een ruit om een keuze te maken. In de ruit schrijf je de test die bepaalt welk pad dient gekozen te worden. Op de vertrekkende lijnen plaats men tussen vierkante haakjes de waarde die de test dient te hebben om dat pad te volgen. Je hoeft je niet te beperken tussen 2 keuzen, zoals de rechter ruit hieronder illustreert.
Wil je na de activiteiten de takken terug laten samenkomen, gebruik dan opnieuw een ruit als samenkompunt.
Een iteratie (en: iteration)
Een iteratie wordt ook wel "loop" genoemd. Je voert een actie opnieuw en opnieuw uit. Dat kan een aantal keren gebeuren (wat men telt), of dat kan gebeuren tot een keuze beslist dat het genoeg is en men een ander pad vervolgt.
Parallellisme (en:concurrency, fork, join)
Indien meerdere personen betrokken zijn in een proces, dan zullen activiteiten vaak in parallel, gelijktijdig verlopen. Het splitsen van één flow in parallelle noemt men een "Fork" (vork). Als na een tijdje de parallelle activiteiten terug tesamen dienen te komen in één activiteitsflow gebruik je een "Join" (rechter figuur hieronder)
Verwar een "Fork" niet met een "Choice". Bij een "Choice" wordt slechts één van de mogelijke paden uitgevoerd, daar waar bij een "Fork" alles in parallel verloopt.