Top Banner
1 © R. Plösch, 2009 Die Bedeutung von Qualität in Softwareprodukten Softnet Konferenz, Hagenberg 1 Kooperationsprojekt mit Siemens CT SE 1
20

1 © R. Plösch, 2009 Die Bedeutung von Qualität in Softwareprodukten Softnet Konferenz, Hagenberg 1 Kooperationsprojekt mit Siemens CT SE 1.

Apr 06, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 © R. Plösch, 2009 Die Bedeutung von Qualität in Softwareprodukten Softnet Konferenz, Hagenberg 1 Kooperationsprojekt mit Siemens CT SE 1.

1© R. Plösch, 2009

Die Bedeutung von Qualität in Softwareprodukten

Softnet Konferenz, Hagenberg

1

Kooperationsprojekt mit Siemens CT SE 1

Page 2: 1 © R. Plösch, 2009 Die Bedeutung von Qualität in Softwareprodukten Softnet Konferenz, Hagenberg 1 Kooperationsprojekt mit Siemens CT SE 1.

2© R. Plösch, 2009

“Quality is a complex and multifaceted concept. It is also the source of great confusion …”

David A. Garvin, 1984

Page 3: 1 © R. Plösch, 2009 Die Bedeutung von Qualität in Softwareprodukten Softnet Konferenz, Hagenberg 1 Kooperationsprojekt mit Siemens CT SE 1.

3© R. Plösch, 2009

Softwarequalität

Unterschiedliche Sichten auf Qualität (transzendent, benutzer-bezogen, prozessorientiert, produktorientiert, Kosten-/Nutzen-bezogen)

Eine Definition für Softwarequalität (nach ISO 1061):

Die Gesamtheit und Ausprägung von Eigenschaften und Merkmalen eines Softwareproduktes bezüglich seiner Eignung, festgelegte und vorausgesetzte Erfordernisse zu erfüllen.

• Systematische Strukturierung von Eigenschaften und Merkmalen

• Überprüfung, inwieweit diese Eigenschaften und Merkmale erfüllt werden

Page 4: 1 © R. Plösch, 2009 Die Bedeutung von Qualität in Softwareprodukten Softnet Konferenz, Hagenberg 1 Kooperationsprojekt mit Siemens CT SE 1.

4© R. Plösch, 2009

Unterschiedliche Sichten auf Softwarequalität

ISO 9126 (ISO 25000) unterscheiden internal quality, external quality, quality in use

Fokus auf interner QualitätKooperationsprojekt mit Siemens CT SE 1, München

Page 5: 1 © R. Plösch, 2009 Die Bedeutung von Qualität in Softwareprodukten Softnet Konferenz, Hagenberg 1 Kooperationsprojekt mit Siemens CT SE 1.

5© R. Plösch, 2009

Qualitätsmodelle (1)

Strukturierung von Qualitätseingschaften mit Hilfe von Qualitätsmodellen

Ziel: Qualität transparent und meßbar machen Beispiel eines Qualitätsmodelles (ISO 9126 / ISO 25000)

Page 6: 1 © R. Plösch, 2009 Die Bedeutung von Qualität in Softwareprodukten Softnet Konferenz, Hagenberg 1 Kooperationsprojekt mit Siemens CT SE 1.

6© R. Plösch, 2009

Qualitätsmodelle (2) Probleme bei der Anwendung

von Qualitätsmodellen in der Praxis— Dekompositionsprinzipien nicht

eindeutig— Für das Qualitätsmonitoring sind

unterschiedliche Sichten auf Qualität erforderlich

— Modelle nicht ausreichend operational (Metriken!)

— Unzureichende methodische Unterstützung

— Fehlende oder unzureichende Werkzeugunterstützung

• Operationale ISO-basierte Modelle zwingend notwendig

Modelle verfügbar aber nicht international standardisiert

• Technische Sicht auf Qualität wünschenswert (vor allem für Architekten)

Modelle verfügbar aber nicht international standardisiert

Page 7: 1 © R. Plösch, 2009 Die Bedeutung von Qualität in Softwareprodukten Softnet Konferenz, Hagenberg 1 Kooperationsprojekt mit Siemens CT SE 1.

7© R. Plösch, 2009

Qualitätsmodelle sind nicht genug …

Operationale Qualitätsmodelle definieren einen Standard— Definierte Sicht auf Qualität

— “Standardisierung” des Messverfahrens durch Integration der Metriken von konkreten Werkzeugen

… trotzdem – es besteht Bedarf an— Methode

— Handbuch

— Werkzeugunterstützung

Page 8: 1 © R. Plösch, 2009 Die Bedeutung von Qualität in Softwareprodukten Softnet Konferenz, Hagenberg 1 Kooperationsprojekt mit Siemens CT SE 1.

8© R. Plösch, 2009

Szenarien für Qualitätsbeurteilung

Expertenzentierte Evaluierung von Software— Kaufentscheidung für Software

— Einsatzentscheidungen für (Open-Source) Software

