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)