Post on 12-Jul-2015
Softwarequalität: Definitionen, Grenzen, Wünsche 1 | 34
: Kopiert eine
Klicke mit der Maus an die
Projekte. Beratung. Spezialisten.
Softwarequalität:
Definitionen, Grenzen, Wünsche
IKS-Meeting im Januar 2015
14.01.2015
Autor: Christoph Schmidt-Casdorff
Softwarequalität: Definitionen, Grenzen, Wünsche 2 | 34
Agenda
Einführung
Was ist Softwarequalität ?
Qualität messen
Werkzeuge/Verfahren
Wünsche, Grenzen, Best Practices
Softwarequalität: Definitionen, Grenzen, Wünsche 3 | 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
http://www.moldychum.com/home-old/tag/fly-rods
Softwarequalität: Definitionen, Grenzen, Wünsche 5 | 34
: Kopiert eine
Klicke mit der Maus an die
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
Softwarequalität: Definitionen, Grenzen, Wünsche 6 | 34
: Kopiert eine
Klicke mit der Maus an die
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
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
Softwarequalität: Definitionen, Grenzen, Wünsche 8 | 34
: Kopiert eine
Klicke mit der Maus an die
Cost to fix a defect
Entdeckung
Require-
ments
Architek-
tur
Entwick-
lung
System-
test
Nach
Auslieferung
Ents
tehung 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
Unbegrenzte Qualität ist nicht wirtschaftlich
Nach Frühauf, K., J. Ludewig, H. Sandmayr (1991).Software-Projektmanagement und -Qualitätssicherung
Softwarequalität: Definitionen, Grenzen, Wünsche 10 | 34
: Kopiert eine
Klicke mit der Maus an die
(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
Softwarequalität: Definitionen, Grenzen, Wünsche 11 | 34
: Kopiert eine
Klicke mit der Maus an die
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
Quelle : http://www.dadalos-d.org/frieden/images/eisberg-modell.jpg
Externe Qualität
Interne Qualität
Einführung | Was ist Softwarequalität? | Wünsche, Grenzen, Best Practices
Softwarequalität: Definitionen, Grenzen, Wünsche 13 | 34
: Kopiert eine
Klicke mit der Maus an die
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
Softwarequalität: Definitionen, Grenzen, Wünsche 14 | 34
: Kopiert eine
Klicke mit der Maus an die
Themen der Softwarequalität
Qualitätsmanagement
Qualitätssicherung
Testen / Qualitätsmessung
Einführung | Was ist Softwarequalität? | Wünsche, Grenzen, Best Practices
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
Softwarequalität: Definitionen, Grenzen, Wünsche 16 | 34
: Kopiert eine
Klicke mit der Maus an die
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
Softwarequalität: Definitionen, Grenzen, Wünsche 17 | 34
: Kopiert eine
Klicke mit der Maus an die
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
Softwarequalität: Definitionen, Grenzen, Wünsche 18 | 34
: Kopiert eine
Klicke mit der Maus an die
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
Qualitätsmerkmale nach ISO 9126
http://www.johner-institut.de/wissen/wp-content/uploads/2011/06/ISO9126-deutsch1.png
Softwarequalität: Definitionen, Grenzen, Wünsche 20 | 34
: Kopiert eine
Klicke mit der Maus an die Architektur
DesignTechnologie
Code
Architektur
DesignTechnologie
Code
Funktionalität
Testbarkeit
Wartbarkeit
Usability Zuverlässigkeit
Modifizierbarkeit
PerformanzSicherheit
Quelle : http://www.dadalos-d.org/frieden/images/eisberg-modell.jpg
Release-
management
Deployment
Resourceneffizienz
Kompatibilität
Portabilität
Äußere
Qualität
Innere
Qualität
Softwarequalität: Definitionen, Grenzen, Wünsche 21 | 34
: Kopiert eine
Klicke mit der Maus an die
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
Metrik inkl.
MessmethodeBewertung der
Messungen
Sie
glauben
Welche Merkmale
werden durch die
Metrik beeinflusst ?
Merkmale ← Indikator → Metrik
Merkmale ← Indikator →
Metrik
Critical Code
sind u.U. Projekt-
spezifisch und müssen
justiert werden
Metrik
Softwarequalität: Definitionen, Grenzen, Wünsche 24 | 34
: Kopiert eine
Klicke mit der Maus an die
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
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
Softwarequalität: Definitionen, Grenzen, Wünsche 26 | 34
: Kopiert eine
Klicke mit der Maus an die
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
Softwarequalität: Definitionen, Grenzen, Wünsche 27 | 34
: Kopiert eine
Klicke mit der Maus an die
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
Softwarequalität: Definitionen, Grenzen, Wünsche 28 | 34
: Kopiert eine
Klicke mit der Maus an die
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
Softwarequalität: Definitionen, Grenzen, Wünsche 29 | 34
: Kopiert eine
Klicke mit der Maus an die
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
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
Softwarequalität: Definitionen, Grenzen, Wünsche 31 | 34
: Kopiert eine
Klicke mit der Maus an die
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
Softwarequalität: Definitionen, Grenzen, Wünsche 32 | 34
: Kopiert eine
Klicke mit der Maus an die
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
Softwarequalität: Definitionen, Grenzen, Wünsche 33 | 34
: Kopiert eine
Klicke mit der Maus an die
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
Softwarequalität: Definitionen, Grenzen, Wünsche 34 | 34
: Kopiert eine
Klicke mit der Maus an die
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
WWW.IKS-GMBH.COM
Projekte. Beratung. Spezialisten.