SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
iks Thementag
„Mehr Softwarequalität – Ausgewählte Themen“
22.05.2014
Softwarequalität:
Definitionen, Wünsche, Grenzen
Autor:
Christoph Schmidt-Casdorff
Seite 3 / 35Softwarequalität: Definitionen, Wünsche, Grenzen
Agenda
Einführung
Was ist Softwarequalität ?
– Qualität messen
– Werkzeuge / Verfahren
Wünsche, Grenzen, Best Practices
Seite 4 / 35Softwarequalität: Definitionen, Wünsche, Grenzen
Agenda
Einführung
Was ist Softwarequalität ?
– Qualität messen
– Werkzeuge / Verfahren
Wünsche, Grenzen, Best Practices
Seite 5 / 35Softwarequalität: Definitionen, Wünsche, Grenzen
http://www.moldychum.com/home-old/tag/fly-rods
Seite 6 / 35Softwarequalitä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 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äts-
Standards erfüllt?
Fehlende Qualität kostet!
Seite 7 / 35Softwarequalität: Definitionen, Wünsche, Grenzen
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
Seite 8 / 35Softwarequalität: Definitionen, Wünsche, Grenzen
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
glaub
en
Sie glauben
sich hier
Sie
glaub
en
Sind aber hier
Seite 9 / 35Softwarequalität: Definitionen, Wünsche, Grenzen
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
Seite 10 / 35Softwarequalität: Definitionen, Wünsche, Grenzen
Unbegrenzte Qualität ist nicht wirtschaftlich
Nach Frühauf, K., J. Ludewig, H. Sandmayr (1991).Software-Projektmanagement und -Qualitätssicherung
Seite 11 / 35Softwarequalität: Definitionen, Wünsche, Grenzen
(Wie) Kann Qualität ermittelt werden?
Quelle : http://blog.timesunion.com/opinion/files/2011/02/0301_WViraqWait.jpg
Seite 12 / 35Softwarequalität: Definitionen, Wünsche, Grenzen
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
Seite 13 / 35Softwarequalität: Definitionen, Wünsche, Grenzen
Quelle : http://www.dadalos-d.org/frieden/images/eisberg-modell.jpg
Externe Qualität
Interne Qualität
Seite 14 / 35Softwarequalität: Definitionen, Wünsche, Grenzen
Klassifizierungen von Softwarequalität
Produktqualität
– Qualität des Produkts
– des Softwaresystems, der Architekturdokumentation,
der Anforderungsdokumentation, ...
Prozessqualität
– Qualität des Herstellungsprozesses
Seite 15 / 35Softwarequalität: Definitionen, Wünsche, Grenzen
Einordnung der Folgethemen
Team Clean
Coding
Garbage in –
garbage out
Software-Usability
Seite 16 / 35Softwarequalität: Definitionen, Wünsche, Grenzen
Agenda
Einführung
Was ist Softwarequalität?
– Qualität messen
– Werkzeuge / Verfahren
Wünsche, Grenzen, Best Practices
Seite 17 / 35Softwarequalität: Definitionen, Wünsche, Grenzen
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
Seite 18 / 35Softwarequalität: Definitionen, Wünsche, Grenzen
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
Seite 19 / 35Softwarequalität: Definitionen, Wünsche, Grenzen
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
Seite 20 / 35Softwarequalität: Definitionen, Wünsche, Grenzen
Qualitätsmerkmale nach ISO 9126
http://www.johner-institut.de/wissen/wp-content/uploads/2011/06/ISO9126-deutsch1.png
Seite 21 / 35Softwarequalität: Definitionen, Wünsche, Grenzen
Architektur
Design
Technologie
Code
Quelle : http://www.dadalos-d.org/frieden/images/eisberg-modell.jpg
Funktionalität
Testbarkeit
Wartbarkeit
Usability
Zuverlässigkeit
Prüfbarkeit Installierbarkeit
Änderbarkeit
PerformanzSicherheit
extern
intern
Seite 22 / 35Softwarequalität: Definitionen, Wünsche, Grenzen
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 Qualitätsmerkmal (ausreichend) erfüllt?
?
Seite 23 / 35Softwarequalität: Definitionen, Wünsche, Grenzen
Welche Merkmale
werden durch die
Metrik beeinflusst ?
Bewertung der
Messungen
Sie
glaub
en
Metrik inkl.
Messmethode
Sie
glauben
Bewertung der
Messungen
Sie
glauben
Sie
glauben
Welche Merkmale
werden durch die
Metrik beeinflusst ?
Merkmale ← Indikator → Metrik
Seite 24 / 35Softwarequalität: Definitionen, Wünsche, Grenzen
Merkmale ← Indikator → Metrik
Metrik
Critical Code
Sie
glauben
sind u.U. Projekt-
spezifisch und müssen
justiert werden
Seite 25 / 35Softwarequalität: Definitionen, Wünsche, Grenzen
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
Seite 26 / 35Softwarequalität: Definitionen, Wünsche, Grenzen
Agenda
Einführung
Was ist Softwarequalität?
– Qualität messen
– Werkzeuge / Verfahren
Wünsche, Grenzen, Best Practices
Seite 27 / 35Softwarequalität: Definitionen, Wünsche, Grenzen
Qualitätsanalyse-Werkzeuge
Ausgangspunkt 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
Seite 28 / 35Softwarequalität: Definitionen, Wünsche, Grenzen
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
Seite 29 / 35Softwarequalität: Definitionen, Wünsche, Grenzen
Qualitäts-Cockpit : Sonar
Siehe http://www.sonarsource.org/sonar-3-0-in-screenshots/
Seite 30 / 35Softwarequalitä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 31 / 35Softwarequalität: Definitionen, Wünsche, Grenzen
Agenda
Einführung
Was ist Softwarequalität?
– Qualität messen
– Werkzeuge / Verfahren
Wünsche, Grenzen, Best Practices
Seite 32 / 35Softwarequalitä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 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
Seite 33 / 35Softwarequalitä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
– 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
Seite 34 / 35Softwarequalitä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/
[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)
Seite 35 / 35Softwarequalitä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

