SlideShare ist ein Scribd-Unternehmen logo
1 von 66
Downloaden Sie, um offline zu lesen
Qualität als Treiber 1 | 64
Projekte. Beratung. Spezialisten.
Qualität als Treiber:
Wie Qualitätsanforderungen die Architektur steuern
IKS-Thementag
05.05.2015
Autor: Christoph Schmidt-Casdorff
Qualität als Treiber 2 | 64
Agenda
Qualität als Treiber 3 | 64
Qualität und Qualitätsmerkmale
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 4 | 64
Qualitätsmerkmale
Qualität ist als solche nicht ermittelbar
 Es können nur Eigenschaften eines Produktes/Prozesses bewertet werden
Qualitätsmerkmale definieren
 Objektiv bestimmbare (und qualitätsrelevante) Eigenschaften
 des Produkts/Software
 Alle Qualitätsmerkmale zusammen machen Qualität aus
 ISO 9126 * definiert eine Hierarchie von Qualitätsmerkmalen
 Es gibt auch andere Hierarchien
* es existiert Nachfolger ist ISO/EIC 25010:211 (SQuaRE)
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 5 | 64
Architektur
Design
Technologie
Code
Architektur
Design
Technologie
Code
Funktionalität
Testbarkeit
Wartbarkeit
Usability Zuverlässigkeit
Modifizierbarkeit
Performanz
Sicherheit
Quelle : http://www.dadalos-d.org/frieden/images/eisberg-modell.jpg
Release-
management
Deployment
Ressourceneffizienz
Kompatibilität
Portabilität
Äußere
Qualität
Innere
Qualität
Qualität als Treiber 6 | 64
Qualitätsmerkmale
Mit Qualitätsmerkmalen lässt sich Qualität beschreiben
Die Architektur muss
 die Anforderungen an Qualitätsmerkmale erfassen
 diese Anforderungen in Architekturentscheidungen umsetzen
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 7 | 64
Architektur
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 8 | 64
Definitionen von Architektur
„Softwarearchitektur ist die Menge der hauptsächlichen/wesentlichen
Architekturentscheidung eines Systems.
gemäß [Jacobson99]
„Die Softwarearchitektur eines Systems ist die Menge an Strukturen, die benötigt
wird, um das System beurteilen zu können.
Sie umfasst Softwareelemente, die sichtbaren Eigenschaften dieser Elemente und
deren Beziehungen untereinander.“
gemäß [Brass12]
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 9 | 64
Strukturen
Ein System kann unterschiedliche Strukturen haben
 Strukturen können sich auf das statische Design, das Laufzeitverhalten usw. beziehen
 Keine einzelne Struktur kann die Architektur definieren
Strukturen der Architektur werden als Sichten (View) repräsentiert
 Alle modernen Architekturansätze unterstützen das Konzept von Views
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 10 | 64
Architektursichten/-perspektiven
Perspektive definiert die Anforderung an den Informationsgehalt
Perspektiven helfen, Komplexität aufzuteilen
Perspektiven helfen, Aspekte auszublenden (perspektivische Abstraktion)
Perspektiven helfen, den Standpunkt des Adressaten einzunehmen
Summe der Perspektiven vermittelt eine Gesamtsicht
Sicht ist Ausprägung/Anwendung einer Perspektive in der aktuellen
Architektur
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 11 | 64
Architektursichten-/perspektiven
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 12 | 64
Sichten der Softwarearchitektur
[Arc42] definiert Standardsichten
 Kontextsicht, Bausteinsicht, Laufzeitsicht, Verteilungssicht
 Notation auf Basis von UML
 Weitere Sichten siehe [Brass12], [FMC]
Es dürfen auch eigene Sichten entworfen werden
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 13 | 64
Verfeinerung innerhalb von Sichten
siehe [Arc42]
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 14 | 64
Architekturdokumentation
ist Basis jeder Kommunikation zwischen Stakeholdern
ist Mittel, um in das System einzuführen
ist Referenz, um das System in Richtung Implementierung zu überführen
befasst sich mit der Dokumentation der relevanten Views
 fügt Informationen hinzu, welche die Beziehung der Views dokumentiert
 Architekturentscheidungen bestimmen Views
hält alle relevanten Entscheidungen nach
 Alle wesentlichen Entscheidungen müssen nachvollziehbar sein
 Die Grundlagen aller Entscheidungen müssen dokumentiert sein
[Arc42] stellt ein Template bereit
 IKS nimmt dieses als Basis eigener Architekturdokumentationen
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 15 | 64
Architektur
Architektur ist Dekomposition
 Iterative Verfeinerung der Strukturen
Kunst ist
 die richtige Zerlegung,
 den richtigen Abstraktionsgrad und
 die richtige Form der Dokumentation
zu finden.
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 16 | 64
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 17 | 64
Die Softwarearchitektur ist verantwortlich, dass ein
System die geforderten Qualitätsmerkmale erfüllt.
Wo kommen
die QMe her?
Warum?
Wie wird dies
sichergestellt
und geprüft?
Wie kann das
gelingen ?
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 18 | 64
Softwarearchitektur und Qualitätsmerkmale
Warum ist Softwarewarearchitektur für Qualitätsmerkmale verantwortlich?
Erreichen von Qualitätsmerkmalen bedingt (i.d.R.) weitreichende
Architekturentscheidungen
 Qualitätsmerkmale beeinflussen daher entscheidend Softwarestrukturen
Qualitätsmerkmale sind (die) entscheidende(n) Einflussfaktoren der
Architektur
 Architektur hat daher Eigeninteresse, diese so exakt wie möglich zu kennen
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 19 | 64
Softwarearchitektur und Qualitätsmerkmale
Architektur hat aus Sicht der fachlichen Funktionalität keine
Qualitätsmerkmale im Fokus
 Struktur des Systems nur aus Sicht der Fachlichkeit adressiert keine
Qualitätsmerkmale
 Qualitätsmerkmale der Architektur müssen explizit behandelt werden
Wir setzen im Weiteren nicht-funktionale Anforderungen (NFA) mit
Qualitätsmerkmalen gleich
 Funktionalität ist (formal) auch eine Qualitätsmerkmal
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 20 | 64
Softwarearchitektur und Qualitätsmerkmale
Softwarearchitektur ist nur bedingt für Erfassung und Prüfung von
Qualitätsmerkmalen zuständig
Diese Zuständigkeiten führen immer zu Diskussionen
Dennoch sollte die Architektur alle Tätigkeiten rund um Qualitätsmerkmale
koordinieren
 Nicht erfüllte Qualitätsmerkmale werden i.d.R. der Architektur zur Last gelegt
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 21 | 64
Qualitätsmerkmale erfassen
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 22 | 64
Anforderungen an Qualitätsmerkmale
Das System soll fehlertolerant sein
Das System muss leicht zu ändern sein
Wie müssen Qualitätsmerkmale gut formuliert sein ?
Das System muss stabil sein
Das System muss performant sein
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 23 | 64
Beispiel einer Anforderung an Qualität
In der Wartungsphase des Systems wird eine Änderung an der Rules
Engine des Systems vorgenommen.
Diese Änderungen muss innerhalb eines Tages fertig implementiert
sein.
Unter welchen
Umständen?
Was wird getan?
Mit welcher
Reaktion des
Systems?
Wie ist das Ergebnis zu
messen/zu bewerten?
Welcher Teil
des Systems ist
betroffen?
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 24 | 64
Beispiel eines Qualitätsszenarios
Reaktion auf
Auslöser
Auslöser
Quelle – wer
löst aus
Betroffene
Artefakte Messung nach
erfolgter ReaktionUmstände/
Kontext
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 25 | 64
Schablone eines Qualitätsszenarios
Beschreibung
Auslöser (stimulus) Beschreibt eine spezifische Zusammenarbeit des
auslösenden Aktors/Stakeholder mit dem System
Quelle des Auslösers
(source)
beschreibt, woher der Auslöser kommt
Systembestandteil
(artifact)
beschreibt, welcher Bestandteil des Systems vom
Auslöser betroffen ist
Umgebung
(environment)
beschreibt die Bedingung, unter der der Auslöser
auftritt
Antwort (response) beschreibt die Reaktion des Systems auf den
Auslöser
Antwortmetrik
(response measure)
beschreibt, wie die Antwort gemessen oder
bewertet werden kann.
siehe [Brass12]
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 26 | 64
Wie erhalte ich Qualitätsszenarien?
Qualiätsszenarien sind Schablonen/Muster, um Anforderungen an
Qualitätsmerkmale zu dokumentieren.
Wie finde ich die Anforderungen an Qualitätsmerkmale?
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 27 | 64
Qualitätsmerkmale sind systemspezifisch
System Properties Web siehe [IBM14]
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 28 | 64
Wie erhalte ich Qualitätsszenarien?
Workshop, um Qualitätsmerkmale des Systems zu finden
Teilnehmer sind Stakeholder
 Alle, die Anforderungen an Qualitätsmerkmale haben
 I.d.R. bevor die Architektur erstellt wird
Quellen für Qualitätsmerkmale
 Geschäftsziele bilden Grundlage für Qualitätsmerkmale
 Fachliche Anforderungen enthalten häufig Qualitätsmerkmale
 Rahmenbedingungen beeinflussen häufig Qualitätsmerkmale
 Architekturplan/Architekturskizze bilden Diskussionsbasis
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 29 | 64
Wie erhalte ich Qualitätsszenarien?
Besonderheiten:
Teilnehmer haben sich i.d.R. nicht mit der Thematik beschäftigt
 und müssen daher besonders eingeführt werden
Problembereich ist umrissen
 Qualitätsmerkmale sind z.B. durch ISO 9126 definiert
 „Walking the System Properties Web“
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 30 | 64
„Walking the System Properties Web“
siehe [IBM14]
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 31 | 64
Ergebnis eines Workshops
Liste der Qualitätsszenarien
 Priorisiert
 Abgestimmt
 Allgemein akzeptiert
I.d.R. Folgetermine, um
 Zielkonflikte aufzulösen (tradeoffs)
 Lösungen zu bewerten
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 32 | 64
Quality Attribute Workshop
Formales Verfahren um Qualitätsmerkmale zu finden
 [Brass12], in leichtgewichtiger Variante in [IBM14]
Beschreibt im Wesentlichen einen Findungsworkshops
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 33 | 64
Dokumentation von Anforderungen an
Qualitätsmerkmale
Formal nach Schablone eines Qualitätsszenarios
Was darf nicht fehlen?
 Exakte Abnahmekriterien
 Definition des Abnahmesystems
 Wer nimmt ab?
 Je höher das Qualitätsmerkmal priorisiert ist, desto wichtiger sind exakte Kriterien
 Auswirkungen der Abnahme
 Wer ist für das Abnahmesystem verantwortlich?
 Frühzeitig in den Projektplan aufnehmen
Qualitätsbaum
 Priorisiert die Qualitätsmerkmale und -szenarien
 bewerte die Komplexität
 Liefert Überblick über Qualitätsmerkmale und -szenarien
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 34 | 64
Qualitätsbaum
Qualitätsszenarien
Qualitätsmerkmale (Komplexität,Priorität)
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 35 | 64
Dokumentation von Qualitätsanforderungen
Qualitätsszenarien müssen dokumentiert sein
 [Arc42] sieht separates Kapitel vor
Priorisierung der Qualitätsszenarien muss dokumentiert sein
 Qualitätsbaum
Evtl. Kompromisse müssen als Architekturentscheidung dokumentiert sein
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 36 | 64
Qualitätsmerkmale erfassen
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 37 | 64
Qualitätsmerkmale erreichen
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen |Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 38 | 64
Umsetzung der Qualitätsmerkmale
Voraussetzung
 Abgestimmte, priorisierte Liste an Qualitätsszenarien
 inkl. Qualitätsbaum
 Architekturrelevante funktionale Anforderungen
 Rahmenbedingungen
Aufgabe
 Architekturentscheidungen zu treffen, so dass das System die geforderten
Qualitätsmerkmale erfüllt
 Das ist eine technologisch sehr anspruchsvolle Aufgabe
Wir wollen Ihnen einen Eindruck möglicher Lösungsansätze bieten.
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen |Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 39 | 64
Um eine Architektur zu erstellen, ist es sinnvoll, bestehende Lösungen zu
nutzen. [Brass12]
Wo sind die Lösungen, die uns helfen, Qualitätsmerkmale umzusetzen?
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen |Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 40 | 64
Was würde helfen?
Katalog von möglichen Architekturentscheidungen
 Architekturentscheidungen, welche spezielle Qualitätsmerkmale unterstützen
Vorgehensweise, um aus den getroffenen Architekturentscheidungen eine
Gesamtarchitektur zu schaffen
 In welcher Reihenfolge geht man die Qualitätsszenarien an?
 Wie löst man Zielkonflikte zwischen den einzelnen Qualitätsmerkmalen?
 Wie fügen sich die einzelnen Lösungen in die Gesamtarchitektur ein?
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen |Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 41 | 64
tactics
tactics sind Architekturentscheidungen, welche auf ein spezielles
Qualitätsmerkmal wirken
tactics sind bewährte Design-Entscheidungen
 ausgerichtet an einzelnen Qualitätsmerkmalen
 beinhalten nicht die Wahl der technischen Umsetzung
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen |Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 42 | 64
tactics für Verfügbarkeit
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen |Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 43 | 64
tactics
tactics sind in [Brass12] gut erläutert und es ist beschrieben, unter welchen
Umständen sie anzuwenden sind
 Welche Qualitätsmerkmale sie adressieren
 Welche Modelle zugrunde liegen
 Queuing Model, Scheduling Model etc.
[Brass12] hat Kataloge von tactics erarbeitet für
 Testbarkeit
 Verfügbarkeit (aka Fehlertoleranz)
 Interoperabilität
 Performance (aka Effizienz)
 Sicherheit
 Benutzbarkeit
 u.v.m
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen |Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 44 | 64
Architekturmuster
Architekturmuster sind allgemeine Architekturstrukturen
 Abgestimmt
 Allgemeingültige Lösungen
Architekturmuster
 sind nicht hinsichtlich ihrer Wirkung auf Qualitätsmerkmale strukturiert
 adressieren mehrere Qualitätsmerkmale
 die bekanntesten sind Layer Pattern, Client-Server Pattern
 Reflection, Microkernel, Broker ,…*
* weitere siehe [Buschmann 1996], [Brass12]
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen |Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 45 | 64
Bewährte Lösungen - tactics und Architekturmuster
Architekturmuster umfassen tactics
 tactics sind die Bausteine des Designs, auf denen Architekturmuster aufsetzen
 Welche tactics werden in welchen Architekturmuster in welcher Form berücksichtigt?
 Den Zusammenhang kann man nachlesen [Brass12]
tactics verfeinern Architekturmuster
 Architekturmuster ist gewählt
 tactics können eingesetzt werden, um nachträglich Qualitätsmerkmale zu erreichen
