Mehr Softwarequalität: Qualität als Treiber

Embed Size (px)

DESCRIPTION

Individualsoftware soll viele explizite und implizite Qualitätsanforderungen verschiedener Stakeholder erfüllen. In unserer halbtägigen Veranstaltung beleuchten wir aus Sicht des Managements unterschiedliche Aspekte rund um dieses Thema.

Text of Mehr Softwarequalität: Qualität als Treiber

  • 1. Qualitt als Treiber1| 64Projekte. Beratung. Spezialisten.Qualitt als Treiber: Wie Qualittsanforderungen die Architektur steuernIKS-Thementag25.11.2014Autor:Christoph Schmidt-Casdorf

2. Qualitt als Treiber2| 64Agenda 3. Qualitt als Treiber3| 64Qualitt und QualittsmerkmaleQualittsmerkmale| Architektur | Qualittsmerkmale erfassen | Qualittsmerkmale erreichen |Qualitt verifizieren | Abschluss 4. Qualitt als Treiber 4 | 64QualittsmerkmaleQualitt ist als solche nicht ermittelbar Es knnen nur Eigenschaften eines Produktes/Prozesses bewertet werdenQualittsmerkmale definieren Objektiv bestimmbare (und qualittsrelevante) Eigenschaften des Produkts/Software Alle Qualittsmerkmale zusammen machen Qualitt aus ISO 9126 * definiert eine Hierarchie von Qualittsmerkmalen Es gibt auch andere Hierarchien* es existiert Nachfolger ist ISO/EIC 25010:211 (SQuaRE)Qualittsmerkmale | Architektur | Qualittsmerkmale erfassen | Qualittsmerkmale erreichen |Qualitt verifizieren | Abschluss 5. Qualitt als Treiber5| 64ArchitekturDesignTechnologieCodeArchitekturDesignTechnologieCodeFunktionalittTestbarkeitWartbarkeitUsabilityZuverlssigkeitModifizierbarkeitPerformanzSicherheitQuelle : http://www.dadalos-d.org/frieden/images/eisberg-modell.jpgRelease- managementDeploymentRessourceneffizienzKompatibilittPortabilittuere QualittInnereQualitt 6. Qualitt als Treiber 6 | 64QualittsmerkmaleMit Qualittsmerkmalen lsst sich Qualitt beschreibenDie Architektur muss die Anforderungen an Qualittsmerkmale erfassen diese Anforderungen in Architekturentscheidungen umsetzenQualittsmerkmale | Architektur | Qualittsmerkmale erfassen | Qualittsmerkmale erreichen |Qualitt verifizieren | Abschluss 7. Qualitt als Treiber7| 64ArchitekturQualittsmerkmale | Architektur| Qualittsmerkmale erfassen | Qualittsmerkmale erreichen |Qualitt verifizieren | Abschluss 8. Qualitt als Treiber8| 64Definitionen von ArchitekturSoftwarearchitektur ist die Menge der hauptschlichen/wesentlichen Architekturentscheidung eines Systems.gem [Jacobson99]Die Softwarearchitektur eines Systems ist die Menge an Strukturen, die bentigt wird, um das System beurteilen zu knnen.Sie umfasst Softwareelemente, die sichtbaren Eigenschaften dieser Elemente und deren Beziehungen untereinander.gem [Brass12]Qualittsmerkmale | Architektur| Qualittsmerkmale erfassen | Qualittsmerkmale erreichen |Qualitt verifizieren | Abschluss 9. Qualitt als Treiber 9 | 64StrukturenEin System kann unterschiedliche Strukturen haben Strukturen knnen sich auf das statische Design, das Laufzeitverhalten usw. beziehen Keine einzelne Struktur kann die Architektur definierenStrukturen der Architektur werden als Sichten (View) reprsentiert Alle modernen Architekturanstze untersttzen das Konzept von ViewsQualittsmerkmale | Architektur | Qualittsmerkmale erfassen | Qualittsmerkmale erreichen |Qualitt verifizieren | Abschluss 10. Qualitt als Treiber 10 | 64Architektursichten/-perspektivenPerspektive definiert die Anforderung an den InformationsgehaltPerspektiven helfen, Komplexitt aufzuteilenPerspektiven helfen, Aspekte auszublenden (perspektivische Abstraktion)Perspektiven helfen, den Standpunkt des Adressaten einzunehmenSumme der Perspektiven vermittelt eine GesamtsichtSicht ist Ausprgung/Anwendung einer Perspektive in der aktuellenArchitekturQualittsmerkmale | Architektur | Qualittsmerkmale erfassen | Qualittsmerkmale erreichen |Qualitt verifizieren | Abschluss 11. Qualitt als Treiber11| 64Architektursichten-/perspektivenQualittsmerkmale | Architektur| Qualittsmerkmale erfassen | Qualittsmerkmale erreichen |Qualitt verifizieren | Abschluss 12. Qualitt als Treiber 12 | 64Sichten der Software-Architektur[Arc42] definiert Standardsichten Kontextsicht, Bausteinsicht, Laufzeitsicht, Verteilungssicht Notation auf Basis von UML Weitere Sichten siehe [Brass12], [FMC]Es drfen auch eigene Sichten entworfen werdenQualittsmerkmale | Architektur | Qualittsmerkmale erfassen | Qualittsmerkmale erreichen |Qualitt verifizieren | Abschluss 13. Qualitt als Treiber13| 64Verfeinerunginnerhalbvon Sichtensiehe [Arc42]Qualittsmerkmale | Architektur| Qualittsmerkmale erfassen | Qualittsmerkmale erreichen |Qualitt verifizieren | Abschluss 14. Qualitt als Treiber 14 | 64Architekturdokumentationist Basis jeder Kommunikation zwischen Stakeholdernist Mittel, um in das System einzufhrenist Referenz, um das System in Richtung Implementierung zu berfhrenbefasst sich mit der Dokumentation der relevanten Views fgt Informationen hinzu, welche die Beziehung der Views dokumentiert Architekturentscheidungen bestimmen Viewshlt alle relevanten Entscheidungen nach Alle wesentlichen Entscheidungen mssen nachvollziehbar sein Die Grundlagen aller Entscheidungen mssen dokumentiert sein[Arc42] stellt ein Template bereit IKS Gmbh nimmt dieses als Basis eigener ArchitekturdokumentationenQualittsmerkmale | Architektur | Qualittsmerkmale erfassen | Qualittsmerkmale erreichen |Qualitt verifizieren | Abschluss 15. Qualitt als Treiber 15 | 64ArchitekturArchitektur ist Dekomposition Iterative Verfeinerung der StrukturenKunst ist die richtige Zerlegung, den richtigen Abstraktionsgrad und die richtige Form der Dokumentationzu finden.Qualittsmerkmale | Architektur | Qualittsmerkmale erfassen | Qualittsmerkmale erreichen |Qualitt verifizieren | Abschluss 16. Qualitt als Treiber16| 64Qualittsmerkmale | Architektur| Qualittsmerkmale erfassen | Qualittsmerkmale erreichen |Qualitt verifizieren | Abschluss 17. Qualitt als Treiber17| 64Die Softwarearchitektur ist verantwortlich, dass ein System die geforderten Qualittsmerkmale erfllt. Wo kommen die QMeher? Warum? Wie wird dies sichergestelltund geprft? Wie kann das gelingen ?Qualittsmerkmale | Architektur| Qualittsmerkmale erfassen | Qualittsmerkmale erreichen |Qualitt verifizieren | Abschluss 18. Qualitt als Treiber 18 | 64Softwarearchitektur und QualittsmerkmaleWarum ist Softwarewarearchitektur fr Qualittsmerkmale verantwortlich?Erreichen von Qualittsmerkmalen bedingt (i.d.R.) weitreichendeArchitekturentscheidungen Qualittsmerkmale beeinflussen daher entscheidend SoftwarestrukturenQualittsmerkmale sind (die) entscheidende(n) Einflussfaktoren derArchitektur Architektur hat daher Eigeninteresse, diese so exakt wie mglich zu kennenQualittsmerkmale | Architektur | Qualittsmerkmale erfassen | Qualittsmerkmale erreichen |Qualitt verifizieren | Abschluss 19. Qualitt als Treiber 19 | 64Softwarearchitektur und QualittsmerkmaleArchitektur hat aus Sicht der fachlichen Funktionalitt keineQualittsmerkmale im Fokus Struktur des Systems nur aus Sicht der Fachlichkeit adressiert keineQualittsmerkmale Qualittsmerkmale der Architektur mssen explizit behandelt werdenWir setzen im Weiteren nicht-funktionale Anforderungen (NFA) mitQualittsmerkmalen gleich Funktionalitt ist (formal) auch eine QualittsmerkmalQualittsmerkmale | Architektur | Qualittsmerkmale erfassen | Qualittsmerkmale erreichen |Qualitt verifizieren | Abschluss 20. Qualitt als Treiber 20 | 64Softwarearchitektur und QualittsmerkmaleSoftwarearchitektur ist nur bedingt fr Erfassung und Prfung vonQualittsmerkmalen zustndigDiese Zustndigkeiten fhren immer zu DiskussionenDennoch sollte die Architektur alle Ttigkeiten rund um Qualittsmerkmalekoordinieren Nicht erfllte Qualittsmerkmale werden i.d.R. der Architektur zur Last gelegtQualittsmerkmale | Architektur | Qualittsmerkmale erfassen | Qualittsmerkmale erreichen |Qualitt verifizieren | Abschluss 21. Qualitt als Treiber21| 64Qualittsmerkmale erfassenQualittsmerkmale | Architektur | Qualittsmerkmale erfassen| Qualittsmerkmale erreichen |Qualitt verifizieren | Abschluss 22. Qualitt als Treiber22| 64Anforderungen an QualittsmerkmaleDas System soll fehlertolerant seinDas System muss leicht zu ndern seinWie mssen Qualittsmerkmale gut formuliert sein ?Das System muss stabil seinDas System muss performant seinQualittsmerkmale | Architektur | Qualittsmerkmale erfassen| Qualittsmerkmale erreichen |Qualitt verifizieren | Abschluss 23. Qualitt als Treiber23| 64Beispiel einer Anforderung an QualittIn 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 Umstnden?Was wird getan?Mit welcher Reaktion des Systems?Wie ist das Ergebnis zu messen/zu bewerten?Welcher Teil des Systems ist betroffen?Qualittsmerkmale | Architektur | Qualittsmerkmale erfassen| Qualittsmerkmale erreichen |Qualitt verifizieren | Abschluss 24. Qualitt als Treiber24| 64Beispiel eines QualittsszenariosReaktion auf AuslserAuslserQuelle wer lst ausBetroffene ArtefakteMessung nach erfolgter ReaktionUmstnde/ KontextQualittsmerkmale | Architektur | Qualittsmerkmale erfassen| Qualittsmerkmale erreichen |Qualitt verifizieren | Abschluss 25. Qualitt als Treiber25| 64Schablone eines QualittsszenariosBeschreibungAuslser (stimulus)Beschreibt eine spezifische Zusammenarbeit des auslsenden Aktors/Stakeholder mit dem SystemQuelle des Auslsers (source)beschreibt, woherder AuslserkommtSystembestandteil (artifact)beschreibt, welcherBestandteildes Systems vomAuslserbetroffenistUmgebung (environment)beschreibtdie Bedingung, unterder derAuslserauftrittAntwort (response)beschreibtdie Reaktiondes Systems auf den AuslserAntwortmetrik (responsemeasure)beschreibt, wiedie Antwortgemessenoder bewertetwerdenkann.siehe [Brass12]Qualittsmerkmale | Architektur | Qualittsmerkmale erfassen| Qualittsmerkmale erreichen |Qualitt verifizieren | Abschluss 26. Qualitt als Treiber26| 64Wie erhalte ich Qualittsszenarien?Qualitsszenariensind Schablonen/Muster, um Anforderungen an Qualittsmerkmale zu dokumentieren.Wie finde ich die Anforderungen an Qualittsmerkmale?Qualittsmerkmale | Architektur | Qualittsmerkmale erfassen| Qualittsmerkmale erreichen |Qualitt verifizieren | Abschluss 27. Qualitt als Treiber27| 64Qualittsmerkmale sind systemspezifischSystem Properties Web siehe [IBM14]Qualittsmerkmale | Architektur | Qualittsmerkmale erfassen| Qualittsmerkmale er