10.12.18 1 10. – 13.12.2018 Frankfurt am Main #ittage Nörgeln ist einfach Stefan Zörner, embarc Aber was (genau) ist eigentlich Architekturbewertung? 2 Architekturbewertung embarc.de Was (genau) ist eigentlich Architekturbewertung? Jedes interessante Softwaresystem hat eine Softwarearchitektur. Diese ist kunstvoll geplant oder zufällig entstanden, meist aber irgendwas dazwischen. Hätte man es anders machen sollen? In diesem Vortrag stelle ich vor, wann und wie Ihr Eure Softwarearchitektur bewertet! Seid Ihr auf dem richtigen Weg? Können Eure Architekturideen in der Umsetzung aufgetretene Probleme effektiv lösen? Helfen diese bei der Erreichung Eurer Ziele oder behindern sie diese eher? Architekturbewertung kann Sicherheit schaffen und Risiken aufzeigen und damit helfen die Aufwände im Vorhaben zu fokussieren. Ihr lernt qualitative und quantitative Bewertungsmethoden kennen: Was argumentative, Workshop-basierte Verfahren wie ATAM leisten thematisiere ich ebenso wie welche Aspekte Eurer Architekturziele sich mit Messungen verknüpfen lassen.
26
Embed
Was (genau) ist eigentlich Architekturbewertung? · Nörgeln ist einfach Stefan Zörner, embarc Aber was (genau) ist eigentlich Architekturbewertung? Architekturbewertung embarc.de
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
10.12.18
1
10. – 13.12.2018 Frankfurt am Main
#ittage
Nörgeln ist einfach
Stefan Zörner, embarc
Aber was (genau) ist eigentlich Architekturbewertung?
2 Architekturbewertung embarc.de
Was (genau) ist eigentlich Architekturbewertung? Jedes interessante Softwaresystem hat eine Softwarearchitektur. Diese ist kunstvoll geplant oder zufällig entstanden, meist aber irgendwas dazwischen. Hätte man es anders machen sollen? In diesem Vortrag stelle ich vor, wann und wie Ihr Eure Softwarearchitektur bewertet! Seid Ihr auf dem richtigen Weg?
Können Eure Architekturideen in der Umsetzung aufgetretene Probleme effektiv lösen? Helfen diese bei der Erreichung Eurer Ziele oder behindern sie diese eher? Architekturbewertung kann Sicherheit schaffen und Risiken aufzeigen und damit helfen die Aufwände im Vorhaben zu fokussieren.
Ihr lernt qualitative und quantitative Bewertungsmethoden kennen: Was argumentative, Workshop-basierte Verfahren wie ATAM leisten thematisiere ich ebenso wie welche Aspekte Eurer Architekturziele sich mit Messungen verknüpfen lassen.
10.12.18
2
3 Architekturbewertung embarc.de
Stefan Zörner
n Softwareentwickler + -architekt bei embarc in Hamburg n Vorher oose, IBM, Mummert + Partner, Bayer AG, …
1. Leicht zu betreiben Für ein Team ist es einfach mit Confluence zu starten.
2. Gute Benutzbarkeit Confluence ist effizient und intuitiv von allen Team-Mitgliedern zu verwenden.
3. Hohe Zuverlässigkeit Das System steht den Anwendern jederzeit zur Verfügung.
4. Sicherheit der Inhalte Inhalte sind vor unberechtigtem Zugriff und Veränderung geschützt.
5. Gute Wartbarkeit Confluence ist leicht zu ändern und um Funktionalität zu erweitern.
Die Reihenfolge gibt eine Orientierung bezüglich der Wichtigkeit.
20 Architekturbewertung embarc.de
CAPTCHA* (*) Completely Automated Public Turing test to tell Computers and Humans Apart.
Quelle: PHP Captcha Library
10.12.18
11
21 Architekturbewertung embarc.de
Eingabe eines Kennwortes Username
StefanZ
Password
����������
Username
StefanZ
Password
geheim!123
22 Architekturbewertung embarc.de
Typische Wechselwirkung
Benutzbarkeit (Usability)
Ist die Software intuitiv zu bedienen, leicht zu erlernen, attraktiv?
Sicherheit (Security)
Ist das System sicher vor Angriffen? Sind Daten und Funktion vor unberechtigtem Zugriff geschützt? ...
Benutzer empfinden Sicherheitsmaßnahmen als störend (z. B. Passworteingabe, CAPTCHAs)
ì
î
10.12.18
12
23 Architekturbewertung embarc.de
Typische Wechselwirkung
Portabilität (Portability)
Ist die Software leicht auf andere Zielumgebungen (z.B. anderes OS) übertragbar?
Effizienz (Performance)
Antwortet die Software schnell, hat sie einen hohen Durchsatz, einen geringen Ressourcenverbrauch? ...
Abstraktionen (z. B. Schichten) reduzieren die Möglichkeit plattformspezifischer Optimierungen
ì
î
Qualitätsmerkmale hängen voneinander ab. Entscheidungen führen zu Kompromissen (engl. „Tradoff“).
24 Architekturbewertung embarc.de
Qualitative Architekturbewertung
ATAM Architecture tradeoff analysis method n verbreitetste Methode zur
qualitativen Bewertung von Softwarearchitektur
n früh anwendbar n szenarienbasiert
10.12.18
13
25 Architekturbewertung embarc.de
Was ist ein Szenario? Ein (Qualitäts-)Szenario ...
n ... ist ein kurzer Text (1-3 Sätze).
n ... beschreibt beispielhaft die Verwendung des Systems, und zwar so dass ein Qualitätsmerkmal die Hauptrolle spielt.
Man muss sinnvoll drüber reden können. Man muss es (theoretisch) überprüfen können. (Kein Abnahmekriterium, kein Testfall!) !
Wie konkret?
26 Architekturbewertung embarc.de
Szenarien – Typische Bestandteile
Antwort-Maß
Quelle
Beispiel für ein Qualitätsszenario
Ein versierter Java-Entwickler beabsichtigt Confluence um ein einfaches Macro zu erweitern. Das Macro steht dem Team nach einem Personentag zur Verfügung.
10.12.18
14
27 Architekturbewertung embarc.de
28 Architekturbewertung embarc.de
Qualitative Methoden
n binden Stakeholder optimal ein und fördern so den Austausch
n früh anwendbar
n passen auf alle Qualitätsmerkmale
Schwächen
Stärken
n qualitative Durchsprache ist kein Messen („Restrisiko“ bleibt)
n Workshops nicht trivial in der Durchführung (Planung, Moderation ...)
10.12.18
15
29 Architekturbewertung embarc.de
1 Architektur: Sehr annehmbar (Note: 4.5).
2 Qualitative Bewertungsmethoden
3 Quantitative Bewertungsmethoden
4 Wann was und wozu?
5 Fazit und weitere Informationen
Agenda
3
30 Architekturbewertung embarc.de
Warum quantitative Ansätze?
n Qualitative Methoden setzen auf Fokussierung, die Durchsprache von Lösungsansätzen und die Erfahrung und Argumente der Workshop-Beteiligten.
n Eine gewisse Unsicherheit bleibt („Restrisiko“).
Umsetzung
§ Quelltext der Software § die Struktur der Elemente,
deren Beziehungen untereinander
§ Leistungswerte des laufenden Systems
Quantitative Bewertungsansätze setzen auf vermeintlich belastbarere Fakten. Sie „vermessen“ die Lösung:
10.12.18
16
31 Architekturbewertung embarc.de
Quantitative Ansätze (1)
Umsetzung
Architektur / Entwurf
Umsetzungsprüfung z.B. geplante Zerlegung und Abhängigkeiten mit der Implementierung abgleichen
Beispiel-Tools: • Sonargraph • Structure101 • …
32 Architekturbewertung embarc.de
Beispiel: Struktur in Confluence
10.12.18
17
33 Architekturbewertung embarc.de
Quantitative Ansätze
Best Practices
Umsetzung
Architektur / Entwurf
Umsetzungsprüfung z.B. geplante Zerlegung und Abhängigkeiten mit der Implementierung abgleichen
Metriken und Regeln z.B. zu Testüberdeckung, Clone Coverage, Kohäsion und Kopplung, Kodierrichtlinien ...
Beispiel-Tools: • Sonargraph • Structure101 • …
Beispiel-Tools: • SonarQube • Teamscale • …
34 Architekturbewertung embarc.de
Beispiel: Metriken für Confluence
10.12.18
18
35 Architekturbewertung embarc.de
Quantitative Ansätze
Best Practices Architekturrelevante
Anforderungen
Umsetzung
Architektur / Entwurf
Umsetzungsprüfung z.B. geplante Zerlegung und Abhängigkeiten mit der Implementierung abgleichen
Direkte Zielüberprüfung z.B. Last- und Performancetests, Monitoring, Logging ...
Metriken und Regeln z.B. zu Testüberdeckung, Clone Coverage, Kohäsion und Kopplung, Kodierrichtlinien ...
Beispiel-Tools: • Sonargraph • Structure101 • …
Beispiel-Tools: • SonarQube • Teamscale • …
36 Architekturbewertung embarc.de
Quantitative Methoden
n Messungen sind leicht
automatisierbar und wiederholbar n Wenig Bauchgefühl, Zahlen sind gute
Argumente
Schwächen
Stärken
n Vergleichsweise spät einsetzbar n Messungen können nicht alle
Qualitätsmerkmale gut erfassen n Gefahr der Missdeutung und Fehlleitung
10.12.18
19
37 Architekturbewertung embarc.de
1 Architektur: Sehr annehmbar (Note: 4.5).
2 Qualitative Bewertungsmethoden
3 Quantitative Bewertungsmethoden
4 Wann was und wozu?
5 Fazit und weitere Informationen
Agenda
4
38 Architekturbewertung embarc.de
Wann helfen Architektur-Reviews?
t
Eine Neuentwicklung steht an und erste Lösungsansätze stehen im Raum.
10.12.18
20
39 Architekturbewertung embarc.de
Neuentwicklung
Anlass Eine Neuentwicklung steht an und erste Lösungsansätze stehen im Raum.
Leitfrage Seid Ihr und Euer Team auf dem richtigen Weg?
Möglicher Bewertungsansatz Team-interner Workshop. Schlanke Szenarien-basierte Durchsprache der Architekturvision, um Fokus für Konzeption/Entwicklung zu setzen („Discovery Review“).
40 Architekturbewertung embarc.de
Wann helfen Architektur-Reviews?
t
Eine Neuentwicklung steht an und erste Lösungsansätze stehen im Raum.
Unterschiedliche Stakeholder verfolgen widersprüchliche Ziele mit Eurer Software.
10.12.18
21
41 Architekturbewertung embarc.de
Widersprüchliche Ziele
Anlass Unterschiedliche Stakeholder verfolgen widersprüchliche Ziele mit Eurer Software.
Leitfrage Wie konkretisiert und priorisiert Ihr deren Wünsche?
Möglicher Bewertungsansatz Workshop gemeinsam mit maßgeblichen Stakeholdern, um Klarheit bezüglich Ziele zu schaffen (ggf. Quality Attribute Workshop).
42 Architekturbewertung embarc.de
Wann helfen Architektur-Reviews?
t
Eine Neuentwicklung steht an und erste Lösungsansätze stehen im Raum.
Unterschiedliche Stakeholder verfolgen widersprüchliche Ziele mit Eurer Software.
Das Management hat das Vertrauen in Eure Lösung verloren.
10.12.18
22
43 Architekturbewertung embarc.de
Vertrauen verloren
Anlass Das Management hat das Vertrauen in Eure Lösung verloren.
Leitfrage Wie gewinnt Ihr es zurück und strahlt Sicherheit aus?
Möglicher Bewertungsansatz Qualitative Bewertung mit projektfremder Unterstützung und Management-Beteiligung, um Stärken und Kompromisse sichtbar zu machen.
44 Architekturbewertung embarc.de
Wann helfen Architektur-Reviews?
t
Eine Neuentwicklung steht an und erste Lösungsansätze stehen im Raum.
Das Management hat das Vertrauen in Eure Lösung verloren.
Unterschiedliche Stakeholder verfolgen widersprüchliche Ziele mit Eurer Software.
Größerer Umbaumaßnahmen in der Software stehen an.
10.12.18
23
45 Architekturbewertung embarc.de
Umbaumaßnahmen
Anlass Größerer Umbaumaßnahmen in der Software stehen an.
Leitfrage Wie wählt Ihr passende Lösungsansätze nachvollziehbar aus?
Möglicher Bewertungsansatz Umfassende qualitative Analyse, flankiert mit quantitativen Ansätzen. Verknüpfung von Problemen mit Maßnahmen, siehe auch Cost Benefit Analysis Method (CBAM), aim42. Priorisierung.
46 Architekturbewertung embarc.de
1 Architektur: Sehr annehmbar (Note: 4.5).
2 Qualitative Bewertungsmethoden
3 Quantitative Bewertungsmethoden
4 Wann was und wozu?
5 Fazit und weitere Informationen
Agenda
5
10.12.18
24
47 Architekturbewertung embarc.de
tl;dr (too long; didn’t read)
Softwarearchitektur beschäftigt sich mit grundlegenden, später schwer änderbaren Entscheidungen.
Um eine Architektur zu bewerten haltet Ihr sie gegen einen Maßstab (vor allem: Ziele). Das geht qualitativ (Durchsprache) und quantitativ (Tools, Messen).
Eine frühe Bewertung mit qualitativen Mitteln deckt Risiken auf und schafft Klarheit. Spät aufgedeckte Probleme lassen sich oft nur noch als technische Schulden abheften.
48 Architekturbewertung embarc.de
Online-Artikel zum Thema
è www.informatik-aktuell.de/entwicklung/methoden/was-ist-eigentlich-architekturbewertung.html
10.12.18
25
49 Architekturbewertung embarc.de
Spicken erlaubt! Unsere Architektur-Spicker beleuchten die konzeptionelle Seite der Softwareentwicklung.
è embarc.de/architektur-spicker/
50 Architekturbewertung embarc.de
Spicken erlaubt! Unsere Architektur-Spicker beleuchten die konzeptionelle Seite der Softwareentwicklung.
Spicker #4: „Architektur-Reviews“ • Was leisten Architektur-
Reviews? • Welche Methoden und
Werkzeuge helfen? • Wer sollte wann und wie oft in