Skip to main content

PlantUML Activiteitendiagrammen

Deze pagina test de Nederlandse A11y beschrijvingen voor activiteitendiagrammen, inclusief beslispunten, partities, lussen en parallelle uitvoering.

Eenvoudig activiteitendiagram met beslispunt​

Graphviz installatie check

PlantUML broncode voor "Graphviz installatie check"
@startuml

start

if (Graphviz installed?) then (yes)
:process all\ndiagrams;
else (no)
:process only
__sequence__ and __activity__ diagrams;
endif

stop

@enduml

Activiteitendiagram met 2 activiteiten en 1 beslispunt.

Flow:

  • Start
  • Beslissing: Graphviz installed?
  • - Ja: Stap. process all diagrams
  • - Nee: Stap. process only sequence and activity diagrams
  • Stop

Activiteitendiagram met partities​

Partities groeperen gerelateerde activiteiten in benoemde secties met letter-genummerde stappen:

Software Development Levenscyclus

PlantUML broncode voor "Software Development Levenscyclus"
@startuml
!theme plain
title Software Development Levenscyclus

start
:Verzamel requirements;

partition "A: Analyse" {
:Identificeer stakeholders;
:Maak user stories;
:Definieer acceptatiecriteria;
}

partition "B: Ontwerp" {
:Maak domeinmodel;
:Ontwerp architectuur;
:Review met team;
}

partition "C: Implementatie" {
:Schrijf code;
:Schrijf tests;
:Code review;
}

stop
@enduml

Activiteitendiagram met 3 partities en 10 activiteiten.

Flow:

  • Start
  • Stap. Verzamel requirements
  • Partitie A: Analyse, bestaande uit:
  • Stap. Identificeer stakeholders
  • Stap. Maak user stories
  • Stap. Definieer acceptatiecriteria
  • Einde partitie A.
  • Partitie B: Ontwerp, bestaande uit:
  • Stap. Maak domeinmodel
  • Stap. Ontwerp architectuur
  • Stap. Review met team
  • Einde partitie B.
  • Partitie C: Implementatie, bestaande uit:
  • Stap. Schrijf code
  • Stap. Schrijf tests
  • Stap. Code review
  • Einde partitie C.
  • Stop

Activiteitendiagram met while lus​

Een while lus herhaalt activiteiten zolang een conditie waar is:

Data verwerkingslus

PlantUML broncode voor "Data verwerkingslus"
@startuml
start
while (data available?) is (yes)
:read data;
:process data;
endwhile (no)
stop
@enduml

Activiteitendiagram met 2 activiteiten.

Flow:

  • Start
  • Herhaal zolang data available? (yes), bestaande uit:
  • Stap. read data
  • Stap. process data
  • Einde herhaling.
  • Stop

Activiteitendiagram met repeat/repeat while (do-while lus)​

Een repeat lus voert activiteiten minstens één keer uit en controleert daarna de conditie:

Item verwerking met repeat

PlantUML broncode voor "Item verwerking met repeat"
@startuml
start
:initialiseer;
repeat
:verwerk item;
:controleer resultaat;
repeat while (meer items)
:afronden;
stop
@enduml

Activiteitendiagram met 4 activiteiten.

Flow:

  • Start
  • Stap. initialiseer
  • Herhaal zolang meer items, bestaande uit:
  • Stap. verwerk item
  • Stap. controleer resultaat
  • Einde herhaling.
  • Stap. afronden
  • Stop

Activiteitendiagram met fork/join (parallelle activiteiten)​

Fork en join tonen activiteiten die parallel uitgevoerd worden:

Parallelle taakuitvoering met fork

PlantUML broncode voor "Parallelle taakuitvoering met fork"
@startuml
start
:Voorbereiden;
fork
:Taak A;
fork again
:Taak B;
end fork
:Afronden;
stop
@enduml

Activiteitendiagram met 4 activiteiten.

