Architektursichten
Eine Architektursicht zeigt gezielt die Informationen, die eine bestimmte Frage beantworten. Unterschiedliche Sichten können dasselbe System ohne Widerspruch aus verschiedenen Perspektiven erklären.
- LeitfrageJede Sicht beantwortet eine benannte Frage.
- ZielgruppeWer die Antwort braucht.
- AuswahlNur Passendes kommt in die Sicht.
Einordnung
Warum das wichtig ist
Eine einzelne Darstellung kann nicht jede Frage beantworten. Wer alles in ein Bild packt, erhält ein Bild, das niemandem hilft. Die Gliederung einer ganzen Architekturbeschreibung behandelt ein eigener Baustein.
Dieser Baustein erklärt Auswahl und Zweck von Sichten. Für die Gliederung einer gesamten Architekturbeschreibung siehe arc42.
Vier Sichten auf denselben Shop
Beim Shop brauchen Fachbereich, Entwicklung, Fehleranalyse und Betrieb unterschiedliche Bilder. Alle vier zeigen dieselbe Architektur, aber jedes beantwortet eine andere Frage und lässt dafür anderes weg.
So liest du das Bild
- Leitfrage Die Reiter, etwa „Wie läuft eine Zahlung ab?“
- Zielgruppe Über jeder Frage: Produkt & Fachbereich, Entwicklung, Fehleranalyse, Betrieb.
- Auswahl Bei jeder Sicht: „Zeigt“ und „Lässt weg“.
Systemkontext
- Zeigt
- Den Shop als eine Einheit und alle Partner außerhalb.
- Lässt weg
- Module, Abläufe und Server.
- Zahlungsanbieter
- Ein Nachbarsystem außerhalb der Grenze.
Bausteinsicht
- Zeigt
- Sieben Module und wer wen aufruft.
- Lässt weg
- Reihenfolge in der Zeit und Server.
- Zahlungsanbieter
- Das Ziel eines einzigen Pfeils, aus dem Zahlungsmodul.
Laufzeitsicht
- Zeigt
- Nachrichten in zeitlicher Reihenfolge.
- Lässt weg
- Module, die nicht beteiligt sind, und Server.
- Zahlungsanbieter
- Ein Teilnehmer mit eigener Zeitachse.
- Bestellung → Zahlung0 ms: Zahlungsauftrag B-1042 übergeben
- Zahlung → Anbieter20 ms: Autorisierung P-731 anfordern
- Anbieter250 ms: Autorisierung speichern
- Anbieter → Zahlung280 ms: Autorisierung bestätigt
- Zahlung → Bestellung300 ms: Zahlungsstatus melden
- Bestellung320 ms: Bestellung bestätigen
Verteilungssicht
- Zeigt
- Instanzen, Datenbank und externe Dienste.
- Lässt weg
- Die interne Modulaufteilung.
- Zahlungsanbieter
- Ein externer Dienst außerhalb der Shop-Umgebung.
Nutzen & Grenzen
Hilft, wenn
- Entwicklung, Fachseite und Betrieb benötigen unterschiedliche Ausschnitte desselben Systems.
- Eine Laufzeitsicht ergänzt die Strukturperspektive, wenn eine konkrete Störung oder Änderung im zeitlichen Ablauf nachvollziehbar werden soll.
Grenzen
- Jede Sicht lässt bewusst etwas weg; erst mehrere Sichten zusammen beantworten alle Fragen, etwa C4 für die Struktur.
- Sichten laufen auseinander, wenn Namen und Beziehungen nicht gemeinsam gepflegt werden; „Zahlung“ muss überall dasselbe meinen.
- Zeitliche Abläufe wie der Weg einer Zahlung zeigt eine Strukturperspektive nicht; dafür dient ein Sequenzdiagramm.
In der Praxis
- Fragestellung und Leserkreis definieren. Formuliere, welche Erkenntnis die Darstellung liefern soll und welches Vorwissen sie voraussetzt. Das Ergebnis begrenzt Detailgrad und sichtbare Elemente.
- Passende Abstraktion auswählen. Entscheide, ob Struktur, Laufzeitinteraktion oder Verteilung im Mittelpunkt steht. Verknüpfe die Darstellung bei Bedarf mit dem C4-Modell oder einem Sequenzdiagramm, statt mehrere Fragen in einer Sicht zu vermengen.
- Bezeichnungen und Verweise abgleichen. Prüfe, ob wiederkehrende Elemente über weitere Sichten hinweg gleich benannt bleiben. Eine Verteilungssicht kann dieselben Bausteine mit ihren Laufzeitorten verbinden.
Ausführliche Erklärung lesen
Jede Sicht wählt aus dem System nur die Informationen aus, die für ihre Frage gebraucht werden. Eine Strukturperspektive ordnet Verantwortungen, eine Interaktionsperspektive zeigt zeitliches Zusammenwirken und eine Verteilungsperspektive verbindet Software mit Laufzeitorten. C4-Modell bietet abgestufte Strukturperspektiven; Sequenzdiagramme stellen Interaktionen zeitlich dar.
Sichten beziehen sich auf denselben Architekturgegenstand und bleiben über gemeinsame Namen und Verweise miteinander verbunden. Eine Sicht braucht daher einen klaren Zweck, eine Zielgruppe und eine nachvollziehbare Auswahl ihrer Elemente. Für den Aufbau einer vollständigen Beschreibung kann arc42 ergänzende Abschnitte strukturieren.
Das 4+1-Sichtenmodell von Philippe Kruchten ordnet logische, Prozess-, Entwicklungs- und physische Sicht und verbindet sie durch Szenarien.
Selbst prüfen
Teste dich in drei Stufen
AblesenIm Bild nachsehen
In welcher Sicht ist der Zahlungsanbieter ein Teilnehmer mit eigener Zeitachse?
Lösung mit Begründung ansehen
In der Laufzeitsicht. Sie zeigt Nachrichten in zeitlicher Reihenfolge und richtet sich an die Fehleranalyse.
AnwendenAuf eine neue Lage übertragen
Ein neuer Kollege fragt, welches Modul für Rechnungen zuständig ist. Welche Sicht zeigst du ihm?
Lösung mit Begründung ansehen
Die Bausteinsicht, denn sie zeigt die sieben Module mit Aufgaben und Abhängigkeiten. Der Systemkontext zeigt nur Außenbeziehungen.
BewertenEine Alternative abwägen
Das Team will eine einzige Sicht für alle Zielgruppen pflegen. Was spricht dafür, was dagegen?
Lösung mit Begründung ansehen
Dafür spricht weniger Pflegeaufwand. Dagegen: Die Sicht müsste Zeitabläufe, Module und Betrieb mischen und würde unlesbar. Mehrere Sichten auf dieselbe Architektur bleiben übersichtlicher.
Vertiefen
Diese Bausteine führen die Gedanken dieser Seite weiter.
Quellen
- C4 · Diagrams (öffnet in neuem Tab)Ordnet Kontext-, Container- und Komponentensicht unterschiedlichen Detailstufen zu.
- arc42 · Bausteinsicht (öffnet in neuem Tab)Zuständigkeiten und Schnittstellen hierarchisch beschreiben.
- arc42 · Laufzeitsicht (öffnet in neuem Tab)Zusammenarbeit der Bausteine an konkreten Abläufen erklären.