— Entscheidung über Weiterentwicklung von Software

— …

Kontinuierliches Qualitätsmonitoring

Evaluation Method for Internal Software Quality (EMISQ)

Weiterentwicklung des Standards ISO 14598 mit dem Fokus auf bessere Operationalisierung

Continuous Quality Monitoring Method (CQMM)

Software-Blood Count (CapGemine sd&m)

Quality Index der SAP AG

Page 9: 1 © R. Plösch, 2009 Die Bedeutung von Qualität in Softwareprodukten Softnet Konferenz, Hagenberg 1 Kooperationsprojekt mit Siemens CT SE 1.

9

Expertenzentrierte Evaluierung

Page 10: 1 © R. Plösch, 2009 Die Bedeutung von Qualität in Softwareprodukten Softnet Konferenz, Hagenberg 1 Kooperationsprojekt mit Siemens CT SE 1.

10© R. Plösch, 2009

EMISQ Überblick

Vorgaben durch Standards nicht operational genug— ISO 9126, ISO 14598, ISO 25000

Eigenentwicklung von Methoden und Werkzeugen— EMISQ (Evaluation Method for Internal

Software Quality)— SPQR (Software Product Quality Reporter)

Erfahrungen— Anwendung in mehr als 20

Industrieprojekten (Indien, Europa)— Werkzeugunterstützung erforderlich— Kosten relativ hoch ~ 10 PT für eine Analyse

Page 11: 1 © R. Plösch, 2009 Die Bedeutung von Qualität in Softwareprodukten Softnet Konferenz, Hagenberg 1 Kooperationsprojekt mit Siemens CT SE 1.

11© R. Plösch, 2009

Prinzipielle Vorgehensweise und Ergebnisse

Idee— Herunterbrechen von

Qualitätszielen auf ein Qualitätsmodell

— Statische Codeanalysatoren liefern Indikatoren für Qualitätsbeurteilung

— Manuelle Inspektion durch Experten— Dokumentation der Ergebnisse

Ergebnis— Detailbeurteilung von Metriken und

Regeln— Übergeordnete qualitative

Beurteilung (Qualitätsattribute)

Page 12: 1 © R. Plösch, 2009 Die Bedeutung von Qualität in Softwareprodukten Softnet Konferenz, Hagenberg 1 Kooperationsprojekt mit Siemens CT SE 1.

12

Kontinuierliches Qualitätsmonitoring

Page 13: 1 © R. Plösch, 2009 Die Bedeutung von Qualität in Softwareprodukten Softnet Konferenz, Hagenberg 1 Kooperationsprojekt mit Siemens CT SE 1.

13© R. Plösch, 2009

Continuous Quality Monitoring Method (CQMM)

Ziel— Effizienter Einsatz statischer Codeanalysewerkzeuge, um

qualitätsbezogene Maßnahmen automatisiert, systematisch und kontinuierlich während eines Projektes planen, steuern und überwachen zu können CQMM (Continuous Quality Monitoring Method)

Nicht-Ziel— Reduktion von Qualität auf eine Zahl / Formel

171 - 5.2 * ln(avgHV) - 0.23 * avgCC(g‘) –16.2 * ln (avgLOC) + 50 * sin (sqrt(2.4 * perCM))

HV: Halstead Volume CC: Cyclomatic ComplexityLOC: lines of code perCM: Comment Ratio

Page 14: 1 © R. Plösch, 2009 Die Bedeutung von Qualität in Softwareprodukten Softnet Konferenz, Hagenberg 1 Kooperationsprojekt mit Siemens CT SE 1.

14© R. Plösch, 2009

CQMM ist leichtgewichtig und iterativ

Define quality model

Define quality goals

Define and tailor monitoring

approach

Tailor quality model and

scope

MeasurePlan quality

actionsAnalyse results

Adjust and Control Measure and EnhanceAdjust quality

monitoring

Audit quality monitoring

Setup and Tailor

AnalyzeDevelopmentenvironment

Integrate into the development

process

• Leichtgewichtiger setup• Anpassung nach jeder Iteration möglich• Externe Audits stellen korrekte Anwendung der

Methode sicher

Monitoring Ansatz flexibel• Trendbasiertes Monitoring• Benchmarking• …

Page 15: 1 © R. Plösch, 2009 Die Bedeutung von Qualität in Softwareprodukten Softnet Konferenz, Hagenberg 1 Kooperationsprojekt mit Siemens CT SE 1.

15© R. Plösch, 2009

Qualitätssteuerung mit CQMM

Trendbasiertes Monitoring— Monitoring auf Basis von

Verbesserungen bzw. Verschlechterungen über die Zeit

Benchmarking basiertes Monitoring— Qualitätssteuerung auf Basis von

Referenzprojekten

— Vergleich mit den Besten!

1 2 3 4 5 6 7 8 9 10 11 12

0

10

20

30

40

50

60

• Bei 19 Metriken gleich gut oder besser als die besten Projekte