Architekturmuster und tactics repräsentieren konzeptuelle Werkzeuge im
„Werkzeugkasten des Architekten“.
 Gute Handwerker halten ihren Werkzeugkasten aufgeräumt und up to date
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen |Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 46 | 64
Attribute Driven Design (ADD)
Ausgangslage für eine Gesamtarchitektur
Architekturrelevante funktionalen Anforderungen ([Brass12])
(Architekturrelevanten) Qualitätsszenarien
Rahmenbedingungen
siehe [Brass12]
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen |Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 47 | 64
Attribute Driven Design (ADD)
Methodische Verfeinerung der Architektur unter Berücksichtigung der
Qualitätsmerkmale
 Siehe [Brass12]
Vorgehen im Attribute Driven Design
 Systemteil wird bestimmt
 Relevante Anforderungen werden bestimmt
 Architekturentscheidungen werden getroffen
 Priorisierung wird ausgewertet
 Neue Strukturen werden dokumentiert
 Architektursichten1) werden erstellt/ergänzt
 Hier sollte ein Review durchgeführt werden
1) [Brass12] trennt zwischen Architekturentwürfen in ADD und der nachgelagerten, eigentlichen Dokumentation
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen |Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 48 | 64
Attribute Driven Design (ADD)
Architektur ist iterative Dekomposition
Kunst ist
 die richtige Zerlegung (in der richtigen Reihenfolge) und
 den richtigen Abstraktionsgrad
zu finden.
Attribute Driven Design unterstützt Sie dabei.
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen |Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 49 | 64
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen |Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 50 | 64
Qualität verifizieren
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 51 | 64
Architektur bewerten
Architekturbewertung
 Während der Erstellung der Architektur
 Attribute Driven Design (ADD) enthält Reviewphase
 Auf Basis einer bestehenden Architektur
Ziel: Bewertung der Architekturentscheidungen vor dem Hintergrund
 der Qualitätsszenarien
 der Geschäftsziele
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 52 | 64
ATAM
Architecture Tradeoff Analysis Method®
(ATAM)
 setzt auf bestehender Architektur auf
 oft auch auf bestehendem System
 Das Evaluationsteam ist (i.d.R.) extern (bzgl. des Projektteams)
soll Risiken der Architekturentscheidungen aufdecken
 aber auch sogenannte non-risks
soll negative Trends des Systems Architekturentscheidungen zuordnen
soll tradeoffs erkennen
 Entscheidungen, die mehr als eine Qualitätsmerkmal betreffen
 Konsequenzen aus diesem Zielkonflikt
siehe [Brass12], [Kazman00], [Northrop11]
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 53 | 64
ATAM
ATAM ist ein Review-Verfahren, dass
 auf die Entdeckung von Risiken ausgelegt ist
 relativ kurzläufig, relativ leichtgewichtig ist
 gibt es auch als „lightweight“ Variante
Voraussetzungen
 Architektur muss vorhanden sein
 Fehlende Qualitätsszenarien werden im Prozess ermittelt
 Architekt muss mitarbeiten und bereit sein, die Architektur zu präsentieren
 Stakeholder müssen die Geschäftsziele vorstellen können
In ATAM werden die Architekturartefakte und Präsentationen einem Review
unterzogen
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 54 | 64
Ergebnisse von ATAM
ATAM ermittelt
 Architekturansätze
 Qualitätsszenarien
 Qualitätsbaum
 Risiken
 tradeoffs
ATAM stellt dar
 inwieweit die vorliegende Architektur die Anforderungen an (Qualitätsmerkmale)
erfüllt
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 55 | 64
Wann wird ATAM eingesetzt?
Theoretisch ist der beste Moment für ATAM direkt nachdem die Architekur
entworfen wurde
 Es gibt keinen oder wenig Code
Tatsächlich wird ATAM auch häufig in folgenden Situationen eingesetzt:
 Bewertung der Architektur eines bestehenden Systems
 Bewertung von Architekturalternativen
 Bewertung der Architektur vor großen Updates
 Entscheidung, ob ein System neuentwickelt oder angepasst wird
 Entscheidung “make or buy”
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 56 | 64
Überblick
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 57 | 64
Für alle vorgestellte Verfahren gilt :
Es zeigt eine Idee für die Vorgehensweise
Es bringt auch Erfolg, wenn es nicht-formal angewendet werden
 Das Ziel dahinter ist wichtig
Versuchen Sie es
 Es hilft, die Qualitätsmerkmale Ihres Systems besser in den Griff zu bekommen
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 58 | 64
Architektur ist Schlüssel zur Qualität eines Systems
Unterstützen Sie den Architekten in seinem Bemühen um Qualität
 Integrieren Sie die Architektur in Ihren Entwicklungsprozess
Verorten Sie die (System-)Qualität in der Architektur
 Nehmen Sie diese in die Pflicht
Es gibt Unterstützung
 Qualitätsmerkmale erfassen – Qualitätsszenarios und QAW
 Qualitätsmerkmale erreichen – tactics, Architekturmuster und ADD
 Qualität verifizieren – ATAM
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 59 | 64
Referenzen
[Arc42]
http://www.arc42.de/
[Brass12]
Software Architecture in Practice (3rd Edition), Brass, Clements, Kazman
Addison-Wesley ISBN-13: 000-0321815734
[Buschmann 1996]
Buschmann, F.; Meunier, R.; Rohnert, H.; Sommerlad, P.; & Stal, M. Pattern-
Oriented Software
Architecture: A System of Patterns. Chichester, NY: Wiley, 1996 (ISBN: 978-0-
471-95869-7).
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 60 | 64
Referenzen
[FMC]
http://www.fmc-modeling.org/
[IBM14]
Facilitating the Mini-Quality Attributes Workshop
http://resources.sei.cmu.edu/asset_files/Presentation/2014_017_101_89563.
pdf
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 61 | 64
Weiterführende Literatur
[Bachmann et al ]
Understanding Architectural Patterns in Terms of Tactics and Models
http://www.sei.cmu.edu/library/abstracts/news-at-sei/architect200708.cfm
[Bachmann et al ]
Modifiability Tactics
http://www.sei.cmu.edu/reports/07tr002.pdf
[Brown]
Software Architecture for Developers – Simon Brown
https://leanpub.com/software-architecture-for-developers
[Clement10]
Relating Business Goals to Architecturally Significant Requirements for
Software Systems
http://www.sei.cmu.edu/reports/10tn018.pdf
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 62 | 64
Weiterführende Literatur
[Kazman00]
ATAM : Method for Architecture Evaluation
http://resources.sei.cmu.edu/library/asset-view.cfm?assetid=5177
[MS-ArchGuide]
MircoSoft Architecute Guide
http://apparchguide.codeplex.com/wikipage?title=Chapter%207%20-
%20Quality%20Attributes
[Nord09]
A Structured Approach for Reviewing Architecture Documentation
http://repository.cmu.edu/sei/280
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 63 | 64
Weiterführende Literatur
[Nothop11]
Identifying Architectural Risks using the Architecture Tradeoff Analysis
Method (ATAM )
Linda Nothop OOP 2011
http://www.sigs.de/download/oop_2011/downloads/files/Mi6-
4_Northrop_ATAM%20OOP.pdf
[STARKE12]
Quality Driven Software Architecture ; Gernot Starke
https://www.innoq.com/de/articles/2012/04/quality-driven-software-
architecture/
[WIKIPEDIA]
http://de.wikipedia.org/wiki/Softwarearchitektur
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
Qualität als Treiber 64 | 64
Weiterführende Literatur
[Wojcik 2006]
Wojcik, R.; Bachmann, F.; Bass, L.; Clements, P.; Merson, P.; Nord, R.; Wood, B.
Attribute-Driven Design (ADD), Version 2.0,
http://www.sei.cmu.edu/library/abstracts/reports/06tr023.c
[Wood]
A Practical Example for ADD
http://www.sei.cmu.edu/reports/07tr005.pdf
Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen |
Qualität verifizieren | Abschluss
WWW.IKS-GMBH.COM
Qualität als Treiber 66 | 64
Projekte. Beratung. Spezialisten.

