metriken im qualitätsmanagement

38
WIRTSCHAFTSINFORMATIK Westfälische Wilhelms- Universität Münster WIRTSCHAFTS INFORMATIK Metriken im Metriken im Qualitätsmanagement Qualitätsmanagement Christian Mertens Christian Mertens SS 2004 SS 2004 im Rahmen des Seminars im Rahmen des Seminars Qualitätsmanagement Qualitätsmanagement in der Softwaretechnik in der Softwaretechnik

Upload: kalkin

Post on 09-Jan-2016

70 views

Category:

Documents


3 download

DESCRIPTION

Metriken im Qualitätsmanagement. im Rahmen des Seminars Qualitätsmanagement in der Softwaretechnik. Christian Mertens. SS 2004. Metriken im Qualitätsmanagement Gliederung. Grundlagen der Software-Messung Für das QM relevante Metriken Praxiseinsatz Zusammenfassung. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Metriken im Qualitätsmanagement

WIR

TS

CH

AF

TS

INF

OR

MA

TIK

WestfälischeWilhelms-Universität Münster

WIRTSCHAFTSINFORMATIK

Metriken im Metriken im QualitätsmanagementQualitätsmanagement

Christian MertensChristian Mertens

SS 2004SS 2004

im Rahmen des Seminarsim Rahmen des Seminars Qualitätsmanagement in der Qualitätsmanagement in der

SoftwaretechnikSoftwaretechnik

Page 2: Metriken im Qualitätsmanagement

2

WIRTSCHAFTSINFORMATIK

Metriken im QualitätsmanagementMetriken im Qualitätsmanagement

GliederungGliederung

Grundlagen der Software-Messung

Für das QM relevante Metriken

Praxiseinsatz

Zusammenfassung

Page 3: Metriken im Qualitätsmanagement

3

WIRTSCHAFTSINFORMATIK

Grundlagen der Software-Messung Grundlagen der Software-Messung

BegriffsbestimmungBegriffsbestimmung

Metrik = „Funktion, die eine Softwareeinheit in einen Zahlenwert abbildet“ (IEEE-Definition)

Maß = Messwert (Zahlenwert)= Ergebnis der Messung

hier: Metrik = Maß

Page 4: Metriken im Qualitätsmanagement

4

WIRTSCHAFTSINFORMATIK

Grundlagen der Software-Messung Grundlagen der Software-Messung

Ziele des Metrik-Einsatzes im QMZiele des Metrik-Einsatzes im QM

Fehler keine Ausnahme, sondern Regelfall

Quantifizierung durch Metriken „What get's measured get's done.“ „You can't control what you can't measure.“

Ziele: Fehler und Missstände früh erkennen & ausbessern

Vergleichsmöglichkeiten schaffen

Aufwands- & Kostenschätzung

Forderung nach hochwertigen, fehlerfreien Software-Produkten (besonders bei sicherheitskritischer SW)

Page 5: Metriken im Qualitätsmanagement

5

WIRTSCHAFTSINFORMATIK

Grundlagen der Software-MessungGrundlagen der Software-Messung

Forderungen an MetrikenForderungen an Metriken

Objektivität, Reproduzierbarkeit

Vergleichbarkeit

Gültigkeit, Sensitivität, Robustheit

Einfachheit, Nützlichkeit

angemessener Aufwand

Rechtzeitigkeit

Analysierbarkeit

Statistiken, automatisierte Verarbeitung

Page 6: Metriken im Qualitätsmanagement

6

WIRTSCHAFTSINFORMATIK

Grundlagen der Software-MessungGrundlagen der Software-Messung

MaßtypenMaßtypen

für bestimmte Zwecke angepasste Maße

(z.B. Objektorientierung, Wiederverwendung)

a)

c)

b)

d)

e)

f)

Page 7: Metriken im Qualitätsmanagement

7

WIRTSCHAFTSINFORMATIK

Metriken im QualitätsmanagementMetriken im Qualitätsmanagement

GliederungGliederung

Grundlagen der Software-Messung

Für das QM relevante Metrikena) Linguistische Maßeb) Strukturelle Maßec) Systemmaßed) Zuverlässigkeitsmaßee) Prozessmaßef) Maße der Software-Wiederverwendung

Praxiseinsatz

Zusammenfassung

Page 8: Metriken im Qualitätsmanagement

8

WIRTSCHAFTSINFORMATIK

Für das QM relevante MetrikenFür das QM relevante Metriken

a)a) Linguistische MaßeLinguistische Maße

statische Code-Messung ohne Berücksichtigung der Code-Struktur

