C4-Modell Übersicht - Archyl Docs

Erfahren Sie mehr über das C4-Modell und wie Archyl es für die Architekturdokumentation implementiert

C4-Modell Übersicht

Das C4-Modell ist eine schlanke grafische Notationstechnik zur Modellierung der Architektur von Softwaresystemen. Erstellt von Simon Brown, bietet es eine Möglichkeit, Softwarearchitektur auf verschiedenen Abstraktionsebenen zu kommunizieren.

Warum C4?

Traditionelle Architekturdiagramme leiden oft unter:

  • Inkonsistente Notation: Verschiedene Teams verwenden verschiedene Symbole
  • Falsche Detailebene: Entweder zu abstrakt oder zu detailliert
  • Veraltete Dokumentation: Diagramme spiegeln nicht die Realität wider

Das C4-Modell löst diese Probleme durch:

  • Standardisierte Abstraktionsebenen: Vier klare Ebenen von hoch bis niedrig
  • Einfache Notation: Leicht verständlich für technische und nicht-technische Zielgruppen
  • Hierarchische Navigation: Hineinzoomen für mehr Details, herauszoomen für Kontext

Die Vier Ebenen

Ebene 1: Systemkontext

Das Systemkontext-Diagramm zeigt Ihr System als Box in der Mitte, umgeben von seinen Benutzern und anderen Systemen, mit denen es interagiert.

Zweck: Das große Bild zeigen - wie Ihr System in die Welt passt

Zielgruppe: Alle (technisch und nicht-technisch)

Enthält:

  • Ihr Softwaresystem (zentral)
  • Benutzer/Personas, die das System verwenden
  • Externe Systeme, von denen Ihr System abhängt

Ebene 2: Container

Das Container-Diagramm zoomt in Ihr System hinein, um die technischen Bausteine auf hoher Ebene zu zeigen.

Zweck: Die wichtigsten Technologieentscheidungen zeigen und wie Verantwortlichkeiten verteilt sind

Zielgruppe: Technische Personen innerhalb und außerhalb des Entwicklungsteams

Enthält:

  • Container (Anwendungen, Datenspeicher, etc.)
  • Beziehungen zwischen Containern
  • Verbindungen zu externen Systemen

Ebene 3: Komponente

Das Komponenten-Diagramm zoomt in einen Container hinein, um seine internen Komponenten zu zeigen.

Zweck: Zeigen, wie ein Container aus Komponenten aufgebaut ist und deren Verantwortlichkeiten

Zielgruppe: Softwarearchitekten und Entwickler

Enthält:

  • Komponenten innerhalb eines Containers
  • Beziehungen zwischen Komponenten
  • Technologie-/Implementierungsentscheidungen

Ebene 4: Code

Das Code-Diagramm (optional) zeigt, wie eine Komponente implementiert ist.

Zweck: Details auf Code-Ebene für komplexe oder kritische Komponenten zeigen

Zielgruppe: Entwickler

Enthält:

  • Klassen, Interfaces, Funktionen
  • Vererbungs- und Implementierungsbeziehungen
  • Design Patterns

C4 in Archyl

Archyl implementiert das C4-Modell mit diesen Funktionen:

Navigation

  • Doppelklick auf ein beliebiges Element, um zur nächsten Ebene zu zoomen
  • Verwenden Sie die Breadcrumbs, um nach oben zu navigieren
  • Tastenkürzel für schnelle Navigation (← → ↑ ↓)

Elementtypen

Jede Ebene hat ihre eigenen Elementtypen:

Ebene Elementtypen
Systemkontext System, Externes System, Person
Container Container, Externer Container
Komponente Komponente
Code Klasse, Interface, Funktion

Beziehungen

Beziehungen können zwischen Elementen auf jeder Ebene erstellt werden:

  • Ziehen Sie von einem Element zum anderen
  • Fügen Sie Labels hinzu, die die Interaktion beschreiben
  • Geben Sie die verwendete Technologie an

Styling

Passen Sie das Erscheinungsbild Ihrer Diagramme an:

  • Farben für verschiedene Elementtypen
  • Benutzerdefinierte Icons
  • Gruppierung mit Overlays

Best Practices

Beginnen Sie oben

Beginnen Sie immer mit dem Systemkontext-Diagramm. Es zwingt Sie, darüber nachzudenken:

  • Wer nutzt Ihr System?
  • Von welchen externen Systemen sind Sie abhängig?
  • Was ist der Umfang Ihres Systems?

Halten Sie es einfach

Jedes Diagramm sollte auf eine einzelne Seite/einen Bildschirm passen. Wenn nicht:

  • Teilen Sie in mehrere Diagramme auf
  • Reduzieren Sie den Detailgrad
  • Verwenden Sie die nächste Ebene für mehr Details

Verwenden Sie konsistente Namen

  • Verwenden Sie klare, beschreibende Namen
  • Folgen Sie den Namenskonventionen Ihres Teams
  • Vermeiden Sie Abkürzungen, die nicht allgemein verstanden werden

Dokumentieren Sie Beziehungen

Beziehungen sind genauso wichtig wie Elemente:

  • Fügen Sie immer Labels hinzu, die die Interaktion beschreiben
  • Schließen Sie die Technologie/das Protokoll ein, wenn relevant
  • Zeigen Sie die Richtung der Kommunikation

Nächste Schritte