- Das C4-Modell ist eine Methode zur Visualisierung von Softwarearchitektur, die vier Abstraktionsebenen verwendet: Systemkontext, Container, Komponenten und Code
- Das C4-Modell ist leicht zu erlernen und entwicklerfreundlich gestaltet, um die Kommunikation innerhalb und außerhalb von Entwicklungsteams zu unterstützen
- Das C4-Modell ist unabhängig von Notationen und Tools und kann daher mit jeder Notation oder jedem Toolset verwendet werden
- Das Systemkontextdiagramm zeigt, wie sich ein Softwaresystem in den größeren Kontext einfügt und wie es mit Benutzern und anderen Systemen interagiert
- Das Containerdiagramm zoomt in das Softwaresystem hinein und zeigt die technischen Bausteine auf hoher Ebene
- Das Komponentendiagramm zoomt in einen einzelnen Container hinein und zeigt die darin enthaltenen Komponenten
- Das Codediagramm kann in eine einzelne Komponente hineinzoomen und zeigen, wie diese Komponente implementiert ist
- Das C4-Modell ist ein „Abstraktion zuerst“-Ansatz für Softwarearchitekturdiagramme, basierend auf Abstraktionen, die widerspiegeln, wie Softwarearchitekten und Entwickler über Software nachdenken und sie erstellen
- Das C4-Modell kann verwendet werden, um Karten auf verschiedenen Detailstufen des Codes zu erstellen, ähnlich wie Google Maps in einen Bereich hinein- oder herauszoomt
- Das C4-Modell kann genutzt werden, um Softwarearchitektur während früher Design-Sessions zu vermitteln und bestehende Codebasen nachträglich zu dokumentieren
- Das C4-Modell kann dabei helfen bei Kommunikation, effizientem Onboarding neuer Mitarbeitender, Architektur-Reviews/-Bewertungen, Risikoidentifikation, Threat Modeling und mehr
- Das C4-Modell empfiehlt keine bestimmte Notation, bietet aber als Ausgangspunkt eine einfache Notation, die gut auf Whiteboards, Papier, Sticky Notes, Indexkarten und in verschiedenen Diagramm-Tools funktioniert
- Das C4-Modell ist mit der Dokumentationsvorlage arc42 kompatibel
- Das C4-Modell wurde dafür entworfen, Softwaresysteme auf verschiedenen Abstraktionsebenen zu modellieren, und kann zur Beschreibung unterschiedlichster Softwarearchitekturen verwendet werden, die in verschiedenen Programmiersprachen entwickelt und auf unterschiedlichen Plattformen bereitgestellt werden können
1 Kommentare
Hacker-News-Kommentare