SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Ähnlich wie Softwarequalität: Einfluss der Architektur

02_Entwurf_Entwicklung_v7.0.pdf
02_Entwurf_Entwicklung_v7.0.pdf02_Entwurf_Entwicklung_v7.0.pdf
02_Entwurf_Entwicklung_v7.0.pdfpushpamariappan1
 
Agile Methoden in der Medizintechnik - Über die Software hinaus (CONSANIS)
Agile Methoden in der Medizintechnik - Über die Software hinaus (CONSANIS)Agile Methoden in der Medizintechnik - Über die Software hinaus (CONSANIS)
Agile Methoden in der Medizintechnik - Über die Software hinaus (CONSANIS)Marc Bless
 
Dev Day 2021 - Stephan Pirnbaum - Anwendungsmodernisierung
Dev Day 2021 - Stephan Pirnbaum - AnwendungsmodernisierungDev Day 2021 - Stephan Pirnbaum - Anwendungsmodernisierung
Dev Day 2021 - Stephan Pirnbaum - AnwendungsmodernisierungDevDay Dresden
 
Agilität und Qualitätskriterien in der Softwareentwicklung
Agilität und Qualitätskriterien in der SoftwareentwicklungAgilität und Qualitätskriterien in der Softwareentwicklung
Agilität und Qualitätskriterien in der Softwareentwicklungrico.fritzsche
 
The new job of qa was ein quality engineer zukünftig können muss
The new job of qa   was ein quality engineer zukünftig können mussThe new job of qa   was ein quality engineer zukünftig können muss
The new job of qa was ein quality engineer zukünftig können mussraezz
 
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
 
Applikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die CloudApplikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die CloudAarno Aukia
 
Softwarequalität - Architektur
Softwarequalität - ArchitekturSoftwarequalität - Architektur
Softwarequalität - ArchitekturGerrit Beine
 
Gerade genug Architektur vorneweg - Zur eigenen Architektur-Vision in 12 Minuten
Gerade genug Architektur vorneweg - Zur eigenen Architektur-Vision in 12 MinutenGerade genug Architektur vorneweg - Zur eigenen Architektur-Vision in 12 Minuten
Gerade genug Architektur vorneweg - Zur eigenen Architektur-Vision in 12 MinutenRoland Mast
 
Agile und Projektmanagement - Kein entweder-oder sondern anders
Agile und Projektmanagement - Kein entweder-oder sondern andersAgile und Projektmanagement - Kein entweder-oder sondern anders
Agile und Projektmanagement - Kein entweder-oder sondern andersSteffen Thols
 
Welche Prototyping-Methode passt zu meinen Anforderungen? – World Usability D...
Welche Prototyping-Methode passt zu meinen Anforderungen? – World Usability D...Welche Prototyping-Methode passt zu meinen Anforderungen? – World Usability D...
Welche Prototyping-Methode passt zu meinen Anforderungen? – World Usability D...Lena Königsberger
 
JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerDennis Wilson
 
Agile, klassisch oder hybrid: Welche Projektmanagement-Methode ust die Richtige?
Agile, klassisch oder hybrid: Welche Projektmanagement-Methode ust die Richtige?Agile, klassisch oder hybrid: Welche Projektmanagement-Methode ust die Richtige?
Agile, klassisch oder hybrid: Welche Projektmanagement-Methode ust die Richtige?TPG The Project Group
 
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen....NET User Group Rhein-Neckar
 
Lean Development / Standardisierte Software-Entwicklung
Lean Development / Standardisierte Software-EntwicklungLean Development / Standardisierte Software-Entwicklung
Lean Development / Standardisierte Software-EntwicklungSuperB2
 
Softwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightSoftwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightChristinaLerch1
 
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
 

Ähnlich wie Softwarequalität: Einfluss der Architektur (20)

02_Entwurf_Entwicklung_v7.0.pdf
02_Entwurf_Entwicklung_v7.0.pdf02_Entwurf_Entwicklung_v7.0.pdf
02_Entwurf_Entwicklung_v7.0.pdf
 
