SlideShare uma empresa Scribd logo
1 de 40
Baixar para ler offline
Softwarequalität:
Definitionen, Wünsche, Grenzen
iks Thementag
„Mehr Softwarequalität – Ausgewählte Themen“
12.11.2013

Autor:
Christoph Schmidt-Casdorff
Agenda
Einführung
Was ist Softwarequalität ?
– Qualität messen
– Werkzeuge / Verfahren
Wünsche, Grenzen, Best Practices

Softwarequalität: Definitionen, Wünsche, Grenzen

Seite 3 / 34
Agenda
Einführung
Was ist Softwarequalität ?
– Qualität messen
– Werkzeuge / Verfahren
Wünsche, Grenzen, Best Practices

Softwarequalität: Definitionen, Wünsche, Grenzen

Seite 4 / 34
http://www.moldychum.com/home-old/tag/fly-rods

Softwarequalität: Definitionen, Wünsche, Grenzen

Seite 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
– 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ätsstandards erfüllt?

Softwarequalität: Definitionen, Wünsche, Grenzen

Seite 6 / 34
Wissen um Qualität muss ermittelt werden

Sie
Sie glauben
glaub
sich hier
en

Sie
Sind aber hier
glaub
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 / 34
Fehlende Qualitätssicherung kostet

Entdeckung

Entstehung

Cost to fix a defect

Requirements

Architektur

Entwicklung

Systemtest

1x

3×

5–10×

10×

10–100×

Architektur

-

1×

10×

15×

25–100×

Entwicklung

-

-

1×

10×

10–25×

Requirements

Nach
Auslieferung

http://en.wikipedia.org/wiki/Software_testing

Softwarequalität: Definitionen, Wünsche, Grenzen

Seite 8 / 34
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 9 / 34
Qualität kann ermittelt werden

Quelle : http://blog.timesunion.com/opinion/files/2011/02/0301_WViraqWait.jpg

Softwarequalität: Definitionen, Wünsche, Grenzen

Seite 10 / 34
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 11 / 34
Externe Qualität

Interne Qualität

Quelle : http://www.dadalos-d.org/frieden/images/eisberg-modell.jpg

Softwarequalität: Definitionen, Wünsche, Grenzen

Seite 12 / 34
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 13 / 34
Worauf bezieht sich Softwarequalität?

Team Clean
Coding

Garbage in –
garbage out
Software-Usability

Softwarequalität: Definitionen, Wünsche, Grenzen

Seite 14 / 34
Themen der Softwarequalität

Garbage in –
garbage out

Team Clean
Coding
Software-Usability

Softwarequalität: Definitionen, Wünsche, Grenzen

Seite 15 / 34
Agenda
Einführung
Was ist Softwarequalität?
– Qualität messen
– Werkzeuge / Verfahren
Wünsche, Grenzen, Best Practices

Softwarequalität: Definitionen, Wünsche, Grenzen

Seite 16 / 34
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 17 / 34
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 18 / 34
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 19 / 34
Funktionalität
Usability

extern

Zuverlässigkeit

Prüfbarkeit

Sicherheit

Änderbarkeit

Architektur

Performanz

Wartbarkeit

Installierbarkeit

Testbarkeit

Technologie

Design
Code
intern
Quelle : http://www.dadalos-d.org/frieden/images/eisberg-modell.jpg

Softwarequalität: Definitionen, Wünsche, Grenzen

Seite 20 / 34
Qualität bestimmen
Qualitätsmerkmale
– Sollen bewertet werden
– Wiederholbar, nachvollziehbar

?

Welche Metrik bewertet welches Merkmal?

Was sagt ein Messwert über die 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 21 / 34
Merkmale

←

Indikator

→

Sie
glauben

Bewertung der
Bewertung der
Messungen
Messungen

Metrik

Sie
Metrik inkl.
glaub
Messmethode
en

Welche Merkmale
Welche Merkmale
werden durch Metrik
werden durch Metrik
beeinflusst ?
beeinflußt ?

Sie
glauben

Softwarequalität: Definitionen, Wünsche, Grenzen

