Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Metriken im Qualitätsmanagement Christian Mertens SS 2004 im Rahmen.

Ähnliche Präsentationen


Präsentation zum Thema: "WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Metriken im Qualitätsmanagement Christian Mertens SS 2004 im Rahmen."—  Präsentation transkript:

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

2 2 WIRTSCHAFTS INFORMATIK Metriken im Qualitätsmanagement Gliederung Grundlagen der Software-Messung Für das QM relevante Metriken Praxiseinsatz Zusammenfassung

3 3 WIRTSCHAFTS INFORMATIK Grundlagen der Software-Messung Begriffsbestimmung Metrik = Funktion, die eine Softwareeinheit in einen Zahlenwert abbildet (IEEE-Definition) Maß = Messwert (Zahlenwert) = Ergebnis der Messung hier: Metrik = Maß

4 4 WIRTSCHAFTS INFORMATIK Grundlagen der Software-Messung Ziele 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)

5 5 WIRTSCHAFTS INFORMATIK Grundlagen der Software-Messung Forderungen an Metriken Objektivität, Reproduzierbarkeit Vergleichbarkeit Gültigkeit, Sensitivität, Robustheit Einfachheit, Nützlichkeit angemessener Aufwand Rechtzeitigkeit Analysierbarkeit Statistiken, automatisierte Verarbeitung

6 6 WIRTSCHAFTS INFORMATIK Grundlagen der Software-Messung Maßtypen für bestimmte Zwecke angepasste Maße (z.B. Objektorientierung, Wiederverwendung) a) c) b) d) e) f)

7 7 WIRTSCHAFTS INFORMATIK Metriken im Qualitätsmanagement Gliederung Grundlagen der Software-Messung Für das QM relevante Metriken a) Linguistische Maße b) Strukturelle Maße c) Systemmaße d) Zuverlässigkeitsmaße e) Prozessmaße f) Maße der Software-Wiederverwendung Praxiseinsatz Zusammenfassung

8 8 WIRTSCHAFTS INFORMATIK Für das QM relevante Metriken a) Linguistische 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?

9 9 WIRTSCHAFTS INFORMATIK Für das QM relevante Metriken a) Linguistische Maße Halstead-Metriken: Metriksystem von 1977 Basis-Größen: n 1 Anzahl der unterschiedlichen Operatoren n 2 Anzahl der unterschiedlichen Operanden N 1 Gesamtzahl der verwendeten Operatoren N 2 Gesamtzahl der verwendeten Operanden n = n 1 +n 2 Größe des verwendeten Vokabulars N = N 1 +N 2 Länge der Implementierung abgeleitete Größe: zu erwartende Programmlänge: N' N' = n 1 · log 2 n 1 + n 2 · log 2 n 2

10 10 WIRTSCHAFTS INFORMATIK Für das QM relevante Metriken a) Linguistische 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; }

11 11 WIRTSCHAFTS INFORMATIK Für das QM relevante Metriken a) Linguistische Maße Halstead-Metriken (3): Basis-Größen: Vokabular n = 29Programmlänge N = 114 Operatoren n 1 Verwendungen N 1 ()6 {}2 []7 int4 this.5... ;13 =10... n 1 = 20N 1 = 70 Operanden n 2 Verwendungen N 2 changeSize1 temp3 array5 anfang2 ende4 n13 i n 2 = 9N 2 = 44 abgeleitete Größe: N' = 20 · log · log 2 9 = 115

12 12 WIRTSCHAFTS INFORMATIK Für das QM relevante Metriken a) Linguistische Maße Halstead-Metriken (4): weitere abgeleitete Größen: Programmgröße in Bits: G = N · log 2 n (im Beispiel: 554) zu erwartende Fehler: F = G/3000 (im Beispiel: 0,18) potenzielle Programmgröße (bei optimaler Sprache) : G* = (N 1 +N 2 ) · log 2 (n 1 +n 2 ) = (2+N 2 ) · log 2 (2+n 2 ) (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

13 13 WIRTSCHAFTS INFORMATIK Metriken im Qualitätsmanagement Gliederung Grundlagen der Software-Messung Für das QM relevante Metriken a) Linguistische Maße b) Strukturelle Maße c) Systemmaße d) Zuverlässigkeitsmaße e) Prozessmaße f) Maße der Software-Wiederverwendung Praxiseinsatz Zusammenfassung

14 14 WIRTSCHAFTS INFORMATIK Für das QM relevante Metriken b) Strukturelle 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

15 15 WIRTSCHAFTS INFORMATIK Für das QM relevante Metriken b) Strukturelle 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

16 16 WIRTSCHAFTS INFORMATIK Für das QM relevante Metriken b) Strukturelle Maße Zyklomatische Zahl (McCabe-Metrik) (2): Beispiel-Kontrollflussgraphen