Weitere ähnliche Inhalte

Andere mochten auch

Andere mochten auch (15)

"RCP-Hilfe-System" - Ein Artikel im Eclipse Magazin 6/2010
"RCP-Hilfe-System" - Ein Artikel im Eclipse Magazin 6/2010"RCP-Hilfe-System" - Ein Artikel im Eclipse Magazin 6/2010
"RCP-Hilfe-System" - Ein Artikel im Eclipse Magazin 6/2010
 
Test-Automation mit Selenium WebDriver - ein Artikel der iks im dotnetpro
Test-Automation mit Selenium WebDriver - ein Artikel der iks im dotnetproTest-Automation mit Selenium WebDriver - ein Artikel der iks im dotnetpro
Test-Automation mit Selenium WebDriver - ein Artikel der iks im dotnetpro
 
Mehr Softwarequalitä: Usability
Mehr Softwarequalitä: UsabilityMehr Softwarequalitä: Usability
Mehr Softwarequalitä: Usability
 
iks auf der Jax 2010: Provisioning unter OSGi für Test und Betrieb
iks auf der Jax 2010: Provisioning unter OSGi für Test und Betrieb iks auf der Jax 2010: Provisioning unter OSGi für Test und Betrieb
iks auf der Jax 2010: Provisioning unter OSGi für Test und Betrieb
 
Mehr Softwarequalität: Technische Schulden (IKS-Thementag: 05.05.2015)
Mehr Softwarequalität: Technische Schulden (IKS-Thementag: 05.05.2015)Mehr Softwarequalität: Technische Schulden (IKS-Thementag: 05.05.2015)
Mehr Softwarequalität: Technische Schulden (IKS-Thementag: 05.05.2015)
 
FAQs zur Technik
FAQs zur TechnikFAQs zur Technik
FAQs zur Technik
 
Apps als motor zur digitalen transformation
Apps als motor zur digitalen transformationApps als motor zur digitalen transformation
Apps als motor zur digitalen transformation
 
App-Projekte richtig steuern
App-Projekte richtig steuernApp-Projekte richtig steuern
App-Projekte richtig steuern
 
Einfuehrung in mongo_db_iks
Einfuehrung in mongo_db_iksEinfuehrung in mongo_db_iks
Einfuehrung in mongo_db_iks
 
Mehr Softwarequalität: Team-Cleancoding
Mehr Softwarequalität: Team-CleancodingMehr Softwarequalität: Team-Cleancoding
Mehr Softwarequalität: Team-Cleancoding
 
Micro, Nano, Mono - Microservices verständlich erklärt.
Micro, Nano, Mono  - Microservices verständlich erklärt.Micro, Nano, Mono  - Microservices verständlich erklärt.
Micro, Nano, Mono - Microservices verständlich erklärt.
 
Mehr Softwarequalität: Technische Schulden
Mehr Softwarequalität: Technische SchuldenMehr Softwarequalität: Technische Schulden
Mehr Softwarequalität: Technische Schulden
 
Agiles Arbeiten - Mythen, Trends und Best Practices
Agiles Arbeiten  - Mythen, Trends und Best PracticesAgiles Arbeiten  - Mythen, Trends und Best Practices
Agiles Arbeiten - Mythen, Trends und Best Practices
 
Ist Ihr Unternehmen reif für Microservices?
Ist Ihr Unternehmen reif für Microservices?Ist Ihr Unternehmen reif für Microservices?
Ist Ihr Unternehmen reif für Microservices?
 
Service goes green
Service goes greenService goes green
Service goes green
 

Ähnlich wie Mehr Softwarequalität: Qualität als Treiber (IKS-Thementag: 05.05.2015)

ROSIK Stammtisch „Clean Architecture“
ROSIK Stammtisch „Clean Architecture“ROSIK Stammtisch „Clean Architecture“
ROSIK Stammtisch „Clean Architecture“QAware GmbH
 
ASQF Dresden: Benötigen wir mit SCRUM noch einen Testmanager?
ASQF Dresden: Benötigen wir mit SCRUM noch einen Testmanager?ASQF Dresden: Benötigen wir mit SCRUM noch einen Testmanager?
ASQF Dresden: Benötigen wir mit SCRUM noch einen Testmanager?René Spengler
 
Wir erledigen alles sofort - Warum Qualität, Risikomanagement, Usability und...
Wir erledigen alles sofort - Warum Qualität, Risikomanagement, Usability und...Wir erledigen alles sofort - Warum Qualität, Risikomanagement, Usability und...
Wir erledigen alles sofort - Warum Qualität, Risikomanagement, Usability und...Marc Bless
 
GMP Systemvalidierung in SAP
GMP Systemvalidierung in SAPGMP Systemvalidierung in SAP
GMP Systemvalidierung in SAPSERKEM GmbH
 
GMP Systemvalidierung in SAP
GMP Systemvalidierung in SAPGMP Systemvalidierung in SAP
GMP Systemvalidierung in SAPSERKEM GmbH
 
Einführung in die Software-Qualitätssicherung
Einführung in die Software-QualitätssicherungEinführung in die Software-Qualitätssicherung
Einführung in die Software-QualitätssicherungChristian Baranowski
 
02_Entwurf_Entwicklung_v7.0.pdf
02_Entwurf_Entwicklung_v7.0.pdf02_Entwurf_Entwicklung_v7.0.pdf
02_Entwurf_Entwicklung_v7.0.pdfpushpamariappan1
 
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...Aberla
 
NICE Quality Monitoring und Performance Management
NICE Quality Monitoring und Performance ManagementNICE Quality Monitoring und Performance Management
NICE Quality Monitoring und Performance ManagementNICE_Systems_Deutschland
 
Certified Professional for Software Architecture - Advanced Level
Certified Professional for Software Architecture - Advanced LevelCertified Professional for Software Architecture - Advanced Level
Certified Professional for Software Architecture - Advanced LevelFutureNetworkCert
 
German UPA Konferenz - Der IxD Baukasten
German UPA Konferenz - Der IxD BaukastenGerman UPA Konferenz - Der IxD Baukasten
German UPA Konferenz - Der IxD BaukastenUSECON
 
Qualitätsmanagement
QualitätsmanagementQualitätsmanagement
Qualitätsmanagementguest1a1762
 
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
2023-08_RPA-ChapterEvent_Überprüfung-der-CodequalitätFotiosKaramitsos
 
QS von IT-Consulting bis Software Development
QS von IT-Consulting bis Software DevelopmentQS von IT-Consulting bis Software Development
QS von IT-Consulting bis Software Developmentadesso AG
 
Einführung Vorgehensmodelle und Agile Software Entwicklung
Einführung Vorgehensmodelle und Agile Software EntwicklungEinführung Vorgehensmodelle und Agile Software Entwicklung
Einführung Vorgehensmodelle und Agile Software EntwicklungChristian Baranowski
 