Seite 22 / 34
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 23 / 34
Agenda
Einführung
Was ist Softwarequalität?
– Qualität messen
– Werkzeuge / Verfahren
Wünsche, Grenzen, Best Practices

Softwarequalität: Definitionen, Wünsche, Grenzen

Seite 24 / 34
Werkzeuge / Verfahren
Ausgangspunkte sind analytische Verfahren
– Basieren auf Untersuchung von Quellcode, Dokumentation, …
– Sie sind auf Qualitätssicherung ausgerichtet
– Unterschiedliche Verfahren werden innerhalb eines
Projektes eingesetzt
– Verfahren können hinsichtlich ihrer Qualitätsmerkmale
bewertet werden

Softwarequalität: Definitionen, Wünsche, Grenzen

Seite 25 / 34
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 26 / 34
Werkzeuge zur Qualitätsanalyse
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 27 / 34
Qualitäts-Cockpit : Sonar

Siehe http://www.sonarsource.org/sonar-3-0-in-screenshots/

Softwarequalität: Definitionen, Wünsche, Grenzen

Seite 28 / 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

Softwarequalität: Definitionen, Wünsche, Grenzen

Seite 29 / 34
Agenda
Einführung
Was ist Softwarequalität?
– Qualität messen
– Werkzeuge / Verfahren
Wünsche, Grenzen, Best Practices

Softwarequalität: Definitionen, Wünsche, Grenzen

Seite 30 / 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
Softwarequalität: Definitionen, Wünsche, Grenzen

Seite 31 / 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 32 / 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-undtesten.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 33 / 34
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 34 / 34
Fragen?
www.iks-gmbh.com
Qualitätsindikatoren

Sie
glauben

Bewertung der
Bewertung der
Messungen
Messungen

Welche Merkmale
Welche Merkmale
werden durch Metrik
werden durch Metrik
beeinflußt ?
beeinflußt ?

Sie
glauben

Sie
Metrik inkl.
glaub
Messmethode
en
Quelle : http://www.gutenberg.org/ebooks/17161
Quelle http://www.mtb-news.de/forum/showthread.php?t=459193
http://www.mtb-news.de/forum/showthread.php?t=298350
http://www.botanische-spaziergaenge.at/viewtopic.php?f=556&t=1949
http://www.moldychum.com/home-old/tag/fly-rods

Mais conteúdo relacionado

Mais de IKS Gesellschaft für Informations- und Kommunikationssysteme mbH

Mais de IKS Gesellschaft für Informations- und Kommunikationssysteme mbH (20)

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ß...
 
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 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...
 
Von der Idee zur Lösung in Rekordzeit - Anforderungsmanagement und Qualitätss...
Von der Idee zur Lösung in Rekordzeit - Anforderungsmanagement und Qualitätss...Von der Idee zur Lösung in Rekordzeit - Anforderungsmanagement und Qualitätss...
Von der Idee zur Lösung in Rekordzeit - Anforderungsmanagement und Qualitätss...
 

