Be Software Architecture Wise
Be Wise Apps

Read in English · Leer en español · Lire en français

Abschnitt 4.6 von 4.8 · Mittelstufe · 20 Min. Lesezeit

arc42 und andere Dokumentationsvorlagen

Videolektion

5 Min. · auf Englisch gesprochen, mit Untertiteln
Nur anhören (Audio)
Transkript lesen

Sobald Sie wissen, was Sie dokumentieren, brauchen Sie einen Ort dafür. In dieser Lektion lernen Sie arc zweiundvierzig kennen, eine verbreitete, kostenlose Vorlage für Architekturbeschreibungen, und wie man sie sparsam nutzt.

Denken Sie an das Handbuch eines Autos. Jedes Handbuch hat einen Abschnitt zu Reifen, einen zu Warnleuchten und einen zur Wartung. So wissen Sie, wo Sie nachschlagen müssen, egal in welchem Auto Sie sitzen. Eine Dokumentationsvorlage leistet dasselbe für Softwarearchitektur. Und Sie müssen nicht jeden Abschnitt füllen. Ein kleines System braucht vielleicht nur vier oder fünf kurze.

Arc zweiundvierzig ist eine kostenlose Vorlage, entwickelt von Gernot Starke und Peter Hruschka und seit 2005 in der Praxis im Einsatz. Sie steht unter einer Creative-Commons-Lizenz und ist im deutschsprachigen Raum besonders verbreitet. Sie ist bewusst weder eine Methode noch eine Notation. Sie sagt Ihnen nicht, wie Sie entwerfen oder welchen Diagrammstil Sie verwenden sollen. Sie ist ein Satz von zwölf beschrifteten Schubladen: Für jede Art von Information sagt sie, wohin sie gehört.

Hier sind die zwölf Abschnitte, gruppiert nach der Frage, die sie beantworten. Die Abschnitte eins bis drei legen Ziele und Grenzen fest: wofür das System da ist, was die Lösung einschränkt und wo das System endet. Abschnitt vier, die Lösungsstrategie, nennt die wenigen grundlegenden Ideen, die alles andere prägen. Die Abschnitte acht und neun enthalten die querschnittlichen Konzepte und Entscheidungen, die für die ganze Lösung gelten. Entscheidungsdokumente gehören in Abschnitt neun. Die Abschnitte fünf bis sieben zeigen die Struktur aus drei Blickrichtungen: die Bausteine, wie sie zur Laufzeit zusammenarbeiten und wo sie verteilt sind. Und die Abschnitte zehn bis zwölf machen Qualitätsanforderungen, Risiken und technische Schulden sowie das Vokabular explizit. Die schattierten Abschnitte bilden den Kern auch einer minimalen Beschreibung: Ziele, Kontext, Strategie und die Bausteine der obersten Ebene. Die Hinweise zu arc zweiundvierzig ergänzen drei bis fünf Qualitätsszenarien und die wichtigsten Konzepte.

Der häufigste Weg, mit arc zweiundvierzig zu scheitern, ist, es als Formular zu behandeln: zwölf Überschriften, jede mit irgendetwas gefüllt, und ein Ergebnis, das lang, generisch und ungelesen ist. Die eigenen Hinweise sagen, dass jeder Abschnitt optional ist. Wird ein Abschnitt nicht gebraucht, sagen Sie das in einer Zeile, damit Lesende wissen, dass die Lücke beabsichtigt ist. Verlinken statt kopieren. Anforderungen liegen im Backlog, Entscheidungen im Ordner mit den Entscheidungsdokumenten und die Verteilung im Infrastrukturcode. Kopien laufen auseinander. Und bevorzugen Sie Diagramme mit kurzen Tabellen gegenüber seitenlanger Prosa. Gut kombinieren lässt es sich mit C4: ein Kontextdiagramm in Abschnitt drei und ein Containerdiagramm als erste Bausteinebene in Abschnitt fünf.

