Your SlideShare is downloading. ×
0
Umsichtig planen, robust bauen                          iks Thementag„Mehr Softwarequalität – Best practices für alle Entw...
Agenda      Softwarearchitektur      Architekturkonformität      Architekturdokumentation      Nicht-funktionale Anforderu...
Agenda      Softwarearchitektur      Architekturkonformität      Architekturdokumentation      Nicht-funktionale Anforderu...
Softwarearchitektur      Softwarearchitektur ist eine Rolle      Gibt Struktur       – Strukturen, Komponenten, Schnittste...
Softwarearchitektur und Qualität      Softwarearchitektur gibt Strukturmerkmale der Software vor       – Wird diese Strukt...
Agenda      Softwarearchitektur      Architekturkonformität      Architekturdokumentation      Nicht-funktionale Anforderu...
Architekturkonformität      Ist die Software architekturkonform ?       – Einhaltung der Architekturaspekte       – Einhal...
Einhaltung der Architekturkonformität      Architekturkonformität lässt sich nur schlecht am      Produkt messen       – E...
Agenda      Softwarearchitektur      Architekturkonformität      Architekturdokumentation      Nicht-funktionale Anforderu...
Architekturdokumentation      Dokumentiert Architektur aus allen relevanten Perspektiven      Perspektiven sind       – Fa...
Architekturdokumentation        Glossar        Kontext        Qualitätsmerkmale        Sichten          – Bausteinsicht   ...
Architekturdokumentation und Qualitätsmerkmale       Qualitätsmerkmale sind vergleichbar zum Requirements       Engineerin...
Best practices: Architekturdokumentation      Dokumentieren Sie Ihre Architektur       – Einstieg mit [Arc42]      Dokumen...
Agenda      Softwarearchitektur      Architekturkonformität      Architekturdokumentation      Nicht-funktionale Anforderu...
Nicht-funktionale Anforderungen (nach [Bass+])      ... haben großen Einfluss auf die Architektur      ... müssen möglichs...
Qualitätsmerkmale für nicht-funktionaleAnforderungen      Verfügbarkeit      Veränderbarkeit        – Kosten von Veränderu...
Nicht-funktionale Anforderungen      Architektur ermittelt die konkreten Anforderungen an      einzelne Qualitätsmerkmale ...
Nicht-funktionale Anforderungen      System bedient 1.000 Nutzer mit einer Antwortzeit < 1 sec       – Genaue Systemumgebu...
Qualitätsszenarien      Erfassen Sie …        –    in welchem Kontext        –    in welchem Umfang        –    wodurch au...
Beispiel eines Qualitätsszenarios… für das Qualitätsmerkmal Veränderbarkeit                                Reaktion auf   ...
Best practices: Qualitätsziele      Ermitteln und dokumentieren Sie Qualitätsziele       – Werden NFA nicht in der Archite...
Strategien für NFA      Es gibt einen Zusammenhang zwischen Architekturpattern      und NFA      Es gibt eine Sammlung an ...
Beispiel für tactics des Qualitätsmerkmals Verfügbarkeit  [Bass+] iks Thementag: „Mehr Softwarequalität“ - Umsichtig plane...
Attribute Driven Design (ADD)      Methodische Verfeinerung der Architektur unter Berück-      sichtigung der Qualitätsmer...
Best practices: Qualitätsmerkmale und Architektur      Erfassen Sie Qualitätsmerkmale       – Best practices: als Qualität...
Agenda      Softwarearchitektur      Architekturkonformität      Architekturdokumentation      Nicht-funktionale Anforderu...
Architekturbewertung      Architekturbewertung ist ein Evaluationsprozess       – Setzt im wesentlichen auf Review-Technik...
Architekturbewertung      Architekturbewertung stützt sich auf Architektur-      dokumentation      Stakeholder und Projek...
Ergebnisse der Architekturbewertung      Sind die Voraussetzungen für eine Bewertung gegeben       – Gibt es verantwortlic...
Überblick über Methoden               Architecture Tradeoff Analysis Method (ATAM)                       *               S...
Agenda      Softwarearchitektur      Architekturkonformität      Architekturdokumentation      Nicht-funktionale Anforderu...
Best practices: NFA      Sichern Sie die Qualität Ihrer Architektur       – Architekturentscheidungen sind weitreichend   ...
Referenzen[ADD]   http://www.sei.cmu.edu/reports/06tr023.pdf[Arc42]   http://www.arc42.com/index.html[Bass+]   Software Ar...
Referenzen[NORD+]   http://repository.cmu.edu/sei/280[SEI-2007]   http://www.sei.cmu.edu/library/abstracts/reports/07tr002...
Weiterführende Literatur      [SEI]       http://www.sei.cmu.edu/architecture/      [SOTOGRAPH]       http://www.hello2mor...
Fragen?
www.iks-gmbh.com
Upcoming SlideShare
Loading in...5
×