Agile Methoden in der Medizintechnik - Über die Software hinaus (CONSANIS)
Agile Methoden in der Medizintechnik - Über die Software hinaus (CONSANIS)Agile Methoden in der Medizintechnik - Über die Software hinaus (CONSANIS)
Agile Methoden in der Medizintechnik - Über die Software hinaus (CONSANIS)
 
Dev Day 2021 - Stephan Pirnbaum - Anwendungsmodernisierung
Dev Day 2021 - Stephan Pirnbaum - AnwendungsmodernisierungDev Day 2021 - Stephan Pirnbaum - Anwendungsmodernisierung
Dev Day 2021 - Stephan Pirnbaum - Anwendungsmodernisierung
 
Agilität und Qualitätskriterien in der Softwareentwicklung
Agilität und Qualitätskriterien in der SoftwareentwicklungAgilität und Qualitätskriterien in der Softwareentwicklung
Agilität und Qualitätskriterien in der Softwareentwicklung
 
The new job of qa was ein quality engineer zukünftig können muss
The new job of qa   was ein quality engineer zukünftig können mussThe new job of qa   was ein quality engineer zukünftig können muss
The new job of qa was ein quality engineer zukünftig können muss
 
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
 
Applikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die CloudApplikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die Cloud
 
Softwarequalität - Architektur
Softwarequalität - ArchitekturSoftwarequalität - Architektur
Softwarequalität - Architektur
 
Gerade genug Architektur vorneweg - Zur eigenen Architektur-Vision in 12 Minuten
Gerade genug Architektur vorneweg - Zur eigenen Architektur-Vision in 12 MinutenGerade genug Architektur vorneweg - Zur eigenen Architektur-Vision in 12 Minuten
Gerade genug Architektur vorneweg - Zur eigenen Architektur-Vision in 12 Minuten
 
Agile und Projektmanagement - Kein entweder-oder sondern anders
Agile und Projektmanagement - Kein entweder-oder sondern andersAgile und Projektmanagement - Kein entweder-oder sondern anders
Agile und Projektmanagement - Kein entweder-oder sondern anders
 
Welche Prototyping-Methode passt zu meinen Anforderungen? – World Usability D...
Welche Prototyping-Methode passt zu meinen Anforderungen? – World Usability D...Welche Prototyping-Methode passt zu meinen Anforderungen? – World Usability D...
Welche Prototyping-Methode passt zu meinen Anforderungen? – World Usability D...
 
JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem Softwerker
 
Agile, klassisch oder hybrid: Welche Projektmanagement-Methode ust die Richtige?
Agile, klassisch oder hybrid: Welche Projektmanagement-Methode ust die Richtige?Agile, klassisch oder hybrid: Welche Projektmanagement-Methode ust die Richtige?
Agile, klassisch oder hybrid: Welche Projektmanagement-Methode ust die Richtige?
 
Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten
Requirements Engineering: Anforderungen dokumentieren, validieren und verwaltenRequirements Engineering: Anforderungen dokumentieren, validieren und verwalten
Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten
 
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
 
Lean Development / Standardisierte Software-Entwicklung
Lean Development / Standardisierte Software-EntwicklungLean Development / Standardisierte Software-Entwicklung
Lean Development / Standardisierte Software-Entwicklung
 
Von der Idee zur Lösung in Rekordzeit - Anforderungsmanagement und Qualitätss...
Von der Idee zur Lösung in Rekordzeit - Anforderungsmanagement und Qualitätss...Von der Idee zur Lösung in Rekordzeit - Anforderungsmanagement und Qualitätss...
Von der Idee zur Lösung in Rekordzeit - Anforderungsmanagement und Qualitätss...
 
Softwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightSoftwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha Night
 
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...
 
Softwaretests in der Domäne modellgetriebener BI-Systeme
Softwaretests in der Domäne modellgetriebener BI-SystemeSoftwaretests in der Domäne modellgetriebener BI-Systeme
Softwaretests in der Domäne modellgetriebener BI-Systeme
 

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ß...
 

Softwarequalität: Einfluss der Architektur

  • 1. Umsichtig planen, robust bauen 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 tactics des 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ä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
  • 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