Hier ist eine einseitige arc-zweiundvierzig-lite-Beschreibung der Essenslieferplattform. Abschnitt eins nennt die Qualitätsziele nach Priorität. Erstens: Keine Bestellung geht verloren oder wird doppelt belastet. Zweitens: schnelle Bestätigung zur Spitzenzeit. Die Randbedingungen sind kurz: Kartendaten berühren nie die Systeme der Plattform, und personenbezogene Daten bleiben in EU-Regionen. Die Lösungsstrategie bindet jede grundlegende Wahl an ein Ziel, etwa asynchrone Bestellereignisse über einen verwalteten Broker, und zitiert das Entscheidungsdokument. Die Bausteine sind das C4-Containerdiagramm, mit einer zweiten Ebene nur für den Bestellservice, den riskantesten Service. Die Verteilung verweist einfach auf das Infrastruktur-Repository, die Single Source of Truth. Der Entscheidungsabschnitt listet die Pflicht-Records auf, und Risiken haben Verantwortliche. Nichts ist kopiert, also kann nichts auseinanderlaufen. Und Lesende können jede wichtige Wahl auf ein Ziel zurückführen.

Es gibt weitere Vorlagen. Die Vorlage Views and Beyond des Software Engineering Institute ist gründlicher, dokumentiert jede Sicht auf dieselbe Weise und ordnet die Sichten explizit einander zu. Sie eignet sich für große, langlebige oder vertraglich spezifizierte Systeme. IEEE 1016 legt Software Design Descriptions fest, wie sie in Verträgen der Verteidigung sowie der Luft- und Raumfahrt verwendet werden. Sie steht dem Feinentwurf näher und ist seit 2020 inaktiv, wird aber noch zitiert. Die Norm aus Abschnitt vier Punkt zwei, ISO/IEC/IEEE 42010, schreibt keine Vorlage vor. Sie verlangt Inhalte: Stakeholder, Anliegen, Blickwinkel, Sichten, Korrespondenzen und Begründungen. Einfachem arc zweiundvierzig fehlt oft eine explizite Verbindung von jedem Anliegen zu seiner Sicht, aber die Lücken sind klein. Eine kurze Blickwinkeltabelle und einige Zuordnungstabellen schließen sie.

Achten Sie auf drei Fehler. Jeden Abschnitt füllen, weil es ihn gibt: Eine Zeile, die erklärt, warum ein Abschnitt leer ist, schlägt eine Seite Füllstoff. Eine Bausteinsicht mit Dutzenden von Kästen auf der ersten Ebene. Sie sollte auf einen Bildschirm passen. Und die Beschreibung einmal schreiben und nie wieder. Stellen Sie sie unter Versionsverwaltung, prüfen Sie sie bei bedeutsamen Änderungen und zeigen Sie ein Datum „zuletzt geprüft“ an.

Der vollständige Abschnitt zeigt, was in jeden der zwölf Abschnitte gehört, für kleine und große Systeme. Als Nächstes gehen wir in Abschnitt vier Punkt sieben das Problem an, an dem die meiste Dokumentation scheitert: dass sie veraltet. Bis gleich.

Was Sie wissen müssen

Was arc42 ist

arc42 ist eine kostenlose Vorlage zur Beschreibung und Kommunikation von Softwarearchitektur, entwickelt von Gernot Starke und Peter Hruschka und seit 2005 in der Praxis im Einsatz. Sie ist unter einer Creative-Commons-Lizenz (Namensnennung – Weitergabe unter gleichen Bedingungen) veröffentlicht, in mehr als einem Dutzend Sprachen und in Formaten wie AsciiDoc, Markdown und Word, mit einer leeren Fassung und einer Fassung mit eingebauten Hilfetexten. Besonders verbreitet ist sie im deutschsprachigen Raum und in der iSAQB-Ausbildung, sie wird aber weltweit genutzt.

arc42 ist bewusst weder eine Methode noch eine Notation. Es sagt Ihnen nicht, wie Sie entwerfen sollen, und schreibt weder UML noch C4 noch einen anderen Diagrammstil vor. Es ist ein Satz von zwölf beschrifteten Schubladen: Für jede Art von Architekturinformation sagt es, wohin sie gehört, damit alle Lesenden wissen, wo sie suchen müssen, und alle Schreibenden wissen, was fehlt. Die Autoren sagen ausdrücklich, dass jeder Abschnitt optional ist; ein kleines System füllt vielleicht vier Abschnitte auf wenigen Seiten, ein großes alle zwölf auf vielen.

Die Vorlage baut auf Ideen aus diesem Kapitel auf. Ihre drei Sichten (Baustein-, Laufzeit- und Verteilungssicht) entsprechen weitgehend den SEI-Kategorien Modul, Komponenten und Konnektoren sowie Zuordnung und Kruchtens Entwicklungs-, Prozess- und physischer Sicht aus Sichten und Blickwinkel. In ihren Entscheidungsabschnitt gehören die Architecture Decision Records, in ihren Qualitätsabschnitt die Qualitätsszenarien aus Kapitel 2.

