An Activity diagram is a form of UML, it is a flow chart that allows for way more complexity. With activity diagrams you can show ongoing processes at the same time, time event etc, which a normal flow chart canāt.
Notations
1. Initial state
Dit representeert waar je de āFlowā opstart, aanzet of begint. Hieruit ga je alles herleiden. Het is gewoon een zwarte circel.
2. Action or Activity State
Dit is hoe je een actie doet, een uitvoering van een actie door objecten, of een actie uitvoeren op objecten. Eigenlijk gewoon elk soort event doe je zo.
3. Action Flow or Control flows
Een actie flow of controle flow is een pijl die aangeeft wat er na elkaar gebeurt. Dit is vergelijkbaar met flow charts. Een Actie kan meerdere input en output Action Flows hebben.
Voorbeeld
Hieronder is een voorbeeld van de bovenstaande 3 componenten. hierin zie je dat we de flow starten bij de zwarte circel, de Initial state, daarna gaan we door via de Action Flow pijl naar de Actie: āOpen de applicatieā
4. Decision node and Branching
Wanneer we een keuze willen maken om te weten wat er gaat gebeuren hebben we daar een Decision Node voor, dit is vergelijkbaar met hoe een IF statement werkt in programmeren. De uitgaande pijlen kan je een label geven om aan te geven wat de condities zijn. een Decision node heet altijd 2+ uitgaande pijlen.
Voorbeeld
In dit voorbeeld zien we dat we naar rechts gaan als het nummer een Even getal is, en dat we naar beneden gaan bij een oneven getal.
5. Guard
een Guard is een splitsing vergelijkbaar met een Decision node, maar bij een Guard geef je aan met text wat voor flow het is, terwijl een Decision node het antwoord geeft op de vraag.
Voorbeeld
Source: Tomās Docs
6. Fork
een Vork / Fork wordt gebruikt om 2 activiteiten die tegelijk gebeuren aan te geven. Hiermee kan je bijvoorbeeld Threads aangeven in je code.
Voorbeeld
in dit voorbeeld wordt de koffie op het zelfde moment toegevoegd als de melk.
7. Join
Een join voegt 2 Threads die gemaakt zijn met de Fork samen wanneer ze bijde klaar zijn.
Voorbeeld
In dit voorbeeld is ons koffiezetapparaat klaar wanneer de melk gegoten is en de koffie is toegevoegd. maar pas zodra het bijde is gebeurt.
8. Merge or Merge Event
Een merge voegt 2 flows samen, wanneer je bijvoorbeeld een Decision Node hebt gebruikt maar na een bepaalde tijd het weer samen moet komen omdat ze weer het zelfde moeten gaan doen.
Voorbeeld
In dit voorbeeld zien we dat na dat ze bijde een andere calculatie hebben gedaan de rest van de flow weer het zelfde wordt. (de onderste flow pijl staat de verkeerde kant op, die hoort naar āAdd 20 to the numberā te wijzen)
9. Swimlanes
swimlanes zijn er voor het grouperen van vergelijkbare acties. je kan ze horizontaal en vertikaal gebruiken. Het is niet verplicht om swimlanes te gebruiken, maar je diagram wordt er meestal wel overzichtelijker van. Net zoals een functie in a programma is het niet nodig, maar wel aangeraden.
Voorbeeld
Hier zie je hoe er verschillende activiteiten worden uitgevoerd, en ze zijn gekategoriseerd met swimlanes.
10. Time Event
Een time event geeft aan dat de flow tijdelijk stopt. Dit is bijvoorbeeld voor tasks die niet direct klaar zijn maar langer kunnen duren.
Voorbeeld
11. Final State or End State
Dit is het einde van je flow.
Nawoord
Op Geekforgeeks is er meer informatie, tips & tricks over het maken van een Activity diagram.
Go visit my friend Thomas his article for more info on this subject.
Source: Geekforgeeks