| name | dm-architecture |
| description | Architecture documentation skill combining C4 model ASCII diagrams with the 7 Fragen pro Vorhaben framework. Primary diagram types: Extended System Context Diagram (with team boundaries, system status, data stores, actors on sides) and Dynamic Diagram (numbered temporal interaction flows). For every architecture initiative, the skill systematically guides through seven key questions (Systemkontext, Security-Anbindung, Deployment-Modell, Datenresidenz & Datenschutz, SLA-Anforderungen, Technische Projektabhรคngigkeiten, Lรถsungsvarianten). Triggers include 'architecture diagram', 'C4 diagram', 'system context', 'container diagram', 'component diagram', 'deployment diagram', 'dynamic diagram', 'Systemlandschaft', 'Bebauungsplan', 'interface communication', 'Schnittstellenkommunikation', 'request flow', 'sequence', 'interaction', 'document architecture', 'visualize architecture', 'team boundaries', 'Verantwortungsbereiche', '7 Fragen', 'Architektur-Vorhaben', 'Architektur-Dokumentation', 'Architektur Rahmenbedingungen'. Target audience: Enterprise Architects, Integration Architects, Solution Architects. |
DM Architecture Documentation
Architecture documentation combining C4 model diagrams (ASCII notation) with the
7 Fragen pro Vorhaben framework to ensure every initiative is systematically
documented โ technically (diagrams) and organisatorisch (Rahmenbedingungen).
MANDATORY: Entry-Point Dialog (immer zuerst ausfรผhren!)
Bevor irgendeine Aktion gestartet wird, MUSS der User gefragt werden, welchen
Modus er nutzen mรถchte. Zeige exakt folgende Auswahl an:
Welche Architektur-Aktivitรคt mรถchtest du durchfรผhren?
- C4 System Context Diagram โ Erstellt ein erweitertes System-Kontext-Diagramm
(Akteure, Systeme, Schnittstellen, Team-Boundaries, Datenhaltung)
- C4 Dynamic Diagram โ Erstellt ein dynamisches Diagramm fรผr einen konkreten
Anwendungsfall (nummerierte Interaktionsschritte, zeitlicher Ablauf)
- 7 Fragen pro Vorhaben โ Systematische Klรคrung der Rahmenbedingungen
(Systemkontext, Security, Deployment, Datenschutz, SLAs, Abhรคngigkeiten, Lรถsungsvarianten)
Bitte wรคhle 1, 2 oder 3 (oder eine Kombination, z. B. โ1 und 3").
Regeln fรผr den Entry-Point Dialog
- Niemals รผberspringen. Auch wenn der User-Prompt bereits einen Hinweis enthรคlt
(z. B. โerstelle ein C4 Diagramm"), IMMER zuerst die Auswahl zeigen und bestรคtigen lassen.
- Erst nach Auswahl den passenden Workflow-Abschnitt ausfรผhren.
- Kombination erlaubt. Der User kann z. B. โ1 und 3" wรคhlen โ dann nacheinander abarbeiten.
Workflow nach Auswahl
| Auswahl | Workflow |
|---|
| 1 โ System Context | โ Abschnitt โSystem Context โ Interactive Dialog" (Step 1โ5) ausfรผhren |
| 2 โ Dynamic Diagram | โ Abschnitt โDynamic Diagram โ Interactive Dialog" (Step 1โ6) ausfรผhren |
| 3 โ 7 Fragen | โ Abschnitt โInteraktiver Dialog fรผr die 7 Fragen" ausfรผhren |
Follow-Up nach Abschluss (immer anbieten!)
Nach Abschluss jeder Aktivitรคt MUSS dem User eine passende Weiterfรผhrung angeboten werden.
Zeige kontextabhรคngig folgende Optionen:
Nach einem System Context Diagram (1):
Nรคchste Schritte:
- A) Fรผr einen konkreten Anwendungsfall ein Dynamic Diagram erstellen (zeigt den zeitlichen Ablauf der Kommunikation)
- B) Die 7 Fragen pro Vorhaben systematisch durchgehen (Rahmenbedingungen klรคren)
- C) Ein Container Diagram (Level 2) fรผr ein bestimmtes System erstellen
- D) Das Diagramm als Markdown-Datei speichern
Nach einem Dynamic Diagram (2):
Nรคchste Schritte:
- A) Ein weiteres Dynamic Diagram fรผr einen anderen Anwendungsfall erstellen
- B) Das zugehรถrige System Context Diagram erstellen oder aktualisieren
- C) Die 7 Fragen pro Vorhaben systematisch durchgehen
- D) Fehlerfรคlle / alternative Pfade im Diagramm ergรคnzen
- E) Das Diagramm als Markdown-Datei speichern
Nach den 7 Fragen (3):
Nรคchste Schritte:
- A) Auf Basis der Antworten ein System Context Diagram erstellen
- B) Fรผr einen kritischen Ablauf ein Dynamic Diagram erstellen
- C) Offene Punkte als ADR (Architecture Decision Record) dokumentieren
- D) Die Ergebnisse als kompakte รbersichtstabelle zusammenfassen
- E) Die Ergebnisse als Markdown-Datei speichern
Die 7 Fragen pro Vorhaben
Nicht alles muss sofort beantwortet werden โ aber jede Frage sollte bewusst
gestellt und das Ergebnis (auch โnoch unklar") festgehalten werden.
F1 โ Systemkontext
Wer ist beteiligt und wie hรคngt alles zusammen?
Diese Frage wird direkt durch das System Context Diagram beantwortet.
| Frage | Erlรคuterung |
|---|
| Welche Benutzergruppen gibt es? | Name, Rolle, ungefรคhre Anzahl |
| Welche Systeme sind beteiligt? | Bestehend oder neu? Welches Team verantwortet es? |
| Welche Schnittstellen bestehen? | Protokoll, Datenformat (JSON, XML, TIFF, โฆ), Richtung |
F2 โ Security-Anbindung
Wie wird sichergestellt, dass nur Berechtigte zugreifen kรถnnen?
| Frage | Erlรคuterung |
|---|
| Wie authentifizieren sich Benutzer? | z. B. Single Sign-On (SSO), Firmen-Login (AD/LDAP), Zwei-Faktor (MFA) |
| Wie werden API-Aufrufe zwischen Systemen abgesichert? | z. B. OAuth2-Token, Zertifikate (mTLS), API-Schlรผssel |
| Gibt es Netzwerk-Zonen? | z. B. separates Netz fรผr interne Systeme, Firewall-Regeln |
F3 โ Deployment-Modell
Wo und wie laufen die Systeme?
| Frage | Erlรคuterung |
|---|
| Lรคuft das System On-Premise, in der Cloud oder beides? | Beeinflusst Kosten, Security und Betriebsmodell |
| Welche Umgebungen gibt es? | Typisch: Entwicklung (DEV), Test (TEST), Produktion (PROD) |
| Wird eine Container-Strategie eingesetzt? | z. B. Docker, Kubernetes โ oder klassische VM/Server? |
F4 โ Datenresidenz & Datenschutz
Wo liegen die Daten und gelten besondere Schutzanforderungen?
| Frage | Erlรคuterung |
|---|
| In welchem Land / welcher Region werden Daten gespeichert? | Relevant fรผr DSGVO und Unternehmensrichtlinien |
| Werden personenbezogene Daten verarbeitet? | Falls ja: Datenschutz-Folgenabschรคtzung prรผfen |
| Gibt es DSGVO-Auflagen? | z. B. Auftragsverarbeitungsvertrag (AVV), Lรถschkonzept |
F5 โ SLA-Anforderungen
Wie zuverlรคssig und schnell muss das System sein?
| Frage | Erlรคuterung |
|---|
| Welche Verfรผgbarkeit wird erwartet? | z. B. 99,5% = max. ~1,8 Tage Ausfall/Jahr |
| Zu welchen Zeiten muss das System laufen? | 24/7, Bรผrozeiten (MoโFr 8โ17), Schichtbetrieb? |
| Wie schnell muss das System antworten? | z. B. โZeichnung muss in unter 3 Sekunden laden" |
F6 โ Technische Projektabhรคngigkeiten
Welche anderen Projekte beeinflussen dieses Vorhaben?
| Frage | Erlรคuterung |
|---|
| Gibt es laufende oder geplante Projekte, die Auswirkungen haben? | z. B. ERP-Migration, Cloud-Umzug, Ablรถsung eines Altsystems |
| Welches Projekt muss zuerst fertig sein? | Zeitliche Abhรคngigkeiten erkennen (Critical Path) |
| Welche anderen Teams mรผssen eingebunden werden? | Kapazitรคten und Zustรคndigkeiten frรผhzeitig klรคren |
F7 โ Lรถsungsvarianten / Systemevaluation
Gibt es mehrere Optionen โ und wie entscheiden wir?
| Frage | Erlรคuterung |
|---|
| Welche Lรถsungsvarianten stehen zur Auswahl? | z. B. Eigenentwicklung vs. Zukauf, Produkt A vs. Produkt B |
| Nach welchen Kriterien wird bewertet? | Funktionalitรคt, Kosten, Integrierbarkeit, Wartbarkeit |
| Ist die Entscheidung dokumentiert? | โ Als ADR (Architecture Decision Record) festhalten |
Vorgehen in vier Schritten
| Schritt | Was tun | Ergebnis |
|---|
| 1 | System Context Diagram erstellen | รberblick: Akteure, Systeme, Schnittstellen, Teams (beantwortet F1 + F6) |
| 2 | Fรผr kritische Ablรคufe je ein Dynamic Diagram erstellen | Detail-Verstรคndnis der Schnittstellenkommunikation |
| 3 | Fragen F2โF5 beantworten (auch stichwortartig reicht) | Rahmenbedingungen sind dokumentiert |
| 4 | Bei Neuanschaffungen: Variantenvergleich durchfรผhren | Nachvollziehbare Entscheidung als ADR (F7) |
Wichtig: Nicht alles muss perfekt sein. Ein Diagramm auf dem
Whiteboard und drei Sรคtze pro Frage sind besser als gar keine Dokumentation.
Interaktiver Dialog fรผr die 7 Fragen
Wenn ein neues Vorhaben dokumentiert wird, folge diesem Ablauf:
- Frage nach Projektname und -ziel โ โUm welches Vorhaben geht es? Was ist das Ziel?"
- Durchlaufe F1โF7 systematisch โ Stelle die Fragen in der Reihenfolge. Halte Antworten fest.
- Kennzeichne offene Punkte โ Wenn eine Frage nicht beantwortet werden kann, notiere โ[offen]" und schlage vor, wer die Antwort liefern kรถnnte.
- Erstelle parallel das System Context Diagram โ F1 liefert die Grundlage fรผr das Diagramm.
- Fasse zusammen โ Am Ende eine kompakte รbersicht der 7 Fragen mit Status (beantwortet / offen).
Nach Abschluss der 7 Fragen โ Follow-Up nach Abschluss (siehe Entry-Point Dialog oben, Abschnitt "Nach den 7 Fragen") anbieten.
C4 Diagram Levels
Select the appropriate level based on the documentation need:
| Level | Diagram Type | Audience | Shows | When to Create |
|---|
| 1 | System Context (Extended) | Everyone | System + external actors, team boundaries, system status (existing/new), data stores, interfaces | Always (required โ "Pflichtdiagramm") |
| 2 | Container | Technical | Apps, databases, services | Optional โ when deeper technical detail is needed |
| 3 | Component | Developers | Internal components | Optional โ only if adds value |
| 4 | Deployment | DevOps | Infrastructure nodes | Optional โ for production systems |
| - | Dynamic | Integration/Solution Architects | Request flows (numbered, temporal) | For interface communication & complex workflows (second required diagram type) |
Key Insight: "Context + Dynamic diagrams are the two primary diagram types." The System Context Diagram (extended with team boundaries, system status, data stores) provides the landscape overview. Dynamic Diagrams detail the temporal interaction for specific use cases. Only create Container/Component/Deployment diagrams when they genuinely add value beyond these two.
ASCII Notation Reference
Element Types
Akteur (Person): โโโโโโโโโโโโโโโโโโโโโโโโ
โ โบ Name โ
โ [Rolle/Beschreibung]โ
โโโโโโโโโโโโโโโโโโโโโโโโ
Zentrales System: โโโโโโโโโโโโโโโโโโโโโโโโ
โ <<system>> โ
โ Systemname โ
โ [Kurzbeschreibung] โ
โโโโโโโโโโโโโโโโโโโโโโโโ
Internes System: โโโโโโโโโโโโโโโโโโโโโโโโ
โ <<system>> โ
โ Systemname โ
โ [Beschreibung] โ
โโโโโโโโโโโโโโโโโโโโโโโโ
Externes System: โ โ โ โ โ โ โ โ โ โ โโ
โ <<external system>> โ
โ Systemname โ
โ [Beschreibung] โ
โ โ โ โ โ โ โ โ โ โ โโ
Container: โโโโโโโโโโโโโโโโโโโโโโโโ
โ <<container>> โ
โ Name โ
โ [Technologie] โ
โ Beschreibung โ
โโโโโโโโโโโโโโโโโโโโโโโโ
Container (Datenbank): โโโโโโโโโโโโโโโโโโโโโโโโ
โ <<database>> โ
โ Name โ
โ [Technologie] โ
โ Beschreibung โ
โโโโโโโโโโโโโโโโโโโโโโโโ
Container (Queue): โโโโโโโโโโโโโโโโโโโโโโโโ
โ <<queue>> โ
โ Name โ
โ [Technologie] โ
โ Beschreibung โ
โโโโโโโโโโโโโโโโโโโโโโโโ
Component: โโโโโโโโโโโโโโโโโโโโโโโโ
โ <<component>> โ
โ Name โ
โ [Technologie] โ
โ Beschreibung โ
โโโโโโโโโโโโโโโโโโโโโโโโ
System Status
Bestehendes System: โโโโโโโโโโโโโโโโโโโโโโโโ
(bestehend) โ <<system>> โ
โ Systemname โ
โ [bestehend] โ
โโโโโโโโโโโโโโโโโโโโโโโโ
Neues System/Komponente: โโโโโโโโโโโโโโโโโโโโโโโโ
(neu) โ <<system/new>> โ
โ Systemname โ
โ [neu] โ
โโโโโโโโโโโโโโโโโโโโโโโโ
Datenhaltung: โญโโโโโโโโโโโโโโโโโโโโโโโฎ
(Zylinder/Data Store) โ <<data>> โ
โ TIFF, PDF โ
โฐโโโโโโโโโโโโโโโโโโโโโโโฏ
Team / Verantwortungsbereich (Responsibility Boundary)
Team Boundary: โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โโ
(gestrichelt) โ Team-Name โ
โ โ
โ โโโโโโโโโโ โญโโโโโโโโโโโฎ โ
โ โ System โ โ Daten โ โ
โ โโโโโโโโโโ โฐโโโโโโโโโโโฏ โ
โ โ
โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โโ
Relationships
Synchron: โโโโโโ Beschreibung โโโโโโโ
[Protokoll]
Asynchron: โ โ โ Beschreibung โ โ โโ
[Protokoll]
Bidirektional: โโโโโโ Beschreibung โโโโโโ
[Protokoll]
Synchrone Antwort: โโโโโโ Antwort โโโโโโโโโโ
[Protokoll]
Asynchrone Antwort: โโ โ โ Antwort โ โ โ โ โ
[Protokoll]
Boundaries
System Boundary: โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ [System Name] โ
โ โโโโโโโโโโ โโโโโโโโโโ โ
โ โ Elem A โ โ Elem B โ โ
โ โโโโโโโโโโ โโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Trust Boundary: โโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Boundary Name โ
โ ...Elemente... โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Enterprise Boundary: โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Enterprise Name โ
โ โโโโโโโโโโ โโโโโโโโโโ โ
โ โ Sys A โ โ Sys B โ โ
โ โโโโโโโโโโ โโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Deployment Nodes
Deployment Node: โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ <<node>> โ
โ Name [Type] โ
โ โโโโโโโโโโ โโโโโโโโโโ โ
โ โ Cont A โ โ Cont B โ โ
โ โโโโโโโโโโ โโโโโโโโโโ โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
Quick Start Examples
System Context Diagram โ Extended (Level 1, Pflichtdiagramm)
The System Context Diagram is the mandatory diagram for every initiative. It shows
users, systems (existing/new/external), interfaces, team boundaries, and data stores
on a single page โ like a "Landkarte" (map) of the system landscape.
Example: IFS โ Konverter โ Siemens TeamCenter
โบ Benutzer โบ Techniker
(~2500) (600 Benutzer)
โ โ
โ Zeichnung โ Zeichnung
โ anzeigen โ bearbeiten
โ โ
โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โโ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โโ โ
โ โ ERP Team โ โ Engineering/CAD โ โ
โ โ โ โ โ โ
โ โ โ โ โ โ โโ โโโโโโโโโโโโโโโโโโโโโโโโ โ โ โโโโโโโโโโโโโโโโโโโโโโโโ โ โ
โ โ โ <<system>> โ โ โ โ <<system/new>> โ โ โ
โ โ โ IFS โโโโผโREST APIโโโโ Konverter โ โ โ
โ โ โ [bestehend] โ โ โ โ [neu] โ โ โ
โ โ โโโโโโโโโโโโฌโโโโโโโโโโโโ โ โ โโโโโโโโโโโโคโโโโโโโโโโ โ โ
โ โ โ โ โ โ โ โ
โ โ โญโโโโโโโโโโดโโโโโโโโโโโฎ โ โ โ REST API โ โ
โ โ โ <<data>> โ โ โ โ โ โ
โ โ โ TIFF, PDF โ โ โ โผ โ โ
โ โ โฐโโโโโโโโโโโโโโโโโโโโโฏ โ โ โโโโโโโโโโโโโโโโโโโโโโโโ โ โโค
โ โ โ โ โ <<system>> โ โ โ
โ โ โ โ โ Siemens TeamCenter โ โ โ โ โ โโค
โ โ โ โ โ [bestehend] โ โ โ
โ โ โ โ โโโโโโโโโโโโฌโโโโโโโโโโโโ โ โ
โ โ โ โ โ โ โ
โ โ โ โ โญโโโโโโโโโโดโโโโโโโโโโโฎ โ โ
โ โ โ โ โ <<data>> โ โ โ
โ โ โ โ โ DXF, DWG โ โ โ
โ โ โ โ โฐโโโโโโโโโโโโโโโโโโโโโฏ โ โ
โ โ โ โ โ โ
โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โโ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ LEGENDE โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฃ
โ โบ = Benutzergruppe (Grรถsse) โ
โ โ โ โโ = Interaktion (Benutzer โ System) โ
โ โโโโโโโโ = System / Komponente bestehend โ
โ โโโโโโโโ = System / Komponente neu โ
โ โ โ โ โโ = Verantwortungsbereich (Team) โ
โ โโโโโโ = Technische Schnittstelle (Protokoll auf Pfeil) โ
โ โญโโโโโโโฎ = Daten (Formate / Speicher) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
System Context โ Interactive Dialog
When creating a System Context Diagram, follow this structured process:
Step 1: Identify Scope
Ask:
- Which systems are involved? (list all)
- Which teams own which systems?
- Are there new systems/components being introduced?
Step 2: Identify Actors
Ask:
- Which user groups interact with the landscape? (name + approximate count)
- Which user group interacts with which system? (entry/exit points)
Step 3: Identify Interfaces
Ask:
- How do the systems communicate? (REST API, SOAP, MQ, SFTP, etc.)
- What is the direction of data flow? (which system initiates?)
- Are calls synchronous or asynchronous?
Step 4: Identify Data Stores
Ask:
- Which data formats does each system handle? (TIFF, PDF, DXF, DWG, JSON, XML, ...)
- Are there shared databases or is data replicated?
Step 5: Generate Diagram
Apply these layout rules:
- Actors on left/right edges (triggering actor left, consuming actor right)
- Systems horizontally between actors, grouped by team boundaries
- Data stores below their owning system
- Interfaces labeled with protocol on the connecting arrows
- System status indicated:
[bestehend] (existing) or [neu] (new)
- Legend at the bottom explaining all symbols
Nach Abschluss des System Context Diagrams โ Follow-Up nach Abschluss (siehe Entry-Point Dialog oben, Abschnitt "Nach einem System Context Diagram") anbieten.
Container Diagram (Level 2)
โโโโโโโโโโโโโโโโโโโโ
โ โบ User โ
โ [Tracks โ
โ workouts] โ
โโโโโโโโโโฌโโโโโโโโโโ
โ
Uses โโโโโโ
[HTTPS]
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ [Workout Tracker PWA] โ
โ โ
โ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โ
โ โ <<container>> โ โ <<container>> โ โ
โ โ SPA โโโโโ State Mgmt โ โ
โ โ [Vue 3, TS] โ โ [Pinia] โ โ
โ โ Single-page app โ โ App state โ โ
โ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโฌโโโโโโโโโโ โ
โ โ โ
โ Persists โโ โ
โ [Dexie ORM] โ
โ โ โ
โ โผ โ
โ โโโโโโโโโโโโโโโโโโโโ โ
โ โ <<database>> โ โ
โ โ IndexedDB โ โ
โ โ [Dexie] โ โ
โ โ Local workout โ โ
โ โ storage โ โ
โ โโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Component Diagram (Level 3)
โโโโโโโโโโโโโโโโโโโโ
โ <<container>> โ
โ Views โ
โ [Vue Router] โ
โโโโโโโโโโฌโโโโโโโโโโ
โ
Uses โโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ [Workout Feature] โ
โ โ
โ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โ
โ โ <<component>> โ โ <<component>> โ โ
โ โ useWorkout โโโโ useTimer โ โ
โ โ [Composable] โ โ [Composable] โ โ
โ โ Workout exec. โ โ Timer state โ โ
โ โ state โ โ machine โ โ
โ โโโโโโโโโโฌโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ Saves โโโโ โ
โ to โ
โ โ โ
โ โผ โ
โ โโโโโโโโโโโโโโโโโโโโ โ
โ โ <<component>> โ โ
โ โ WorkoutRepo โ โ
โ โ [Dexie] โ โ
โ โ Workout persist.โ โ
โ โโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Deployment Diagram
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ <<node>> Customer Browser โ
โ [Chrome/Firefox] โ
โ โ
โ โโโโโโโโโโโโโโโโโโโโ โ
โ โ <<container>> โ โ
โ โ SPA โ โ
โ โ [React] โ โ
โ โ Web application โ โ
โ โโโโโโโโโโฌโโโโโโโโโโ โ
โฐโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
โ
API calls โ
[HTTPS]
โ
โผ
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ <<node>> AWS Cloud [us-east-1] โ
โ โ
โ โญโโโโโโโโโโโโโโโโโโโโโโฎ โญโโโโโโโโโโโโโโโโโโโโโโฎโ
โ โ <<node>> ECS Clusterโ โ <<node>> RDS โโ
โ โ [Fargate] โ โ [db.r5.large] โโ
โ โ โ โ โโ
โ โ โโโโโโโโโโโโโโโโโโโโโ โ โโโโโโโโโโโโโโโโโโโโโโ
โ โ โ <<container>> โโ โ โ <<database>> โโโ
โ โ โ API Service โโโโโ โ Database โโโ
โ โ โ [Node.js] โโ โ โ [PostgreSQL] โโโ
โ โ โ REST API โโ โ โ Application data โโโ
โ โ โโโโโโโโโโโโโโโโโโโโโ โ โโโโโโโโโโโโโโโโโโโโโโ
โ โฐโโโโโโโโโโโโโโโโโโโโโโฏ โฐโโโโโโโโโโโโโโโโโโโโโโฏโ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
C4 Dynamic Diagram (Interface Communication)
Purpose
C4 Dynamic Diagrams show the runtime interactions between elements (persons, systems,
containers, components) for a specific use case or business process. Interactions are
numbered to visualize temporal sequence โ similar to UML Sequence Diagrams, but in
C4 style and at the desired abstraction level.
Target Audience
- Integration Architects: Interface communication, protocols, data flows between systems
- Solution Architects: End-to-end flow of a use case across system boundaries
When to Use
Use Dynamic Diagrams when:
- The temporal sequence of interactions between systems or components must be described
- Interface communication needs detailed documentation (which system calls what, when?)
- A specific use case / business process across multiple systems must be visualized
- Integration scenarios are analyzed or documented (e.g., onboarding flow, order process, data synchronization)
- The question is: "How do the systems communicate?" (not just "with whom?")
Abstraction Levels
| Level | Elements | Typical Use |
|---|
| System Context | Persons โ Systems | Overview: Which systems participate in a process? |
| Container | Containers within systems (Web-App, API, DB, Queue) | Detail: How do calls flow within and between systems? |
| Component | Components within a container (Controller, Service, Repository) | Fine detail: How is a call processed within a container? |
Interactive Dialog
When creating a Dynamic Diagram, follow this structured process:
Step 1: Identify Use Case / Scenario
Ask:
- Which use case or business process should be depicted?
(e.g., "User signs in", "Order is placed", "Master data is synchronized")
- What is the triggering event (trigger)? (e.g., user action, timer, incoming message)
- What is the expected outcome at the end of the flow?
Step 2: Determine Abstraction Level
Ask:
- At which level should the diagram be created?
- System Context: Interactions between whole systems (overview)
- Container: Interactions between containers like web-app, API, database (recommended for interface documentation)
- Component: Interactions between components within a container (fine detail)
If a C4 System Context Diagram has already been created in the conversation, reference
the identified systems and suggest the Container level as the next detail step.
Step 3: Identify Participating Elements
Ask (adapted to chosen level):
Collect elements in a table:
| # | Element | Type | Belongs to | Description |
|---|-----------------|----------------------|----------------|--------------------------|
| 1 | Sachbearbeiter | Actor | โ | Triggers the process |
| 2 | Web-Frontend | Container (SPA) | Portal-System | Angular-based UI |
| 3 | API-Gateway | Container (Service) | Portal-System | Kong Gateway, Routing |
| 4 | Fachservice | Container (Service) | Backend-System | Spring Boot REST-API |
| 5 | PostgreSQL | Container (Database) | Backend-System | Business data |
| 6 | SAP ERP | External System | โ | Financial accounting |
Confirm the table with the user before proceeding.
Step 4: Capture Interaction Steps
Ask:
- Describe the flow step by step:
- Who calls whom?
- What is transmitted/requested?
- Which protocol/technology is used? (REST/JSON, gRPC, AMQP, SQL, JDBC, GraphQL, SOAP, SFTP, ...)
- Is the call synchronous or asynchronous?
- Is there a response/return? (e.g., "returns order confirmation")
Collect steps in a numbered table:
| Step | From | To | Action | Protocol | Sync/Async | Response |
|------|----------------|----------------|------------------------------|------------|------------|-------------------------|
| 1 | Sachbearbeiter | Web-Frontend | Opens order form | HTTPS | Sync | โ |
| 2 | Web-Frontend | API-Gateway | POST /api/orders | REST/JSON | Sync | 202 Accepted |
| 3 | API-Gateway | Fachservice | Forward POST /orders | REST/JSON | Sync | 202 Accepted |
| 4 | Fachservice | PostgreSQL | INSERT INTO orders | JDBC/SQL | Sync | OK |
| 5 | Fachservice | SAP ERP | Create booking | SOAP/XML | Async | โ |
| 6 | SAP ERP | Fachservice | Booking confirmation (CB) | REST/JSON | Async | Booking number |
| 7 | Fachservice | PostgreSQL | UPDATE orders SET status=... | JDBC/SQL | Sync | OK |
Confirm with user before proceeding.
Step 5: Error Cases and Alternative Paths (optional)
Ask:
- Are there error cases to be shown? (e.g., "What happens if SAP is unreachable?")
- Are there alternative paths? (e.g., "If customer already exists, step X is skipped")
If yes, capture as additional steps with marking (e.g., "5a" for alternative to step 5).
Step 6: Generate Diagram
Dynamic Diagram Notation
Participating elements as columns (similar to Sequence Diagram):
โโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ โ โ โ โ โ โโ
โ โบ Name โ โ <<container>> โ โ <<external>> โ
โ [Rolle] โ โ Servicename โ โ Systemname โ
โโโโโโฌโโโโโโ โโโโโโโโฌโโโโโโโโโ โ โ โ โโฌโ โ โ โ
โ โ โ
โ โ โ
Synchronous call (numbered):
โโโ 1. Description โโโโ
โ [Protocol] โ
โโโโ Response โโโโโโโโโ
Asynchronous call (numbered):
โโ โ 2. Description โ โโโ
โ [Protocol] โ
Asynchronous response:
โโโ โ โ Response โ โ โ โโ
Self-call:
โโโโ 3. Validation
โ โ [internal]
โโโโ
Grouping (optional, for loops/conditions):
โโโ[loop: for each item]โโโโโโโโโโโโโโโโโโโโโ
โ โโโ 4. Check item โโโโ โ
โ โโโโ Stock level โโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโ[alt: customer exists]โโโโโโโโโโโโโโโโโโโโ
โ โโโ 5a. Load customer data โโโโ โ
โ โโ[else]โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฃ
โ โโโ 5b. Create customer โโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
System Boundaries in Dynamic Diagrams
โ Portal-System โ Backend-System โ External
โ โ โ
โโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ โ โ โ โ โ โโ
โ Web- โ โ API-Gateway โ โ Fach- โ โ Postgres โ โ SAP ERP โ
โ Frontend โ โ โ โ service โ โ โ โ โ
โโโโโโฌโโโโโโ โโโโโโโโฌโโโโโโโโ โโโโโโฌโโโโโโ โโโโโโฌโโโโโโ โ โ โโฌโ โ โโ
โ โ โ โ โ
Dynamic Diagram Example: User Sign In Flow
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
โ <<container>> โ โ [API Application] โ โ <<database>> โ
โ Single-Page โ โ โ โ Database โ
โ App โ โ โโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ โ [PostgreSQL] โ
โ [Angular] โ โ โ <<component>> โ โ <<component>> โ โ โ User โ
โ Banking UI โ โ โ Sign In โ โ Security โ โ โ credentials โ
โ โ โ โ Controller โ โ Service โ โ โ โ
โโโโโโโโฌโโโโโโโโ โ โ [Spring MVC] โ โ [JWT] โ โ โโโโโโโโฌโโโโโโโโ
โ โ โโโโโโโโฌโโโโโโโโโ โโโโโโโโโโฌโโโโโโโโโ โ โ
โ โโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโ โ
โ โ โ โ
โโโ 1. Submit โโโโโโโโ โ โ
โ credentials โ โ โ
โ [JSON/HTTPS] โ โ โ
โ โโโ 2. Validate โโโโโโ โ
โ โ โ โ
โ โ โโโ 3. Query user โโโโ
โ โ โ [JDBC] โ
โ โ โ โ
โ โ โโโโ User data โโโโโโโ
โ โโโโ Auth result โโโโ โ
โโโโ JWT Token โโโโโโ โ โ
โ [JSON/HTTPS] โ โ โ
Dynamic Diagram Example: Order Processing (Event-Driven)
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
โ <<container>> โ โ <<container>> โ โ <<container>> โ โ <<container>> โ
โ Order โ โ Inventory โ โ Payment โ โ Shipping โ
โ Service โ โ Service โ โ Service โ โ Service โ
โ [Java] โ โ [Go] โ โ [Node.js] โ โ [Python] โ
โโโโโโโโฌโโโโโโโโ โโโโโโโโฌโโโโโโโโ โโโโโโโโฌโโโโโโโโ โโโโโโโโฌโโโโโโโโ
โ โ โ โ
โโ โ 1. Publish โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โโ
โ order.created โ โ
โ [Kafka/Avro] โ โ โ
โ โ โ โ
โ 2. Consume โโ โ โ โ โ โ โโ โ
โ order.created โ โ
โ [Kafka/Avro] โ โ
โ โ โ โ
โ โโ โ 3. Publish โ โ โ โ โ โ โ โ โ โโโ
โ โ inventory.reserved โ
โ โ [Kafka/Avro] โ โ
โ โ โ โ
โ โ 4. Consume โโ โ โ โ โ โ โโ
โ โ inventory.reserved โ
โ โ [Kafka/Avro] โ
โ โ โ โ
โ โ โโ โ 5. Publish โโโ
โ โ โ payment.done โ
โ โ โ [Kafka/Avro] โ
โ โ โ โ
โ โ โ 6. Consume
โ โ โ payment.done
โ โ โ [Kafka/Avro]
Dynamic Diagram Example: OAuth2 Authorization Code Flow
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ โ โ โ โ โ โ โโ โโโโโโโโโโโโโโโโ
โ <<container>> โ โ <<container>> โ โ <<external>> โ โ <<database>> โ
โ SPA โ โ API โ โ Auth0 โ โ User DB โ
โ [React] โ โ [Node.js] โ โ [AuthZ Server] โ โ [PostgreSQL] โ
โโโโโโโโฌโโโโโโโโ โโโโโโโโฌโโโโโโโโ โ โ โ โโฌโ โ โ โโ โโโโโโโโฌโโโโโโโโ
โ โ โ โ
โโโ 1. Redirect โ โ โ โ โ โ โ โ โโโ โ
โ to /authorize โ โ
โ โ โ โ
โโโ 2. Redirect โ โ โ โ โ โ โ โ โโ โ
โ with auth code โ โ
โ โ โ โ
โโโ 3. Exchange code โโโโ โ โ
โ for tokens โ โ โ
โ [HTTPS] โ โ โ
โ โโโ 4. POST โ โ โ โ โ โ โ โ โโโ
โ โ /oauth/token โ
โ โ [HTTPS] โ โ
โ โ โ โ
โ โโโ tokens โ โ โ โ โ โ โ โ โ โโ
โ โ โ โ
โโโโ 5. Access + โโโโโโโ โ โ
โ refresh tokens โ โ โ
โ โ โ โ
โโโ 6. API request โโโโโโ โ โ
โ with access token โ โ โ
โ [HTTPS] โ โ โ
โ โโโ 7. Fetch โโโโโโโโโโโโโโโโโโโโ
โ โ user data โ
โ โ [SQL] โ โ
โ โ โ โ
โ โโโโ user data โโโโโโโโโโโโโโโโโโ
โโโโ response โโโโโโโโโโ โ โ
Heuristics (MUST)
General Rules
- Every element must have: Name, Type, Technology (where applicable), and Description
- Use unidirectional arrows - Bidirectional arrows create ambiguity; show call and response separately
- Label arrows with action verbs - "Sends email using", "Reads from", not just "uses"
- Include technology labels - "JSON/HTTPS", "JDBC", "gRPC"
- Stay under 20 elements per diagram - Split complex systems into multiple diagrams
Actor Positioning Rules
- Actors MUST be placed on the sides (left/right) or at the top โ never in the center of a diagram.
- Triggering actors go on the left side or top-left.
- Consuming/receiving actors go on the right side or top-right.
- In System Context diagrams: place actors on the left and/or right edges, with systems flowing horizontally between them. Alternatively, place actors above the system boundary, left- or right-aligned.
- In Container diagrams: place actors above the system boundary, left- or right-aligned.
- Rationale: lateral/top positioning keeps the system landscape in the center and clearly separates human interaction from technical integration.
Extended System Context Rules
- Horizontal layout: Systems flow left-to-right, actors on the edges.
- Team boundaries are mandatory when multiple teams are involved: every system must belong to a team/responsibility area (dashed boundary).
- System status must be indicated: mark systems as
[bestehend] (existing) or [neu] (new).
- Data stores are shown directly below their owning system using the
<<data>> notation.
- Technical interfaces (REST API, SOAP, SFTP, etc.) are labeled on arrows between systems.
- User interactions use dashed arrows (
โ โ โโ) from actors to systems.
- A legend is mandatory explaining all visual elements (system status, boundary styles, arrow types).
Dynamic Diagram Rules
- Numbering is mandatory: Every interaction step must have a sequential number showing temporal order.
- One use case per diagram: A Dynamic Diagram describes exactly one use case or business process.
- Protocol mandatory: Every call must specify the protocol/technology used.
- Sync/Async marking: Synchronous calls as solid arrows (
โโโ), asynchronous as dashed arrows (โ โ โ).
- Direction mandatory: Every arrow must have a clear direction.
- Responses explicit: If a call has a relevant response (data, confirmation), show it as a return arrow.
- Consistent abstraction level: All elements must be at the same C4 abstraction level.
- Trigger recognizable: The triggering actor/event must be clearly recognizable (leftmost position).
- Layout: Elements from left (trigger) to right (target systems). Frequently interacting elements side by side.
- Compactness: Maximum 7ยฑ2 elements per diagram. With more elements, switch to a higher abstraction level or split the use case.
Clarity Guidelines
- Start at Level 1 - Context diagrams help frame system scope
- One diagram per file - Keep diagrams focused on a single abstraction level
- Meaningful names - Use descriptive names (e.g., "Order Service" not "Svc1")
- Concise descriptions - Keep descriptions under 50 characters when possible
- Always include a title - "System Context diagram for [System Name]"
What to Avoid
See references/common-mistakes.md for detailed anti-patterns:
- Confusing containers (deployable) vs components (non-deployable)
- Modeling shared libraries as containers
- Showing message brokers as single containers instead of individual topics
- Adding undefined abstraction levels like "subcomponents"
- Removing type labels to "simplify" diagrams
Legend
Always add a legend below every diagram:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ LEGEND โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฃ
โ โบ = Actor / Person โ
โ โโโ = Central System (scope) โ
โ โโโ = Internal Element (System/Container/Comp.) โ
โ โ โ = External System โ
โ โโโโ = Synchronous call โ
โ โ โโ = Asynchronous call โ
โ โโโโ = Synchronous response โ
โ โโ โ = Asynchronous response / Callback โ
โ [n] = Step number (temporal order) โ
โ โโโ[x]โโ = Grouping (loop/alt/opt) โ
โ โโโ = Trust Boundary โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Microservices Guidelines
Single Team Ownership
Model each microservice as a container within a single system:
โโโโโโโโโโโโโโโโโโโโ
โ โบ Customer โ
โ [Online shopper]โ
โโโโโโโโโโฌโโโโโโโโโโ
โ
Uses โโโโโ
[HTTPS]
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ [E-commerce Platform] โ
โ โ
โ โโโโโโโโโโโโโโโโโโโโ โ
โ โ <<container>> โ โ
โ โ API Gateway โ โ
โ โ [Kong] โ โ
โ โ Routing, auth, โ โ
โ โ rate limiting โ โ
โ โโโโโโฌโโโโโโโฌโโโโโโโ โ
โ โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ โ โ โ โ
โ โผ โผ โผ โ โ โ
โ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ โ โ โ
โ โ Order โ โ Product โ โ User โ โ โ โ
โ โ Service โ โ Service โ โ Service โ โ โ โ
โ โ [Node.js]โ โ [Go] โ โ [Java] โ โ โ โ
โ โโโโโโฌโโโโโโ โโโโโโฌโโโโโโ โโโโฌโโโโฌโโโ โ โ โ
โ โ โ โ โ โ โ โ
โ โผ โผ โผ โผ โ โ โ
โ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ โ โ
โ โ<<database>>โโ<<database>>โโ<<database>>โโ<<database>>โ โ โ
โ โ Order DB โ โ Product โ โ User DB โ โ Cache โ โ โ
โ โ[Postgres]โ โ DB โ โ[Postgres]โ โ [Redis] โ โ โ
โ โโโโโโโโโโโโ โ[MongoDB] โ โโโโโโโโโโโโ โ Sessions โ โ โ
โ โโโโโโโโโโโโ โโโโโโโโโโโโ โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Multi-Team Ownership
Promote microservices to software systems when owned by separate teams:
โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ
โ โบ Customer โ โ โบ Admin โ
โ [Online shopper]โ โ [Store manager] โ
โโโโโโโโโโฌโโโโโโโโโโ โโโโโโโโโโฌโโโโโโโโโโ
โ โ
โโโโโ Places orders โโโโโโ โโโโโโโโโโโโโโโโงโโโโโโโโโโโ
โ โ <<system>> โ
โ โ Order System โ
โ โ [Team Alpha] โ
โ โโโโโโโโโคโโโโโโโโโโโโโโโโโโ
โ โ
โ Checks stock โโ Processes payment โโ
โ โ โ
โ โผ โผ
โ โโโโโโโโโโโโโโโโโโโโ โ โ โ โ โ โ โ โ โโ
โ โ <<system>> โ โ <<external>> โ
โ โ Inventory Systemโ โ Stripe โ
โ โ [Team Beta] โ โ [Payment proc.] โ
โ โโโโโโโโโโโโโโโโโโโโ โ โ โ โ โ โ โ โ โโ
โ
โโโโโ Browses products โโโ โโโโโโโโโโโโโโโโโโโโ
โ <<system>> โ
โ Product System โ
โ [Team Beta] โ
โโโโโโโโโโโโโโโโโโโโ
Event-Driven Architecture
Show individual topics/queues as containers, NOT a single "Kafka" box:
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
โ <<container>> โ โ <<container>> โ โ <<container>> โ
โ Order โ โ Inventory โ โ Payment โ
โ Service โ โ Service โ โ Service โ
โ [Java] โ โ [Java] โ โ [Java] โ
โโโโฌโโโโโโโโฌโโโโ โโโโฌโโโโโโโโฌโโโโ โโโโฌโโโโโโโโโโโโ
โ โ โ โ โ
โ โ โฒ โ โฒ
โ Publishes โ Publishes โ
โ [Avro] โ [Avro] โ
โ โ Consumes โ Consumes
โ โ [Avro] โ [Avro]
โ โผ โ โผ โ
โ โโโโโโโโโโโโโโโโดโโโ โโดโโโโโโโโโโโโโโโ
โ โ <<queue>> โ โ <<queue>> โ
โ โ order.created โ โ stock.reservedโ
โ โ [Kafka] โ โ [Kafka] โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโ
โ
โ Consumes payment.complete [Avro]
โ โ
โ โผ
โ โโโโโโโโโโโโโโโโโโโ
โ โ <<queue>> โ
โ โ payment. โ
โ โ complete โ
โ โ [Kafka] โ
โ โโโโโโโโโโโโโโโโโโโ
โ โฒ
โ โ Publishes [Avro]
โ โ
โโโโโโโโโโโ (from Payment Service)
Cross-References Between Diagram Types
Nach Abschluss jedes Diagramms oder jeder Analyse IMMER die Follow-Up-Optionen
aus dem Entry-Point Dialog (oben) anbieten. Zusรคtzlich gelten folgende inhaltliche
Querverweise:
- Context โ Dynamic: Wenn im System Context Diagram Schnittstellen identifiziert wurden,
ein Dynamic Diagram als Detaillierung fรผr einen konkreten Use Case vorschlagen.
- Context โ Container: Wenn ein System im Kontext-Diagramm technisch vertieft werden soll,
ein Container Diagram vorschlagen.
- Dynamic โ ADR: Wenn im Dynamic Diagram komplexe Integrationsmuster auftauchen
(z. B. Orchestration vs. Choreography), einen ADR fรผr die Pattern-Entscheidung vorschlagen.
- Dynamic โ NFR: Aus dem Dynamic Diagram Performance-Anforderungen ableiten
(z. B. โStep 3โ4 muss in < 100ms abgeschlossen sein").
Output Location
Write architecture documentation to docs/architecture/ with this naming convention:
c4-context.md - System Context diagram (extended, with team boundaries, system status, data stores)
c4-containers.md - Container diagram (optional)
c4-components-{feature}.md - Component diagrams per feature (optional)
c4-deployment.md - Deployment diagram (optional)
c4-dynamic-{flow}.md - Dynamic diagrams for specific flows
Audience-Appropriate Detail
| Audience | Recommended Diagrams |
|---|
| Enterprise Architects | System Context (Extended) + Dynamic |
| Executives | System Context only |
| Product Managers | System Context (Extended) |
| Integration Architects | System Context (Extended) + Dynamic |
| Solution Architects | System Context (Extended) + Dynamic + Container |
| Developers | All levels as needed |
| DevOps | Container + Deployment |
References