Die zwölf Abschnitte

Das Diagramm gruppiert die Abschnitte nach der Frage, die sie beantworten. Die Abschnitte 1 bis 3 legen Ziele und Grenzen fest: wofür das System da ist, was die Lösung einschränkt und wo das System endet. Abschnitt 4 nennt die grundlegenden Ideen der Lösung, und die Abschnitte 8 und 9 enthalten die Prinzipien und Entscheidungen, die für die ganze Lösung gelten. Die Abschnitte 5 bis 7 zeigen die Struktur aus drei Blickrichtungen. Die Abschnitte 10 bis 12 machen Qualität, Risiken und Vokabular explizit.

Der Aufbau von arc42

Die zwölf arc42-Abschnitte, gruppiert in Ziele und Grenzen, Lösungsprinzipien, strukturelle Sichten sowie Qualität, Risiken und Begriffe; hervorgehoben sind die Kernabschnitte einer minimalen BeschreibungZiele und Grenzen1Einführungund Ziele2Randbedingungen3Kontext-abgrenzungLösungsprinzipien4Lösungs-strategie8Querschnittl.Konzepte9Architektur-entscheid.Struktur in Sichten5Baustein-sicht6Laufzeit-sicht7Verteilungs-sichtQualität/Risiko/Glossar10Qualität:Anforderungen11Risiken undtechn. Schulden12GlossarSchattiert: der Kern auch einer minimalen Beschreibung (Ziele, Kontext, Strategie,Bausteine der Ebene 1); die arc42-FAQ verlangt außerdem 3 bis 5 Qualitätsszenarien und Kernkonzepte (8).
Die zwölf arc42-Abschnitte, nach Zweck gruppiert; die hervorgehobenen Abschnitte bilden den Kern auch einer minimalen Beschreibung.

Was in jeden Abschnitt gehört, und wie viel

AbschnittWas hineingehörtKleines System (ein Team)Großes System (viele Teams)
1. Einführung und ZieleEin kurzer Überblick über die Anforderungen, die drei bis fünf wichtigsten Qualitätsziele nach Priorität und eine Stakeholder-Tabelle mit den Erwartungen jeder Gruppe.Eine halbe Seite: Zweck, drei Qualitätsziele, fünf oder sechs Stakeholder.Zwei oder drei Seiten, die auf die Anforderungsdokumente verlinken, statt sie zu kopieren.
2. RandbedingungenAlles, was die Entwurfsfreiheit einschränkt: Vorschriften, vorgegebene Technologien, organisatorische Regeln, Termine, Budget, Konventionen.Eine Aufzählung.Eine Tabelle, gegliedert in technische, organisatorische und rechtliche Randbedingungen, jeweils mit Quelle.
3. KontextabgrenzungDas System als Blackbox: Nutzer und Nachbarsysteme, was zwischen ihnen fließt (fachlicher Kontext) und die verwendeten Kanäle und Protokolle (technischer Kontext).Ein Kontextdiagramm (oft ein C4-Systemkontextdiagramm) und eine kurze Tabelle der externen Schnittstellen.Fachliche und technische Kontextdiagramme sowie eine Schnittstellentabelle mit Verantwortlichen und Verträgen.
4. LösungsstrategieDie wenigen grundlegenden Entscheidungen und Ansätze, die alles andere prägen: Zerlegungsstil, Schlüsseltechnologien, wie die wichtigsten Qualitätsziele erreicht werden.Eine Handvoll Stichpunkte, jeder an ein Qualitätsziel gebunden.Ein oder zwei Seiten; eine Tabelle, die jedem Qualitätsziel den Ansatz zuordnet, der ihm dient.
5. BausteinsichtDie statische Zerlegung in Bausteine (Subsysteme, Services, Komponenten, Module), Ebene für Ebene verfeinert, jeder mit Verantwortlichkeiten und Schnittstellen. Meist der umfangreichste Abschnitt.Nur Ebene 1: ein Diagramm (ein C4-Containerdiagramm eignet sich) und ein Satz pro Baustein.Ebene 1 für das ganze System, Ebenen 2 und 3 nur für komplexe oder riskante Teile.
6. LaufzeitsichtWie Bausteine in wichtigen Szenarien zusammenarbeiten: zentrale Anwendungsfälle, Start, Fehlerbehandlung, Failover.Ein oder zwei Sequenzdiagramme für die wichtigsten Abläufe.Die kritischen und die überraschenden Szenarien; niemals jeder Anwendungsfall.
7. VerteilungssichtDie technische Infrastruktur: Umgebungen, Knoten, Netzwerke und welche Bausteine wo laufen.Ein Diagramm oder eine kurze Liste der gehosteten Services.Diagramme pro Umgebung und Region, verlinkt mit dem Infrastructure as Code, das sie definiert.
8. Querschnittliche KonzepteKonzepte, die für viele Bausteine gelten: Domänenmodell, Sicherheit, Fehlerbehandlung, Logging und Observability, Persistenz, Internationalisierung, Tests.Je ein kurzer Absatz für die zwei oder drei Konzepte, auf die es ankommt.Eine Seite oder mehr pro Konzept, oft verantwortet von einem Plattform- oder Enabling Team.
9. ArchitekturentscheidungenWichtige Entscheidungen mit ihren Gründen, sofern nicht anderswo festgehalten.Ein Link auf den ADR-Ordner.Ein Link auf das Entscheidungsprotokoll, vielleicht mit den fünf oder sechs Entscheidungen, die jede neue Person kennen muss.
10. QualitätsanforderungenEin Qualitätsbaum (der Utility Tree aus Kapitel 2) und konkrete Qualitätsszenarien, die die Qualitätsziele aus Abschnitt 1 verfeinern.Drei bis fünf Szenarien.Ein Utility Tree mit priorisierten Szenarien, verknüpft mit Fitness Functions.
11. Risiken und technische SchuldenBekannte technische Risiken und Schulden, möglichst priorisiert, mit Plänen zur Risikominderung.Eine kurze Liste, jedes Quartal überprüft.Ein Link auf das Schuldenregister, dazu die wichtigsten Risiken mit Verantwortlichen.
12. GlossarDie wichtigen fachlichen und technischen Begriffe, mit Definitionen, auf die sich alle einigen.Etwa zehn Begriffe.Ein gemeinsames Glossar, manchmal pro Bounded Context.

