Wat is een activiteitendiagram?
Een activiteitendiagram is een diagram binnen de Unified Modeling Language (UML) dat de workflow of controleflow van een systeem of proces visualiseert. Het wordt vaak gebruikt om de stappen van een proces weer te geven, inclusief beslissingen, parallellisme en voorwaarden. Hierdoor biedt het inzicht in de dynamische aspecten van een systeem.
Casus
Stel je werkt aan een online bestelsysteem. Met een activiteitendiagram kun je de stappen van een bestelling weergeven, zoals het invoeren van een product, het verwerken van de betaling en het verzenden van de order.
Hoe zit activiteitendiagram in elkaar?
Een activiteitendiagram bestaat uit verschillende elementen die de stroom van activiteiten weergeven. De belangrijkste onderdelen zijn:
- Startnode: Het beginpunt van het proces, weergegeven als een gevulde cirkel.
- Activiteiten: Stappen binnen het proces, weergegeven als afgeronde rechthoeken.
- Beslissingen: Punten waar het proces verschillende paden kan volgen, aangegeven door ruitvormen.
- Pijlen: Geven de stroom van het proces aan.
- Parallelle splitsingen (forks) en samenvoegingen (joins): Voor simultane processen, weergegeven als dikke balken.
- Eindnode: Het einde van het proces, weergegeven als een gevulde cirkel met een rand.
Een activiteitendiagram kan eenvoudig of complex zijn, afhankelijk van het proces dat wordt gemodelleerd. Vaak wordt het opgenomen in een functioneel ontwerp om een duidelijk beeld te geven van de werking van een systeem.
Soms wordt een activiteitendiagram opgedeeld in partities, ook wel swimlanes genoemd. Partities verdelen het diagram in secties die verschillende rollen of systemen representeren. Dit helpt om de verantwoordelijkheden binnen een proces visueel te scheiden. Bijvoorbeeld, in een bestelsysteem kunnen aparte partities worden gebruikt voor de klant, het betaalsysteem en de orderverwerking. Dit maakt duidelijk welke entiteit welke taak uitvoert en bevordert een betere procesorganisatie.
Figuur 1 toont het proces van het bestelsysteem zonder partities. Alle stappen, van bestelling plaatsen tot afronding, worden sequentieel uitgevoerd binnen één stroom. Dit kan leiden tot vertragingen als meerdere bestellingen tegelijkertijd verwerkt moeten worden.
Figuur 1: Voorbeelduitwerking van de eerste casus zonder partities
Opmerking: Overgenomen uit UML Distilled (p. 118), door Martin Fowler, 2004, Pearson Education, Inc., Copyright 2004, Martin Fowler
Figuur 2 toont hetzelfde bestelsysteem opgesplitst in partities, waarbij verschillende verantwoordelijkheden gescheiden worden. Dit zorgt voor een efficiëntere afhandeling, omdat processen parallel kunnen lopen en taken beter verdeeld worden. Hierdoor wordt de verwerkingstijd verkort en de schaalbaarheid verbeterd.
*Figuur 2: Voorbeelduitwerking van de eerste casus met partities
Opmerking: Overgenomen uit UML Distilled (p. 122), door Martin Fowler, 2004, Pearson Education, Inc., Copyright 2004, Martin Fowler
Hoe gebruik je activiteitendiagram?
Een activiteitendiagram wordt gebruikt om processen te analyseren, optimaliseren en communiceren. Het is een nuttig hulpmiddel voor zowel technische als niet-technische stakeholders om de werking van een systeem beter te begrijpen.
Wanneer het activiteitendiagram is voltooid, kan het worden gebruikt voor verdere specificatie, zoals het opstellen van een klassendiagram of het definiëren van use cases.
Casus
Stel je ontwikkelt een bioscoopreserveringssysteem. Een activiteitendiagram kan de stappen visualiseren van het selecteren van een film, het kiezen van zitplaatsen, het uitvoeren van de betaling en het ontvangen van het ticket.
Mogelijke uitwerking van de casus
Bronnen
Martin Fowler (2004). UML Distilled (derde editie). Pearson Education, Inc.