Weitere ähnliche Inhalte

Mehr von IKS Gesellschaft für Informations- und Kommunikationssysteme mbH

Mehr von IKS Gesellschaft für Informations- und Kommunikationssysteme mbH (20)

Es wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingt
Es wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingtEs wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingt
Es wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingt
 
Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...
Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...
Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...
 
Thementag 2023 04 Lindern, heilen oder gar fit machen.pdf
Thementag 2023 04 Lindern, heilen oder gar fit machen.pdfThementag 2023 04 Lindern, heilen oder gar fit machen.pdf
Thementag 2023 04 Lindern, heilen oder gar fit machen.pdf
 
Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...
Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...
Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...
 
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdfThementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
 
Thementag 2023 03 Einführung in die Softwaremodernisierung.pdf
Thementag 2023 03 Einführung in die Softwaremodernisierung.pdfThementag 2023 03 Einführung in die Softwaremodernisierung.pdf
Thementag 2023 03 Einführung in die Softwaremodernisierung.pdf
 
Thementag 2022 01 Verpassen Sie nicht den Anschluss.pdf
Thementag 2022 01 Verpassen Sie nicht den Anschluss.pdfThementag 2022 01 Verpassen Sie nicht den Anschluss.pdf
Thementag 2022 01 Verpassen Sie nicht den Anschluss.pdf
 
Thementag 2022 04 ML auf die Schiene gebracht.pdf
Thementag 2022 04 ML auf die Schiene gebracht.pdfThementag 2022 04 ML auf die Schiene gebracht.pdf
Thementag 2022 04 ML auf die Schiene gebracht.pdf
 
Thementag 2022 03 Ein Modell ist trainiert - und jetzt.pdf
Thementag 2022 03 Ein Modell ist trainiert - und jetzt.pdfThementag 2022 03 Ein Modell ist trainiert - und jetzt.pdf
Thementag 2022 03 Ein Modell ist trainiert - und jetzt.pdf
 
Thementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdf
Thementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdfThementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdf
Thementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdf
 
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine LearningDaten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
 
Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...
Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...
Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...
 
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
 
Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?
 
Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...
Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...
Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...
 
Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...
Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...
Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...
 
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine LearningDaten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
 
Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?
 
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine LearningDaten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
 
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
 

Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

  • 1. iks Thementag „Mehr Softwarequalität – Ausgewählte Themen“ 22.05.2014 Softwarequalität: Definitionen, Wünsche, Grenzen Autor: Christoph Schmidt-Casdorff
  • 2. Seite 3 / 35Softwarequalität: Definitionen, Wünsche, Grenzen Agenda Einführung Was ist Softwarequalität ? – Qualität messen – Werkzeuge / Verfahren Wünsche, Grenzen, Best Practices
  • 3. Seite 4 / 35Softwarequalität: Definitionen, Wünsche, Grenzen Agenda Einführung Was ist Softwarequalität ? – Qualität messen – Werkzeuge / Verfahren Wünsche, Grenzen, Best Practices
  • 4. Seite 5 / 35Softwarequalität: Definitionen, Wünsche, Grenzen http://www.moldychum.com/home-old/tag/fly-rods
  • 5. Seite 6 / 35Softwarequalitä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 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äts- Standards erfüllt? Fehlende Qualität kostet!
  • 6. Seite 7 / 35Softwarequalität: Definitionen, Wünsche, Grenzen 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
  • 7. Seite 8 / 35Softwarequalität: Definitionen, Wünsche, Grenzen 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 glaub en Sie glauben sich hier Sie glaub en Sind aber hier
  • 8. Seite 9 / 35Softwarequalität: Definitionen, Wünsche, Grenzen 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
  • 9. Seite 10 / 35Softwarequalität: Definitionen, Wünsche, Grenzen Unbegrenzte Qualität ist nicht wirtschaftlich Nach Frühauf, K., J. Ludewig, H. Sandmayr (1991).Software-Projektmanagement und -Qualitätssicherung
  • 10. Seite 11 / 35Softwarequalität: Definitionen, Wünsche, Grenzen (Wie) Kann Qualität ermittelt werden? Quelle : http://blog.timesunion.com/opinion/files/2011/02/0301_WViraqWait.jpg
  • 11. Seite 12 / 35Softwarequalität: Definitionen, Wünsche, Grenzen 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
  • 12. Seite 13 / 35Softwarequalität: Definitionen, Wünsche, Grenzen Quelle : http://www.dadalos-d.org/frieden/images/eisberg-modell.jpg Externe Qualität Interne Qualität
  • 13. Seite 14 / 35Softwarequalität: Definitionen, Wünsche, Grenzen Klassifizierungen von Softwarequalität Produktqualität – Qualität des Produkts – des Softwaresystems, der Architekturdokumentation, der Anforderungsdokumentation, ... Prozessqualität – Qualität des Herstellungsprozesses
  • 14. Seite 15 / 35Softwarequalität: Definitionen, Wünsche, Grenzen Einordnung der Folgethemen Team Clean Coding Garbage in – garbage out Software-Usability
  • 15. Seite 16 / 35Softwarequalität: Definitionen, Wünsche, Grenzen Agenda Einführung Was ist Softwarequalität? – Qualität messen – Werkzeuge / Verfahren Wünsche, Grenzen, Best Practices
  • 16. Seite 17 / 35Softwarequalität: Definitionen, Wünsche, Grenzen 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
  • 17. Seite 18 / 35Softwarequalität: Definitionen, Wünsche, Grenzen 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
  • 18. Seite 19 / 35Softwarequalität: Definitionen, Wünsche, Grenzen 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
  • 19. Seite 20 / 35Softwarequalität: Definitionen, Wünsche, Grenzen Qualitätsmerkmale nach ISO 9126 http://www.johner-institut.de/wissen/wp-content/uploads/2011/06/ISO9126-deutsch1.png
  • 20. Seite 21 / 35Softwarequalität: Definitionen, Wünsche, Grenzen Architektur Design Technologie Code Quelle : http://www.dadalos-d.org/frieden/images/eisberg-modell.jpg Funktionalität Testbarkeit Wartbarkeit Usability Zuverlässigkeit Prüfbarkeit Installierbarkeit Änderbarkeit PerformanzSicherheit extern intern
  • 21. Seite 22 / 35Softwarequalität: Definitionen, Wünsche, Grenzen 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 Qualitätsmerkmal (ausreichend) erfüllt? ?
  • 22. Seite 23 / 35Softwarequalität: Definitionen, Wünsche, Grenzen Welche Merkmale werden durch die Metrik beeinflusst ? Bewertung der Messungen Sie glaub en Metrik inkl. Messmethode Sie glauben Bewertung der Messungen Sie glauben Sie glauben Welche Merkmale werden durch die Metrik beeinflusst ? Merkmale ← Indikator → Metrik
  • 23. Seite 24 / 35Softwarequalität: Definitionen, Wünsche, Grenzen Merkmale ← Indikator → Metrik Metrik Critical Code Sie glauben sind u.U. Projekt- spezifisch und müssen justiert werden
  • 24. Seite 25 / 35Softwarequalität: Definitionen, Wünsche, Grenzen 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
  • 25. Seite 26 / 35Softwarequalität: Definitionen, Wünsche, Grenzen Agenda Einführung Was ist Softwarequalität? – Qualität messen – Werkzeuge / Verfahren Wünsche, Grenzen, Best Practices
  • 26. Seite 27 / 35Softwarequalität: Definitionen, Wünsche, Grenzen Qualitätsanalyse-Werkzeuge Ausgangspunkt 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
  • 27. Seite 28 / 35Softwarequalität: Definitionen, Wünsche, Grenzen 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
  • 28. Seite 29 / 35Softwarequalität: Definitionen, Wünsche, Grenzen Qualitäts-Cockpit : Sonar Siehe http://www.sonarsource.org/sonar-3-0-in-screenshots/
  • 29. Seite 30 / 35Softwarequalitä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
  • 30. Seite 31 / 35Softwarequalität: Definitionen, Wünsche, Grenzen Agenda Einführung Was ist Softwarequalität? – Qualität messen – Werkzeuge / Verfahren Wünsche, Grenzen, Best Practices
  • 31. Seite 32 / 35Softwarequalitä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 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
  • 32. Seite 33 / 35Softwarequalitä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 – 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
  • 33. Seite 34 / 35Softwarequalitä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/ [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)
  • 34. Seite 35 / 35Softwarequalitä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