Mehr Softwarequalität: Definitionen - Wuensche - Grenzen

  • 755 views
Uploaded 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.

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

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
755
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
2
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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
  • 35. Fragen?
  • 36. www.iks-gmbh.com