© Ekaphon maneechot/Shutterstock.com
Mit Fokus auf Qualität bessere Software schaffen

Quality-driven Software Architecture


Qualität bildet die Existenzberechtigung für Softwarearchitekten: Zuverlässig, performant, skalierbar und benutzerfreundlich sollen unsere Systeme sein, das alles kosteneffektiv und zukunftssicher. Jeder ITler weiß, dass diese Kombination von Eigenschaften harte Arbeit bedeutet. Lesen Sie hier, wie Softwarearchitekten systematisch Qualität konstruieren können.

Wollen wir die Qualität eines Systems prüfen, so müssen wir vorher die spezifischen Qualitätsanforderungen der maßgeblichen Stakeholder kennen, allgemeine Anforderungen helfen uns nur bedingt weiter. Auftraggeber und Anwender erwarten von Software heutzutage eine Vielzahl von Qualitätsmerkmalen, von denen die „korrekte Funktion“ nur eines unter vielen ist. Im klassischen Softwareentwurf wird allerdings gerade die Funktionalität häufig ins Zentrum der Entwurfs- und Implementierungstätigkeiten gestellt – mit möglicherweise fatalen Folgen. Lassen Sie uns das anhand eines kleinen Beispiels nachvollziehen.

Funktion allein genügt nicht

Seit dem Siegeszug digitaler Kleinkameras besteht für praktisch jeden von uns die Notwendigkeit, die vielen einzelnen Bilder am Computer irgendwie zu organisieren. Verwenden wir dies als Beispiel einer Anforderungsbeschreibung für ein Softwaresystem: Digitalfotos verwalten. Versetzen Sie sich in die Rolle eines Softwarearchitekten, der von einem Kunden die Anforderungen erklärt bekommt: „Wir möchten Fotos in Ordnern organisieren und mit Schlüsselworten versehen. Später müssen wir nach verschiedenen Suchkriterien (etwa Datum, Schlüsselwort etc.) Bilder suchen und anzeigen können. In unserer privaten Sammlung kommen wir mit einigen tausend Fotos aus, ein gesondertes Mengengerüst (heißt, eine nicht funktionale Anforderung) geben wir daher nicht an.

Ganz einfach könnte unser gedachter Kunde diese Anforderung anhand von Abbildung 1 erklären: „So etwas wie dort abgebildet hätten wir gerne.“ Jetzt sind Softwarearchitekten gefragt, aus diesen (zugegeben, sehr groben) Anforderungen eine Lösung zu konstruieren. Dabei hilft ein fachliches Modell im Sinne des Domain-driven Design [1], das wir aus einem exemplarischen Foto (Abb. 2) ableiten können. Ein Foto verfügt lediglich über eine Handvoll Attribute (Datum, Ort, Datei etc.). Die Schlüsselworte bilden wir als Liste ab, damit jedes Foto mehrere haben kann. Das Domänenmodell mutet in unserem Beispiel nahezu trivial an (Abb. 3). Nur zwei kleine Entitäten genügen, um die gewünschte Funktionalität aus einer rein fachlichen Perspektive ab...

Exklusives Abo-Special

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang