Umsichtig planen, robust bauen



                          iks Thementag

„Mehr Softwarequalität – Best practices für alle Entwicklungsphasen“



                             19.06.2012


                                Autor:
                      Christoph Schmidt-Casdorff
Agenda

      Softwarearchitektur

      Architekturkonformität

      Architekturdokumentation

      Nicht-funktionale Anforderungen

      Bewertung der Softwarearchitektur

      Best practices



iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen   Seite 3 / 36
Agenda

      Softwarearchitektur

      Architekturkonformität

      Architekturdokumentation

      Nicht-funktionale Anforderungen

      Bewertung der Softwarearchitektur

      Best practices



iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen   Seite 4 / 36
Softwarearchitektur

      Softwarearchitektur ist eine Rolle

      Gibt Struktur
       – Strukturen, Komponenten, Schnittstellen, Beziehungen

      Besteht aus verschiedenen Sichten

      Unterstützt Übergang von Analyse zur Realisierung

      Kümmert sich um nicht-funktionale Anforderungen (NFA)

      Kommunikationsbasis

      Muss dokumentiert und bewertet werden
       – Ebenso wie Requirements Engineering

nach [Starke]
iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen   Seite 5 / 36
Softwarearchitektur und Qualität

      Softwarearchitektur gibt Strukturmerkmale der Software vor
       – Wird diese Struktur eingehalten?
         interne Softwarequalität

      Softwarearchitektur stellt die Umsetzung nicht-funktionaler
      Anforderungen sicher
       – Werden die NFA erfüllt?
         externe Softwarequalität

      Qualität der Softwarearchitektur selbst
       – Wie gut ist die Softwarearchitektur (und ihre Dokumentation)?
         interne Qualität


iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen   Seite 6 / 36
Agenda

      Softwarearchitektur

      Architekturkonformität

      Architekturdokumentation

      Nicht-funktionale Anforderungen

      Bewertung der Softwarearchitektur

      Best practices



iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen   Seite 7 / 36
Architekturkonformität

      Ist die Software architekturkonform ?
       – Einhaltung der Architekturaspekte
       – Einhaltung von Schichtenmodellen
       – Einhaltung von Komponentenschnittstellen

      Architekturkonformität ist ein Qualitätsmerkmal
       – Beeinflusst die Qualitätseigenschaften:
                • Änderbarkeit (massiv), Effizienz, Übertragbarkeit


 Architekturkonformität ist interne Qualität




iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen   Seite 8 / 36
Einhaltung der Architekturkonformität

      Architekturkonformität lässt sich nur schlecht am
      Produkt messen
       – Es fehlen geeignete Werkzeuge
       – Ansätze: siehe [Sotograph]
       – Eigenentwicklung via Aspektorientierung

 Verbesserung der Prozessqualität
  – Information
  – Schulung
  – Reviews in jeder Form




iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen   Seite 9 / 36
Agenda

      Softwarearchitektur

      Architekturkonformität

      Architekturdokumentation

      Nicht-funktionale Anforderungen

      Bewertung der Softwarearchitektur

      Best practices



iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen   Seite 10 / 36
Architekturdokumentation

      Dokumentiert Architektur aus allen relevanten Perspektiven

      Perspektiven sind
       – Fachseite
       – Betrieb
       – Entwicklung
       – Kurz: alle Stakeholder

      Es gibt einen zentralen Einstieg für die Architekturdokumentation

      Je nach Perspektive u.U. unterschiedliche Medien
       – Dokumente, Slides, Wiki, Webcast, …..


iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen   Seite 11 / 36
Architekturdokumentation

        Glossar
        Kontext
        Qualitätsmerkmale
        Sichten
          – Bausteinsicht
          – Laufzeitsicht
          – Verteilungssicht / Infrastruktursicht
        Architekturentscheidungen
        … u.v.a

siehe [Arc42] , [Starke]



 iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen   Seite 12 / 36
Architekturdokumentation und Qualitätsmerkmale

       Qualitätsmerkmale sind vergleichbar zum Requirements
       Engineering
        – Aktuell
        – Wartbar
        – …

       Qualität der Architekturdokumentation
        – Wird mit gleichen Mitteln wie im Requirements Engineering
          sichergestellt
        – Review Verfahren usw.



siehe [Arc42], [Starke]



iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen   Seite 13 / 36
Best practices: Architekturdokumentation

      Dokumentieren Sie Ihre Architektur
       – Einstieg mit [Arc42]

      Dokumentieren Sie Ihre Architekturentscheidungen
       – Auch und gerade die Negativentscheidungen

      Halten Sie die Architekturdokumentation am Leben




iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen   Seite 14 / 36
Agenda

      Softwarearchitektur

      Architekturkonformität

      Architekturdokumentation

      Nicht-funktionale Anforderungen

      Bewertung der Softwarearchitektur

      Best practices



iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen   Seite 15 / 36
Nicht-funktionale Anforderungen (nach [Bass+])

      ... haben großen Einfluss auf die Architektur

      ... müssen möglichst früh in den Architekturentwurf einfließen

      ... sind Qualitätsmerkmale
        – Beziehen sich auf Qualitätsmerkmale aus bekannten
          Qualitätsmodellen
        – Benötigen Metriken zur Bewertung




iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen   Seite 16 / 36
Qualitätsmerkmale für nicht-funktionale
Anforderungen
      Verfügbarkeit
      Veränderbarkeit
        – Kosten von Veränderungen am System
      Performance
      Sicherheit
      Testbarkeit
      Usability
      u.v.a. …


      Siehe ISO 9126



iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen   Seite 17 / 36
Nicht-funktionale Anforderungen

      Architektur ermittelt die konkreten Anforderungen an
      einzelne Qualitätsmerkmale

      Architektur setzt Rahmenbedingungen für die Entwicklung

      Architektur tariert widersprüchliche Anforderungen aus

      Architektur definiert Metriken zur Messung




iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen   Seite 18 / 36
Nicht-funktionale Anforderungen

      System bedient 1.000 Nutzer mit einer Antwortzeit < 1 sec
       – Genaue Systemumgebung muss noch festgelegt werden !!!

      Neues Feature der Art XYZ wird in weniger als 30 PT umgesetzt

      System hat eine Verfügbarkeit von 99%
       – Auf welche Bezugsgrößen gründen sich 99% ?

      System muss eine Eingabedatei von 10 GB in < 2 min verarbeiten

 Anforderungen werden in Qualitätsszenarien erfasst *
   – Qualitätsszenarien liefern immer eine Metrik
   – Qualitätsszenarien sind formalisiert
* [Bass+], [Starke]

iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen   Seite 19 / 36
Qualitätsszenarien

      Erfassen Sie …
        –    in welchem Kontext
        –    in welchem Umfang
        –    wodurch ausgelöst
        –    unter welchen Rahmenbedingungen
        –    mit welchen messbaren Ergebnissen
        das Qualitätsmerkmal gefordert wird



 Nutzen Sie Qualitätsszenarien zur Ermittlung Ihrer Anforderungen




iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen   Seite 20 / 36
Beispiel eines Qualitätsszenarios

… für das Qualitätsmerkmal Veränderbarkeit                                Reaktion auf
                                                                           Auslöser
                     Auslöser




                                                Betroffene
       Quelle –                                 Artefakte                    Messung nach
      wer löst aus                                                             erfolgter
                                                                               Reaktion
iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen                  Seite 21 / 36
Best practices: Qualitätsziele

      Ermitteln und dokumentieren Sie Qualitätsziele
       – Werden NFA nicht in der Architektur beachtet, dann
         wahrscheinlich gar nicht mehr

      Stimmen Sie die NFA mit den Stakeholdern ab
       – Diesen sind die Auswirkungen auf Umfang und Kosten
          oft nicht klar
       – Widersprüchliche Anforderungen müssen austariert werden




iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen   Seite 22 / 36
Strategien für NFA

      Es gibt einen Zusammenhang zwischen Architekturpattern
      und NFA

      Es gibt eine Sammlung an Strategien zur Erreichung von NFA
       – tactics nach [Bass+] sind Architekturentscheidungen
       – Checkliste zur Ermittlung der richtigen tactics in [Bass+] Kap 5




iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen   Seite 23 / 36
Beispiel für tactics des Qualitätsmerkmals Verfügbarkeit




  [Bass+]


 iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen   Seite 24 / 36
Attribute Driven Design (ADD)

      Methodische Verfeinerung der Architektur unter Berück-
      sichtigung der Qualitätsmerkmale
       – Siehe [Bass+], [KRU]

      Schritte im Groben :
       1. Modul bestimmen
       2. NFA des Moduls ermitteln
       3. Architekturentscheidung treffen
       4. Auswirkungen dieser Entscheidungen verändern Module
                     Verfeinerung -> zurück (1.)




[Bass+]

iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen   Seite 25 / 36
Best practices: Qualitätsmerkmale und Architektur

      Erfassen Sie Qualitätsmerkmale
       – Best practices: als Qualitätsszenario
       – Gehen Sie systematisch vor
       – Dokumentieren Sie Ihre Anforderungen



      Leiten Sie aus den Qualitätsszenarien Strategien ab
       – Es existieren Checklisten von Strategien (tactics)
       – Dokumentieren Sie den Einsatz von tactics




iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen   Seite 26 / 36
Agenda

      Softwarearchitektur

      Architekturkonformität

      Architekturdokumentation

      Nicht-funktionale Anforderungen

      Bewertung der Softwarearchitektur

      Best practices



iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen   Seite 27 / 36
Architekturbewertung

      Architekturbewertung ist ein Evaluationsprozess
       – Setzt im wesentlichen auf Review-Techniken
                • Zu Reviews: Siehe Requirements Engineering
        – Strukturiert und formalisiert

      Unterscheidet sich von der Bewertung der Architektur-
      dokumentation
       – Siehe [NORD+]




iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen   Seite 28 / 36
Architekturbewertung

      Architekturbewertung stützt sich auf Architektur-
      dokumentation

      Stakeholder und Projektsprecher
       – Sind die wichtigsten Rollen (neben Reviewern)

      Architekturbewertung beschäftigt sich mit:
       – Prüfung der Qualitätsanforderungen
       – Ermittlung der Architekturentscheidungen
       – Welche Architekturentscheidung wirkt auf welches
         Qualitätsmerkmal?




iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen   Seite 29 / 36
Ergebnisse der Architekturbewertung

      Sind die Voraussetzungen für eine Bewertung gegeben
       – Gibt es verantwortlichen Architekten?
       – Ist Architektur dokumentiert?
       – Sind Stakeholder in das Review eingebunden?

      Bewertungen auf Basis von Qualitätsszenarien:
       – Welche Risiken bringt diese Entscheidung mit sich?
       – Welche Architekturentscheidung stützt dieses Szenario?
       – Welche anderen Anforderungen werden beeinflusst?

      Dokumentation, Transparenz und Abstimmung



iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen   Seite 30 / 36
Überblick über Methoden

               Architecture Tradeoff Analysis Method (ATAM)                       *



               Software Architecture Review and Assessment (SARA) **

               … sind iterativer Prozesse zur Architekturbewertung
               Basieren auf der Auswertung von Qualitätsszenarios
               Beziehen Stakeholder mit ein




* [Bass+], [SEI], **[KRU]

        iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen       Seite 31 / 36
Agenda

      Softwarearchitektur

      Architekturkonformität

      Architekturdokumentation

      Nicht-funktionale Anforderungen

      Bewertung der Softwarearchitektur

      Best practices



iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen   Seite 32 / 36
Best practices: NFA

      Sichern Sie die Qualität Ihrer Architektur
       – Architekturentscheidungen sind weitreichend
                • Falsche Entscheidung haben große Auswirkungen


      Setzen Sie Qualitätsszenarien zur Ermittlung von NFA ein
       – Erfassen und qualifizieren Sie NFA
       – Treffen Sie bewusst die Architekturentscheidungen
       – Beziehen Sie die Stakeholder mit ein




iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen   Seite 33 / 36
Referenzen

[ADD]
   http://www.sei.cmu.edu/reports/06tr023.pdf

[Arc42]
   http://www.arc42.com/index.html

[Bass+]
   Software Architecture in Practise, L.Bass, P.Clements, R.Kazman
   ISBN-13: 978-0321815736

[KRU]
   http://kruchten.com/philippe/architecture/SARAv1.pdf


iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen   Seite 34 / 36
Referenzen


[NORD+]
   http://repository.cmu.edu/sei/280

[SEI-2007]
   http://www.sei.cmu.edu/library/abstracts/reports/07tr002.cfm

[Starke]
   Effektive Softwarearchitekturen: Ein praktischer Leitfaden, Gernot Starke
   ISBN-13: 978-3446427280




iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen   Seite 35 / 36
Weiterführende Literatur

      [SEI]
       http://www.sei.cmu.edu/architecture/

      [SOTOGRAPH]
       http://www.hello2morrow.com/products/sotograph

      [MSDN]
      Microsoft Application Architecture Guide, Kap 16
      http://msdn.microsoft.com/en-us/library/ee658094.aspx




iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen   Seite 36 / 36
Fragen?
www.iks-gmbh.com

Softwarequalität: Einfluss der Architektur

  • 1.
    Umsichtig planen, robustbauen iks Thementag „Mehr Softwarequalität – Best practices für alle Entwicklungsphasen“ 19.06.2012 Autor: Christoph Schmidt-Casdorff
  • 2.
    Agenda Softwarearchitektur Architekturkonformität Architekturdokumentation Nicht-funktionale Anforderungen Bewertung der Softwarearchitektur Best practices iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 3 / 36
  • 3.
    Agenda Softwarearchitektur Architekturkonformität Architekturdokumentation Nicht-funktionale Anforderungen Bewertung der Softwarearchitektur Best practices iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 4 / 36
  • 4.
    Softwarearchitektur Softwarearchitektur ist eine Rolle Gibt Struktur – Strukturen, Komponenten, Schnittstellen, Beziehungen Besteht aus verschiedenen Sichten Unterstützt Übergang von Analyse zur Realisierung Kümmert sich um nicht-funktionale Anforderungen (NFA) Kommunikationsbasis Muss dokumentiert und bewertet werden – Ebenso wie Requirements Engineering nach [Starke] iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 5 / 36
  • 5.
    Softwarearchitektur und Qualität Softwarearchitektur gibt Strukturmerkmale der Software vor – Wird diese Struktur eingehalten?  interne Softwarequalität Softwarearchitektur stellt die Umsetzung nicht-funktionaler Anforderungen sicher – Werden die NFA erfüllt?  externe Softwarequalität Qualität der Softwarearchitektur selbst – Wie gut ist die Softwarearchitektur (und ihre Dokumentation)?  interne Qualität iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 6 / 36
  • 6.
    Agenda Softwarearchitektur Architekturkonformität Architekturdokumentation Nicht-funktionale Anforderungen Bewertung der Softwarearchitektur Best practices iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 7 / 36
  • 7.
    Architekturkonformität Ist die Software architekturkonform ? – Einhaltung der Architekturaspekte – Einhaltung von Schichtenmodellen – Einhaltung von Komponentenschnittstellen Architekturkonformität ist ein Qualitätsmerkmal – Beeinflusst die Qualitätseigenschaften: • Änderbarkeit (massiv), Effizienz, Übertragbarkeit  Architekturkonformität ist interne Qualität iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 8 / 36
  • 8.
    Einhaltung der Architekturkonformität Architekturkonformität lässt sich nur schlecht am Produkt messen – Es fehlen geeignete Werkzeuge – Ansätze: siehe [Sotograph] – Eigenentwicklung via Aspektorientierung  Verbesserung der Prozessqualität – Information – Schulung – Reviews in jeder Form iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 9 / 36
  • 9.
    Agenda Softwarearchitektur Architekturkonformität Architekturdokumentation Nicht-funktionale Anforderungen Bewertung der Softwarearchitektur Best practices iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 10 / 36
  • 10.
    Architekturdokumentation Dokumentiert Architektur aus allen relevanten Perspektiven Perspektiven sind – Fachseite – Betrieb – Entwicklung – Kurz: alle Stakeholder Es gibt einen zentralen Einstieg für die Architekturdokumentation Je nach Perspektive u.U. unterschiedliche Medien – Dokumente, Slides, Wiki, Webcast, ….. iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 11 / 36
  • 11.
    Architekturdokumentation Glossar Kontext Qualitätsmerkmale Sichten – Bausteinsicht – Laufzeitsicht – Verteilungssicht / Infrastruktursicht Architekturentscheidungen … u.v.a siehe [Arc42] , [Starke] iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 12 / 36
  • 12.
    Architekturdokumentation und Qualitätsmerkmale Qualitätsmerkmale sind vergleichbar zum Requirements Engineering – Aktuell – Wartbar – … Qualität der Architekturdokumentation – Wird mit gleichen Mitteln wie im Requirements Engineering sichergestellt – Review Verfahren usw. siehe [Arc42], [Starke] iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 13 / 36
  • 13.
    Best practices: Architekturdokumentation Dokumentieren Sie Ihre Architektur – Einstieg mit [Arc42] Dokumentieren Sie Ihre Architekturentscheidungen – Auch und gerade die Negativentscheidungen Halten Sie die Architekturdokumentation am Leben iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 14 / 36
  • 14.
    Agenda Softwarearchitektur Architekturkonformität Architekturdokumentation Nicht-funktionale Anforderungen Bewertung der Softwarearchitektur Best practices iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 15 / 36
  • 15.
    Nicht-funktionale Anforderungen (nach[Bass+]) ... haben großen Einfluss auf die Architektur ... müssen möglichst früh in den Architekturentwurf einfließen ... sind Qualitätsmerkmale – Beziehen sich auf Qualitätsmerkmale aus bekannten Qualitätsmodellen – Benötigen Metriken zur Bewertung iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 16 / 36
  • 16.
    Qualitätsmerkmale für nicht-funktionale Anforderungen Verfügbarkeit Veränderbarkeit – Kosten von Veränderungen am System Performance Sicherheit Testbarkeit Usability u.v.a. … Siehe ISO 9126 iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 17 / 36
  • 17.
    Nicht-funktionale Anforderungen Architektur ermittelt die konkreten Anforderungen an einzelne Qualitätsmerkmale Architektur setzt Rahmenbedingungen für die Entwicklung Architektur tariert widersprüchliche Anforderungen aus Architektur definiert Metriken zur Messung iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 18 / 36
  • 18.
    Nicht-funktionale Anforderungen System bedient 1.000 Nutzer mit einer Antwortzeit < 1 sec – Genaue Systemumgebung muss noch festgelegt werden !!! Neues Feature der Art XYZ wird in weniger als 30 PT umgesetzt System hat eine Verfügbarkeit von 99% – Auf welche Bezugsgrößen gründen sich 99% ? System muss eine Eingabedatei von 10 GB in < 2 min verarbeiten  Anforderungen werden in Qualitätsszenarien erfasst * – Qualitätsszenarien liefern immer eine Metrik – Qualitätsszenarien sind formalisiert * [Bass+], [Starke] iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 19 / 36
  • 19.
    Qualitätsszenarien Erfassen Sie … – in welchem Kontext – in welchem Umfang – wodurch ausgelöst – unter welchen Rahmenbedingungen – mit welchen messbaren Ergebnissen das Qualitätsmerkmal gefordert wird  Nutzen Sie Qualitätsszenarien zur Ermittlung Ihrer Anforderungen iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 20 / 36
  • 20.
    Beispiel eines Qualitätsszenarios …für das Qualitätsmerkmal Veränderbarkeit Reaktion auf Auslöser Auslöser Betroffene Quelle – Artefakte Messung nach wer löst aus erfolgter Reaktion iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 21 / 36
  • 21.
    Best practices: Qualitätsziele Ermitteln und dokumentieren Sie Qualitätsziele – Werden NFA nicht in der Architektur beachtet, dann wahrscheinlich gar nicht mehr Stimmen Sie die NFA mit den Stakeholdern ab – Diesen sind die Auswirkungen auf Umfang und Kosten oft nicht klar – Widersprüchliche Anforderungen müssen austariert werden iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 22 / 36
  • 22.
    Strategien für NFA Es gibt einen Zusammenhang zwischen Architekturpattern und NFA Es gibt eine Sammlung an Strategien zur Erreichung von NFA – tactics nach [Bass+] sind Architekturentscheidungen – Checkliste zur Ermittlung der richtigen tactics in [Bass+] Kap 5 iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 23 / 36
  • 23.
    Beispiel für tacticsdes Qualitätsmerkmals Verfügbarkeit [Bass+] iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 24 / 36
  • 24.
    Attribute Driven Design(ADD) Methodische Verfeinerung der Architektur unter Berück- sichtigung der Qualitätsmerkmale – Siehe [Bass+], [KRU] Schritte im Groben : 1. Modul bestimmen 2. NFA des Moduls ermitteln 3. Architekturentscheidung treffen 4. Auswirkungen dieser Entscheidungen verändern Module  Verfeinerung -> zurück (1.) [Bass+] iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 25 / 36
  • 25.
    Best practices: Qualitätsmerkmaleund Architektur Erfassen Sie Qualitätsmerkmale – Best practices: als Qualitätsszenario – Gehen Sie systematisch vor – Dokumentieren Sie Ihre Anforderungen Leiten Sie aus den Qualitätsszenarien Strategien ab – Es existieren Checklisten von Strategien (tactics) – Dokumentieren Sie den Einsatz von tactics iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 26 / 36
  • 26.
    Agenda Softwarearchitektur Architekturkonformität Architekturdokumentation Nicht-funktionale Anforderungen Bewertung der Softwarearchitektur Best practices iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 27 / 36
  • 27.
    Architekturbewertung Architekturbewertung ist ein Evaluationsprozess – Setzt im wesentlichen auf Review-Techniken • Zu Reviews: Siehe Requirements Engineering – Strukturiert und formalisiert Unterscheidet sich von der Bewertung der Architektur- dokumentation – Siehe [NORD+] iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 28 / 36
  • 28.
    Architekturbewertung Architekturbewertung stützt sich auf Architektur- dokumentation Stakeholder und Projektsprecher – Sind die wichtigsten Rollen (neben Reviewern) Architekturbewertung beschäftigt sich mit: – Prüfung der Qualitätsanforderungen – Ermittlung der Architekturentscheidungen – Welche Architekturentscheidung wirkt auf welches Qualitätsmerkmal? iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 29 / 36
  • 29.
    Ergebnisse der Architekturbewertung Sind die Voraussetzungen für eine Bewertung gegeben – Gibt es verantwortlichen Architekten? – Ist Architektur dokumentiert? – Sind Stakeholder in das Review eingebunden? Bewertungen auf Basis von Qualitätsszenarien: – Welche Risiken bringt diese Entscheidung mit sich? – Welche Architekturentscheidung stützt dieses Szenario? – Welche anderen Anforderungen werden beeinflusst? Dokumentation, Transparenz und Abstimmung iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 30 / 36
  • 30.
    Überblick über Methoden Architecture Tradeoff Analysis Method (ATAM) * Software Architecture Review and Assessment (SARA) ** … sind iterativer Prozesse zur Architekturbewertung Basieren auf der Auswertung von Qualitätsszenarios Beziehen Stakeholder mit ein * [Bass+], [SEI], **[KRU] iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 31 / 36
  • 31.
    Agenda Softwarearchitektur Architekturkonformität Architekturdokumentation Nicht-funktionale Anforderungen Bewertung der Softwarearchitektur Best practices iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 32 / 36
  • 32.
    Best practices: NFA Sichern Sie die Qualität Ihrer Architektur – Architekturentscheidungen sind weitreichend • Falsche Entscheidung haben große Auswirkungen Setzen Sie Qualitätsszenarien zur Ermittlung von NFA ein – Erfassen und qualifizieren Sie NFA – Treffen Sie bewusst die Architekturentscheidungen – Beziehen Sie die Stakeholder mit ein iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 33 / 36
  • 33.
    Referenzen [ADD] http://www.sei.cmu.edu/reports/06tr023.pdf [Arc42] http://www.arc42.com/index.html [Bass+] Software Architecture in Practise, L.Bass, P.Clements, R.Kazman ISBN-13: 978-0321815736 [KRU] http://kruchten.com/philippe/architecture/SARAv1.pdf iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 34 / 36
  • 34.
    Referenzen [NORD+] http://repository.cmu.edu/sei/280 [SEI-2007] http://www.sei.cmu.edu/library/abstracts/reports/07tr002.cfm [Starke] Effektive Softwarearchitekturen: Ein praktischer Leitfaden, Gernot Starke ISBN-13: 978-3446427280 iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 35 / 36
  • 35.
    Weiterführende Literatur [SEI] http://www.sei.cmu.edu/architecture/ [SOTOGRAPH] http://www.hello2morrow.com/products/sotograph [MSDN] Microsoft Application Architecture Guide, Kap 16 http://msdn.microsoft.com/en-us/library/ee658094.aspx iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 36 / 36
  • 36.
  • 37.