Messung von Umfang, Komplexität, Fehlerraten

einfache Maße: Lines of Code (LOC)

Statement Count

Token Count

Dateigröße

Problem: Subjektivität (Wie wird gezählt?)

Vergleichbarkeit?

Page 9: Metriken im Qualitätsmanagement

9

WIRTSCHAFTSINFORMATIK

Für das QM relevante MetrikenFür das QM relevante Metriken

a)a) Linguistische MaßeLinguistische Maße

Halstead-Metriken: Metriksystem von 1977

Basis-Größen:

n1 Anzahl der unterschiedlichen Operatoren

n2 Anzahl der unterschiedlichen Operanden

N1 Gesamtzahl der verwendeten Operatoren

N2 Gesamtzahl der verwendeten Operanden

n = n1+n2 Größe des verwendeten Vokabulars

N = N1+N2Länge der Implementierung

abgeleitete Größe:zu erwartende Programmlänge: N'

N' = n1 · log2n1 + n2 · log2n2

Page 10: Metriken im Qualitätsmanagement

10

WIRTSCHAFTSINFORMATIK

Für das QM relevante MetrikenFür das QM relevante Metriken

a)a) Linguistische MaßeLinguistische Maße

Halstead-Metriken (2):

Beispielmethode in Java

void changeSize(int n) {if (n > this.n) {

Object[] temp = array;array = new Object[n];for (int i = 0; i < anfang; i++)

array[i] = temp[i];for (int i = n-1; i >= ende+n-this.n; i--)

array[i] = temp[i-(n-this.n)];ende = ende+n-this.n;this.n = n;

for (int i = anfang; i < ende; i++)array[i] = null;

}}

Page 11: Metriken im Qualitätsmanagement

11

WIRTSCHAFTSINFORMATIK

Für das QM relevante MetrikenFür das QM relevante Metriken

a)a) Linguistische MaßeLinguistische Maße

Halstead-Metriken (3): Basis-Größen:

Vokabular n = 29 Programmlänge N = 114

Operatoren n1 Verwendungen N1

() 6

{} 2

[] 7

int 4

this. 5

... ...

; 13

= 10

... ...

n1 = 20 N1 = 70

Operanden n2 Verwendungen N2

changeSize 1

temp 3

array 5

anfang 2

ende 4

n 13

i 14

0 1

1 1

n2 = 9 N2 = 44

abgeleitete Größe:

N' = 20 · log220 + 9 · log29 = 115

Page 12: Metriken im Qualitätsmanagement

12

WIRTSCHAFTSINFORMATIK

Für das QM relevante MetrikenFür das QM relevante Metriken

a)a) Linguistische MaßeLinguistische Maße

Halstead-Metriken (4): weitere abgeleitete Größen:

Programmgröße in Bits: G = N · log2n (im Beispiel: 554)

zu erwartende Fehler: F = G/3000 (im Beispiel: 0,18)

potenzielle Programmgröße (bei optimaler Sprache):

G* = (N1+N2) · log2(n1+n2) = (2+N2) · log2(2+n2) (im Beispiel: 249)

Schwierigkeitsgrad (Eignung der verwendeten Sprache):S = G/G* (im Beispiel: 2,22)

Aufwand: A = S · G = G/G* · G = G²/G* (im Beispiel: 1230)

quadratischer Anstieg mit der Programmgröße Ansatz für Modularisierung

Page 13: Metriken im Qualitätsmanagement

13

WIRTSCHAFTSINFORMATIK

Metriken im QualitätsmanagementMetriken im Qualitätsmanagement

GliederungGliederung

Grundlagen der Software-Messung

Für das QM relevante Metrikena) Linguistische Maßeb) Strukturelle Maßec) Systemmaßed) Zuverlässigkeitsmaßee) Prozessmaßef) Maße der Software-Wiederverwendung

Praxiseinsatz

Zusammenfassung

Page 14: Metriken im Qualitätsmanagement

14

WIRTSCHAFTSINFORMATIK

Für das QM relevante MetrikenFür das QM relevante Metriken

b)b) Strukturelle MaßeStrukturelle Maße

statische Analyse der inneren Struktur eines Programms

Messung von Komplexität

einfache Maße: Live Variables

durchschnittliche „lebendige Variablen“ pro Anweisung „lebendig“ = zwischen erster & letzter Referenz

Variablenspanne Mittelwert aller Spannen aller Variablen In welchen Abständen treten die Variablen im Code auf? Abstand z.B. gemessen in LOC

Page 15: Metriken im Qualitätsmanagement

15

WIRTSCHAFTSINFORMATIK

