Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

36
iks Thementag „Mehr Softwarequalität – Ausgewählte Themen“ 22.05.2014 Softwarequalität: Definitionen, Wünsche, Grenzen Autor: Christoph Schmidt-Casdorff

description

Die Qualitätsanforderungen an Individualsoftware sind hoch. Sie soll funktional, zuverlässig, benutzerfreundlich und wartbar sein. Nicht zuletzt muss die Kosten-Nutzen-Relation stimmen.

Transcript of Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

Page 1: Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

iks Thementag

„Mehr Softwarequalität – Ausgewählte Themen“

22.05.2014

Softwarequalität:

Definitionen, Wünsche, Grenzen

Autor:

Christoph Schmidt-Casdorff

Page 2: Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

Seite 3 / 35 Softwarequalität: Definitionen, Wünsche, Grenzen

Agenda

Einführung

Was ist Softwarequalität ?

– Qualität messen

– Werkzeuge / Verfahren

Wünsche, Grenzen, Best Practices

Page 3: Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

Seite 4 / 35 Softwarequalität: Definitionen, Wünsche, Grenzen

Agenda

Einführung

Was ist Softwarequalität ?

– Qualität messen

– Werkzeuge / Verfahren

Wünsche, Grenzen, Best Practices

Page 4: Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

Seite 5 / 35 Softwarequalität: Definitionen, Wünsche, Grenzen

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

Page 5: Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

Seite 6 / 35 Softwarequalitä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!

Page 6: Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

Seite 7 / 35 Softwarequalitä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

Page 7: Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

Seite 8 / 35 Softwarequalitä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

Page 8: Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

Seite 9 / 35 Softwarequalität: Definitionen, Wünsche, Grenzen

Cost to fix a defect

Entdeckung

Require-

ments

Architek-

tur

Entwick-

lung

System-

test

Nach

Auslieferung

En

tste

hu

ng

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

Page 9: Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

Seite 10 / 35 Softwarequalitä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

Page 10: Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

Seite 11 / 35 Softwarequalität: Definitionen, Wünsche, Grenzen

(Wie) Kann Qualität ermittelt werden?

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

Page 11: Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

Seite 12 / 35 Softwarequalitä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

Page 12: Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

Seite 13 / 35 Softwarequalität: Definitionen, Wünsche, Grenzen

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

Externe Qualität

Interne Qualität

Page 13: Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

Seite 14 / 35 Softwarequalitä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

Page 14: Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

Seite 15 / 35 Softwarequalität: Definitionen, Wünsche, Grenzen

Einordnung der Folgethemen

Team Clean

Coding Garbage in –

garbage out

Software-Usability

Page 15: Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

Seite 16 / 35 Softwarequalität: Definitionen, Wünsche, Grenzen

Agenda

Einführung

Was ist Softwarequalität?

– Qualität messen

– Werkzeuge / Verfahren

Wünsche, Grenzen, Best Practices

Page 16: Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

Seite 17 / 35 Softwarequalitä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

Page 17: Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

Seite 18 / 35 Softwarequalitä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

Page 18: Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

Seite 19 / 35 Softwarequalitä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

Page 19: Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

Seite 20 / 35 Softwarequalität: Definitionen, Wünsche, Grenzen

Qualitätsmerkmale nach ISO 9126

http://www.johner-institut.de/wissen/wp-content/uploads/2011/06/ISO9126-deutsch1.png

Page 20: Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

Seite 21 / 35 Softwarequalitä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

Performanz Sicherheit

extern

intern

Page 21: Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

Seite 22 / 35 Softwarequalitä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?

?

Page 22: Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

Seite 23 / 35 Softwarequalitä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

Page 23: Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

Seite 24 / 35 Softwarequalität: Definitionen, Wünsche, Grenzen

Merkmale ← Indikator → Metrik

Metrik

Critical Code

Sie

glauben

sind u.U. Projekt-

spezifisch und müssen

justiert werden

Page 24: Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

Seite 25 / 35 Softwarequalitä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

Page 25: Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

Seite 26 / 35 Softwarequalität: Definitionen, Wünsche, Grenzen

Agenda

Einführung

Was ist Softwarequalität?

– Qualität messen

– Werkzeuge / Verfahren

Wünsche, Grenzen, Best Practices

Page 26: Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

Seite 27 / 35 Softwarequalitä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

Page 27: Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

Seite 28 / 35 Softwarequalitä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

Page 29: Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

Seite 30 / 35 Softwarequalitä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

Page 30: Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

Seite 31 / 35 Softwarequalität: Definitionen, Wünsche, Grenzen

Agenda

Einführung

Was ist Softwarequalität?

– Qualität messen

– Werkzeuge / Verfahren

Wünsche, Grenzen, Best Practices

Page 31: Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

Seite 32 / 35 Softwarequalitä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

Page 32: Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

Seite 33 / 35 Softwarequalitä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

Page 33: Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

Seite 34 / 35 Softwarequalitä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)

Page 34: Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

Seite 35 / 35 Softwarequalitä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

Page 35: Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

Fragen?

Page 36: Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

www.iks-gmbh.com