5. Softwarequalität: Definitionen, Grenzen, Wünsche 5 | 34
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
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 gewisse Qualitätsstandards erfüllt?
Fehlende Qualität kostet!
Einführung | Was ist Softwarequalität? | Wünsche, Grenzen, Best Practices
6. Softwarequalität: Definitionen, Grenzen, Wünsche 6 | 34
Wissen um Qualität muss ermittelt werden
Wer viel arbeitet, macht viele Fehler
Wer wenig arbeitet, macht wenig Fehler
Wer nicht arbeitet, macht keine Fehler, und
wer keine Fehler macht - der wird befördert
http://www.abnehmen-aktuell.de/images/abnehmen-bilder/2012/03/c38530ba-1.gif
Einführung | Was ist Softwarequalität? | Wünsche, Grenzen, Best Practices
7. Das Gleiche gilt für das Qualitätstesten
Nach : Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2007 / 2008. 22.1.2008
Sie glauben
sich hier
Sind aber hier
8. Softwarequalität: Definitionen, Grenzen, Wünsche 8 | 34
Cost to fix a defect
Entdeckung
Require-
ments
Architek-
tur
Entwick-
lung
System-
test
Nach
Auslieferung
Entstehung
Requirements 1x 3× 5–10× 10× 10–100×
Architektur - 1× 10× 15× 25–100×
Entwicklung - - 1× 10× 10–25×
http://en.wikipedia.org/wiki/Software_testing
Fehlende Qualitätssicherung kostet
Einführung | Was ist Softwarequalität? | Wünsche, Grenzen, Best Practices
9. Unbegrenzte Qualität ist nicht wirtschaftlich
Nach Frühauf, K., J. Ludewig, H. Sandmayr (1991).Software-Projektmanagement und -Qualitätssicherung
10. Softwarequalität: Definitionen, Grenzen, Wünsche 10 | 34
(Wie) Kann Qualität kann ermittelt werden?
Quelle : http://blog.timesunion.com/opinion/files/2011/02/0301_WViraqWait.jpg
Einführung | Was ist Softwarequalität? | Wünsche, Grenzen, Best Practices
11. Softwarequalität: Definitionen, Grenzen, Wünsche 11 | 34
Klassifizierungen von 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
Einführung | Was ist Softwarequalität? | Wünsche, Grenzen, Best Practices
13. Softwarequalität: Definitionen, Grenzen, Wünsche 13 | 34
Klassifizierung von Softwarequalität
Produktqualität
Qualität des Produkts
Des Softwaresystems, der Architekturdokumentation, der
Anforderungsdokumentation, …
Prozessqualität
Qualität des Herstellungsprozesses
Einführung | Was ist Softwarequalität? | Wünsche, Grenzen, Best Practices
14. Softwarequalität: Definitionen, Grenzen, Wünsche 14 | 34
Themen der Softwarequalität
Qualitätsmanagement
Qualitätssicherung
Testen / Qualitätsmessung
Einführung | Was ist Softwarequalität? | Wünsche, Grenzen, Best Practices
15. Softwarequalität: Definitionen, Grenzen, Wünsche 15 | 34
Agenda
Einführung
Was ist Softwarequalität ?
Qualität messen
Werkzeuge/Verfahren
Wünsche, Grenzen, Best Practices
Einführung | Was ist Softwarequalität? | Wünsche, Grenzen, Best Practices
16. Softwarequalität: Definitionen, Grenzen, Wünsche 16 | 34
Was ist Softwarequalität?
Unterschiedliche Erwartungen an Softwarequalität
Hängen von der Perspektive ab
Kunde
Entwickler
Betrieb
Können kulturell bedingt sein
Sind i.d.R. subjektiv
Notwendigkeit, Softwarequalität zu definieren
Einführung | Was ist Softwarequalität? | Wünsche, Grenzen, Best Practices
17. Softwarequalität: Definitionen, Grenzen, Wünsche 17 | 34
Definition von Qualität
Qualität (lat.: qualitas = Beschaffenheit, Merkmal, Eigenschaft, Zustand) hat
zwei Bedeutungen:
1. neutral: die Summe aller Eigenschaften eines Objektes, Systems oder
Prozesses
2. bewertet: die Güte aller Eigenschaften eines Objektes, Systems oder
Prozesses
Qualität ist die Gesamtheit der (Qualitäts-)Merkmale und Merkmalswerte eines
Produkts, die sich auf dessen Eignung beziehen, festgelegte oder
vorausgesetzte Erfordernisse zu erfüllen.
Wikipedia
DIN-Standard
Einführung | Was ist Softwarequalität? | Wünsche, Grenzen, Best Practices
18. Softwarequalität: Definitionen, Grenzen, Wünsche 18 | 34
Qualitätsmerkmale
Qualität ist ganzheitlich zunächst nicht ermittelbar
Es können nur Eigenschaften eines Produktes/Prozesses bewertet werden
Qualitätsmerkmale definieren
Gesucht sind objektiv bestimmbare (und qualitätsrelevante) Merkmale des Produkts
bzw. der Software
Diese Merkmale werden solange verfeinert, bis sie messbar sind
Alle Qualitätsmerkmale zusammen machen Qualität aus
Einführung | Was ist Softwarequalität? | Wünsche, Grenzen, Best Practices
19. Qualitätsmerkmale nach ISO 9126
http://www.johner-institut.de/wissen/wp-content/uploads/2011/06/ISO9126-deutsch1.png
21. Softwarequalität: Definitionen, Grenzen, Wünsche 21 | 34
Ziel: Qualität bestimmen
Qualitätsmerkmale
Sollen bewertet werden
Wiederholbar, nachvollziehbar
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
Welche Metrik bewertet welches Merkmal?
Was sagt ein Messwert über Qualität aus?
Wann ist ein Qualitätsmerkmal (ausreichend) erfüllt?
?
Einführung | Was ist Softwarequalität? | Wünsche, Grenzen, Best Practices
23. Merkmale ← Indikator →
Metrik
Critical Code
sind u.U. Projekt-
spezifisch und müssen
justiert werden
Metrik
24. Softwarequalität: Definitionen, Grenzen, Wünsche 24 | 34
Qualitätsmerkmale und Metriken
Metrik ohne Bezug zu Merkmal(en) ist wertlos
Metrik liefert eine Qualifizierung/Quantifizierung eines Aspektes
Ist kein Qualitätswert 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
Einführung | Was ist Softwarequalität? | Wünsche, Grenzen, Best Practices
25. Softwarequalität: Definitionen, Grenzen, Wünsche 25 | 34
Agenda
Einführung
Was ist Softwarequalität ?
Qualität messen
Werkzeuge/Verfahren
Wünsche, Grenzen, Best Practices
Einführung | Was ist Softwarequalität? | Wünsche, Grenzen, Best Practices
26. Softwarequalität: Definitionen, Grenzen, Wünsche 26 | 34
Qualitätsanalyse-Werkzeuge
Ausgangspunkte sind analytische Verfahren
Sie untersuchen vorwiegend den Quellcode,
aber auch die Performanz des Systems,
die Entwicklungsgeschwindigkeiten (Produktivität),
die Benutzerfreundlichkeit und
viele weitere Merkmale (s. ISO 9162-2) können gemessen werden.
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
Einführung | Was ist Softwarequalität? | Wünsche, Grenzen, Best Practices
27. Softwarequalität: Definitionen, Grenzen, Wünsche 27 | 34
Werkzeuge zur Qualitätsanalyse
Sensoren sind Werkzeuge, welche
(Software-)Metriken automatisiert ermitteln
Auf vorgegebenem Regelwerk arbeiten
Siehe Checkstyle, PMD, FindBugs
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
Einführung | Was ist Softwarequalität? | Wünsche, Grenzen, Best Practices
28. Softwarequalität: Definitionen, Grenzen, Wünsche 28 | 34
Qualitäts-Cockpit: Sonar
Siehe http://www.sonarsource.org/sonar-3-0-in-screenshots/
Einführung | Was ist Softwarequalität? | Wünsche, Grenzen, Best Practices
29. Softwarequalität: Definitionen, Grenzen, Wünsche 29 | 34
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
Einführung | Was ist Softwarequalität? | Wünsche, Grenzen, Best Practices
30. Softwarequalität: Definitionen, Grenzen, Wünsche 30 | 34
Agenda
Einführung
Was ist Softwarequalität ?
Qualität messen
Werkzeuge/Verfahren
Wünsche, Grenzen, Best Practices
Einführung | Was ist Softwarequalität? | Wünsche, Grenzen, Best Practices
31. Softwarequalität: Definitionen, Grenzen, Wünsche 31 | 34
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
Einführung | Was ist Softwarequalität? | Wünsche, Grenzen, Best Practices
32. Softwarequalität: Definitionen, Grenzen, Wünsche 32 | 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ätssicherung ist ein Prozess, keine Momentaufnahme
Einführung | Was ist Softwarequalität? | Wünsche, Grenzen, Best Practices
33. Softwarequalität: Definitionen, Grenzen, Wünsche 33 | 34
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)
Einführung | Was ist Softwarequalität? | Wünsche, Grenzen, Best Practices
34. Softwarequalität: Definitionen, Grenzen, Wünsche 34 | 34
Referenzen
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
Einführung | Was ist Softwarequalität? | Wünsche, Grenzen, Best Practices