Mehr Softwarequalität: Definitionen - Wünsche - Grenzen

  • 1. Softwarequalität: Definitionen, Wünsche, Grenzen iks Thementag „Mehr Softwarequalität – Ausgewählte Themen“ 12.11.2013 Autor: Christoph Schmidt-Casdorff
  • 2. Agenda Einführung Was ist Softwarequalität ? – Qualität messen – Werkzeuge / Verfahren Wünsche, Grenzen, Best Practices Softwarequalität: Definitionen, Wünsche, Grenzen Seite 3 / 34
  • 3. Agenda Einführung Was ist Softwarequalität ? – Qualität messen – Werkzeuge / Verfahren Wünsche, Grenzen, Best Practices Softwarequalität: Definitionen, Wünsche, Grenzen Seite 4 / 34
  • 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 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ätsstandards erfüllt? Softwarequalität: Definitionen, Wünsche, Grenzen Seite 6 / 34
  • 6. Wissen um Qualität muss ermittelt werden Sie Sie glauben glaub sich hier en Sie Sind aber hier glaub 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 / 34
  • 7. Fehlende Qualitätssicherung kostet Entdeckung Entstehung Cost to fix a defect Requirements Architektur Entwicklung Systemtest 1x 3× 5–10× 10× 10–100× Architektur - 1× 10× 15× 25–100× Entwicklung - - 1× 10× 10–25× Requirements Nach Auslieferung http://en.wikipedia.org/wiki/Software_testing Softwarequalität: Definitionen, Wünsche, Grenzen Seite 8 / 34
  • 8. 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 9 / 34
  • 9. Qualität kann ermittelt werden Quelle : http://blog.timesunion.com/opinion/files/2011/02/0301_WViraqWait.jpg Softwarequalität: Definitionen, Wünsche, Grenzen Seite 10 / 34
  • 10. 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 11 / 34
  • 11. Externe Qualität Interne Qualität Quelle : http://www.dadalos-d.org/frieden/images/eisberg-modell.jpg Softwarequalität: Definitionen, Wünsche, Grenzen Seite 12 / 34
  • 12. 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 13 / 34
  • 13. Worauf bezieht sich Softwarequalität? Team Clean Coding Garbage in – garbage out Software-Usability Softwarequalität: Definitionen, Wünsche, Grenzen Seite 14 / 34
  • 14. Themen der Softwarequalität Garbage in – garbage out Team Clean Coding Software-Usability Softwarequalität: Definitionen, Wünsche, Grenzen Seite 15 / 34
  • 15. Agenda Einführung Was ist Softwarequalität? – Qualität messen – Werkzeuge / Verfahren Wünsche, Grenzen, Best Practices Softwarequalität: Definitionen, Wünsche, Grenzen Seite 16 / 34
  • 16. 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 17 / 34
  • 17. 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 18 / 34
  • 18. 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 19 / 34
  • 20. Qualität bestimmen Qualitätsmerkmale – Sollen bewertet werden – Wiederholbar, nachvollziehbar ? Welche Metrik bewertet welches Merkmal? Was sagt ein Messwert über die 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 21 / 34
  • 21. Merkmale ← Indikator → Sie glauben Bewertung der Bewertung der Messungen Messungen Metrik Sie Metrik inkl. glaub Messmethode en Welche Merkmale Welche Merkmale werden durch Metrik werden durch Metrik beeinflusst ? beeinflußt ? Sie glauben Softwarequalität: Definitionen, Wünsche, Grenzen Seite 22 / 34
  • 22. 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 23 / 34
  • 23. Agenda Einführung Was ist Softwarequalität? – Qualität messen – Werkzeuge / Verfahren Wünsche, Grenzen, Best Practices Softwarequalität: Definitionen, Wünsche, Grenzen Seite 24 / 34
  • 24. Werkzeuge / Verfahren Ausgangspunkte sind analytische Verfahren – Basieren auf Untersuchung von Quellcode, Dokumentation, … – Sie sind auf Qualitätssicherung ausgerichtet – Unterschiedliche Verfahren werden innerhalb eines Projektes eingesetzt – Verfahren können hinsichtlich ihrer Qualitätsmerkmale bewertet werden Softwarequalität: Definitionen, Wünsche, Grenzen Seite 25 / 34
  • 25. 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 26 / 34
  • 26. Werkzeuge zur Qualitätsanalyse 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 27 / 34
  • 27. Qualitäts-Cockpit : Sonar Siehe http://www.sonarsource.org/sonar-3-0-in-screenshots/ Softwarequalität: Definitionen, Wünsche, Grenzen Seite 28 / 34
  • 28. 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 29 / 34
  • 29. Agenda Einführung Was ist Softwarequalität? – Qualität messen – Werkzeuge / Verfahren Wünsche, Grenzen, Best Practices Softwarequalität: Definitionen, Wünsche, Grenzen Seite 30 / 34
  • 30. 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 31 / 34
  • 31. 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 32 / 34
  • 32. 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-undtesten.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 33 / 34
  • 33. 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 34 / 34
  • 36. Qualitätsindikatoren Sie glauben Bewertung der Bewertung der Messungen Messungen Welche Merkmale Welche Merkmale werden durch Metrik werden durch Metrik beeinflußt ? beeinflußt ? Sie glauben Sie Metrik inkl. glaub Messmethode en