Clean Architecture
Clean ArchitectureClean Architecture
Clean ArchitectureQAware GmbH
 
Ablauf zertifizierungen
Ablauf zertifizierungenAblauf zertifizierungen
Ablauf zertifizierungenfokusprinzip
 

Ähnlich wie Mehr Softwarequalität: Qualität als Treiber (IKS-Thementag: 05.05.2015) (20)

ROSIK Stammtisch „Clean Architecture“
ROSIK Stammtisch „Clean Architecture“ROSIK Stammtisch „Clean Architecture“
ROSIK Stammtisch „Clean Architecture“
 
ASQF Dresden: Benötigen wir mit SCRUM noch einen Testmanager?
ASQF Dresden: Benötigen wir mit SCRUM noch einen Testmanager?ASQF Dresden: Benötigen wir mit SCRUM noch einen Testmanager?
ASQF Dresden: Benötigen wir mit SCRUM noch einen Testmanager?
 
Wir erledigen alles sofort - Warum Qualität, Risikomanagement, Usability und...
Wir erledigen alles sofort - Warum Qualität, Risikomanagement, Usability und...Wir erledigen alles sofort - Warum Qualität, Risikomanagement, Usability und...
Wir erledigen alles sofort - Warum Qualität, Risikomanagement, Usability und...
 
GMP Systemvalidierung in SAP
GMP Systemvalidierung in SAPGMP Systemvalidierung in SAP
GMP Systemvalidierung in SAP
 
GMP Systemvalidierung in SAP
GMP Systemvalidierung in SAPGMP Systemvalidierung in SAP
GMP Systemvalidierung in SAP
 
Einführung in die Software-Qualitätssicherung
Einführung in die Software-QualitätssicherungEinführung in die Software-Qualitätssicherung
Einführung in die Software-Qualitätssicherung
 
Präsentation RUP
Präsentation RUPPräsentation RUP
Präsentation RUP
 
02_Entwurf_Entwicklung_v7.0.pdf
02_Entwurf_Entwicklung_v7.0.pdf02_Entwurf_Entwicklung_v7.0.pdf
02_Entwurf_Entwicklung_v7.0.pdf
 
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
 
NICE Quality Monitoring und Performance Management
NICE Quality Monitoring und Performance ManagementNICE Quality Monitoring und Performance Management
NICE Quality Monitoring und Performance Management
 
Certified Professional for Software Architecture - Advanced Level
Certified Professional for Software Architecture - Advanced LevelCertified Professional for Software Architecture - Advanced Level
Certified Professional for Software Architecture - Advanced Level
 
German UPA Konferenz - Der IxD Baukasten
German UPA Konferenz - Der IxD BaukastenGerman UPA Konferenz - Der IxD Baukasten
German UPA Konferenz - Der IxD Baukasten
 
Qualitätsmanagement
QualitätsmanagementQualitätsmanagement
Qualitätsmanagement
 
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
 
QS von IT-Consulting bis Software Development
QS von IT-Consulting bis Software DevelopmentQS von IT-Consulting bis Software Development
QS von IT-Consulting bis Software Development
 
Die 7 Wege zum Clean Code
Die 7 Wege zum Clean CodeDie 7 Wege zum Clean Code
Die 7 Wege zum Clean Code
 
Einführung Vorgehensmodelle und Agile Software Entwicklung
Einführung Vorgehensmodelle und Agile Software EntwicklungEinführung Vorgehensmodelle und Agile Software Entwicklung
Einführung Vorgehensmodelle und Agile Software Entwicklung
 
Clean Architecture
Clean ArchitectureClean Architecture
Clean Architecture
 
Ablauf zertifizierungen
Ablauf zertifizierungenAblauf zertifizierungen
Ablauf zertifizierungen
 
"Design & Generate": Standard ERP Systeme nach Mass
"Design & Generate": Standard ERP Systeme nach Mass"Design & Generate": Standard ERP Systeme nach Mass
"Design & Generate": Standard ERP Systeme nach Mass
 

Mehr von IKS Gesellschaft für Informations- und Kommunikationssysteme mbH

Mehr von IKS Gesellschaft für Informations- und Kommunikationssysteme mbH (20)

Es wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingt
Es wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingtEs wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingt
Es wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingt
 
Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...
Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...
Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...
 
Thementag 2023 04 Lindern, heilen oder gar fit machen.pdf
Thementag 2023 04 Lindern, heilen oder gar fit machen.pdfThementag 2023 04 Lindern, heilen oder gar fit machen.pdf
Thementag 2023 04 Lindern, heilen oder gar fit machen.pdf
 
Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...
Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...
Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...
 
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdfThementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
 
Thementag 2023 03 Einführung in die Softwaremodernisierung.pdf
Thementag 2023 03 Einführung in die Softwaremodernisierung.pdfThementag 2023 03 Einführung in die Softwaremodernisierung.pdf
Thementag 2023 03 Einführung in die Softwaremodernisierung.pdf
 
Thementag 2022 01 Verpassen Sie nicht den Anschluss.pdf
Thementag 2022 01 Verpassen Sie nicht den Anschluss.pdfThementag 2022 01 Verpassen Sie nicht den Anschluss.pdf
Thementag 2022 01 Verpassen Sie nicht den Anschluss.pdf
 
Thementag 2022 04 ML auf die Schiene gebracht.pdf
Thementag 2022 04 ML auf die Schiene gebracht.pdfThementag 2022 04 ML auf die Schiene gebracht.pdf
Thementag 2022 04 ML auf die Schiene gebracht.pdf
 
Thementag 2022 03 Ein Modell ist trainiert - und jetzt.pdf
Thementag 2022 03 Ein Modell ist trainiert - und jetzt.pdfThementag 2022 03 Ein Modell ist trainiert - und jetzt.pdf
Thementag 2022 03 Ein Modell ist trainiert - und jetzt.pdf
 
Thementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdf
Thementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdfThementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdf
Thementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdf
 
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine LearningDaten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
 
Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...
Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...
Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...
 
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
 
Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?
 
Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...
Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...
Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...
 
Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...
Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...
Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...
 
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine LearningDaten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
 
Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?
 
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine LearningDaten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
 
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
 

