Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

2,055 views

Published on

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

Weitere Vorträge, die wir auch gern in Ihrem Unternehmen halten, finden Sie unter: https://www.iks-gmbh.com/impulsvortraege

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

  1. 1. iks Thementag „Mehr Softwarequalität – Ausgewählte Themen“ 22.05.2014 Softwarequalität: Definitionen, Wünsche, Grenzen Autor: Christoph Schmidt-Casdorff
  2. 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. 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. 4. Seite 5 / 35Softwarequalität: Definitionen, Wünsche, Grenzen http://www.moldychum.com/home-old/tag/fly-rods
  5. 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. 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. 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. 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. 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. 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. 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. 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. 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. 14. Seite 15 / 35Softwarequalität: Definitionen, Wünsche, Grenzen Einordnung der Folgethemen Team Clean Coding Garbage in – garbage out Software-Usability
  15. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 28. Seite 29 / 35Softwarequalität: Definitionen, Wünsche, Grenzen Qualitäts-Cockpit : Sonar Siehe http://www.sonarsource.org/sonar-3-0-in-screenshots/
  29. 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. 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. 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. 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. 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. 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
  35. 35. Fragen?
  36. 36. www.iks-gmbh.com

×