arc42 sparsam nutzen

Der häufigste Weg, mit arc42 zu scheitern, ist, es als Formular zu behandeln, das ausgefüllt werden muss: Zwölf Überschriften werden angelegt, jede wird mit irgendetwas gefüllt, und das Ergebnis ist lang, generisch und wird nie gelesen. Die Hinweise der Vorlage selbst weisen in die andere Richtung. Die arc42-FAQ sagt, es gebe keine allgemeine Regel für das Minimum, weil es von Kritikalität, Größe, Komplexität und Risiko abhängt, schlägt aber vor, dass selbst eine minimale Beschreibung drei bis fünf zentrale Qualitätsanforderungen als Szenarien, den Kontext und die externen Schnittstellen, eine kurze Lösungsstrategie, die Bausteinsicht der Ebene 1 und die wichtigsten querschnittlichen Konzepte enthalten sollte.

Vier Gewohnheiten halten arc42 schlank. Löschen Sie leere Abschnitte oder kennzeichnen Sie sie bewusst (Verteilung: eine einzige verwaltete Plattform; siehe Infrastruktur-Repository), damit Lesende wissen, dass die Lücke beabsichtigt ist. Verlinken statt kopieren: Die Anforderungen liegen im Backlog, die Entscheidungen im ADR-Ordner, die Verteilung im Infrastructure as Code; arc42 verweist darauf. Bevorzugen Sie Diagramme mit kurzen Elementtabellen gegenüber seitenlanger Prosa. Schreiben Sie für die Fragen der nächsten Lesenden, nicht für Vollständigkeit: Wenn niemand nach dem Laufzeitverhalten der Admin-Oberflächen fragen wird, beschreiben Sie es nicht.

arc42 lässt sich gut mit dem C4-Modell kombinieren. Eine gängige Paarung ist ein C4-Systemkontextdiagramm in Abschnitt 3, ein Containerdiagramm als Ebene 1 der Bausteinsicht in Abschnitt 5 mit Komponentendiagrammen als Ebene 2 und ein C4-Deployment-Diagramm in Abschnitt 7. Als Diagrams as Code im selben Repository wie der arc42-Text gepflegt, lässt sich die gesamte Beschreibung wie Code versionieren und prüfen.

