Upload
iks-gesellschaft-fuer-informations-und-kommunikationssysteme-mbh
View
2.060
Download
0
Embed Size (px)
DESCRIPTION
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.
Citation preview
iks Thementag
„Mehr Softwarequalität – Best practices für alle Entwicklungsphasen“
19.06.2012
Softwarequalität:
Definitionen, Wünsche, Grenzen
Autor:
Christoph Schmidt-Casdorff
Seite 3 / 36 iks Thementag: „Mehr Softwarequalität“ - Definitionen, Wünsche, Grenzen
Agenda
Einführung
Was ist Softwarequalität ?
– Qualitätsmodelle
– Hierarchische Qualitätsmodelle
– Analytische Ansätze
Wünsche, Grenzen, best practices
Seite 4 / 36 iks Thementag: „Mehr Softwarequalität“ - Definitionen, Wünsche, Grenzen
Agenda
Einführung
Was ist Softwarequalität ?
– Qualitätsmodelle
– Hierarchische Qualitätsmodelle
– Analytische Ansätze
Wünsche, Grenzen, best practices
Seite 5 / 36 iks Thementag: „Mehr Softwarequalität“ - Definitionen, Wünsche, Grenzen
Was charakterisiert (Software-)Qualität ?
Qualität macht sich am stärksten bemerkbar, wenn sie fehlt
– Wenn es weh tut, ist es ziemlich spät
– Fehlende Qualität kostet
Qualität ist kein Selbstzweck
– Qualität wird implizit als gegeben vom Kunden / Nutzer
vorausgesetzt
Wissen um Qualität muss ermittelt werden
– Woher wissen Sie, dass Ihre Software guten Gewissens
auszuliefern ist?
– Woher wissen Sie, dass Ihre Software gewisse Qualitäts-
standards erfüllt?
Seite 6 / 36 iks Thementag: „Mehr Softwarequalität“ - Definitionen, Wünsche, Grenzen
Wissen um Qualität muss ermittelt werden
Nach : Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2007 / 2008. 22.1.2008
Sie
glaub
en
Sie glauben
sich hier
Sie
glaub
en
Sind aber hier
Seite 7 / 36 iks Thementag: „Mehr Softwarequalität“ - Definitionen, Wünsche, Grenzen
Unbegrenzte Qualität ist nicht möglich
Nach Frühauf, K., J. Ludewig, H. Sandmayr (1991).Software-Projektmanagement und -Qualitätssicherung
Seite 8 / 36 iks Thementag: „Mehr Softwarequalität“ - Definitionen, Wünsche, Grenzen
Cost to fix a defect
Entdeckung
Require-
ments
Architek-
tur
Entwick-
lung
System-
test
Nach
Auslieferung
Entste-
hung
Require-
ments 1× 3× 5–10× 10× 10–100×
Architek
-tur - 1× 10× 15× 25–100×
Entwick-
lung - - 1× 10× 10–25×
http://en.wikipedia.org/wiki/Software_testing
Fehlende Qualität kostet
Seite 9 / 36 iks Thementag: „Mehr Softwarequalität“ - Definitionen, Wünsche, Grenzen
Auf was bezieht sich Softwarequalität?
Produktqualität
– Qualität des Produkts
– Softwaresystem, Architekturdokumentation, Anforderungs-
dokumentation
Prozessqualität
– Qualität des Herstellungsprozesses
Wir beschäftigen uns heute hauptsächlich mit Produktqualität
Seite 10 / 36 iks Thementag: „Mehr Softwarequalität“ - Definitionen, Wünsche, Grenzen
Worauf bezieht sich Softwarequalität?
Externe Qualität *
– Qualität aus der Perspektive des Anwenders / Kunden
– Zuverlässigkeit, Funktionsumfang …
– Indikatoren können von außen gemessen werden
Interne (oder auch strukturelle) Qualität
– Qualität aus Entwicklungsperspektive
– Indikatoren können nur von innen gemessen werden
– Sind früh im Entwicklungsprozess anzuwenden
* ISO 9126 unterscheidet in Quality Of Use und externe Qualität
Seite 11 / 36 iks Thementag: „Mehr Softwarequalität“ - Definitionen, Wünsche, Grenzen
Agenda
Einführung
Was ist Softwarequalität ?
– Qualitätsmodelle
– Hierarchische Qualitätsmodelle
– Analytische Ansätze
Wünsche, Grenzen, best practices
Seite 12 / 36 iks Thementag: „Mehr Softwarequalität“ - Definitionen, Wünsche, Grenzen
Was ist Softwarequalität ?
Die Erwartungen an Softwarequalität …
– hängen von der Perspektive ab
• Endanwender Entwickler
• Betrieb Abnahmetest
– können kulturell bedingt sein
– sind i.d.R. subjektiv
Notwendigkeit, Softwarequalität zu definieren
Seite 13 / 36 iks Thementag: „Mehr Softwarequalität“ - Definitionen, Wünsche, Grenzen
Was ist Softwarequalität ?
Wie definiert sich Softwarequalität?
Wie kann Softwarequalität bewertet werden?
– Zuordnung von qualitätssichernden Maßnahmen
– Messung von Qualitätsanforderungen
Wie kann Softwarequalität für ein Projekt / Produkt / Prozess
gewährleistet werden?
– Welche Anforderungen an SW-Qualität werden benötigt?
Mit diesen Fragen beschäftigen sich Qualitätsmodelle
Seite 14 / 36 iks Thementag: „Mehr Softwarequalität“ - Definitionen, Wünsche, Grenzen
Agenda
Einführung
Was ist Softwarequalität ?
– Qualitätsmodelle
– Hierarchische Qualitätsmodelle
– Analytische Ansätze
Wünsche, Grenzen, best practices
Seite 15 / 36 iks Thementag: „Mehr Softwarequalität“ - Definitionen, Wünsche, Grenzen
Qualitätsmodelle
Qualitätsmerkmale definieren objektiv bestimmbare Eigenschaften
– des Produkts
– werden hierarchisch geordnet
Qualitätsmetriken quantifizieren bestimmte Aspekte
– liefern die Bewertungsgrundlage für Merkmale
– können auch kategorisieren (0/1, Ampel u.v.a.)
Qualitätsindikatoren
– kategorisieren das Ergebnis einer Metrik bzgl. eines Merkmals
– verbinden Merkmale mit Metriken
• Eine Metrik bewertet i.d.R. mehrere Merkmale
Seite 16 / 36 iks Thementag: „Mehr Softwarequalität“ - Definitionen, Wünsche, Grenzen
Beispiele von Qualitätsmerkmalen
Seite 17 / 36 iks Thementag: „Mehr Softwarequalität“ - Definitionen, Wünsche, Grenzen
Qualitätsindikatoren
Sie
glaub
en
Metrik inkl.
Messmethode
Sie
glauben
Kategorisierung
der Messungen
Sie
glauben
Welche Merkmale
werden durch Indikator
beeinflusst
Seite 18 / 36 iks Thementag: „Mehr Softwarequalität“ - Definitionen, Wünsche, Grenzen
Qualitätsmodelle
Warum reicht eine Menge an Metriken nicht aus?
– Metrik liefert eine Qualifizierung / Quantifizierung eines Aspekts
– Ist kein Wert als solcher
• Ist die Maßzahl gut/schlecht?
• Was gefährde ich bei schlechter Maßzahl?
Metrik ist ohne Kontext des / der Merkmale wertlos
– Wahlloses Messen ist sinnlos
Merkmal ohne Metrik kann nicht bewertet / validiert werden
– Wird ein Merkmal durch das Produkt erfüllt?
– Wenn ja, in ausreichendem Maß?
Zusammenhang zwischen Qualitätsmerkmalen und Metriken
ist herzustellen Qualitätsmodelle
Seite 19 / 36 iks Thementag: „Mehr Softwarequalität“ - Definitionen, Wünsche, Grenzen
Agenda
Einführung
Was ist Softwarequalität ?
– Qualitätsmodelle
– Hierarchische Qualitätsmodelle
– Analytische Ansätze
Wünsche, Grenzen, best practices
Seite 20 / 36 iks Thementag: „Mehr Softwarequalität“ - Definitionen, Wünsche, Grenzen
Hierarische Qualitätsmodelle
Definition eines Software-Qualitätsmodells über
– Definition eines Systems von Qualitätsmerkmalen
• i.d.R. mehrstufig
– Explizite Zuordnung von Indikatoren
• nachgeordnet
Beispiele
– Mc Call
– Boehm
– ISO 9126 (FURPS)
– Squid
Seite 21 / 36 iks Thementag: „Mehr Softwarequalität“ - Definitionen, Wünsche, Grenzen
ISO 9126 – Hierarchie von Qualitätsmerkmale
Seite 22 / 36 iks Thementag: „Mehr Softwarequalität“ - Definitionen, Wünsche, Grenzen
Qualitätsindikatoren gemäß ISO 9126
Seite 23 / 36 iks Thementag: „Mehr Softwarequalität“ - Definitionen, Wünsche, Grenzen
Bewertung hierarischer Qualitätsmodelle?
Historisch gesehen: Einstieg in systematische Software-Qualität
Geben guten Überblick über die unterschiedlichen Facetten von
Qualität
– Guter Einstieg in das Thema / Hintergrundwissen
– Kompendium, um alle relevanten Qualitätsmerkmale zu entdecken
Sind schwergewichtig und unflexibel
– Unklare Bedeutung und Bedeutungsunterschiede einzelner Merkmale
– Starre Vorgaben
– Akademisch
Sind schwer anzuwenden
– Der Zuschnitt auf das eigene Projekt / Produkt ist schwierig
Es fehlt ein pragmatischer Ansatz
Seite 24 / 36 iks Thementag: „Mehr Softwarequalität“ - Definitionen, Wünsche, Grenzen
Agenda
Einführung
Was ist Softwarequalität ?
– Qualitätsmodelle
– Hierarchische Qualitätsmodelle
– Analytische Ansätze
Wünsche, Grenzen, best practices
Seite 25 / 36 iks Thementag: „Mehr Softwarequalität“ - Definitionen, Wünsche, Grenzen
Analytische Ansätze
Von der Analyse zur Qualität
– Im Gegensatz zu hierarchischen Qualitätsmodellen
Ausgangspunkt sind analytische Verfahren
– Diese führen zu Qualität
– Unterschiedliche Verfahren werden innerhalb eines Projektes
eingesetzt
– Verfahren werden hinsichtlich ihrer Qualitätsmerkmale bewertet
Seite 26 / 36 iks Thementag: „Mehr Softwarequalität“ - Definitionen, Wünsche, Grenzen
Qualitätsanalyse-Werkzeuge
Sensoren sind Werkzeuge, welche
– (Software-)metriken automatisiert ermitteln
– Auf vorgegebenem Regelwerk arbeiten
• Siehe checkstyle, PMD, findbug
Qualitäts-Cockpits ergänzen Sensoren
– Bewerten Messungen der Sensoren
– Bereiten diese projektspezifisch auf
– Protokollieren Qualitätsverlauf
– Siehe Sonar
System Analysis Workbenches
– Flexible Konfiguration des Regelwerks
– Siehe Sotograph zur Bewertung von Architekturkonformität
Seite 27 / 36 iks Thementag: „Mehr Softwarequalität“ - Definitionen, Wünsche, Grenzen
Qualitäts-Cockpit: Sonar
Siehe http://www.sonarsource.org/sonar-3-0-in-screenshots/
Seite 28 / 36 iks Thementag: „Mehr Softwarequalität“ - Definitionen, Wünsche, Grenzen
Qualitätsanalyse-Werkzeuge
Qualitätsanalyse-Werkzeuge müssen an Qualitätsmerkmale
angepasst werden
– Welche Metriken werden ausgeführt?
– Welche Indikatoren werden aus den Metriken abgeleitet?
Nutzen Sie bekannte / bewährte Guidelines
– Java Coding Conventions (sun)
Seite 29 / 36 iks Thementag: „Mehr Softwarequalität“ - Definitionen, Wünsche, Grenzen
Reviews / Inspektionen
Sind analytische Verfahren, um Qualität zu ermitteln
Sind da von besonderer Bedeutung, wo…
– keine werkzeugunterstützten Methoden verfügbar sind
Benötigen Ausführungskontext
– Welches Qualitätsmerkmal wird geprüft?
– Nach welchen Regeln / Verfahren wird geprüft?
– Siehe Requirements Engineering
Seite 30 / 36 iks Thementag: „Mehr Softwarequalität“ - Definitionen, Wünsche, Grenzen
Methodische Ermittlung von Qualitätszielen
Verfahren, um…
– projektspezifische Qualitätsanforderungen zu ermitteln
– diese messbar zu gestalten
– diesen eine oder mehrere Metriken zuzuordnen
… führen zu einem projektspezifischen Qualitätsmodell
… unterstützen z.B. die Ermittlung nicht funktionaler Anforderungen
… werden zur Ermittlung von Review-Zielen genutzt
Bsp.: Goal Question Metric (GQM)
Seite 31 / 36 iks Thementag: „Mehr Softwarequalität“ - Definitionen, Wünsche, Grenzen
Qualitätsmodelle
Alle Ansätze, um Qualitätsmodelle zu ermitteln ….
… verbinden Qualitätsmerkmale mit Qualitätsmetriken
Anforderungen an Qualität sind projektspezifisch
Seite 32 / 36 iks Thementag: „Mehr Softwarequalität“ - Definitionen, Wünsche, Grenzen
Agenda
Einführung
Was ist Softwarequalität ?
– Qualitätsmodelle
– Hierarchische Qualitätsmodelle
– Analytische Ansätze
Wünsche, Grenzen, best practices
Seite 33 / 36 iks Thementag: „Mehr Softwarequalität“ - Definitionen, Wünsche, Grenzen
Wünsche und Grenzen
Qualität entstünde als Nebenprodukt der Softwareentwicklung 1)
– Sie entsteht nicht quasi von selbst
– Um die Qualität muss man sich kümmern
Qualität gäbe es umsonst
– Gegenüberstellung von Qualitätskosten zu Qualitätsanforderungen
– Gleichgewicht zwischen Kosten / Risiken und Aufwand
Qualitätsanforderungen wären immer gleich
– Qualitätsanforderungen unterscheiden sich von Projekt zu Projekt
– Es gibt fertige out-of-the-box Modelle / Tools / Methoden, nach
denen Qualität für Ihr Projekt erreicht werden kann
– Qualitätsanforderungen müssen explizit formuliert werden
1) Wünsche sind kursiv
Seite 34 / 36 iks Thementag: „Mehr Softwarequalität“ - Definitionen, Wünsche, Grenzen
Best practices
Bauen Sie eine eigene Qualitätskultur auf
– Wenn noch nicht geschehen
– Der Einstieg ist nicht so schwer
Nutzen Sie Qualitätsanalyse-Werkzeuge für den Einstieg
in Ihr Qualitätsmodell
– i.d.R. nur für interne Qualität
– Nutzen Sie bestehende Qualitätsanforderungsprofile
Leiten Sie Ihre Qualitätsanforderungen ab
– Am Anfang des Projekts
– Messen Sie die Erfüllung der Anforderungen
Pflegen Sie Ihre Qualität
– Qualität ist ein Prozess, keine Momentaufnahme
Seite 35 / 36 iks Thementag: „Mehr Softwarequalität“ - Definitionen, Wünsche, Grenzen
Referenzen
[Code Complete]
Steve McDonnell, Code Complete (2nd Edition)
Microsoft Press Deutschland; Auflage (27. Januar 2005)
ISBN-13: 978-3860635933
[ISO 9126]
ISO 9126-1: Software engineering–Product quality–Part 1: Quality model
[GQM]
http://goldpractice.thedacs.com/practices/gqm/
[SQUID]
Kitchenham, B., Linkman, S., Pasquini, A., Nanni, V.: The SQUID
approach to defining a quality model. Software Quality Control 6(3)
Seite 36 / 36 iks Thementag: „Mehr Softwarequalität“ - Definitionen, Wünsche, Grenzen
Weiterführende Literatur
Software Metrics and Software Metrology; Alan Abrain
John Wiley & Sons; ISBN-13: 978-0470597200
SEI – quality driven software measurement
http://www.sei.cmu.edu/reports/96hb002.pdf
SQUID Quality Framework
http://www.inf.utfsm.cl/~visconti/iia375/Documentos/Squid.pdf
F. Deißendörfer (Diss. 2009),
Continuous Quality Control of Long-Lived Software Systems
http://mediatum2.ub.tum.de/doc/737380/737380.pdf
Fragen?
www.iks-gmbh.com