Mehr Softwarequalität: Qualität als Treiber (IKS-Thementag: 05.05.2015)

  • 1. Qualität als Treiber 1 | 64 Projekte. Beratung. Spezialisten. Qualität als Treiber: Wie Qualitätsanforderungen die Architektur steuern IKS-Thementag 05.05.2015 Autor: Christoph Schmidt-Casdorff
  • 2. Qualität als Treiber 2 | 64 Agenda
  • 3. Qualität als Treiber 3 | 64 Qualität und Qualitätsmerkmale Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 4. Qualität als Treiber 4 | 64 Qualitätsmerkmale Qualität ist als solche nicht ermittelbar  Es können nur Eigenschaften eines Produktes/Prozesses bewertet werden Qualitätsmerkmale definieren  Objektiv bestimmbare (und qualitätsrelevante) Eigenschaften  des Produkts/Software  Alle Qualitätsmerkmale zusammen machen Qualität aus  ISO 9126 * definiert eine Hierarchie von Qualitätsmerkmalen  Es gibt auch andere Hierarchien * es existiert Nachfolger ist ISO/EIC 25010:211 (SQuaRE) Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 5. Qualität als Treiber 5 | 64 Architektur Design Technologie Code Architektur Design Technologie Code Funktionalität Testbarkeit Wartbarkeit Usability Zuverlässigkeit Modifizierbarkeit Performanz Sicherheit Quelle : http://www.dadalos-d.org/frieden/images/eisberg-modell.jpg Release- management Deployment Ressourceneffizienz Kompatibilität Portabilität Äußere Qualität Innere Qualität
  • 6. Qualität als Treiber 6 | 64 Qualitätsmerkmale Mit Qualitätsmerkmalen lässt sich Qualität beschreiben Die Architektur muss  die Anforderungen an Qualitätsmerkmale erfassen  diese Anforderungen in Architekturentscheidungen umsetzen Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 7. Qualität als Treiber 7 | 64 Architektur Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 8. Qualität als Treiber 8 | 64 Definitionen von Architektur „Softwarearchitektur ist die Menge der hauptsächlichen/wesentlichen Architekturentscheidung eines Systems. gemäß [Jacobson99] „Die Softwarearchitektur eines Systems ist die Menge an Strukturen, die benötigt wird, um das System beurteilen zu können. Sie umfasst Softwareelemente, die sichtbaren Eigenschaften dieser Elemente und deren Beziehungen untereinander.“ gemäß [Brass12] Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 9. Qualität als Treiber 9 | 64 Strukturen Ein System kann unterschiedliche Strukturen haben  Strukturen können sich auf das statische Design, das Laufzeitverhalten usw. beziehen  Keine einzelne Struktur kann die Architektur definieren Strukturen der Architektur werden als Sichten (View) repräsentiert  Alle modernen Architekturansätze unterstützen das Konzept von Views Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 10. Qualität als Treiber 10 | 64 Architektursichten/-perspektiven Perspektive definiert die Anforderung an den Informationsgehalt Perspektiven helfen, Komplexität aufzuteilen Perspektiven helfen, Aspekte auszublenden (perspektivische Abstraktion) Perspektiven helfen, den Standpunkt des Adressaten einzunehmen Summe der Perspektiven vermittelt eine Gesamtsicht Sicht ist Ausprägung/Anwendung einer Perspektive in der aktuellen Architektur Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 11. Qualität als Treiber 11 | 64 Architektursichten-/perspektiven Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 12. Qualität als Treiber 12 | 64 Sichten der Softwarearchitektur [Arc42] definiert Standardsichten  Kontextsicht, Bausteinsicht, Laufzeitsicht, Verteilungssicht  Notation auf Basis von UML  Weitere Sichten siehe [Brass12], [FMC] Es dürfen auch eigene Sichten entworfen werden Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 13. Qualität als Treiber 13 | 64 Verfeinerung innerhalb von Sichten siehe [Arc42] Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 14. Qualität als Treiber 14 | 64 Architekturdokumentation ist Basis jeder Kommunikation zwischen Stakeholdern ist Mittel, um in das System einzuführen ist Referenz, um das System in Richtung Implementierung zu überführen befasst sich mit der Dokumentation der relevanten Views  fügt Informationen hinzu, welche die Beziehung der Views dokumentiert  Architekturentscheidungen bestimmen Views hält alle relevanten Entscheidungen nach  Alle wesentlichen Entscheidungen müssen nachvollziehbar sein  Die Grundlagen aller Entscheidungen müssen dokumentiert sein [Arc42] stellt ein Template bereit  IKS nimmt dieses als Basis eigener Architekturdokumentationen Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 15. Qualität als Treiber 15 | 64 Architektur Architektur ist Dekomposition  Iterative Verfeinerung der Strukturen Kunst ist  die richtige Zerlegung,  den richtigen Abstraktionsgrad und  die richtige Form der Dokumentation zu finden. Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 16. Qualität als Treiber 16 | 64 Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 17. Qualität als Treiber 17 | 64 Die Softwarearchitektur ist verantwortlich, dass ein System die geforderten Qualitätsmerkmale erfüllt. Wo kommen die QMe her? Warum? Wie wird dies sichergestellt und geprüft? Wie kann das gelingen ? Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 18. Qualität als Treiber 18 | 64 Softwarearchitektur und Qualitätsmerkmale Warum ist Softwarewarearchitektur für Qualitätsmerkmale verantwortlich? Erreichen von Qualitätsmerkmalen bedingt (i.d.R.) weitreichende Architekturentscheidungen  Qualitätsmerkmale beeinflussen daher entscheidend Softwarestrukturen Qualitätsmerkmale sind (die) entscheidende(n) Einflussfaktoren der Architektur  Architektur hat daher Eigeninteresse, diese so exakt wie möglich zu kennen Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 19. Qualität als Treiber 19 | 64 Softwarearchitektur und Qualitätsmerkmale Architektur hat aus Sicht der fachlichen Funktionalität keine Qualitätsmerkmale im Fokus  Struktur des Systems nur aus Sicht der Fachlichkeit adressiert keine Qualitätsmerkmale  Qualitätsmerkmale der Architektur müssen explizit behandelt werden Wir setzen im Weiteren nicht-funktionale Anforderungen (NFA) mit Qualitätsmerkmalen gleich  Funktionalität ist (formal) auch eine Qualitätsmerkmal Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 20. Qualität als Treiber 20 | 64 Softwarearchitektur und Qualitätsmerkmale Softwarearchitektur ist nur bedingt für Erfassung und Prüfung von Qualitätsmerkmalen zuständig Diese Zuständigkeiten führen immer zu Diskussionen Dennoch sollte die Architektur alle Tätigkeiten rund um Qualitätsmerkmale koordinieren  Nicht erfüllte Qualitätsmerkmale werden i.d.R. der Architektur zur Last gelegt Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 21. Qualität als Treiber 21 | 64 Qualitätsmerkmale erfassen Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 22. Qualität als Treiber 22 | 64 Anforderungen an Qualitätsmerkmale Das System soll fehlertolerant sein Das System muss leicht zu ändern sein Wie müssen Qualitätsmerkmale gut formuliert sein ? Das System muss stabil sein Das System muss performant sein Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 23. Qualität als Treiber 23 | 64 Beispiel einer Anforderung an Qualität In der Wartungsphase des Systems wird eine Änderung an der Rules Engine des Systems vorgenommen. Diese Änderungen muss innerhalb eines Tages fertig implementiert sein. Unter welchen Umständen? Was wird getan? Mit welcher Reaktion des Systems? Wie ist das Ergebnis zu messen/zu bewerten? Welcher Teil des Systems ist betroffen? Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 24. Qualität als Treiber 24 | 64 Beispiel eines Qualitätsszenarios Reaktion auf Auslöser Auslöser Quelle – wer löst aus Betroffene Artefakte Messung nach erfolgter ReaktionUmstände/ Kontext Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 25. Qualität als Treiber 25 | 64 Schablone eines Qualitätsszenarios Beschreibung Auslöser (stimulus) Beschreibt eine spezifische Zusammenarbeit des auslösenden Aktors/Stakeholder mit dem System Quelle des Auslösers (source) beschreibt, woher der Auslöser kommt Systembestandteil (artifact) beschreibt, welcher Bestandteil des Systems vom Auslöser betroffen ist Umgebung (environment) beschreibt die Bedingung, unter der der Auslöser auftritt Antwort (response) beschreibt die Reaktion des Systems auf den Auslöser Antwortmetrik (response measure) beschreibt, wie die Antwort gemessen oder bewertet werden kann. siehe [Brass12] Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 26. Qualität als Treiber 26 | 64 Wie erhalte ich Qualitätsszenarien? Qualiätsszenarien sind Schablonen/Muster, um Anforderungen an Qualitätsmerkmale zu dokumentieren. Wie finde ich die Anforderungen an Qualitätsmerkmale? Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 27. Qualität als Treiber 27 | 64 Qualitätsmerkmale sind systemspezifisch System Properties Web siehe [IBM14] Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 28. Qualität als Treiber 28 | 64 Wie erhalte ich Qualitätsszenarien? Workshop, um Qualitätsmerkmale des Systems zu finden Teilnehmer sind Stakeholder  Alle, die Anforderungen an Qualitätsmerkmale haben  I.d.R. bevor die Architektur erstellt wird Quellen für Qualitätsmerkmale  Geschäftsziele bilden Grundlage für Qualitätsmerkmale  Fachliche Anforderungen enthalten häufig Qualitätsmerkmale  Rahmenbedingungen beeinflussen häufig Qualitätsmerkmale  Architekturplan/Architekturskizze bilden Diskussionsbasis Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 29. Qualität als Treiber 29 | 64 Wie erhalte ich Qualitätsszenarien? Besonderheiten: Teilnehmer haben sich i.d.R. nicht mit der Thematik beschäftigt  und müssen daher besonders eingeführt werden Problembereich ist umrissen  Qualitätsmerkmale sind z.B. durch ISO 9126 definiert  „Walking the System Properties Web“ Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 30. Qualität als Treiber 30 | 64 „Walking the System Properties Web“ siehe [IBM14] Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 31. Qualität als Treiber 31 | 64 Ergebnis eines Workshops Liste der Qualitätsszenarien  Priorisiert  Abgestimmt  Allgemein akzeptiert I.d.R. Folgetermine, um  Zielkonflikte aufzulösen (tradeoffs)  Lösungen zu bewerten Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 32. Qualität als Treiber 32 | 64 Quality Attribute Workshop Formales Verfahren um Qualitätsmerkmale zu finden  [Brass12], in leichtgewichtiger Variante in [IBM14] Beschreibt im Wesentlichen einen Findungsworkshops Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 33. Qualität als Treiber 33 | 64 Dokumentation von Anforderungen an Qualitätsmerkmale Formal nach Schablone eines Qualitätsszenarios Was darf nicht fehlen?  Exakte Abnahmekriterien  Definition des Abnahmesystems  Wer nimmt ab?  Je höher das Qualitätsmerkmal priorisiert ist, desto wichtiger sind exakte Kriterien  Auswirkungen der Abnahme  Wer ist für das Abnahmesystem verantwortlich?  Frühzeitig in den Projektplan aufnehmen Qualitätsbaum  Priorisiert die Qualitätsmerkmale und -szenarien  bewerte die Komplexität  Liefert Überblick über Qualitätsmerkmale und -szenarien Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 34. Qualität als Treiber 34 | 64 Qualitätsbaum Qualitätsszenarien Qualitätsmerkmale (Komplexität,Priorität) Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 35. Qualität als Treiber 35 | 64 Dokumentation von Qualitätsanforderungen Qualitätsszenarien müssen dokumentiert sein  [Arc42] sieht separates Kapitel vor Priorisierung der Qualitätsszenarien muss dokumentiert sein  Qualitätsbaum Evtl. Kompromisse müssen als Architekturentscheidung dokumentiert sein Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 36. Qualität als Treiber 36 | 64 Qualitätsmerkmale erfassen Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 37. Qualität als Treiber 37 | 64 Qualitätsmerkmale erreichen Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen |Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 38. Qualität als Treiber 38 | 64 Umsetzung der Qualitätsmerkmale Voraussetzung  Abgestimmte, priorisierte Liste an Qualitätsszenarien  inkl. Qualitätsbaum  Architekturrelevante funktionale Anforderungen  Rahmenbedingungen Aufgabe  Architekturentscheidungen zu treffen, so dass das System die geforderten Qualitätsmerkmale erfüllt  Das ist eine technologisch sehr anspruchsvolle Aufgabe Wir wollen Ihnen einen Eindruck möglicher Lösungsansätze bieten. Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen |Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 39. Qualität als Treiber 39 | 64 Um eine Architektur zu erstellen, ist es sinnvoll, bestehende Lösungen zu nutzen. [Brass12] Wo sind die Lösungen, die uns helfen, Qualitätsmerkmale umzusetzen? Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen |Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 40. Qualität als Treiber 40 | 64 Was würde helfen? Katalog von möglichen Architekturentscheidungen  Architekturentscheidungen, welche spezielle Qualitätsmerkmale unterstützen Vorgehensweise, um aus den getroffenen Architekturentscheidungen eine Gesamtarchitektur zu schaffen  In welcher Reihenfolge geht man die Qualitätsszenarien an?  Wie löst man Zielkonflikte zwischen den einzelnen Qualitätsmerkmalen?  Wie fügen sich die einzelnen Lösungen in die Gesamtarchitektur ein? Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen |Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 41. Qualität als Treiber 41 | 64 tactics tactics sind Architekturentscheidungen, welche auf ein spezielles Qualitätsmerkmal wirken tactics sind bewährte Design-Entscheidungen  ausgerichtet an einzelnen Qualitätsmerkmalen  beinhalten nicht die Wahl der technischen Umsetzung Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen |Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 42. Qualität als Treiber 42 | 64 tactics für Verfügbarkeit Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen |Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 43. Qualität als Treiber 43 | 64 tactics tactics sind in [Brass12] gut erläutert und es ist beschrieben, unter welchen Umständen sie anzuwenden sind  Welche Qualitätsmerkmale sie adressieren  Welche Modelle zugrunde liegen  Queuing Model, Scheduling Model etc. [Brass12] hat Kataloge von tactics erarbeitet für  Testbarkeit  Verfügbarkeit (aka Fehlertoleranz)  Interoperabilität  Performance (aka Effizienz)  Sicherheit  Benutzbarkeit  u.v.m Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen |Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 44. Qualität als Treiber 44 | 64 Architekturmuster Architekturmuster sind allgemeine Architekturstrukturen  Abgestimmt  Allgemeingültige Lösungen Architekturmuster  sind nicht hinsichtlich ihrer Wirkung auf Qualitätsmerkmale strukturiert  adressieren mehrere Qualitätsmerkmale  die bekanntesten sind Layer Pattern, Client-Server Pattern  Reflection, Microkernel, Broker ,…* * weitere siehe [Buschmann 1996], [Brass12] Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen |Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 45. Qualität als Treiber 45 | 64 Bewährte Lösungen - tactics und Architekturmuster Architekturmuster umfassen tactics  tactics sind die Bausteine des Designs, auf denen Architekturmuster aufsetzen  Welche tactics werden in welchen Architekturmuster in welcher Form berücksichtigt?  Den Zusammenhang kann man nachlesen [Brass12] tactics verfeinern Architekturmuster  Architekturmuster ist gewählt  tactics können eingesetzt werden, um nachträglich Qualitätsmerkmale zu erreichen Architekturmuster und tactics repräsentieren konzeptuelle Werkzeuge im „Werkzeugkasten des Architekten“.  Gute Handwerker halten ihren Werkzeugkasten aufgeräumt und up to date Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen |Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 46. Qualität als Treiber 46 | 64 Attribute Driven Design (ADD) Ausgangslage für eine Gesamtarchitektur Architekturrelevante funktionalen Anforderungen ([Brass12]) (Architekturrelevanten) Qualitätsszenarien Rahmenbedingungen siehe [Brass12] Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen |Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 47. Qualität als Treiber 47 | 64 Attribute Driven Design (ADD) Methodische Verfeinerung der Architektur unter Berücksichtigung der Qualitätsmerkmale  Siehe [Brass12] Vorgehen im Attribute Driven Design  Systemteil wird bestimmt  Relevante Anforderungen werden bestimmt  Architekturentscheidungen werden getroffen  Priorisierung wird ausgewertet  Neue Strukturen werden dokumentiert  Architektursichten1) werden erstellt/ergänzt  Hier sollte ein Review durchgeführt werden 1) [Brass12] trennt zwischen Architekturentwürfen in ADD und der nachgelagerten, eigentlichen Dokumentation Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen |Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 48. Qualität als Treiber 48 | 64 Attribute Driven Design (ADD) Architektur ist iterative Dekomposition Kunst ist  die richtige Zerlegung (in der richtigen Reihenfolge) und  den richtigen Abstraktionsgrad zu finden. Attribute Driven Design unterstützt Sie dabei. Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen |Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 49. Qualität als Treiber 49 | 64 Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen |Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 50. Qualität als Treiber 50 | 64 Qualität verifizieren Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 51. Qualität als Treiber 51 | 64 Architektur bewerten Architekturbewertung  Während der Erstellung der Architektur  Attribute Driven Design (ADD) enthält Reviewphase  Auf Basis einer bestehenden Architektur Ziel: Bewertung der Architekturentscheidungen vor dem Hintergrund  der Qualitätsszenarien  der Geschäftsziele Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 52. Qualität als Treiber 52 | 64 ATAM Architecture Tradeoff Analysis Method® (ATAM)  setzt auf bestehender Architektur auf  oft auch auf bestehendem System  Das Evaluationsteam ist (i.d.R.) extern (bzgl. des Projektteams) soll Risiken der Architekturentscheidungen aufdecken  aber auch sogenannte non-risks soll negative Trends des Systems Architekturentscheidungen zuordnen soll tradeoffs erkennen  Entscheidungen, die mehr als eine Qualitätsmerkmal betreffen  Konsequenzen aus diesem Zielkonflikt siehe [Brass12], [Kazman00], [Northrop11] Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 53. Qualität als Treiber 53 | 64 ATAM ATAM ist ein Review-Verfahren, dass  auf die Entdeckung von Risiken ausgelegt ist  relativ kurzläufig, relativ leichtgewichtig ist  gibt es auch als „lightweight“ Variante Voraussetzungen  Architektur muss vorhanden sein  Fehlende Qualitätsszenarien werden im Prozess ermittelt  Architekt muss mitarbeiten und bereit sein, die Architektur zu präsentieren  Stakeholder müssen die Geschäftsziele vorstellen können In ATAM werden die Architekturartefakte und Präsentationen einem Review unterzogen Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 54. Qualität als Treiber 54 | 64 Ergebnisse von ATAM ATAM ermittelt  Architekturansätze  Qualitätsszenarien  Qualitätsbaum  Risiken  tradeoffs ATAM stellt dar  inwieweit die vorliegende Architektur die Anforderungen an (Qualitätsmerkmale) erfüllt Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 55. Qualität als Treiber 55 | 64 Wann wird ATAM eingesetzt? Theoretisch ist der beste Moment für ATAM direkt nachdem die Architekur entworfen wurde  Es gibt keinen oder wenig Code Tatsächlich wird ATAM auch häufig in folgenden Situationen eingesetzt:  Bewertung der Architektur eines bestehenden Systems  Bewertung von Architekturalternativen  Bewertung der Architektur vor großen Updates  Entscheidung, ob ein System neuentwickelt oder angepasst wird  Entscheidung “make or buy” Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 56. Qualität als Treiber 56 | 64 Überblick Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 57. Qualität als Treiber 57 | 64 Für alle vorgestellte Verfahren gilt : Es zeigt eine Idee für die Vorgehensweise Es bringt auch Erfolg, wenn es nicht-formal angewendet werden  Das Ziel dahinter ist wichtig Versuchen Sie es  Es hilft, die Qualitätsmerkmale Ihres Systems besser in den Griff zu bekommen Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 58. Qualität als Treiber 58 | 64 Architektur ist Schlüssel zur Qualität eines Systems Unterstützen Sie den Architekten in seinem Bemühen um Qualität  Integrieren Sie die Architektur in Ihren Entwicklungsprozess Verorten Sie die (System-)Qualität in der Architektur  Nehmen Sie diese in die Pflicht Es gibt Unterstützung  Qualitätsmerkmale erfassen – Qualitätsszenarios und QAW  Qualitätsmerkmale erreichen – tactics, Architekturmuster und ADD  Qualität verifizieren – ATAM Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 59. Qualität als Treiber 59 | 64 Referenzen [Arc42] http://www.arc42.de/ [Brass12] Software Architecture in Practice (3rd Edition), Brass, Clements, Kazman Addison-Wesley ISBN-13: 000-0321815734 [Buschmann 1996] Buschmann, F.; Meunier, R.; Rohnert, H.; Sommerlad, P.; & Stal, M. Pattern- Oriented Software Architecture: A System of Patterns. Chichester, NY: Wiley, 1996 (ISBN: 978-0- 471-95869-7). Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 60. Qualität als Treiber 60 | 64 Referenzen [FMC] http://www.fmc-modeling.org/ [IBM14] Facilitating the Mini-Quality Attributes Workshop http://resources.sei.cmu.edu/asset_files/Presentation/2014_017_101_89563. pdf Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 61. Qualität als Treiber 61 | 64 Weiterführende Literatur [Bachmann et al ] Understanding Architectural Patterns in Terms of Tactics and Models http://www.sei.cmu.edu/library/abstracts/news-at-sei/architect200708.cfm [Bachmann et al ] Modifiability Tactics http://www.sei.cmu.edu/reports/07tr002.pdf [Brown] Software Architecture for Developers – Simon Brown https://leanpub.com/software-architecture-for-developers [Clement10] Relating Business Goals to Architecturally Significant Requirements for Software Systems http://www.sei.cmu.edu/reports/10tn018.pdf Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 62. Qualität als Treiber 62 | 64 Weiterführende Literatur [Kazman00] ATAM : Method for Architecture Evaluation http://resources.sei.cmu.edu/library/asset-view.cfm?assetid=5177 [MS-ArchGuide] MircoSoft Architecute Guide http://apparchguide.codeplex.com/wikipage?title=Chapter%207%20- %20Quality%20Attributes [Nord09] A Structured Approach for Reviewing Architecture Documentation http://repository.cmu.edu/sei/280 Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 63. Qualität als Treiber 63 | 64 Weiterführende Literatur [Nothop11] Identifying Architectural Risks using the Architecture Tradeoff Analysis Method (ATAM ) Linda Nothop OOP 2011 http://www.sigs.de/download/oop_2011/downloads/files/Mi6- 4_Northrop_ATAM%20OOP.pdf [STARKE12] Quality Driven Software Architecture ; Gernot Starke https://www.innoq.com/de/articles/2012/04/quality-driven-software- architecture/ [WIKIPEDIA] http://de.wikipedia.org/wiki/Softwarearchitektur Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 64. Qualität als Treiber 64 | 64 Weiterführende Literatur [Wojcik 2006] Wojcik, R.; Bachmann, F.; Bass, L.; Clements, P.; Merson, P.; Nord, R.; Wood, B. Attribute-Driven Design (ADD), Version 2.0, http://www.sei.cmu.edu/library/abstracts/reports/06tr023.c [Wood] A Practical Example for ADD http://www.sei.cmu.edu/reports/07tr005.pdf Qualitätsmerkmale | Architektur | Qualitätsmerkmale erfassen | Qualitätsmerkmale erreichen | Qualität verifizieren | Abschluss
  • 66. Qualität als Treiber 66 | 64 Projekte. Beratung. Spezialisten.