17 17 WIRTSCHAFTS INFORMATIK Für das QM relevante Metriken b) Strukturelle 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

18 18 WIRTSCHAFTS INFORMATIK Metriken im Qualitätsmanagement Gliederung Grundlagen der Software-Messung Für das QM relevante Metriken a) Linguistische Maße b) Strukturelle Maße c) Systemmaße d) Zuverlässigkeitsmaße e) Prozessmaße f) Maße der Software-Wiederverwendung Praxiseinsatz Zusammenfassung

19 19 WIRTSCHAFTS INFORMATIK Für das QM relevante Metriken c) Systemmaß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)

20 20 WIRTSCHAFTS INFORMATIK Für das QM relevante Metriken c) Systemmaße MMC-Metrik von Harrison / Cook: MMC = Macro-Micro-Complexity Makro-Komplexität: G i = Anzahl der in Komponente i verwendeten globalen Variablen P i = Anzahl der in Komponente i verwendeten Parameter D i = Dokumentations-Index für Komponente i (z.B. Anteil der Kommentarzeilen an den LOC) n = Gesamtzahl der Komponenten des Systems Mikro-Komplexität einer Systemkomponente i:

21 21 WIRTSCHAFTS INFORMATIK Metriken im Qualitätsmanagement Gliederung Grundlagen der Software-Messung Für das QM relevante Metriken a) Linguistische Maße b) Strukturelle Maße c) Systemmaße d) Zuverlässigkeitsmaße e) Prozessmaße f) Maße der Software-Wiederverwendung Praxiseinsatz Zusammenfassung

22 22 WIRTSCHAFTS INFORMATIK Für das QM relevante Metriken d) Zuverlä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 = Mean Time To Repair

23 23 WIRTSCHAFTS INFORMATIK Metriken im Qualitätsmanagement Gliederung Grundlagen der Software-Messung Für das QM relevante Metriken a) Linguistische Maße b) Strukturelle Maße c) Systemmaße d) Zuverlässigkeitsmaße e) Prozessmaße f) Maße der Software-Wiederverwendung Praxiseinsatz Zusammenfassung

24 24 WIRTSCHAFTS INFORMATIK Für das QM relevante Metriken e) Prozessmaß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!

25 25 WIRTSCHAFTS INFORMATIK Metriken im Qualitätsmanagement Gliederung Grundlagen der Software-Messung Für das QM relevante Metriken a) Linguistische Maße b) Strukturelle Maße c) Systemmaße d) Zuverlässigkeitsmaße e) Prozessmaße f) Maße der Software-Wiederverwendung Praxiseinsatz Zusammenfassung

26 26 WIRTSCHAFTS INFORMATIK Für das QM relevante Metriken f) Maß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,25 Relative 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

27 27 WIRTSCHAFTS INFORMATIK Metriken im Qualitätsmanagement Gliederung Grundlagen der Software-Messung Für das QM relevante Metriken Praxiseinsatz Zusammenfassung

28 28 WIRTSCHAFTS INFORMATIK Praxiseinsatz Voraussetzungen 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!

29 29 WIRTSCHAFTS INFORMATIK Praxiseinsatz Vorgehen 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?

30 30 WIRTSCHAFTS INFORMATIK Praxiseinsatz Auswertung & Nutzung der Ergebnisse Visualisierung z.B. durch Kiviat-Diagramm

31 31 WIRTSCHAFTS INFORMATIK Praxiseinsatz Auswertung & 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

32 32 WIRTSCHAFTS INFORMATIK Praxiseinsatz Werkzeugunterstü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

33 33 WIRTSCHAFTS INFORMATIK Praxiseinsatz Werkzeugunterstützung a)kleine Hilfsprogramme oft auf Kommandozeilenbasis für kleinere Ad-Hoc-Messungen geeignet z.B.: C and C++ Code Counter (Open Source)

34 34 WIRTSCHAFTS INFORMATIK Praxiseinsatz Werkzeugunterstützung b)umfangreiche Messwerkzeuge ganzheitliches Qualitätsmanagement Produkt- & Prozessüberwachung z.B.: SEER-SEM (Galorath)

35 35 WIRTSCHAFTS INFORMATIK Praxiseinsatz Werkzeugunterstü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++

36 36 WIRTSCHAFTS INFORMATIK Metriken im Qualitätsmanagement Gliederung Grundlagen der Software-Messung Für das QM relevante Metriken Praxiseinsatz Zusammenfassung

37 37 WIRTSCHAFTS INFORMATIK Metriken im Qualitätsmanagement Zusammenfassung 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!

38 38 WIRTSCHAFTS INFORMATIK Vielen Dank für die Aufmerksamkeit. Fragen?


Herunterladen ppt "WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Metriken im Qualitätsmanagement Christian Mertens SS 2004 im Rahmen."

Ähnliche Präsentationen


Google-Anzeigen