Post on 08-Jun-2020
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, …
Schwerpunkte: n Softwarearchitektur (Entwurf,
Bewertung, Dokumentation) n Java Technologien
Stefan.Zoerner@embarc.de
@StefanZoerner
è xing.to/szr
4 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
10.12.18
3
5 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
1
6 Architekturbewertung embarc.de Montag Morgen.
10.12.18
4
7 Architekturbewertung embarc.de
Montag Morgen.
09:00 Uhr. Das neue Teammitglied beginnt seine Arbeit ...
Warum habt Ihr das denn so gemacht?
Hätte man das nicht besser so gemacht?
11:00 Uhr. ... und hat viele Fragen.
Was genau heißt hier besser? In der Softwareentwicklung?
8 Architekturbewertung embarc.de
Mission Statement.
Klären, was (genau) Architekturbewertung ist.
Diskutieren, welche unterschiedlichen Ansätze und Methoden es dazu gibt.
Aufzeigen, wann eine Methode welchen Nutzen stiftet.
(für diesen Vortrag)
10.12.18
5
9 Architekturbewertung embarc.de
Was ist Softwarearchitektur?
Softwarearchitektur :=
∑ wichtige Entscheidungen
wichtig := n fundamental (betrifft viele) n im weiteren Verlauf nur schwer zu ändern n entscheidend für den Erfolg des Softwaresystems
10 Architekturbewertung embarc.de
Themen für Entscheidungen
Technologie-Stack Programmiersprache(n), Bibliotheken, Frameworks Middleware (Kommunikation, Applikationsserver ...) Querschnittsthemen (Persistenz, Oberfläche ...) ...
Zielumgebung Wo läuft die Software? (Endanwender vs. RZ vs. Cloud) Verteilungsaspekte (Redundanz, Clustering) Virtualisierung ...
Zerlegung Module und Abhängigkeiten Komponentenbildung ...
10.12.18
6
11 Architekturbewertung embarc.de
Softwarearchitektur bewerten?
12 Architekturbewertung embarc.de
Gegeneinanderhalten …
Architektur / Entwurf Entscheidungen, Konzepte,
Modelle, ...
Best Practices Stile und Muster, Prinzipien, Methoden und Vorgehen, ...
10.12.18
7
13 Architekturbewertung embarc.de
Gegeneinanderhalten …
Best Practices Stile und Muster, Prinzipien, Methoden und Vorgehen, ...
Architektur / Entwurf Entscheidungen, Konzepte,
Modelle, ...
Architekturrelevante Anforderungen
Vorgaben, Qualitätsziele, ...
14 Architekturbewertung embarc.de
Gegeneinanderhalten …
Best Practices Stile und Muster, Prinzipien, Methoden und Vorgehen, ...
Architektur / Entwurf Entscheidungen, Konzepte,
Modelle, ...
Architekturrelevante Anforderungen
Vorgaben, Qualitätsziele, ...
Umsetzung Quelltext, Implementierung,
laufendes System, ...
10.12.18
8
15 Architekturbewertung embarc.de
Gegeneinanderhalten …
Best Practices Stile und Muster, Prinzipien, Methoden und Vorgehen, ...
Architektur / Entwurf Entscheidungen, Konzepte,
Modelle, ...
Architekturrelevante Anforderungen
Vorgaben, Qualitätsziele, ...
Umsetzung Quelltext, Implementierung,
laufendes System, ...
16 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
2
10.12.18
9
17 Architekturbewertung embarc.de
Einflüsse auf Entscheidungen
- schränken die Lösung ein
- schließen Optionen aus
- formen die Lösung - nachher schwierig
“einzubauen” Qualitätsanforderungen Benutzbarkeit Sicherheit ...
Rahmenbedingungen technisch organisatorisch
18 Architekturbewertung embarc.de
Qualitätsmerkmale
Zuverlässigkeit (Reliability)
Ist das System verfügbar, tolerant gegenüber Fehlern, nach Abstürzen schnell wieder hergestellt? ...
Begriffe nach Norm ISO 25010
Funktionalität (Functionality)
Sind die berechneten Ergebnisse korrekt / exakt, ist die Funktionalität angemessen? ...
Wartbarkeit (Maintainability)
Ist die Software leicht zu ändern, erweitern, testen, verstehen? Lassen sich Teile wiederverwenden? ...
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? ...
Kompatibilität (Compatibility)
Ist die Software konform zu Standards, arbeitet sie gut mit anderen zusammen?
Effizienz (Performance)
Antwortet die Software schnell, hat sie einen hohen Durchsatz, einen geringen Ressourcenverbrauch? ...
Portabilität (Portability)
Ist die Software leicht auf andere Zielumgebungen (z.B. anderes OS) übertragbar?
10.12.18
10
19 Architekturbewertung embarc.de
Beispiel: Atlassian Confluence Qualitätsziele (aka Architekturziele)
Ziel Beschreibung
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
Reviews eingebunden sein?
PDF, 4 Seiten Kostenloser Download.
ç
è embarc.de/architektur-spicker/
10.12.18
26
Vielen Dank. Ich freue mich auf Eure Fragen!
stefan.zoerner@embarc.de
xing.to/szr
@StefanZoerner
DOWNLOAD FOLIEN: èembarc.de/blog/