Für das QM relevante MetrikenFür das QM relevante Metriken

b)b) Strukturelle MaßeStrukturelle Maße

Zyklomatische Zahl (McCabe-Metrik):

weit verbreitetes Komplexitätsmaß von 1976

basiert auf Kontrollflussgraphen

Annahme: Test- & Wartbarkeit eines Programms abhängig von Anzahl der Ablaufpfade

Z = V – K + 2·T

V: Anzahl der Kanten des Graphen K: Anzahl der Knoten des Graphen T: Anzahl der unverbundenen Teile des Graphen

Page 16: Metriken im Qualitätsmanagement

16

WIRTSCHAFTSINFORMATIK

Für das QM relevante MetrikenFür das QM relevante Metriken

b)b) Strukturelle MaßeStrukturelle Maße

Zyklomatische Zahl (McCabe-Metrik) (2): Beispiel-Kontrollflussgraphen

Page 17: Metriken im Qualitätsmanagement

17

WIRTSCHAFTSINFORMATIK

Für das QM relevante MetrikenFür das QM relevante Metriken

b)b) Strukturelle MaßeStrukturelle Maße

Zyklomatische Zahl (McCabe-Metrik) (3):

Anhaltspunkt für die benötigte Zahl an Testfällen beim Zweigüberdeckungstest

Richtwert für die Modularisierung McCabes Empfehlung:

Modul für Z > 10 in mehrere Teilmodule aufteilen

einfach zu berechnen, in Praxis sehr gebräuchlich

Page 18: Metriken im Qualitätsmanagement

18

WIRTSCHAFTSINFORMATIK

Metriken im QualitätsmanagementMetriken im Qualitätsmanagement

GliederungGliederung

Grundlagen der Software-Messung

Für das QM relevante Metrikena) Linguistische Maßeb) Strukturelle Maßec) Systemmaßed) Zuverlässigkeitsmaßee) Prozessmaßef) Maße der Software-Wiederverwendung

Praxiseinsatz

Zusammenfassung

Page 19: Metriken im Qualitätsmanagement

19

WIRTSCHAFTSINFORMATIK

Für das QM relevante MetrikenFür das QM relevante Metriken

c)c) SystemmaßeSystemmaße

Messung der Interaktionen & Zusammenhänge einzelner Programmteile / Module

Messung der Gesamtkomplexität eines Systems

weit verbreitet: fan-in/fan-out-Metrik (für Prozeduren)

fan-in = lokale Datenflüsse in die Prozedur hinein+ von der Prozedur benutzte, globale Datenstrukturen

fan-out = lokale Datenflüsse aus der Prozedur heraus+ durch die Prozedur veränderte, globale DS

Komplexität einer Prozedur: PK = L · (fan-in)² · (fan-out)² L = Länge der Prozedur (z.B. in LOC gemessen)

Page 20: Metriken im Qualitätsmanagement

20

WIRTSCHAFTSINFORMATIK

Für das QM relevante MetrikenFür das QM relevante Metriken

c)c) SystemmaßeSystemmaße

MMC-Metrik von Harrison / Cook:

MMC = „Macro-Micro-Complexity“

Makro-Komplexität:

Gi = Anzahl der in Komponente i verwendeten globalen Variablen

Pi = Anzahl der in Komponente i verwendeten Parameter

Di = „Dokumentations-Index“ für Komponente i

(z.B. Anteil der Kommentarzeilen an den LOC)n = Gesamtzahl der Komponenten des Systems

n

1iiii ))D1(P)1n(G(MAK

)i(ZMIK i

Mikro-Komplexität einer Systemkomponente i:

n

1iiMIKMAKMMC

n1

Page 21: Metriken im Qualitätsmanagement

21

WIRTSCHAFTSINFORMATIK

Metriken im QualitätsmanagementMetriken im Qualitätsmanagement

GliederungGliederung

Grundlagen der Software-Messung

Für das QM relevante Metrikena) Linguistische Maßeb) Strukturelle Maßec) Systemmaßed) Zuverlässigkeitsmaßee) Prozessmaßef) Maße der Software-Wiederverwendung

Praxiseinsatz

Zusammenfassung

Page 22: Metriken im Qualitätsmanagement

22

WIRTSCHAFTSINFORMATIK

Für das QM relevante MetrikenFür das QM relevante Metriken

d)d) ZuverlässigkeitsmaßeZuverlässigkeitsmaße

während des Software-Entwicklungsprozesses durch Simulationen & Testläufe ermittelt

im laufenden Betrieb für Prognosezwecke messen

dynamische Beobachtung der Fehleranfälligkeit im Zeitablauf

