Bewertung und Evolution Flashcards

1
Q

Welche Aspekte einer Architektur können bewertet werden?

A
  • Prozesse: Entwicklungsprozesse, Betriebsprozesse
  • Artefakte: Anforderungen, Architekturen, Quellcode, Dokumente

Davon können jeweils Qualität und Quantität bewertet werden

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Welche Arten der Architekturbewertung gibt es?

A
  • szenariobasierte Bewertung (qualitativ)
  • erfahrungsbasierte Bewertung (qualitativ)
  • metrikbasierte Bewertung (quantitativ)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Wie ist das Vorgehen bei der erfahrungsbasierten Architekturbewertung?

A
  • ein oder mehrere Reviewer bewerten die Architektur auf Basis ihrer Erfahrungen, Kenntnissen und Fähigkeiten
  • wird in der Regel für Systemteile oder Reviewziele verwendet, die nicht geschäftskritisch sind
  • Während des Reviews werden potenzielle Probleme festgehalten
  • Im Anschluss wird bewertet, ob es sich um tatsächliche Probleme handelt und ob diese zu lösen sind
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Wie ist das Vorgehen bei der quantitativen Architekturbewertung?

A
  • meist nur für die wichtigsten Qualitätsanforderungen eingesetzt, weil sehr aufwendig
  • Jedes Qualitätsmerkmal braucht eine passende Metrik
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was ist das Architecture Quality Assessment (AQA)?

A
  • quantitatives Bewertungsverfahren
  • definiert eigene Qualitätsmerkmale
  • besitzt 200 Maße
  • bezieht sich größtenteils auf das ISO-Kriterium Wartbarkeit
  • hoher Durchführungsaufwand weil alle Maße erhoben werden müssen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was ist das Software Architecture Evaluation Model?

A
  • quantitatives Bewertungsverfahren
  • kann nur nach der Implementierung angewandt werden
  • basiert auf Metriken der Softwaretechnik
  • betrachtet interne und externe Qualitätsmerkmale laut ISO-Standard
  • betrachtet zusätzlich Modularität, Komplexität, Kopplung und Kohäsion
  • Erhebung & Bewertung erfolgt durch Experten
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was ist die allgemeine Herangehensweise im szenariobasierten Bewertungsansatz?

A
  • Im ersten Schritt Vorstellung des Systems und der Sollarchitektur für alle Reviewer
  • Eine Gruppe von Stakeholdern formuliert Qualitätsszenarios
  • Reviewer bewerten in einem Walkthrough die Flexibilität der Architektur hinsichtlich der Szenarios
  • Das Verfahren erfolgt üblicherweise in einem Bewertungsworkshop
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was ist die Architecture-Level Modifiability Analysis (ALMA)?

A
  • basiert wie ATAM auf SAAM
  • kann vor der Implementierung der Sollarchitektur durchgeführt werden
  • bewertet die Modifizierbarkeit in Hinblick auf Wartungskosten, Architekturrisiken und alternative Architekturen
  • Bewertung kann als Ordinalskala oder in beschreibender Form erfolgen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Welche 5 Schritte der ALMA gibt es?

A
  1. Zielsetzung: Auswahl des Analyseziels
  2. Beschreibung der Architektur
  3. Szenarioerhebung
  4. Evaluation
  5. Interpretation der Ergebnisse
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Was ist die Architecture Trade-off Analysis Method (ATAM)?

A
  • szenariobasierte Bewertung einer Architektur in Hinblick auf erfüllte Qualitätsziele
  • kann vor der Implementierung angewandt werden
  • Benötigt Architekten, Stakeholder und Dokumentation
  • Qualitätsziele werden erarbeitet, über die die Bewertung der Architektur erfolgt
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Was sind die Schritte bei der ATAM?

A
  1. Vorbereitung: Qualitätsmerkmale identifizieren, ATAM vorstellen
  2. Kick Off: Geschäftsziele & Architektur vorstellen
  3. Bewertung: Qualitätsbaum erstellen, Qualitätsmerkmale durch Szenarien ergänzen, Architektur dahingehend analysieren
  4. Abschluss: Entwickler mit einbeziehen, Resultate präsentieren
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Welche Metriken gibt es für die quantitative Bewertung?

A

Für Anforderungen:

  • Geänderte Anforderungen pro Zeiteinheit

Für Code:

  • Abhängigkeitsmaße
  • Codezeilen
  • Kommentare im Verhältnis zu Code
  • Statische Methoden
  • Vererbungstiefe

Für Tests:

  • Testfälle pro Klasse/Paket/Anforderung

Für Systeme:

  • Performance

Für Fehler:

  • Mittlere Zeit bis zur Fehlerbehebung
  • Gefundene Fehler pro Baustein

Für Prozesse:

  • Getestete Features pro Zeiteinheit
  • Neuer Code pro ZE
  • Meetings pro Arbeitszeit
  • Verhältnis Manager-Entwickler-Tester
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Was sind die Gründe für die Degeneration eines Systems?

A
  • Akkumulierte unbehandelte Komplexität
  • keine konzeptionelle Integrität
  • inadäquate Technologien
  • Fehlende Ressourcen
  • veraltete Designentscheidungen
  • Hohe Kopplung, niedrigere Kohäsion
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Wie kann Degeneration verhindert werden?

A
  • Refactoring und Redesign iterativ anwenden
  • Abstraktionen verwenden und Komponenten entkoppeln
  • Technische Schulden vermeiden
  • Adäquate Ressourcen beschaffen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Was sind die Ursachen für technische Schulden?

A
  • Ausnahmen werden zu Regeln
  • Code ist schwer verständlich
  • Äußere Einflüsse zwingen zu kurzfristigen Kompromissen (quick and dirty)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Wie ist das Vorgehen bei der Evolution einer Architektur?

A
  1. Analyse: Probleme identifzieren
  2. Evaluate: Probleme und Maßnahmen bewerten
  3. Improve: Verbesserungsmaßnahmen planen und durchführen