Ausgearbeitetes Beispiel: arc42-lite für die Essenslieferplattform

Die folgende Seite ist eine vollständige arc42-lite-Beschreibung der Essenslieferplattform, die sich durch dieses Kapitel zieht. Sie passt auf eine gedruckte Seite plus Kontextdiagramm, beantwortet aber die Fragen, die eine neue Ingenieurin, eine Betriebsleitung oder ein Prüfer zuerst stellen würden, und verweist darauf, wo die Details liegen.

Abschnitt 3: fachlicher Kontext

Fachlicher Kontext der Essenslieferplattform: Kunden, Restaurantpersonal und Kuriere nutzen sie; sie stützt sich auf einen Zahlungsanbieter, Push-Benachrichtigungsdienste und einen KartenanbieterSystemgrenzeEssensliefer-plattformKunden-Mobil-AppRestaurantpersonalTablet-AppKurierMobil-Appbestellt, tracktnimmt anliefertZahlungsanbieterKartenzahlungenPush-DiensteAPNs, FCMKartenanbieterRouten, ETAsZahlungenBenachricht.Routenabfragen
Der Kontext der Plattform: drei Nutzergruppen links, drei externe Dienste rechts, jeder Pfeil mit dem beschriftet, was ausgetauscht wird; Kanäle und Protokolle gehören in den technischen Kontext.

Ausgearbeitetes Beispiel

Ausgearbeitetes Beispiel: eine einseitige arc42-lite-Beschreibung

Essenslieferplattform, Architekturbeschreibung, Fassung vom leitenden Architekten am 2026-10-01 geprüft. Abschnitte, die nichts beitragen würden, sind als solche ausgewiesen, statt leer zu bleiben.

1. ZieleKunden sollen bei lokalen Restaurants bestellen und die Lieferung in Echtzeit verfolgen können. Qualitätsziele nach Priorität: (1) keine Bestellung geht verloren oder wird doppelt belastet; (2) Bestellbestätigung p99 unter 1,5 s bei 120 Bestellungen/s; (3) ein neuer Consumer von Bestelldaten lässt sich hinzufügen, ohne den Bestellservice zu ändern. Stakeholder: Kunden, Restaurants, Kuriere, Betrieb, Finanzen, der Datenschutzbeauftragte (DSB), der Zahlungsanbieter.
2. RandbedingungenKartendaten berühren nie unsere Systeme (gehostete Kartenfelder des Zahlungsanbieters, um den Geltungsbereich von PCI DSS zu begrenzen). Personenbezogene Daten aus Großbritannien und der EU bleiben in EU-Regionen. Fünf Squads; serverseitiger Code nur in Java, Go oder TypeScript.
3. KontextSiehe Kontextdiagramm. Externe Schnittstellen: REST-API und Webhooks des Zahlungsanbieters; APNs und FCM für Push; Kartenanbieter für Routen und ETAs. Verantwortliche und Verträge der Schnittstellen sind in docs/interfaces.md aufgeführt.
4. LösungsstrategieGetrennte Services für Bestellungen, Disposition und Benachrichtigungen (Ziel 3); asynchrone Bestellereignisse über einen verwalteten Broker mit Transactional Outbox (Ziele 1 und 2, ADR-0012); verwaltetes PostgreSQL für Bestellungen (Ziel 1, ADR-0007); Idempotenzschlüssel bei jedem Zahlungsaufruf (Ziel 1).
5. BausteineEbene 1 ist das C4-Containerdiagramm in docs/diagrams/containers.dsl: drei Client-Apps, API-Gateway, Bestell-, Dispositions- und Benachrichtigungsservice, Bestelldatenbank und das Topic für Bestellereignisse auf dem verwalteten Broker. Ebene 2 gibt es nur für den Bestellservice, den riskantesten Service.
6. LaufzeitZwei Szenarien: Bestellung aufgeben und bezahlen (Sequenzdiagramm) und Timeout beim Zahlungsanbieter (zeigt die Wiederholung mit Idempotenzschlüssel und den Status „ausstehend“).
7. VerteilungEin Cloud-Anbieter, zwei EU-Regionen, verwaltetes Kubernetes und verwaltete Datenbanken; definiert im Infrastruktur-Repository, das die Single Source of Truth ist.
8. KonzepteDomänenmodell (Zustände im Lebenszyklus einer Bestellung); Idempotenz und Wiederholungen; Observability (Trace-IDs in jedem Ereignis); Umgang mit personenbezogenen Daten und deren Aufbewahrung.
9. EntscheidungenSiehe das Entscheidungsprotokoll in docs/decisions/. Pflichtlektüre: ADR-0004, ADR-0007, ADR-0012.
10. QualitätSzenarien QS-1 bis QS-5 in docs/quality.md, jeweils mit Antwortmaß; QS-3 (Latenz der Bestätigung) und QS-1 (keine verlorenen Bestellungen) haben automatisierte Fitness Functions.
11. Risiken und SchuldenNur ein Broker-Anbieter (Lock-in, in ADR-0012 akzeptiert); die Disposition liest noch direkt aus der Bestelldatenbank (Schulden, Abbau für Q1 geplant); Rate Limits des Kartenanbieters zu Spitzenzeiten (Risiko, verantwortlich: Dispositions-Squad).
12. GlossarBestellung, Warenkorb, Annahme, Abholung, Übergabe, Disposition, ETA, Outbox, Idempotenzschlüssel: definiert in docs/glossary.md.