• Bei 6 Metriken schlechter als die schlechtesten Projekte

Page 16: 1 © R. Plösch, 2009 Die Bedeutung von Qualität in Softwareprodukten Softnet Konferenz, Hagenberg 1 Kooperationsprojekt mit Siemens CT SE 1.

16© R. Plösch, 2009

Software Blood Count (Capgemini sd&m)

Visualisiert eine Sammlung praktischer, objektiver Metriken, um die Qualität von Software beurteilen zu können

Für unterschiedliche Zielgruppen geeignet (Architekten, Projektleitung, Qualitätsverantwortliche)

Analogie zum Blutbild: Die Qualitätsdiagnose wird durch einen menschlichen Experten durchgeführt, nicht durch eine Maschine (siehe auch EMISQ)

Page 17: 1 © R. Plösch, 2009 Die Bedeutung von Qualität in Softwareprodukten Softnet Konferenz, Hagenberg 1 Kooperationsprojekt mit Siemens CT SE 1.

17© R. Plösch, 2009

Quality Index (SAP AG)

Definition von KPIs für unterschiedliche Aspekte

Bewertungsvorschrift für jeden Aspekt – liefert einen Qualitätsindex für jeden Aspekt

Aggregation der Qualitätsindizes zu Gesamtbewertungen— Pro Applikation— Pro Applikationsgruppe— SAP-weit

Trenddarstellung

Page 18: 1 © R. Plösch, 2009 Die Bedeutung von Qualität in Softwareprodukten Softnet Konferenz, Hagenberg 1 Kooperationsprojekt mit Siemens CT SE 1.

18© R. Plösch, 2009

Zusammenfassung und Ausblick

Gutes Instrumentarium für die Modellierung und Bewertung von Qualität verfügbar

Standardisierungsbestrebungen im Gange aber noch nicht abgeschlossen— ISO 25000

— QuaMoCo Konsortium

Erfahrungen in der Industrie zeigen, dass sich systematisches Qualitätsmonitoring auszahlt

Verbreitungsgrad (gerade bei KMUs) noch nicht ausreichend

Page 19: 1 © R. Plösch, 2009 Die Bedeutung von Qualität in Softwareprodukten Softnet Konferenz, Hagenberg 1 Kooperationsprojekt mit Siemens CT SE 1.

19© R. Plösch, 2009

Contact information

a.Univ.-Prof. Dr. Reinhold PlöschAltenbergerstraße 69A-4040 LinzAustria

Fon: +43 676 7850826E-mail: [email protected]

Page 20: 1 © R. Plösch, 2009 Die Bedeutung von Qualität in Softwareprodukten Softnet Konferenz, Hagenberg 1 Kooperationsprojekt mit Siemens CT SE 1.

20© R. Plösch, 2009

Selected International Publications R. Plösch, H. Gruber, A. Hentschel, G. Pomberger, S. Schiffer:

On The Relation between External Software Quality and Static Code Analysis,Proceedings of the SEW-32 conference, October 2008, Greece

R. Plösch, H. Gruber, G. Pomberger, S. Schiffer, C. Körner: Tool Support for a Method to Evaluate Internal Software Product Quality by Static Code Analysis, Software Quality Professional Journal, American Society for Quality, Volume 10, Issue 4, September 2008, Milwaukee, USA, 2008

R. Plösch, H. Gruber, G. Pomberger, M. Saft, S. Schiffer: Tool Support for Expert-Centred Code Assessments, Proceedings of the IEEE International Conference on Software Testing, Verification, and Validation (ICST 2008), April 9-11, 2008, Lillehammer, Norwegen, IEEE Computer Society Press, 2008

R. Plösch, H. Gruber, A. Hentschel, Ch. Körner, G. Pomberger, S. Schiffer, M. Saft, S. Storck: The EMISQ Method and its Tool Support - Expert Based Evaluation of Internal Software Quality, Journal of Innovations in Systems and Software Engineering, Springer London, Volume 4(1), March 2008

H. Gruber, Ch. Körner, R. Plösch, G. Pomberger, S. Schiffer: Benchmarking-oriented Analysis of Source Code Quality - Experiences with the QBench Approach, Proceedings of the International Conference on Software Engineering (IASTED SE 2008), February 12-14, Innsbruck, Austria, IASTED, 2008

H. Gruber, Ch. Körner, R. Plösch, S. Schiffer: Tool Support for ISO 14598 based Code Quality Assessments, Proceedings of the 6th International Conference on the Quality of Information and Communications Technology, QUATIC 2007, September 12-14, Lisbon, Portugal, IEEE Computer Society, 2007

R. Plösch, H. Gruber, A. Hentschel, Ch. Körner, G. Pomberger, S. Schiffer, M. Saft, S. Storck: The EMISQ Method - Expert Based Evaluation of Internal Software Quality, Proceedings of 3rd IEEE Systems and Software Week, March 3-8, 2007, Baltimore, USA, IEEE Computer Society Press, 2007