Ga naar hoofdinhoud

Kwaliteitseisen aan een Context diagram

Oefening: controleer dit contextdiagram

Bekijk het volgende voorbeeld en controleer of het voldoet aan de eisen hierboven.

eb28806d7ce4ccc45ebb88a9aa00fcf6

PlantUML broncode voor "Mastermind context"
@startuml
title Mastermind context
!includeurl https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Context.puml
LAYOUT_TOP_DOWN()

Person(player, "Player")
System(mastermind, "Console Mastermind", "Spring Boot + Spring Shell + Java 21")
System_Ext(terminal, "Terminal", "TTY emulator")
System_Ext(ci, "CI Pipeline", "Build en deployment")

Rel(player, mastermind, "typt g bygr")
Rel(mastermind, player, "geeft output")
Rel(ci, terminal, "start runtime")
Rel(mastermind, mastermind, "controleert zichzelf")
Lay_D(player, mastermind)
Lay_D(mastermind, terminal)
Lay_D(terminal, ci)
@enduml

C4 System Context diagram with:

  • 0 actors
  • 3 systems:
    • 1 internal system: Console Mastermind
    • 2 external systems: Terminal, CI Pipeline
  • 4 relationships:
    • player typt g bygr Console Mastermind
    • Console Mastermind geeft output player
    • CI Pipeline start runtime Terminal
    • Console Mastermind controleert zichzelf Console Mastermind

Vraag: Welke fouten zie je in dit diagram op basis van de kwaliteitseisen?

Antwoordmodel + gecorrigeerd contextdiagram

Mogelijke bevindingen in het foutieve diagram:

  • Titel volgt niet het afgesproken formaat "Context diagram voor het ... systeem" (hier staat alleen Mastermind context).
  • Beschrijvingen ontbreken of zijn te technisch (Player zonder beschrijving, Spring Boot + Spring Shell + Java 21 op contextniveau).
  • Er staan interacties buiten het systeem (CI Pipeline -> Terminal).
  • Er is een zelf-relatie (mastermind -> mastermind), die niet is toegestaan.
  • De richting van relaties is onduidelijk of dubbel voor hetzelfde doel (player -> mastermind en mastermind -> player).
  • De diagramtekst is inconsistent in taal en stijl.

Gecorrigeerd voorbeeld:

0a16385872eb64567ecfefda46233b47

PlantUML broncode voor "Context diagram voor het Console Mastermind systeem"
@startuml
title Context diagram voor het Console Mastermind systeem
!includeurl https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Context.puml
LAYOUT_TOP_DOWN()

Person(player, "Speler", "Voert guesses in en probeert de geheime code te kraken")
System(mastermind, "Console Mastermind", "Console-app waarin een speler een codepatroon probeert te raden")

Rel(player, mastermind, "Voert een guess in en ontvangt feedback")
Lay_D(player, mastermind)
@enduml

C4 System Context diagram with:

  • 1 actor: Speler
  • 1 system: Console Mastermind
  • 1 relationship:
    • Speler voert een guess in en ontvangt feedback Console Mastermind