Quality Attributes
Konzept für nicht-funktionale Qualitätsmerkmale von Systemen, die Architekturentscheidungen und Evaluationskriterien prägen.
Klassifikation
- KomplexitätMittel
- AuswirkungTechnisch
- EntscheidungstypArchitektur
- OrganisationsreifeFortgeschritten
Technischer Kontext
Prinzipien & Ziele
Use Cases & Szenarien
Kompromisse
- Überoptimierung für ein Attribut schwächt andere (z. B. Performance vs Wartbarkeit).
- Ignorierte Quality Attributes führen zu Produktionsausfällen oder Sicherheitslücken.
- Unklare Kriterien führen zu widersprüchlichen Implementierungen.
- Metriken früh definieren und kontinuierlich messen.
- Trade-offs dokumentieren und Entscheidungen nachvollziehbar machen.
- Qualitätsziele in Akzeptanzkriterien und SLAs verankern.
I/O & Ressourcen
- Geschäftsziele und SLAs
- Technische Architekturübersichten und Komponentenlisten
- Stakeholder-Anforderungen und Betriebsbedingungen
- Priorisierte Quality-Attribute mit Metriken
- Test- und Monitoring-Pläne
- Architekturentscheidungen und Risikodokumentation
Beschreibung
Quality Attributes beschreiben nicht-funktionale Anforderungen wie Performance, Sicherheit oder Wartbarkeit und geben qualitative Kriterien für Architekturentscheidungen vor. Sie erlauben Priorisierung und Abwägung technischer Lösungen, indem sie messbare Erwartungen und Zielzustände definieren. Im Architekturentwurf dienen sie als treibende Anforderungen, um Trade-offs sichtbar zu machen und Test- sowie Monitoring-Ziele abzuleiten.
✔Vorteile
- Erhöhte Vorhersagbarkeit von Systemverhalten unter Last.
- Bessere Entscheidungsgrundlage für Architektur-Trade-offs.
- Klare Kriterien für Tests, SLAs und Betrieb.
✖Limitationen
- Schwierigkeiten bei der exakten Messung einiger Attribute.
- Kontextabhängigkeit kann Verallgemeinerung erschweren.
- Prioritäten können sich mit Markt- oder Nutzeranforderungen ändern.
Trade-offs
Metriken
- Antwortzeit (P95)
Zeit, in der 95 % der Anfragen beantwortet werden; wichtig für Performance-SLAs.
- Verfügbarkeit (Uptime)
Prozentualer Anteil der Betriebszeit innerhalb eines definierten Intervalls.
- Mittlere Wiederherstellungszeit (MTTR)
Durchschnittliche Zeit zur Wiederherstellung nach einem Ausfall.
Beispiele & Implementierungen
Checkout-Latenz im Online-Shop
Anforderung: maximal 200 ms Antwortzeit bei Peak-Last zur Vermeidung von Kaufabbrüchen.
Bankensystem Verfügbarkeit
Anforderung: 99,99 % Verfügbarkeit und definierte Wiederherstellungszeiten für kritische Transaktionen.
IoT-Geräte Batterielebensdauer
Anforderung: Energieoptimierte Kommunikation, um Mindestbetriebszeit von einem Jahr zu gewährleisten.
Implementierungsschritte
Stakeholder-Workshop zur Erhebung von Quality Attributes durchführen.
Szenarien formulieren und Metriken ableiten.
Integration in Design-, Test- und Monitoring-Prozesse sicherstellen.
⚠️ Technische Schulden & Engpässe
Tech Debt
- Workarounds zur Performance-Verbesserung erzeugen langfristigen Wartungsaufwand.
- Nicht dokumentierte Abhängigkeiten erhöhen Fehleranfälligkeit.
- Unklare Qualitätsziele führen zu inkonsistenten Implementierungen.
Bekannte Engpässe
Beispiele für Missbrauch
- Performance-Anforderung ohne definierte Lastprofile implementieren.
- Sicherheitsmaßnahmen schwächen, um kurzfristig Nutzerfreundlichkeit zu erhöhen.
- Alle Quality Attributes gleich priorisieren, ohne Business-Kontext.
Typische Fallen
- Metriken wählen, die leicht zu messen, aber irrelevant sind.
- Annahmen nicht regelmäßig validieren.
- Fehlende Verknüpfung zwischen Architektur- und Betriebsteams.
Erforderliche Fähigkeiten
Drivers (Architectural Drivers)
Constraints
- • Budget- und Zeitbegrenzungen für Implementierung
- • Regulatorische Vorgaben (z. B. Datenschutz)
- • Vorhandene technische Plattformen und Integrationen