Softwarearchitektur (Subject) / Architekturbewertung (Lesson)

There are 19 cards in this lesson

VL08

This lesson was created by jan_kirsch.

Learn lesson

This lesson is not released for learning.

  • Vorteile von Architekturbewertung Verbesserte Architektur + Architekturdokumentation Frühe Fehlererkennung Verbessertes Verständnis von Designentscheidungen
  • Design-Entscheidungs-Analyse Ergebnisse Qualitativ: A ist besser als B Quantitative:  -relative: A ist besser als B in der Eigenschaft X um 5% -absolute: A is better als B in Eigenschaft X um 300ms
  • Szenario-basierte Bewertung - Prinzip Auswahl von Szenarios (Systemnutzung oder Systemänderung) Analyse der Auswirkung der Szenarien im Zusammenhang mit dem System: erfüllt die Architektur das Szenario? Welche Änderungen sind Nötig? Entscheidungen? Aufwand? Risiken? SAAM ATAM
  • Szenario-basierte Bewertung - 3 Schlüsselfaktoren Aktive Teilnahme aller relevanten Stakeholder Gute Softwarearchitektur-Dokumentation Typische und representative Szenarioen auswählen
  • Quantitative Bewertung quantitative Daten für bestimmtes Qualtitätsmerkmal Benötigt Modelle, Metriken oder Simulationen für Qualitätsmerkmale
  • Compliance Checking Konstistenz zwischen Architektur, Design und Implementierung (Basiert auf Reverse-engineering Techniken)
  • Emulation Prototypische Realisierung der Architektur Prüfen der Architektur auf Eigenschaften wie Flexibilität, Erweiterbarkeit, Testbarkeit etc.
  • Questioning Qualitative Daten und Architekturbeschreibung benötigt Fragebögen, Checklisten zur Datenerhebung
  • Direkte Szenarien Use-Cases Szenarien die von der Architektur schon unterstützt werden
  • Indirekte Szenarien Szenarien für die Änderungenen in der Architektur notwendig sind
  • Interagierende Szenarien Indirekte Szenarien welche die gleichen Komponenten betreffen, in denen Änderungen notwendig sind
  • Software Architecture Analysis Method (SAAM) - Idee Analyse einer Architektur bezogen auf jeweils ein Qualitätsmerkmal (auf einmal) Beurteilung, ob die Architektur die Anforderung erfüllt oder welcher Aufwand zur Änderung notwendig ist
  • Software Architecture Analysis Method (SAAM) - Ergebnisse Verbesserte Architekturbeschreibung Szenarien Gewichtete Qualtiätsmerkmale
  • Architecture Tradeoff Analysis Method (ATAM) - Idee Vergleich zwischen Architekturdesign-Möglichkeiten Bestimmten der jeweiligen Qualtiätsmerkmale Bestimmern der passendsten Designentscheidung
  • Architecture Tradeoff Analysis Method (ATAM) - Iterationen Phase 1: Szenarien und Anforderungen bestimmen Phase 2: Architektursichten & Szenarienrealisierung Phase 3: Analyse Phase 4: Tradeoffs identifizieren
  • Architecture Tradeoff Analysis Method (ATAM) - Ergebnisse Identifikation von Tradeoffs Grundlage für Designentscheidungen
  • Einordnung der Bewertungstechniken (Diagramm) Early -> Late (level of detail) Questioning Szenario-basiert Measuring Quantitative / Emulation (Zeitgleich, Quantitative aber weniger detailiert als Emulation) Compliance Checking
  • SAAM - 7 Schritte 1) Qualitätskriterien festlegen 2) Szenarien bestimmen 3) Architekturbeschreibung 4) Szenarien klassifizieren (direkt, indirekt), Priritäten festlegen 5) Evaluation von indirekten Szenarien (was muss geändert werden? Aufwand?) 6) Prüfen welche Szenarien interagierend sind 7) Allgemeine Evaluation / Ergebnis
  • ATAM - 7 (8) Schritte 1) Szenarien auswählen 2)Qualtiätskriterien auswählen 3) Architekturbeschreibung für mehrere Architekturoptionen 4) Szenarios realisieren (Priorisierung) 5) Analyse (für jede Option und jedes Szenario) 6) Einflüsse festestellen. Wie Ändern sich Qualitätseigenschaften mit dem Architekturdesign? 7) Tradeoffs identifizizieren (Zusammenhänge) 8) Wiederholen