Read in English · Leer en español · Lire en français
Kapitel 4 von 12 · Mittelstufe
Architektur dokumentieren und kommunizieren
Dieses Kapitel zeigt, wie man eine Softwarearchitektur so beschreibt und kommuniziert, dass die richtigen Menschen sie verstehen und die Beschreibung zutreffend bleibt. Es behandelt, für wen Dokumentation gedacht ist und wie viel man schreiben sollte, Sichten und Blickwinkel nach ISO/IEC/IEEE 42010, 4+1 und Rozanski und Woods, das C4-Modell, die UML-Diagramme, die Architekten noch verwenden, Architecture Decision Records, arc42, Diagrams as Code und die Präsentation von Architektur für verschiedene Zielgruppen. Es ist durchgehend praxisnah, nutzt eine Essenslieferplattform als durchgängiges Beispiel und richtet sich an Entwickler, Architekten und technische Leitungen.
Videoeinführung in Kapitel 4
6 Min. · auf Englisch gesprochen, mit UntertitelnNur anhören (Audio)
Transkript lesen
Willkommen zu Kapitel 4: Architektur dokumentieren und kommunizieren. Dieses Kapitel zeigt, wie man eine Softwarearchitektur so beschreibt, dass die richtigen Menschen sie verstehen und die Beschreibung zutreffend bleibt. Es ist durchgehend praxisnah und nutzt eine Essenslieferplattform als durchgängiges Beispiel, sodass Sie jede Technik am selben System vergleichen können.
Eine Architektur, die nur in den Köpfen weniger Menschen existiert, ist fragil. Niemand außerhalb des Raums kann sie prüfen, Neue im Team können sie nicht erlernen, ein Prüfer kann sie nicht kontrollieren, und sie geht mit den Menschen, die sie kennen. Bei Dokumentation kann man leicht in beide Richtungen danebenliegen. Teams, die zu wenig schreiben, verlieren die Gründe hinter ihrer Struktur und führen immer wieder dieselben Diskussionen. Teams, die zu viel schreiben, produzieren Wikis, denen niemand traut. Der Leitgedanke des Kapitels ist also einfach: Schreiben Sie für den Leser. Entscheiden Sie, wer jedes Stück Dokumentation nutzt und was diese Person braucht, schreiben Sie das knapp und präzise auf, und schreiben Sie nichts anderes.
Das Kapitel richtet sich an Entwickler, Architekten und technische Leitungen. Es baut auf Kapitel 1 bis 3 auf: auf den Entscheidungen und Strukturen, die nun beschrieben werden müssen. Die Abschnitte eins Punkt fünf zu Stakeholdern und Anliegen und eins Punkt sechs zu Entscheidungen und Abwägungen sind besonders nützliche Grundlagen. Und es führt zu Kapitel 5, das den Katalog der Architekturstile beginnt, beschrieben mit den Werkzeugen, die Sie hier lernen.
Das Kapitel hat acht Abschnitte. Abschnitt vier Punkt eins fragt, für wen Dokumentation gedacht ist und wie man entscheidet, was es verdient, aufgeschrieben zu werden. Die kurze Antwort: Schreiben Sie von Hand auf, was der Code nicht sagen kann, und generieren Sie, was der Code bereits aussagt. Abschnitt vier Punkt zwei führt den zentralen Gedanken ein, dass ein einzelnes Diagramm nie genügt. Eine Architektur wird durch mehrere Sichten beschrieben, von denen jede die Anliegen bestimmter Stakeholder beantwortet. Abschnitt vier Punkt drei macht daraus den am weitesten verbreiteten praktischen Ansatz, Simon Browns C4-Modell, mit vier Zoomstufen und einigen Notationsregeln, die Diagramme selbsterklärend machen. Abschnitt vier Punkt vier behandelt die Teile der Unified Modeling Language, kurz UML, die Architekten noch verwenden, etwa Sequenz- und Zustandsdiagramme, und wann sich ihre Präzision lohnt.
Dieses Diagramm aus Abschnitt vier Punkt eins hilft Ihnen zu entscheiden, wie Sie eine Information dokumentieren. Die senkrechte Achse fragt, ob sie sich aus dem Code ableiten lässt. Die Achse unten fragt, wie oft sie sich ändert. Oben links: Dinge, die der Code nicht sagen kann und die sich selten ändern. Kontext und Abgrenzung, Qualitätsziele und Entscheidungen mit ihren Gründen. Schreiben Sie diese von Hand auf, und bewahren Sie sie auf. Oben rechts: Dinge, die sich öfter ändern, etwa Container- und Deployment-Sichten. Halten Sie sie neben dem Code, und prüfen Sie sie bei jeder Änderung. Unten rechts: was der Code bereits aussagt und sich oft ändert, etwa Klassendiagramme und API-Referenzen. Generieren Sie diese in der Pipeline. Schreiben Sie sie nie von Hand. Und unten links: Dinge, die man im Code lesen kann und die sich selten ändern, wie der Technologie-Stack oder die Build-Befehle. Ein kurzer Verweis in einer README-Datei genügt.
Hier ist die erste Ebene des C4-Modells aus Abschnitt vier Punkt drei: ein Systemkontextdiagramm für die Essenslieferplattform. Oben stehen die drei Arten von Menschen, die sie nutzen: Kunden, Restaurantpersonal und Kuriere. Jeder Pfeil ist mit dem beschriftet, was sie tun. In der Mitte steht die Plattform selbst, als ein einziger Kasten. Sie nimmt Bestellungen an, kassiert die Zahlung, weist Kuriere zu und hält alle auf dem Laufenden. Darunter stehen die externen Systeme, von denen sie abhängt: ein Zahlungsanbieter, ein Kartendienst und Push-Dienste. Auf dieser Ebene gibt es keine Technologien oder Protokolle. Die kommen erst auf der nächsten Zoomstufe, den Containern. Und beachten Sie die Legende. Jedes C4-Diagramm hat einen Titel und eine Legende, damit es sich selbst erklärt.
Diagramme zeigen Struktur, aber sie zeigen selten das Warum. Abschnitt vier Punkt fünf behandelt Architecture Decision Records, kurz ADRs: kurze, datierte Aufzeichnungen zu je einer Entscheidung, mit einem vollständig ausgearbeiteten Record für die Lieferplattform. Abschnitt vier Punkt sechs zeigt, wie eine Vorlage wie arc zweiundvierzig der ganzen Beschreibung eine Standardgliederung gibt, sodass Schreibende wissen, was sie abdecken, und Lesende, wo sie nachsehen. Abschnitt vier Punkt sieben geht das Problem an, an dem die meiste Dokumentation scheitert: das Veralten. Er behandelt Diagramme als Text, das Veröffentlichen von Dokumentation aus der Build-Pipeline und die Gewohnheiten der Verantwortung, die sie zutreffend halten. Abschnitt vier Punkt acht wendet sich von Dokumenten den Menschen zu: die Botschaft auf Führungskräfte, Entwickler, Betrieb, Sicherheitsfachleute und Prüfer zuschneiden, Abwägungen erklären und Konsens herstellen, wenn Menschen uneins sind.
Jede Technik in diesem Kapitel dient einem Ziel: einem gemeinsamen, zutreffenden Verständnis des Systems unter den Menschen, die es bauen, betreiben, bezahlen und von ihm abhängen. Kleine, aktuelle Dokumentation mit klarer Verantwortung, die neben dem Code liegt, schlägt ein umfassendes Dokument, dem niemand traut. Wenn Sie sich also eine Frage aus diesem Kapitel merken, dann diese: Wer wird das lesen, und was wird er damit tun?
Sie können die Abschnitte der Reihe nach lesen oder gezielt die Technik aufschlagen, die Sie heute brauchen. Das ganze Kapitel zu lesen dauert etwa drei Stunden. Vergleichen Sie dabei, wie jede Technik dieselbe Essenslieferplattform beschreibt: als Kontextdiagramm, Containerdiagramm, Sequenz- und Zustandsdiagramme, Entscheidungsdokument und einseitige Zusammenfassung. Jeder Abschnitt endet mit einigen Fragen zur Selbstkontrolle. Beantworten Sie sie im Kopf, bevor Sie nachsehen. Wenn Sie so weit sind, machen Sie den freiwilligen Kapiteltest: zwanzig Multiple-Choice-Fragen und zwei schriftliche Antworten, in etwa fünfundvierzig Minuten. Die Bestehensgrenze liegt bei achtzig Prozent.
Das ist die Übersicht über Kapitel 4. Beginnen Sie mit Abschnitt vier Punkt eins, in dem wir uns ansehen, für wen Dokumentation gedacht ist und wie viel davon sich zu schreiben lohnt. Bis gleich.
Auf einen Blick
Das lernen Sie
- Erklären, wer Architekturdokumentation liest, was jede Leserin und jeder Leser braucht und wie man entscheidet, was sich festzuhalten lohnt.
- Stakeholder, Anliegen, Blickwinkel, Sichten und Modellarten nach ISO/IEC/IEEE 42010:2022 unterscheiden.
- Vergleichen Sie das 4+1-Sichtenmodell, die Blickwinkel und Perspektiven von Rozanski und Woods und die drei Sichtkategorien des SEI.
- Zeichnen Sie Systemkontext-, Container- und Komponentendiagramme, die den Notationsregeln von C4 folgen.
- Lesen und zeichnen Sie die UML-Sequenz-, Zustands-, Komponenten-, Deployment-, Aktivitäts- und Klassendiagramme, die Architekten verwenden.
- Schreiben Sie Architecture Decision Records und verwalten Sie ihren Lebenszyklus in einem Entscheidungsprotokoll.
- Wenden Sie arc42 und Diagrams-as-Code-Praktiken an, damit die Dokumentation nützlich und aktuell bleibt.
- Passen Sie eine Architekturerklärung an Führungskräfte, Entwickler, Betrieb, Sicherheitsfachleute und Prüfer an.
Bevor Sie beginnen
Kapitel 1 bis 3, insbesondere Stakeholder und Anliegen (Abschnitt 1.5) sowie Entscheidungen und Abwägungen (Abschnitt 1.6).
Zeit
Etwa 3 Stunden Lesezeit; 45 Minuten für den Test.
Schlüsselbegriffe
Architekturbeschreibung · Sicht · Blickwinkel (Viewpoint) · Anliegen · 4+1-Sichtenmodell · C4-Modell · Container (C4) · UML · Sequenzdiagramm · Zustandsdiagramm · Architecture Decision Record · arc42 · Diagrams as Code · Docs as Code
Warum das Dokumentieren von Architektur zur Arbeit gehört
Eine Architektur, die nur in den Köpfen weniger Menschen existiert, ist fragil. Niemand außerhalb des Raums kann sie prüfen, die nächste Person im Team kann sie nicht erlernen, ein Prüfer kann sie nicht kontrollieren, und sie geht mit den Menschen, die sie im Kopf haben. Kapitel 1 hat eine Architektur (was das System tatsächlich ist) von einer Architekturbeschreibung unterschieden (den Dokumenten, Diagrammen und Aufzeichnungen, über die Menschen sie teilen). In diesem Kapitel geht es um Letztere: wie man Beschreibungen erstellt, die tatsächlich gelesen werden, die zutreffend bleiben, während sich das System ändert, und die helfen, Entscheidungen zu treffen.
Das ist eher eine praktische als eine theoretische Fähigkeit, und man kann leicht in beide Richtungen danebenliegen. Teams, die zu wenig schreiben, verlieren die Gründe hinter ihrer Struktur und führen immer wieder dieselben Diskussionen. Teams, die zu viel schreiben, produzieren Wikis, denen niemand traut. Der Leitgedanke des Kapitels stammt aus Documenting Software Architectures: Views and Beyond des SEI: Schreiben Sie für den Leser. Entscheiden Sie, wer jedes Stück Dokumentation nutzen wird und was diese Person daraus braucht, schreiben Sie genau das knapp und präzise auf, und schreiben Sie nichts anderes.
Ein durchgängiges Beispiel zieht sich durch das ganze Kapitel: eine Essenslieferplattform mit einer Kunden-App, einer Restaurant-App und einer Kurier-App, Services für Bestellungen, Disposition und Benachrichtigungen sowie Kartenzahlungen über einen externen Anbieter. Sie sehen sie als Kontextdiagramm, als Containerdiagramm, als Komponentendiagramm, als UML-Sequenz- und Zustandsdiagramme, als Entscheidungsdokument und als einseitige arc42-Zusammenfassung, sodass Sie jede Technik am selben System vergleichen können.
Beschreiben und zeichnen: Abschnitte 4.1 bis 4.4
Die ersten vier Abschnitte behandeln, was zu beschreiben ist und wie man es zeichnet. Abschnitt 4.1 fragt, für wen Dokumentation gedacht ist, was das Agile Manifest darüber sagt und was nicht, wie man entscheidet, was es verdient, aufgeschrieben zu werden, und welche Anti-Patterns man vermeiden sollte. Die kurze Antwort: Schreiben Sie von Hand auf, was der Code Ihnen nicht sagen kann (Kontext, Qualitätsziele, Entscheidungen und ihre Gründe), und generieren Sie, was der Code bereits aussagt.
Abschnitt 4.2 führt den zentralen Gedanken ein, dass ein einzelnes Diagramm nie genügt. Eine Architektur wird durch mehrere Sichten beschrieben, von denen jede die Anliegen bestimmter Stakeholder beantwortet und jede nach einem Blickwinkel aufgebaut ist. Der Abschnitt behandelt das konzeptionelle Modell von ISO/IEC/IEEE 42010:2022, Kruchtens 4+1-Sichtenmodell, die Blickwinkel und Perspektiven von Rozanski und Woods sowie die Kategorien Modul, Komponenten und Konnektoren und Zuordnung des SEI und zeigt, wie man die minimale Menge an Sichten wählt, die ein System braucht.
Abschnitt 4.3 macht aus dieser Theorie den am weitesten verbreiteten praktischen Ansatz, Simon Browns C4-Modell: vier Zoomstufen (Systemkontext, Container, Komponente, Code), einige ergänzende Diagramme und eine kurze Reihe von Notationsregeln, die Diagramme selbsterklärend machen. Abschnitt 4.4 behandelt die Teile der UML, die Architekten noch verwenden, vor allem Sequenz-, Zustands-, Komponenten-, Deployment-, Aktivitäts- und kleine Klassendiagramme, und wann sich die Präzision der UML lohnt.
Entscheidungen, Vorlagen, Werkzeuge und Menschen: Abschnitte 4.5 bis 4.8
Diagramme zeigen Struktur; sie zeigen selten das Warum. Abschnitt 4.5 behandelt Architecture Decision Records: Michael Nygards Format von 2011, Alternativen wie MADR und Y-Statements, den Lebenszyklus eines Records von „vorgeschlagen“ bis „ersetzt“ und einen vollständig ausgearbeiteten Record für die Lieferplattform. Abschnitt 4.6 zeigt, wie eine Vorlage wie arc42 der gesamten Beschreibung eine Standardgliederung gibt, sodass Schreibende wissen, was sie abdecken müssen, und Lesende wissen, wo sie nachsehen müssen, und wie man sie für ein kleines System schlank einsetzt.
Abschnitt 4.7 befasst sich mit dem Problem, an dem die meiste Dokumentation scheitert: dem Veralten. Er behandelt das Schreiben von Diagrammen als Text mit PlantUML, Mermaid, Structurizr DSL und D2, den Unterschied zwischen Zeichen- und Modellierungswerkzeugen, das Veröffentlichen von Dokumentation aus der Build-Pipeline sowie die Gewohnheiten bei Verantwortung und Review, die Dokumentation zutreffend halten. Abschnitt 4.8 weitet den Blick von Dokumenten auf Menschen: die Botschaft auf Führungskräfte, Entwickler, Betriebsfachleute, Sicherheitsteams und Prüfer zuschneiden, Abwägungen erklären, einer Anfrage durch ein System folgen, Designdokumente und RFC-Prozesse, in einem Review präsentieren und Konsens herstellen, wenn Menschen unterschiedlicher Meinung sind.
Der eine Gedanke zum Mitnehmen
Jede Technik in diesem Kapitel dient einem Ziel: einem gemeinsamen, zutreffenden Verständnis des Systems unter den Menschen, die es bauen, betreiben, bezahlen und von ihm abhängen. Ein Diagramm, ein Entscheidungsdokument oder eine Vorlage lohnt sich nur, wenn ein echter Leser es braucht, und nur so lange, wie jemand es aktuell hält. Kleine, aktuelle Dokumentation mit klarer Verantwortung, die neben dem Code liegt, schlägt ein umfassendes Dokument, dem niemand traut. Wenn Sie sich eine einzige Frage aus diesem Kapitel merken, dann diese: Wer wird das lesen, und was wird er damit tun?
Die 8 Abschnitte
Kapiteltest
Prüfen Sie Ihr Verständnis von Kapitel 4
Optional: 20 Multiple-Choice-Fragen und 2 kurze schriftliche Antworten, jedes Mal neu aus einem Pool von 72 Fragen gezogen. Bestehensgrenze 80 %. Wer jeden Kapiteltest und anschließend die Abschlussbewertung besteht, erhält das Be Wise Abschlusszertifikat.
Den Test zu Kapitel 4 in der App ablegenWeiterführende Literatur
- Documenting Software Architectures: Views and Beyond, 2nd edition, Paul Clements, Felix Bachmann, Len Bass, David Garlan, James Ivers, Reed Little, Paulo Merson, Robert Nord and Judith Stafford (2010), Addison-Wesley. Die gründlichste Darstellung der Architekturdokumentation: Sichten, Stile, die sieben Regeln für gute Dokumentation und eine Dokumentationsvorlage.
- Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives, 2nd edition, Nick Rozanski and Eóin Woods (2012), Addison-Wesley. Ein praktischer Katalog von sieben Blickwinkeln und von Perspektiven wie Sicherheit und Performance, ausgerichtet auf große Informationssysteme.
- Architectural Blueprints: The "4+1" View Model of Software Architecture, Philippe Kruchten (1995), IEEE Software 12(6). Der kurze Artikel, der die Architekturbeschreibung mit mehreren Sichten und die szenariobasierte Validierung populär machte.
- ISO/IEC/IEEE 42010:2022 Software, systems and enterprise: Architecture description, ISO/IEC JTC 1/SC 7 and IEEE (2022), ISO. Die internationale Norm, die Stakeholder, Anliegen, Blickwinkel, Sichten und Modellarten definiert.
- The C4 Model: Visualizing Software Architecture, Simon Brown (2026), O'Reilly Media. Die Darstellung des Urhebers selbst zu den Abstraktionen, Diagrammen und der Notation von C4; die Website behandelt das Wesentliche kostenlos.
- UML Distilled: A Brief Guide to the Standard Object Modeling Language, 3rd edition, Martin Fowler (2003), Addison-Wesley. Ein kurzer, praxisnaher Leitfaden zu den Teilen der UML, die man kennen sollte, und die Quelle der Unterscheidung zwischen Skizze, Bauplan und Programmiersprache.
- Living Documentation: Continuous Knowledge Sharing by Design, Cyrille Martraire (2019), Addison-Wesley. Wie man Dokumentation aus dem System selbst ableitet und handgeschriebenes Material auf das beschränkt, was nur Menschen liefern können.