einfache, intuitive Metriken

Mean Time Between Failure (MTBF)

Ausfallrate =

Verfügbarkeit =

MTBF1

MTTRMTBFMTBF

Mean Time To Repair

Page 23: Metriken im Qualitätsmanagement

23

WIRTSCHAFTSINFORMATIK

Metriken im QualitätsmanagementMetriken im Qualitätsmanagement

GliederungGliederung

Grundlagen der Software-Messung

Für das QM relevante Metrikena) Linguistische Maßeb) Strukturelle Maßec) Systemmaßed) Zuverlässigkeitsmaßee) Prozessmaßef) Maße der Software-Wiederverwendung

Praxiseinsatz

Zusammenfassung

Page 24: Metriken im Qualitätsmanagement

24

WIRTSCHAFTSINFORMATIK

Für das QM relevante MetrikenFür das QM relevante Metriken

e)e) ProzessmaßeProzessmaße

Messung der Entwicklung von Produktmetriken im Zeitablauf

Analyse & Optimierung des SW-Entwicklungsprozesses Phasen, beteiligte Personen, ...

Erstellen von Statistiken: Entwicklung der Fehlermeldungen im Zeitablauf

Verteilung der Fehlerentdeckung auf die verschiedenen Phasen

erforderlicher Zeitaufwand für die Fehlerbehebung in den einzelnen Phasen

Schwere der Fehler, die in einer bestimmten Phase entdeckt werden

Ziele: Aufdecken von Schwachstellen in der Prozesskette

sinnvolle Aufteilung von Testressourcen auf die Phasen der Entwicklung(frühe Fehlerentdeckung & -behebung)

Aufstellen von Prognosen

SW-Entwicklung nicht nur effektiv, sondern auch effizient gestalten!

Page 25: Metriken im Qualitätsmanagement

25

WIRTSCHAFTSINFORMATIK

Metriken im QualitätsmanagementMetriken im Qualitätsmanagement

GliederungGliederung

Grundlagen der Software-Messung

Für das QM relevante Metrikena) Linguistische Maßeb) Strukturelle Maßec) Systemmaßed) Zuverlässigkeitsmaßee) Prozessmaßef) Maße der Software-Wiederverwendung

Praxiseinsatz

Zusammenfassung

Page 26: Metriken im Qualitätsmanagement

26

WIRTSCHAFTSINFORMATIK

Für das QM relevante MetrikenFür das QM relevante Metriken

f)f) Maße der Software-WiederverwendungMaße der Software-Wiederverwendung

Wiederverwendungslevel = Anteil WV-Komponenten an Gesamtsoftware

ökonomische Metriken: Wiederverwendungseinfluss = Produktivitätssteigerung durch WV

Kosten-Nutzen-Untersuchungen

Break-Even-Analysen

ROI-Modelle

Relative Cost of Reuse (RCR) meist: 0,03 < RCR < 0,25Relative Cost of Writing for Reuse (RCWR) meist: 1 < RCWR < 2,2 Anpassung bestehender Metriken durch RCR & RCWR

Produkt- & Prozessmaße mit Berücksichtigung der Software-Wiederverwendung

Page 27: Metriken im Qualitätsmanagement

27

WIRTSCHAFTSINFORMATIK

Metriken im QualitätsmanagementMetriken im Qualitätsmanagement

GliederungGliederung

Grundlagen der Software-Messung

Für das QM relevante Metriken

Praxiseinsatz

Zusammenfassung

Page 28: Metriken im Qualitätsmanagement

28

WIRTSCHAFTSINFORMATIK

PraxiseinsatzPraxiseinsatz

VoraussetzungenVoraussetzungen

Qualitätsnorm DIN EN ISO 9001: Forderung zur Messung, Analyse, Überwachung, Verbesserung der

Produkte und Prozesse

regelmäßige Messungen im Rahmen der ISO 9001-Zertifizierung

Überwachung der Wirksamkeit der Messungen

Objektivität, Reproduzierbarkeit Gültigkeit, Sensitivität, Robustheit Einfachheit, Nützlichkeit Rechtzeitigkeit Analysierbarkeit

zielgerichtetes & systematisches Auswählen der einzusetzenden Metriken Sind Anforderungen erfüllt?

Einsatz einer Gruppe von Metriken

Anpassung, ggf. Eigenentwicklung von Metriken

Einsatz während des gesamten Entwicklungsprozesses

Messaufwand darf gewonnenen Nutzen nicht übersteigen!

Page 29: Metriken im Qualitätsmanagement

29

WIRTSCHAFTSINFORMATIK