Flow:

  • Start
  • Stap. Voorbereiden
  • Parallelle uitvoering 1, bestaande uit:
  • Tak 1:
  • Stap. Taak A
  • Tak 2:
  • Stap. Taak B
  • Einde parallelle uitvoering 1.
  • Stap. Afronden
  • Stop

Activiteitendiagram met split (parallelle activiteiten)​

Split is een alternatieve syntax voor parallelle uitvoering:

Parallelle taakuitvoering met split

PlantUML broncode voor "Parallelle taakuitvoering met split"
@startuml
start
:Voorbereiden;
split
:Taak A;
split again
:Taak B;
end split
:Afronden;
stop
@enduml

Activiteitendiagram met 4 activiteiten.

Flow:

  • Start
  • Stap. Voorbereiden
  • Parallelle uitvoering 1, bestaande uit:
  • Tak 1:
  • Stap. Taak A
  • Tak 2:
  • Stap. Taak B
  • Einde parallelle uitvoering 1.
  • Stap. Afronden
  • Stop

Activiteitendiagram met partities zonder letterprefix​

Als partitienamen niet beginnen met een letterprefix zoals "A:", krijgen stappen gewone nummering die per partitie opnieuw begint:

Onderzoeksworkflow

PlantUML broncode voor "Onderzoeksworkflow"
@startuml
start
partition "Informatie verzamelen" {
:bronnen zoeken;
:documenten lezen;
}
partition "Uitwerken" {
:ontwerp maken;
:implementeren;
}
stop
@enduml

Activiteitendiagram met 2 partities en 4 activiteiten.

Flow:

  • Start
  • Partitie: Informatie verzamelen, bestaande uit:
  • Stap. bronnen zoeken
  • Stap. documenten lezen
  • Einde partitie.
  • Partitie: Uitwerken, bestaande uit:
  • Stap. ontwerp maken
  • Stap. implementeren
  • Einde partitie.
  • Stop

Gecombineerd: partities met lussen en beslissingen​

Een complexer diagram dat meerdere constructies combineert:

Sprint workflow

PlantUML broncode voor "Sprint workflow"
@startuml
!theme plain
title Sprint Workflow

start
:Sprint planning;

partition "A: Ontwikkeling" {
:Kies user story;
while (story taken over?) is (ja)
:implementeer taak;
:schrijf tests;
endwhile (nee)
:maak pull request;
}

partition "B: Review" {
if (review goedgekeurd?) then (ja)
:merge naar main;
else (nee)
:verwerk feedback;
endif
}

:Sprint retrospective;
stop
@enduml

Activiteitendiagram met 2 partities en 8 activiteiten en 1 beslispunt.

Flow:

  • Start
  • Stap. Sprint planning
  • Partitie A: Ontwikkeling, bestaande uit:
  • Stap. Kies user story
  • Herhaal zolang story taken over? (ja), bestaande uit:
  • Stap. implementeer taak
  • Stap. schrijf tests
  • Einde herhaling.
  • Stap. maak pull request
  • Einde partitie A.
  • Partitie B: Review, bestaande uit:
  • Beslissing: review goedgekeurd?
  • - Ja: Stap. merge naar main
  • - Nee: Stap. verwerk feedback
  • Einde partitie B.
  • Stap. Sprint retrospective
  • Stop

Over activiteitendiagram ondersteuning

Activiteitendiagrammen ondersteunen de volgende constructies:

  • Beslispunten (if/else/endif) - getoond als beslissingen met ja/nee takken
  • Partities (partition "naam" { ... }) - groepeer activiteiten met gelabelde secties
  • While lussen (while/endwhile) - herhaal zolang conditie waar is
  • Repeat lussen (repeat/repeat while) - do-while: voer minstens één keer uit
  • Fork/join (fork/fork again/end fork) - parallelle uitvoering
  • Split (split/split again/end split) - alternatieve parallelle syntax
  • Notities (note right:) - genegeerd in toegankelijke beschrijving (alleen visueel)