Über die optimale Softwarearchitektur

Es gibt gute und schlechte Softwarearchitektur – so viel ist klar. Aber gibt es die optimale?

In Pocket speichern vorlesen Druckansicht 15 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Eberhard Wolff

Es gibt gute und schlechte Softwarearchitektur – so viel ist klar. Aber gibt es die optimale?

Was ist eine gute Softwarearchitektur? Ist langfristige Wartbarkeit ein Zeichen für eine gute Architektur? Für ein Start-up-Unternehmen ist langfristige Wartbarkeit nicht so wichtig. Wenn es nicht schnell einen ausreichenden Umsatz erzielt, dann wird es vom Markt verschwinden. Langfristige Wartbarkeit hilft erst danach.

Dann ist vielleicht Skalierbarkeit wichtig? Ein System für die Verarbeitung medizinischer Daten kommt vielen Anforderungen nach, die nichts mit Skalierbarkeit und Wartbarkeit zu tun haben. Die Daten müssen sicher sein. Nicht nur vor unberechtigtem Zugriff – sondern auch vor Hardware-Problemen, und sogar bei hoher Last dürfen keine Daten verloren gehen. Es muss protokolliert werden, welche Mitarbeiter welche Daten wann gesehen oder geändert haben. Diese Anforderungen gehen über eine einfach Sichtweise auf Sicherheit hinaus.

Eine wesentliche Aufgabe der Architektur ist, solche Anforderungen zu ermitteln. Wer die Anforderungen nicht kennt, kann sie wohl kaum erfüllen. Leider scheitern viele Architekturen schon an diesem Punkt. Erst auf Basis dieser Anforderungen kann man dann eine technische Lösung entwerfen. Also können Architekturen ohne diese Anforderungen keine guten technischen Lösungen werden.

Die Anforderungen lassen sich in Qualitätsszenarien festhalten. Sie beschreiben konkret, wie sich ein System verhalten soll. Ein Beispiel für ein Qualitätsszenario: "Ein neues Land muss im System unterstützt werden. Die Änderung kann in höchsten 10PT umgesetzt werden."

Eine Qualitätsbaum kann als Überblick dienen und hilft sicherzustellen, dass alle möglichen Kategorien erfasst worden sind. Die "arc42 Documentation" zeigt, wie Qualitätsszenarien und Qualitätsbäume dargestellt werden können.

Am Ende ist jede Architektur wegen anderer Anforderungen individuell und auf den jeweiligen Kontext angepasst. Also gibt es keine allgemeingültigen Best Practices oder die optimale Architektur – sondern nur Lösungen für bestimmte Probleme. Aus denen muss sich der Architekt bedienen – und das macht natürlich auch Spaß!

Architekturen sind spezielle technische Lösungen. Also muss man die Anforderungen des Projekts kennen und dafür eine individuelle Lösung entwerfen. Qualitätsbäume und Qualitätsszenarien helfen. ()