PraxiseinsatzPraxiseinsatz

VorgehenVorgehen

Messziele bestimmen, Messaufgaben ableiten

Metriken & Auswertungsmodelle auswählen

Messplan aufstellen

Daten sammeln & validieren

Messwerte analysieren und interpretieren

Ergebnisse zielgerecht nutzen

verwendete Metriken verbessern / anpassen

Automatisierungsmöglichkeiten nutzen! Werkzeugeinsatz

In welchen Phasen des Entwicklungsprozesses sind welche Messungen durchzuführen?

Page 30: Metriken im Qualitätsmanagement

30

WIRTSCHAFTSINFORMATIK

PraxiseinsatzPraxiseinsatz

Auswertung & Nutzung der ErgebnisseAuswertung & Nutzung der Ergebnisse

Visualisierung z.B. durch Kiviat-Diagramm

Page 31: Metriken im Qualitätsmanagement

31

WIRTSCHAFTSINFORMATIK

PraxiseinsatzPraxiseinsatz

Auswertung & Nutzung der ErgebnisseAuswertung & Nutzung der Ergebnisse

Auswertung durch statistische Methoden z.B. Regressionsanalyse

Auswertung durch Erfahrungswissen

Auswertungsmodelle: Daten brauchbare Ergebnisse z.B.: Zykl. Zahl & Halstead Modularisierung?

Multimetriken Multifaktormodelle Zusammenfassung interdependenter Metriken

zielgerechte Nutzung z.B. für Modularisierung, Verteilung von Testressourcen, ...

Akzeptanz der Messungen bei allen Beteiligten Bewertung und Vergleiche einzelner Mitarbeiter nicht förderlich

Page 32: Metriken im Qualitätsmanagement

32

WIRTSCHAFTSINFORMATIK

PraxiseinsatzPraxiseinsatz

WerkzeugunterstützungWerkzeugunterstützung

Automatisierung statischer Codeanalyse

automatische Erfassung dynamischer Daten

ggf. schrittweise Einführung von Messungen und Werkzeugen

integrierte, unternehmensweite Messung einheitlicher Werkzeugeinsatz

a) kleine Hilfsprogramme

b) umfangreiche Messwerkzeuge

c) Mess-Komponenten in Entwicklungstools

Page 33: Metriken im Qualitätsmanagement

33

WIRTSCHAFTSINFORMATIK

PraxiseinsatzPraxiseinsatz

WerkzeugunterstützungWerkzeugunterstützung

a) kleine Hilfsprogramme oft auf Kommandozeilenbasis

für kleinere Ad-Hoc-Messungen geeignet

z.B.: C and C++ Code Counter (Open Source)

Page 34: Metriken im Qualitätsmanagement

34

WIRTSCHAFTSINFORMATIK

PraxiseinsatzPraxiseinsatz

WerkzeugunterstützungWerkzeugunterstützung

b) umfangreiche Messwerkzeuge ganzheitliches Qualitätsmanagement

Produkt- & Prozessüberwachung

z.B.: SEER-SEM (Galorath)

Page 35: Metriken im Qualitätsmanagement

35

WIRTSCHAFTSINFORMATIK

PraxiseinsatzPraxiseinsatz

WerkzeugunterstützungWerkzeugunterstützung

c) Mess-Komponenten in Entwicklungstools Datenerfassung direkt durch das Entwicklungstool

Produkt- & Prozessmetriken

z.B.: Together Control Center Quality Suite (Borland) 55 Qualitätsmetriken für Java & C++

Page 36: Metriken im Qualitätsmanagement

36

WIRTSCHAFTSINFORMATIK

Metriken im QualitätsmanagementMetriken im Qualitätsmanagement

GliederungGliederung

Grundlagen der Software-Messung

Für das QM relevante Metriken

Praxiseinsatz

Zusammenfassung

Page 37: Metriken im Qualitätsmanagement

37

WIRTSCHAFTSINFORMATIK

Metriken im QualitätsmanagementMetriken im Qualitätsmanagement

ZusammenfassungZusammenfassung

Einsatz von Metriken im QM notwendig

Anforderungen an Software-Maße

Vielzahl verschiedener Metriken geeignete Maße auswählen & anpassen

Einsatz während des gesamten Entwicklungsprozesses

Werkzeugunterstützung, Automatisierung

Mess-Aufwand muss sich immer lohnen!

Page 38: Metriken im Qualitätsmanagement

38

WIRTSCHAFTSINFORMATIK

Vielen Dank für die Aufmerksamkeit.Vielen Dank für die Aufmerksamkeit.

Fragen?Fragen?