Upload
buinhan
View
237
Download
3
Embed Size (px)
Citation preview
07.04.2009
Die Goal-Question-Metric-Methode (GQM)Die Goal-Question-Metric-Methode (GQM)von Christian El Boustani
in der Lehrveranstaltung: „Software Engineering Experiment mit XP-Labor“
Christian El Boustani: Die Goal-Question-Metric-Methode (GQM) 207.04.2009
InhaltInhalt● Einleitung und Motivation● Einordnung von GQM in der empirischen Arbeit● Wie funktioniert die GQM-Methode?● Anwendungsbeispiel aus dem SE ● Zusammenfassung
Christian El Boustani: Die Goal-Question-Metric-Methode (GQM) 307.04.2009
InhaltInhalt● Einleitung und Motivation● Einordnung von GQM in der empirischen Arbeit● Wie funktioniert die GQM-Methode?● Anwendungsbeispiel aus dem SE● Zusammenfassung
Christian El Boustani: Die Goal-Question-Metric-Methode (GQM) 407.04.2009
Metriken und Maße Metriken und Maße
• Ziel: Eigenschaften von Software und Prozessen messen– Ziele: Analyse, Fortschrittskontrolle, Optimierung– „Du kannst nicht steuern, was du nicht messen kannst“ (Tom DeMarco)
• Es gibt zahlreiche Metriken im Software Engineering:– LoC (Lines of Code)– Cyclomatic complexity (Mccabe-Metrik)– …
• Problem: Es wird oft das gemessen, was einfach messbar ist– Seiten im Dokument zählen– Anzahl der Quellcode-Dateien– …
→ Folge: Geringe Aussagekraft der Messergebnisse
Einleitung und Motivation
Christian El Boustani: Die Goal-Question-Metric-Methode (GQM) 507.04.2009
Der Goal-Question-Metric-Ansatz Der Goal-Question-Metric-Ansatz
• Ursprung von GQM– Entwickelt von Victor Basili und Dieter Rombach– Ursprünglich als Ansatz zur Prozessverbesserung im SE gedacht
• Idee– Nicht das messen, was einfach messbar ist, sondern das, was man im
Bezug auf die eigenen Qualitätsziele wissen will
• GQM ist kein Bottom-Up-Ansatz...– Nicht von (existierenden) Metriken ausgehen und messen
(Ergebnisse schwierig zu interpretieren, nicht auf Qualitätsziele abgestimmt)
– … sondern Top-Down!• Ausgehend von den eigenen Qualitätszielen, eigene Metriken erstellen!
Einleitung und Motivation
Christian El Boustani: Die Goal-Question-Metric-Methode (GQM) 607.04.2009
InhaltInhalt● Einleitung und Motivation● Einordnung von GQM in der empirischen Arbeit● Wie funktioniert die GQM-Methode?● Anwendungsbeispiel aus dem SE ● Zusammenfassung
Christian El Boustani: Die Goal-Question-Metric-Methode (GQM) 707.04.2009
GQM als empirische Methode im SE GQM als empirische Methode im SE
• GQM kann zur Analyse, zur Steuerung oder Optimierung eingesetzt werden
• GQM v.s. Experiment– GQM und Experimente definieren Ziele
• Goal definition template (Exp) ↔ Zielfacetten, Abstraction Sheet (GQM)
– GQM und Experimente bedienen sich Hypothesen• Experiment: Nullhypothese
→ Ziel: Experiment soll Nullhypothese widerlegen• GQM: Ausgangshypothesen, Einflusshypothesen
(konkrete Bedeutung: später)
• Einsatz von GQM in anderen empirischen Methoden– Experience Factory / Quality Improvement Paradigm (QIP):
• GQM wird dort eingesetzt, um Ziele aufzustellen und zu bewerten
Einordnung von GQM in der empirischen Arbeit
Christian El Boustani: Die Goal-Question-Metric-Methode (GQM) 807.04.2009
InhaltInhalt● Einleitung und Motivation● Einordnung von GQM in der empirischen Arbeit● Wie funktioniert die GQM-Methode?● Anwendungsbeispiel aus dem SE ● Zusammenfassung
Christian El Boustani: Die Goal-Question-Metric-Methode (GQM) 907.04.2009
Grundprinzip Grundprinzip
• Vorgehensweise:– Hauptziel definieren (Konzeptuelle Ebene: Goal)
• Ziel verfeinern– Fragen stellen, um das Ziel besser zu charakterisieren
(Operative Ebene: Question)– Metriken und Indikatoren aufstellen (Quantitative Ebene: Metric)
• Ergebnis: Zielbaum:
Wie funktioniert die GQM-Methode?
Ziel
Frage 1 Frage 2 Frage 3
Metrik 1 Metrik 2 Metrik 3
Question
Goal
Metric
Christian El Boustani: Die Goal-Question-Metric-Methode (GQM) 1007.04.2009
GQM am Beispiel Straßenverkehr GQM am Beispiel Straßenverkehr
• Szenario: Autobahnabschnitt mit hoher Anzahl von Verkehrsunfällen pro Jahr
• 1. Schritt: Hauptziel aufstellen
Wie funktioniert die GQM-Methode?
Verbessere Verkehrssicherheit
... ... ...
... ... ...
Question
Goal
Metric
Christian El Boustani: Die Goal-Question-Metric-Methode (GQM) 1107.04.2009
GQM am Beispiel Straßenverkehr (2) GQM am Beispiel Straßenverkehr (2)
• 2. Schritt: Hauptziel verfeinern mit Zielfacetten– Häufig tabellarische Darstellung, jedoch auch als strukturierter Text o.ä.
möglich
Wie funktioniert die GQM-Methode?
Ziel Zweck Qualitätsaspekt Betrachtungsgegenst. Perspektive1.1 Verbessere Unfallschwere Streckenabschnitt Polizei1.2 Verbessere Unfallart Streckenabschnitt Polizei
Was sollgetan werden?(Analysieren, verbessern,...)
Welcher Qualitätsaspektwird betrachtet? Was soll untersucht
werden?
Aus welcherSicht soll
gemessen werden?
Im SE-Experiment soll i.d.R. nuranalysiert werden.
Christian El Boustani: Die Goal-Question-Metric-Methode (GQM) 1207.04.2009
GQM am Beispiel Straßenverkehr (3) GQM am Beispiel Straßenverkehr (3)
• Zielbaum mit Unterzielen:
Wie funktioniert die GQM-Methode?
Verbessere Verkehrssicherheit
... ... ...
... ... ...
Question
Goal
Metric
G 1.1: Verbessere Unfallschwere G 1.2: Verbessere Unfallart
Christian El Boustani: Die Goal-Question-Metric-Methode (GQM) 1307.04.2009
GQM am Beispiel Straßenverkehr (4) GQM am Beispiel Straßenverkehr (4)
• 3. Schritt: Abstraction Sheet für Teilziel erstellen– Tabellarisches Hilfsmittel, um die „richtigen“ Fragen zu stellen– Abstraction Sheet in „U-Form“ ausfüllen (von links oben nach rechts
oben)– Inhalt eines Abstraction Sheets:
Wie funktioniert die GQM-Methode?
Qualitätsfaktoren
(Faktoren, die den Qualitätsaspekt charakterisieren)
1.
Ausgangshypothesen
(Vermutungen: Wie steht es zur Zeit mit den Qualitätsfaktoren?)
2. Einflusshypothesen
(Vermutungen: Was beeinflusst auf welche Weise welchen Qualitätsfaktor?)
3.
Einflussfaktoren
(Die Stellschrauben, um die Qualitätfaktoren zusteuern)
4.
Christian El Boustani: Die Goal-Question-Metric-Methode (GQM) 1407.04.2009
GQM am Beispiel Straßenverkehr (5) GQM am Beispiel Straßenverkehr (5)
• Abstraction Sheet für Ziel 1.1
Wie funktioniert die GQM-Methode?
Qualitätsfaktoren
1) Verletzungen der Personen2) Entstandener Sachschaden
Einflussfaktoren
1) Frontalkollisionen2) Benutzung von teuren Automodellen
Ausgangshypothese
1) In 50% der Fälle irreversible Verletzungen von Personen2) Hoher Sachschaden in vielen Fällen
Einflusshypothesen
1) Frontalkollisionen mit dem Gegenverkehr beeinflussen 1) und 2)2) Benutzung von teuren Automodellen begünstigt 2)
Ziel Zweck Q.-Aspekt Betrachtungsgegenst. Persp.
1.1 Verbessere Unfallschwere Streckenabschnitt Polizei
beeinflussen
beeinflussen
Christian El Boustani: Die Goal-Question-Metric-Methode (GQM) 1507.04.2009
GQM am Beispiel Straßenverkehr (6) GQM am Beispiel Straßenverkehr (6)
• 4. Schritt: Fragen aus dem Abstraction Sheet ableiten– Fragen beschreiben die zu messende Einheit unter Berücksichtigung
eines Qualitätsaspekts und versuchen, ihre Qualität zu bestimmen– Fragen sollen helfen zu untersuchen, wie gut ein Ziel schon erreicht ist
• Im Blick behalten: Was wollen wir wissen?
– Ziel ist auch: Aufgestellte Hypothesen sollen überprüft werden• Stimmten unsere Vermutungen?• Gut: Erkenntnisgewinn, selbst wenn Hypothese sich als falsch erweist
→ „Es ist also nicht so, wie vermutet.“
– Es gibt leider kein Patentrezept, um Fragen herzuleiten... • Zwei mögliche Methoden werden hier vorgestellt
Wie funktioniert die GQM-Methode?
Christian El Boustani: Die Goal-Question-Metric-Methode (GQM) 1607.04.2009
GQM am Beispiel Straßenverkehr (7) GQM am Beispiel Straßenverkehr (7)
• Methoden, um Fragen herzuleiten (vgl. Übung SWQ):– Zu jedem Qualitätsfaktor eine Frage herleiten. Aspekte betrachten, die
in „auffälliger“ Art und Weise in den Hypothesen auftauchen:
→ Mögliche Frage: „Wie hoch ist der Sachschaden in den meisten Fällen?“
– Kontexteinfluss betrachten: Wie hängen Qualitätsfaktor, Einflussfaktor und Einflusshypothese zusammen?
→ Mögliche Frage: „In welcher Weise beeinflussen Frontalkollisionen die Verletzungen der Personen?“
Wie funktioniert die GQM-Methode?
Qualitätsfaktor Ausgangshypothese Einflusshypothese Einflussfaktor
Ent.Sachschaden Hoher Sachschaden in vielen Fällen
... ...
Qualitätsfaktor Ausgangshypo. Einflusshypothese Einflussfaktor
Verletzungen ... Frontalkollisionen mit Gegen- verkehr beeinflussen Verletzungen
Frontalkollisionen
Christian El Boustani: Die Goal-Question-Metric-Methode (GQM) 1707.04.2009
GQM am Beispiel Straßenverkehr (8) GQM am Beispiel Straßenverkehr (8)
• 5. Schritt: Metriken ableiten– Quantifizierbarkeit erreichen → Metrik muss Zahlenwert, Prozentwert
oder „Ja/Nein“ als Rückgabewert haben (nicht immer möglich)– Messergebnisse der Metriken sollen die Fragen beantworten
Wie funktioniert die GQM-Methode?
???
Verbessere Verkehrssicherheit
„In welcher Weise beeinflussen Frontalkollisionen die
Verletzungen der Personen?“
„Wie hoch ist der Sachschaden
in den meisten Fällen?“
Ermittele den Sachschadenpro Unfall für Unfälle im
im Zeitraum X.
Question
Goal
Metric
G 1.1: Verbessere Unfallschwere ...
Schwierig messbar! Daher keine Metrik verfügbar...
(Ggf. Frage umformulieren)
Christian El Boustani: Die Goal-Question-Metric-Methode (GQM) 1807.04.2009
GQM am Beispiel Straßenverkehr (7) GQM am Beispiel Straßenverkehr (7)
• 6. Schritt: Messplan aufstellen– Formulare, Fragebögen und Checklisten zur Erhebung erstellen– Bezug zu den Metriken muss klar sein (Metrik-IDs verwenden)
• Allgemeine Tipps zur Vorgehensweise:– Nicht zu viele Fragen und Metriken aufstellen!
• Wenige aber dafür wesentliche
– Granulat (von Zielen, Fragen etc.) beachten:• Weiter unterteilen und verfeinern, falls nötig
– Subjektive Begriffe sind problematisch: „schön“, „gut“, „schnell“• Wenn möglich vermeiden...• ...sonst durch quantifizierbare Fragen konkretisieren
Wie funktioniert die GQM-Methode?
Christian El Boustani: Die Goal-Question-Metric-Methode (GQM) 1907.04.2009
InhaltInhalt● Einleitung und Motivation● Einordnung von GQM in der empirischen Arbeit● Wie funktioniert die GQM-Methode?● Anwendungsbeispiel aus dem SE ● Zusammenfassung
Christian El Boustani: Die Goal-Question-Metric-Methode (GQM) 2007.04.2009
Beispiel Laufzeitverbesserung von Quellcode Beispiel Laufzeitverbesserung von Quellcode
• 1. Schritt: Hauptziel aufstellen
Anwendungsbeispiel aus dem SE
Verbessere die Laufzeit vom Quellcode
... ... ...
... ... ...
Question
Goal
Metric
Christian El Boustani: Die Goal-Question-Metric-Methode (GQM) 2107.04.2009
Beispiel Laufzeitverbesserung von Quellcode (2) Beispiel Laufzeitverbesserung von Quellcode (2)
• 2. Schritt: Hauptziel verfeinern mit Zielfacetten
Anwendungsbeispiel aus dem SE
Ziel Zweck Qualitätsaspekt Betrachtungsgegenst. Perspektive1.1 Verbessere Speichernutzung Quellcode Entwickler1.2 Verbessere Komplexität Quellcode Entwickler
Christian El Boustani: Die Goal-Question-Metric-Methode (GQM) 2207.04.2009
Beispiel Laufzeitverbesserung von Quellcode Beispiel Laufzeitverbesserung von Quellcode
• Zielbaum mit Unterzielen:
Anwendungsbeispiel aus dem SE
Verbessere die Laufzeit vom Quellcode
... ...
... ... ...
Question
Goal
Metric
G 1.1: Verbessere Speichernutzung G 1.2: Verbessere Komplexität
...
Christian El Boustani: Die Goal-Question-Metric-Methode (GQM) 2307.04.2009
Beispiel Laufzeitverbesserung von Quellcode (3) Beispiel Laufzeitverbesserung von Quellcode (3)
• 3. Schritt: Abstraction Sheet für Teilziel erstellen
Anwendungsbeispiel aus dem SE
Qualitätsfaktoren
1) Verzweigungstiefe2) Verwendete Algorithmen
Einflussfaktoren
1) Anzahl der Refactorings2) Kenntnisse der Entwickler
Ausgangshypothese
1) Anweisungen sind häufig zu tief verschachtelt (> 3 Ebenen)2) Die verwendeten Algorithmen sind häufig zu komplex
Einflusshypothesen
1) Zu wenig Refactorings führen zu 1)2) Kenntnisse der Entwickler beeinflussen 2)
Ziel Zweck Q.-Aspekt Betrachtungsgegenst. Persp.
1.2 Verbessere Komplexität Quellcode Entwickler
Christian El Boustani: Die Goal-Question-Metric-Methode (GQM) 2407.04.2009
Beispiel Laufzeitverbesserung von Quellcode (4) Beispiel Laufzeitverbesserung von Quellcode (4)
• 4. Schritt: Fragen aus dem Abstraction Sheet ableiten– Frage 1: „Wie tief ist die Verzweigungsebene vom Quellcode?“– Frage 2: „Wie oft wurde in einem Code, der Mccabe > 10 hat, ein
Refactoring durchgeführt?“
Anwendungsbeispiel aus dem SE
„Wie tief ist die Verzweigungsebene
vom Quellcode?“
„Wie oft wurde in einem Code, der Mccabe > 10 hat,
ein Refactoring durchgeführt?“
... ... ...
Question
Metric
Verbessere die Laufzeit vom QuellcodeGoal
... G 1.2: Verbessere Komplexität
Christian El Boustani: Die Goal-Question-Metric-Methode (GQM) 2507.04.2009
Beispiel Laufzeitverbesserung von Quellcode (5) Beispiel Laufzeitverbesserung von Quellcode (5)
• 5. Schritt: Metriken aus Fragen ableiten
Anwendungsbeispiel aus dem SE
Ermittle denMccabe-Wert
vom Quellcode
Zähle die Anzahlder Refactorings in
Quellcodes mit Mccabe > 10Metric
„Wie tief ist die Verzweigungsebene
vom Quellcode?“
„Wie oft wurde in einem Code, der Mccabe > 10 hat,
ein Refactoring durchgeführt?“
Question
Verbessere die Laufzeit vom QuellcodeGoal
... G 1.2: Verbessere Komplexität
Christian El Boustani: Die Goal-Question-Metric-Methode (GQM) 2607.04.2009
InhaltInhalt● Einleitung und Motivation● Einordnung von GQM in der empirischen Arbeit● Wie funktioniert die GQM-Methode?● Anwendungsbeispiel aus dem SE ● Zusammenfassung
Christian El Boustani: Die Goal-Question-Metric-Methode (GQM) 2707.04.2009
Zusammenfassung Zusammenfassung
• GQM: Methode zum zielorientierten Messen• Schrittweises Top-Down-Verfahren:
– Ziele definieren (Goal) – Fragen zu den Zielen stellen (Question)– Metriken herleiten, die die Fragen beantworten (Metric)
• Zielfacetten und Abstraction-Sheets als Hilfsmittel • Messplan erstellen, Daten erheben und Hypothesen
verifizieren• Wichtig: Anzahl der Fragen und Metriken beachten
– Zu viel ist kontraproduktiv– Lieber wenige aber dafür wesentliche Metriken aufstellen!
• Manchmal findet man keine (guten) Metriken– Vielleicht Fragen „falsch“ gestellt– Vielleicht gibt es aber auch keine Metrik!
→ „Ich messe, was einfach messbar ist“
Das will GQMvermeiden!