Softwarequalität: Einfluss der Architektur

1,279

Published on

Wer wünscht sich nicht "Mehr Softwarequalität"? Insbesondere an Individualsoftware werden hohe Qualitätsanforderungen gestellt. Einen Königsweg gibt es zwar nicht, aber viele „Best practices“, mit denen Sie systematisch die Softwarequalität erhöhen können.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,279
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
19
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Softwarequalität: Einfluss der Architektur"

  1. 1. Umsichtig planen, robust bauen iks Thementag„Mehr Softwarequalität – Best practices für alle Entwicklungsphasen“ 19.06.2012 Autor: Christoph Schmidt-Casdorff
  2. 2. Agenda Softwarearchitektur Architekturkonformität Architekturdokumentation Nicht-funktionale Anforderungen Bewertung der Softwarearchitektur Best practicesiks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 3 / 36
  3. 3. Agenda Softwarearchitektur Architekturkonformität Architekturdokumentation Nicht-funktionale Anforderungen Bewertung der Softwarearchitektur Best practicesiks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 4 / 36
  4. 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 Engineeringnach [Starke]iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 5 / 36
  5. 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ätiks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 6 / 36
  6. 6. Agenda Softwarearchitektur Architekturkonformität Architekturdokumentation Nicht-funktionale Anforderungen Bewertung der Softwarearchitektur Best practicesiks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 7 / 36
  7. 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ätiks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 8 / 36
  8. 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 Formiks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 9 / 36
  9. 9. Agenda Softwarearchitektur Architekturkonformität Architekturdokumentation Nicht-funktionale Anforderungen Bewertung der Softwarearchitektur Best practicesiks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 10 / 36
  10. 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. 11. Architekturdokumentation Glossar Kontext Qualitätsmerkmale Sichten – Bausteinsicht – Laufzeitsicht – Verteilungssicht / Infrastruktursicht Architekturentscheidungen … u.v.asiehe [Arc42] , [Starke] iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 12 / 36
  12. 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. 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 Lebeniks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 14 / 36
  14. 14. Agenda Softwarearchitektur Architekturkonformität Architekturdokumentation Nicht-funktionale Anforderungen Bewertung der Softwarearchitektur Best practicesiks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 15 / 36
  15. 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 Bewertungiks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 16 / 36
  16. 16. Qualitätsmerkmale für nicht-funktionaleAnforderungen Verfügbarkeit Veränderbarkeit – Kosten von Veränderungen am System Performance Sicherheit Testbarkeit Usability u.v.a. … Siehe ISO 9126iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 17 / 36
  17. 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 Messungiks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 18 / 36
  18. 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. 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 Anforderungeniks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 20 / 36
  20. 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 Reaktioniks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 21 / 36
  21. 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 werdeniks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 22 / 36
  22. 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 5iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 23 / 36
  23. 23. Beispiel für tactics des Qualitätsmerkmals Verfügbarkeit [Bass+] iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 24 / 36
  24. 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. 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 tacticsiks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 26 / 36
  26. 26. Agenda Softwarearchitektur Architekturkonformität Architekturdokumentation Nicht-funktionale Anforderungen Bewertung der Softwarearchitektur Best practicesiks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 27 / 36
  27. 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. 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. 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 Abstimmungiks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 30 / 36
  30. 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. 31. Agenda Softwarearchitektur Architekturkonformität Architekturdokumentation Nicht-funktionale Anforderungen Bewertung der Softwarearchitektur Best practicesiks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 32 / 36
  32. 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 einiks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 33 / 36
  33. 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.pdfiks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 34 / 36
  34. 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-3446427280iks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 35 / 36
  35. 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.aspxiks Thementag: „Mehr Softwarequalität“ - Umsichtig planen, robust bauen Seite 36 / 36
  36. 36. Fragen?
  37. 37. www.iks-gmbh.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×