Katalog
concept#Architektur#Softwareentwicklung#Governance#Zuverlässigkeit

Quality Attributes

Konzept für nicht-funktionale Qualitätsmerkmale von Systemen, die Architekturentscheidungen und Evaluationskriterien prägen.

Quality Attributes beschreiben nicht-funktionale Anforderungen wie Performance, Sicherheit oder Wartbarkeit und geben qualitative Kriterien für Architekturentscheidungen vor.
Etabliert
Mittel

Klassifikation

  • Mittel
  • Technisch
  • Architektur
  • Fortgeschritten

Technischer Kontext

Monitoring-Tools (z. B. Prometheus, Grafana)CI/CD-Pipelines für Performance- und LasttestsIssue-Tracking und Architektur-Dokumentationssysteme

Prinzipien & Ziele

Qualitäten messbar definieren (z. B. konkrete Metriken und Grenzwerte).Priorisierung nach Business-Impact und Risiko vornehmen.Qualitätsziele in Design, Test und Betrieb durchgängig verknüpfen.
Erkundung
Unternehmen, Domäne, Team

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.

  • Erhöhte Vorhersagbarkeit von Systemverhalten unter Last.
  • Bessere Entscheidungsgrundlage für Architektur-Trade-offs.
  • Klare Kriterien für Tests, SLAs und Betrieb.

  • Schwierigkeiten bei der exakten Messung einiger Attribute.
  • Kontextabhängigkeit kann Verallgemeinerung erschweren.
  • Prioritäten können sich mit Markt- oder Nutzeranforderungen ändern.

  • 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.

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.

1

Stakeholder-Workshop zur Erhebung von Quality Attributes durchführen.

2

Szenarien formulieren und Metriken ableiten.

3

Integration in Design-, Test- und Monitoring-Prozesse sicherstellen.

⚠️ Technische Schulden & Engpässe

  • Workarounds zur Performance-Verbesserung erzeugen langfristigen Wartungsaufwand.
  • Nicht dokumentierte Abhängigkeiten erhöhen Fehleranfälligkeit.
  • Unklare Qualitätsziele führen zu inkonsistenten Implementierungen.
Hohe Kopplung zwischen ModulenLegacy-abhängigkeitenLimitierte Ressourcen (CPU, Netzwerk, Speicher)
  • Performance-Anforderung ohne definierte Lastprofile implementieren.
  • Sicherheitsmaßnahmen schwächen, um kurzfristig Nutzerfreundlichkeit zu erhöhen.
  • Alle Quality Attributes gleich priorisieren, ohne Business-Kontext.
  • Metriken wählen, die leicht zu messen, aber irrelevant sind.
  • Annahmen nicht regelmäßig validieren.
  • Fehlende Verknüpfung zwischen Architektur- und Betriebsteams.
Architektur- und SystemdenkenKenntnis von Mess- und Monitoring-TechnikenModerations- und Priorisierungsfähigkeiten
Leistungsanforderungen (Latenz, Durchsatz)Sicherheits- und CompliancevorgabenWartbarkeit und Erweiterbarkeit
  • Budget- und Zeitbegrenzungen für Implementierung
  • Regulatorische Vorgaben (z. B. Datenschutz)
  • Vorhandene technische Plattformen und Integrationen