Jeder Abschnitt ist entweder knapp gefüllt oder verweist auf eine einzige maßgebliche Quelle; nichts ist kopiert, also kann nichts auseinanderlaufen.

Die Qualitätsziele in Abschnitt 1 bestimmen die Strategie in Abschnitt 4, die die Entscheidungen in Abschnitt 9 zitiert: Lesende können jede wichtige Wahl auf ein Ziel zurückführen.

Weitere Vorlagen

Die SEI-Vorlage Views and Beyond. Das Software Engineering Institute veröffentlicht eine Dokumentationsvorlage, die Documenting Software Architectures: Views and Beyond von Paul Clements und Kollegen folgt. Ihre oberste Ebene hat sechs Teile: eine Roadmap und Übersicht der Dokumentation, den Architekturhintergrund, die Sichten, die Zuordnung zwischen den Sichten, referenzierte Materialien und ein Glossar mit Abkürzungen. Jede Sicht wird auf dieselbe Weise dokumentiert, mit einer primären Darstellung, einem Elementkatalog, einem Kontextdiagramm, einem Variabilitätsleitfaden und der Begründung (beschrieben im Kasten „Vertiefung“ in Abschnitt 4.2). Sie ist gründlicher als arc42 und eignet sich für große, langlebige oder vertraglich spezifizierte Systeme, bei denen jede Sicht vollständig und mit Querverweisen versehen sein muss; ihre Zuordnung zwischen den Sichten ist eine Stärke, die arc42 implizit lässt.

IEEE 1016. IEEE Std 1016-2009, Software Design Descriptions, legt Inhalt und Aufbau einer Software Design Description (SDD) fest, des detaillierten Entwurfsdokuments, das traditionell in Verteidigung, Luft- und Raumfahrt und anderen vertragsgetriebenen Projekten verlangt wird. Es übernahm die Begriffe Stakeholder, Anliegen, Blickwinkel und Sicht aus IEEE 1471 (dem Vorgänger von 42010) und listet Entwurfsblickwinkel wie Kontext, Komposition, logische Struktur, Abhängigkeiten, Information, Schnittstellen, Interaktion, Zustandsdynamik, Algorithmen und Ressourcen auf. IEEE setzte es 2020 auf den Status inactive-reserved, doch es wird weiterhin in Verträgen und in der Lehre zitiert, und ältere Programme liefern SDDs noch in dieser Form. Es steht dem Feinentwurf näher als der Architektur.

Designdokumente und RFCs, die viele Engineering-Organisationen verwenden, sind eine andere Art von Vorlage: ein Vorschlag für eine einzelne Änderung statt einer Beschreibung des ganzen Systems. Sie werden im übernächsten Abschnitt behandelt, Architektur kommunizieren.

Konformität mit ISO/IEC/IEEE 42010

ISO/IEC/IEEE 42010:2022 stellt Anforderungen an Architekturbeschreibungen und an Architekturbeschreibungsrahmen (ADFs): etablierte Konventionen wie arc42 oder den Ansatz Views and Beyond, mit denen in einer bestimmten Community Beschreibungen erstellt werden. Die Norm schreibt keine Vorlage, keine Notation und keinen Prozess vor. Eine Beschreibung ist konform, wenn sie die Informationen enthält, die die Norm verlangt, gleich welche Vorlage sie gliedert.

