Die Qualitätsanforderungen an Individualsoftware sind hoch. Sie soll funktional, zuverlässig, benutzerfreundlich und wartbar sein. Nicht zuletzt muss die Kosten-Nutzen-Relation stimmen.
Weitere Vorträge, die wir auch gern in Ihrem Unternehmen halten, finden Sie unter: https://www.iks-gmbh.com/impulsvortraege
2. Agenda
Einführung
Was ist Softwarequalität ?
– Qualität messen
– Analytische Ansätze
Wünsche, Grenzen, Best Practices
Softwarequalität: Definitionen, Wünsche, Grenzen Seite 3 / 37
3. Agenda
Einführung
Was ist Softwarequalität ?
– Qualität messen
– Analytische Ansätze
Wünsche, Grenzen, Best Practices
Softwarequalität: Definitionen, Wünsche, Grenzen Seite 4 / 37
4. Qualität macht sich am stärksten bemerkbar,
wenn sie fehlt !
Quelle : http://www.gutenberg.org/ebooks/17161
Softwarequalität: Definitionen, Wünsche, Grenzen Seite 5 / 37
5. Was charakterisiert (Software-)Qualität ?
Qualität macht sich am stärksten bemerkbar, wenn sie fehlt!
– Wenn es weh tut, ist es zu spät
– Fehlende Qualität kostet
Qualität ist kein Selbstzweck
– Qualität wird implizit als gegeben vom Kunden / Nutzer
vorausgesetzt
– Fehlende Qualität kostet
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?
Softwarequalität: Definitionen, Wünsche, Grenzen Seite 6 / 37
6. Sie
Wissen um Qualität muss ermittelt werden Sie glauben
glaub
sich hier
en
Sie
glaub
Sind aber hier
en
Nach : Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2007 / 2008. 22.1.2008
Softwarequalität: Definitionen, Wünsche, Grenzen Seite 7 / 37
7. Qualität kann ermittelt werden
Quelle : http://blog.timesunion.com/opinion/files/2011/02/0301_WViraqWait.jpg
Softwarequalität: Definitionen, Wünsche, Grenzen Seite 8 / 37
9. Unbegrenzte Qualität ist nicht möglich
Nach Frühauf, K., J. Ludewig, H. Sandmayr (1991).Software-Projektmanagement und -Qualitätssicherung
Softwarequalität: Definitionen, Wünsche, Grenzen Seite 10 / 37
10. Fehlende Qualitätssicherung kostet
Entdeckung
Cost to fix a defect Require- Architek- Entwick- System- Nach
ments tur lung test Auslieferung
Require-
1× 3× 5–10× 10× 10–100×
Entstehung
ments
Architek-
- 1× 10× 15× 25–100×
tur
Entwick-
- - 1× 10× 10–25×
lung
http://en.wikipedia.org/wiki/Software_testing
Softwarequalität: Definitionen, Wünsche, Grenzen Seite 11 / 37
11. 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
Softwarequalität: Definitionen, Wünsche, Grenzen Seite 12 / 37
12. Externe Qualität
Interne Qualität
Quelle : http://www.dadalos-d.org/frieden/images/eisberg-modell.jpg
Softwarequalität: Definitionen, Wünsche, Grenzen Seite 13 / 37
13. Worauf bezieht sich Softwarequalität?
Produktqualität
– Qualität des Produkts
– Softwaresystem, Architekturdokumentation,
Anforderungsdokumentation
Prozessqualität
– Qualität des Herstellungsprozesses
Softwarequalität: Definitionen, Wünsche, Grenzen Seite 14 / 37
14. Worauf bezieht sich Softwarequalität?
Garbage in – Team Clean
garbage out Coding
Software-Usability
Softwarequalität: Definitionen, Wünsche, Grenzen Seite 15 / 37
15. Themen der Softwarequalität
Garbage in – Team Clean
garbage out Coding
Software-Usability
Softwarequalität: Definitionen, Wünsche, Grenzen Seite 16 / 37
16. Agenda
Einführung
Was ist Softwarequalität ?
– Qualität messen
– Analytische Ansätze
Wünsche, Grenzen, Best Practices
Softwarequalität: Definitionen, Wünsche, Grenzen Seite 17 / 37
17. Was ist Softwarequalität ?
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
Softwarequalität: Definitionen, Wünsche, Grenzen Seite 18 / 37
18. Was ist Softwarequalität ?
Wie definiert sich Softwarequalität ?
Wie kann Softwarequalität ermittelt 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?
Softwarequalität: Definitionen, Wünsche, Grenzen Seite 19 / 37
19. Qualitätsmerkmale
Qualität ist als solche nicht ermittelbar
– Es können nur Eigenschaften eines Produktes/Prozesses bewertet
werden
Qualitätsmerkmale definieren
– Objektiv bestimmbare (und qualitätsrelevante) Eigenschaften
• des Produkts / der Software
– Alle Qualitätsmerkmale zusammen machen Qualität aus
Softwarequalität: Definitionen, Wünsche, Grenzen Seite 20 / 37
20. Funktionalität extern
Usability
Zuverlässigkeit
Sicherheit Performanz
Prüfbarkeit Installierbarkeit
Wartbarkeit
Änderbarkeit Testbarkeit
Architektur
Technologie
Design
Code
intern
Quelle : http://www.dadalos-d.org/frieden/images/eisberg-modell.jpg
Softwarequalität: Definitionen, Wünsche, Grenzen Seite 21 / 37
21. Qualität bestimmen
Qualitätsmerkmale
– Sollen bewertet werden
– Wiederholbar, nachvollziehbar
Welche Metrik bewertet welches Merkmal?
? Was sagt ein Messwert über Qualität aus?
- Wann ist Qualitätsmerkmal (ausreichend) erfüllt?
Qualitätsmetriken quantifizieren bestimmte Aspekte
– Liefern die Bewertungsgrundlage
– Können auch kategorisieren (0/1, Ampel u.v.a.)
– Versuch, Subjektivität bei Bewertungen zu reduzieren
Softwarequalität: Definitionen, Wünsche, Grenzen Seite 22 / 37
22. Qualitätsindikatoren Sie
Metrik inkl.
glaub
Messmethode
Sie
Bewertung der
Bewertung der
Messungen
en
glauben
Messungen
Welche Merkmale
Sie
Welche Merkmale
werden durch Metrik
werden durch Metrik
glauben
beeinflusst ?
beeinflußt ?
Softwarequalität: Definitionen, Wünsche, Grenzen Seite 23 / 37
23. Qualitätsmerkmale und Metriken
Metrik ohne Bezug zu Merkmal(en) ist wertlos
– Metrik liefert eine Qualifizierung/Quantifizierung eines Aspektes
– Ist kein Wert als solcher
• Ist die Maßzahl gut / schlecht?
• Was gefährde ich bei schlechter Maßzahl?
– Messen ohne Bezug zu Merkmal bedeutet wahlloses Messen
Merkmal ohne Metrik kann nicht bewertet / validiert werden
– Wird ein Merkmal durch das Produkt erfüllt?
– Wenn ja, in ausreichendem Maße?
– Ist die Bewertung nachvollziehbar?
Zusammenhang zwischen Merkmalen und Metriken ist herzustellen
Softwarequalität: Definitionen, Wünsche, Grenzen Seite 24 / 37
24. Agenda
Einführung
Was ist Softwarequalität ?
– Qualität messen
– Analytische Ansätze
Wünsche, Grenzen, Best Practices
Softwarequalität: Definitionen, Wünsche, Grenzen Seite 25 / 37
25. Helfen Qualitätsmerkmale wirklich weiter?
Historisch gesehen:
– Qualitätsmerkmale waren Ausgangsbasis,
– … zu denen Metriken gesucht wurden
Geben guten Überblick über die unterschiedlichen Facetten
von Qualität
– Guter Einstieg in das Thema / Hintergrundwissen
– Kompendium, um alle relevanten Qualitätsmerkmale
zu entdecken
– Siehe ISO 9126
Softwarequalität: Definitionen, Wünsche, Grenzen Seite 26 / 37
26. Helfen Qualitätsmerkmale wirklich weiter?
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 gibt keine ausgeprägten Best Practices
Softwarequalität: Definitionen, Wünsche, Grenzen Seite 27 / 37
27. Analytische Ansätze
Von der Analyse zur Qualität
– Es werden verfügbare Messverfahren angewandt
– Messverfahren, die erwiesenermaßen Qualität messen
Ausgangspunkte sind analytische Verfahren
– Sie sind auf Qualitätssicherung ausgerichtet
– Unterschiedliche Verfahren werden innerhalb eines
Projektes eingesetzt
– Verfahren können hinsichtlich ihrer Qualitätsmerkmale
bewertet werden
Der Bezug zwischen Metrik und Merkmal
– Sind vorgegeben (als Best Practices)
– Kann projektspezifisch angepasst werden
Softwarequalität: Definitionen, Wünsche, Grenzen Seite 28 / 37
28. Qualitätsanalyse-Werkzeuge
Qualitätsanalyse-Werkzeuge können an Qualitätsmerkmale
angepasst werden
– Welche Metriken werden ausgeführt?
– Welche Indikatoren werden aus den Metriken abgeleitet?
– Wann hat Ihre Software eine ausreichende Qualität erreicht?
– Verfeinerung im Laufe des Projekts/Produkts
Nutzen Sie bekannte / bewährte Guidelines
– Java Coding Conventions (oracle)
– Metriken, welche Standardeinhaltung messen
Softwarequalität: Definitionen, Wünsche, Grenzen Seite 29 / 37
29. 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
Softwarequalität: Definitionen, Wünsche, Grenzen Seite 30 / 37
31. 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
Softwarequalität: Definitionen, Wünsche, Grenzen Seite 32 / 37
32. Agenda
Einführung
Was ist Softwarequalität ?
– Qualitätsmodelle
– Hierarchische Qualitätsmodelle
– Analytische Ansätze
Wünsche, Grenzen, Best Practices
Softwarequalität: Definitionen, Wünsche, Grenzen Seite 33 / 37
33. Wünsche und Grenzen
Qualität entstünde als Nebenprodukt der Softwareentwicklung 1)
– Sie entsteht nicht quasi von selbst
– Um sie 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 Model/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
Softwarequalität: Definitionen, Wünsche, Grenzen Seite 34 / 37
34. 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
– 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
Softwarequalität: Definitionen, Wünsche, Grenzen Seite 35 / 37
35. 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/
[SIGS-DATCOM]
http://www.sigs-datacom.de/wissen/themenchannel/software-qualitaet-und-
testen.html
[SQUID]
Kitchenham, B., Linkman, S., Pasquini, A., Nanni, V.: The SQUID
approach to defining a quality model. Software Quality Control 6(3)
Softwarequalität: Definitionen, Wünsche, Grenzen Seite 36 / 37
36. 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
Softwarequalität: Definitionen, Wünsche, Grenzen Seite 37 / 37
39. Sie
Qualitätsindikatoren Metrik inkl.
glaub
Messmethode
Sie
Bewertung der
Bewertung der en
Messungen
Messungen
glauben
Welche Merkmale
Sie
Welche Merkmale
werden durch Metrik
werden durch Metrik
glauben
beeinflußt ?
beeinflußt ?