Grob gesagt bedeutet das: das beschriebene System und seine Umgebung benennen, die Stakeholder und ihre Anliegen benennen, angeben, welche Blickwinkel verwendet werden und welche Anliegen jeder abdeckt, Sichten liefern, die diesen Blickwinkeln folgen, Korrespondenzen festhalten (wie Elemente in verschiedenen Sichten zusammenhängen) und die Begründung für zentrale Entscheidungen festhalten. arc42 beansprucht keine Konformität von Haus aus, und einfachen arc42-Beschreibungen fehlt oft eine explizite Verbindung von jedem Anliegen zu der Sicht, die es behandelt. Die Lücken sind klein und leicht zu schließen, wie die Tabelle zeigt. Die meisten Teams brauchen keine formale Konformität; Teams in regulierten Branchen oder mit vertraglichen Pflichten manchmal schon, und es ist beruhigend, dass eine schlanke Vorlage die Norm mit wenigen Ergänzungen erfüllen kann.

Eine arc42-Beschreibung konform zu 42010 machen

42010 verlangtWo arc42 es hatWas zu ergänzen ist
Stakeholder und ihre AnliegenAbschnitt 1.3, Stakeholder-Tabelle; Qualitätsziele in 1.2 und 10Anliegen pro Stakeholder explizit auflisten, nicht nur Erwartungen.
Blickwinkel, die jeweils benannte Anliegen abdeckenImplizit in den Abschnitten 3, 5, 6 und 7Eine kurze Tabelle, die jeden Blickwinkel, die Anliegen, die er abdeckt, und seine Notation nennt (zum Beispiel C4-Containerdiagramme).
Sichten, die den Blickwinkeln folgenAbschnitte 3, 5, 6 und 7Nichts, sofern jede Sicht angibt, welchem Blickwinkel sie folgt.
Korrespondenzen zwischen SichtenTeilweise in Abschnitt 7 (was wo läuft)Zuordnungstabellen, zum Beispiel Baustein zu Verteilungsknoten, Baustein zu verantwortlichem Team.
Begründung zentraler EntscheidungenAbschnitte 4 und 9 (ADRs)Jede Entscheidung mit den Anliegen verknüpfen, die sie behandelt.

Prüfen Sie Ihr Verständnis

Welcher arc42-Abschnitt wird meist der umfangreichste, und wie verhindern Sie, dass er ausufert?

Abschnitt 5, die Bausteinsicht. Beschränken Sie Ebene 1 auf ein Diagramm, das auf einen Bildschirm passt, und verfeinern Sie nur komplexe oder riskante Bausteine auf die Ebenen 2 und 3.

Wo erscheinen Qualitätsziele in arc42, und wie unterscheiden sich die Abschnitte 1 und 10?

Abschnitt 1 nennt zur Orientierung die drei bis fünf wichtigsten Qualitätsziele nach Priorität; Abschnitt 10 verfeinert sie und alle weiteren Qualitäten zu einem Qualitätsbaum und konkreten, testbaren Szenarien.

Ihr Team pflegt bereits ADRs im Repository. Was sollte Abschnitt 9 von arc42 enthalten?

Einen Link auf das Entscheidungsprotokoll, vielleicht mit einer kurzen Liste der Entscheidungen, die jede neue Person lesen muss, statt einer Kopie der Records.

Macht die Verwendung von arc42 eine Architekturbeschreibung konform zu ISO/IEC/IEEE 42010?

Nicht automatisch. Konformität hängt vom Inhalt ab: Stakeholder, Anliegen, Blickwinkel, Sichten, Korrespondenzen und Begründungen müssen explizit sein, was meist einige kleine Ergänzungen zu arc42 erfordert.

Weiter · 4.7Diagrams as CodeDiagramme als Text schreiben mit PlantUML, Mermaid, Structurizr DSL und D2, Zeichen- gegenüber Modellierungswerkzeugen, Dokumentation in der Pipeline bauen und die Gewohnheiten, die sie zutreffend halten.Weiter →

Quellen und weiterführende Literatur

Haben Sie eine Frage zu diesem Abschnitt? ArchitectBot, der KI-Lernassistent des Kurses, antwortet zuerst aus dem Kurs.

Fragen: „Wir haben ein 60-seitiges Architekturdokument, das niemand liest. Wie würde ich es zu einer schlanken arc42-Beschreibung umbauen, und was könnte ich gefahrlos löschen?“