=Paper=
{{Paper
|id=None
|storemode=property
|title=Smarter GQM-Editor mit verringerter Einstiegshürde
|pdfUrl=https://ceur-ws.org/Vol-956/S5_Paper2.pdf
|volume=Vol-956
|dblpUrl=https://dblp.org/rec/conf/seuh/PhamS13
}}
==Smarter GQM-Editor mit verringerter Einstiegshürde==
Smarter GQM-Editor mit verringerter Einstiegshürde Raphael Pham, Kurt Schneider, Leibniz Universität Hannover {Raphael.Pham, Kurt.Schneider}@inf.uni-hannover.de Zusammenfassung u. a., 1998) beschreiben den Einsatz bei Schlumberger Die GQM Methode ist bereits ausreichend definiert. RPS. (Gantner u. Schneider, 2003) haben den GQM- Man muss sie jedoch selbst einmal angewendet haben, Prozess in zwei Fällen aus der Automobilindustrie um sie durchdringen zu können. Dabei können so- angewendet und beschreiben eingehend den Einsatz genannte Abstraction Sheets unterstützend eingesetzt von Abstraction Sheets. (Kilpi, 2001) setzt eine ange- werden. In der Lehre an der Leibniz Universität Han- passte GQM Variante bei Nokia ein. (Van Solingen u. nover hat sich gezeigt, dass das Ausfüllen dieser For- Berghout, 1999) bietet eine eingehende Betrachtung mulare vielen Studenten Probleme bereitet. Sie sind von GQM samt Fallbeispielen. von Abstraction Sheets überfordert oder erkennen den Dem Erfolg von GQM in der Praxis folgend, wird Sinn darin nicht. Als Folge lehnen die Studenten die die GQM Methode auch an der Leibniz Universität GQM Methode ab und erlernen sie nicht. Wir stellen Hannover gelehrt. Dem Thema GQM ist ein Kapitel einen smarten Editor vor, welcher konkret die Erstel- der Vorlesung zur Software-Qualität gewidmet und lung des Abstraction Sheets und die Entwicklung von es wird auch im dazugehörigen Übungsbetrieb be- zugehörigen Metriken unterstützt. Der Anwender wird handelt. Erfahrungsgemäß lässt sich ein besserer Ler- mit prozess-gesteuerten Fragestellungen zum korrek- nerfolg erzielen, wenn GQM praktisch angewendet ten Ausfüllen beider Formulare angeregt. Unerfahrene wird. Das Konzept von Abstraction Sheets und deren Anwender können den vollen Unterstützungsumfang korrekte Erstellung bereitet den Studierenden jedoch des smarten Editors ausschöpfen und so an die GQM öfter Schwierigkeiten - obwohl der Prozess zum Er- Methode herangeführt werden. Erfahrene Benutzer stellen eines Abstraction Sheets klar vorgegeben ist. können den Editor verwenden, um Abstraction Sheets, Studierende zeigten wiederholt Schwierigkeiten Ab- Questions und Metriken zu erstellen und zu verwal- straction Sheets korrekt auszufüllen. Das mühsame ten. Aufzeichnen der Formulare per Hand könnte eine zu- sätzlich Hürde darstellen. In dieser Arbeit stellen wir einen Editor für Abstraction Sheets vor, der Studieren- Motivation de mit Hilfsmechanismen aktiv beim Anwenden der Ein Fallstrick beim Messen von Software Entwicklungs- GQM Methode unterstützt. Der unsichere Anwender prozessen oder Produkten ist, dass man das misst, was wird mit gezielten Fragestellungen durch den Ausfüll- einfach zu messen ist - und nicht das, was man mes- prozess geführt. Studierenden soll so eine mögliche sen sollte, um aussagekräftige Ergebnisse zu erhalten Ablehnung gegenüber der komplex anmutenden GQM (Basili, 1992). Man wendet sich an bereits bekannte Methode genommen werden. Studierende sollen mit oder einfach zu erhebende Metriken. Hier verwendet diesem Werkzeug Gelegenheit erhalten, das korrekte die GQM Methode einen Top-Down Ansatz: Anstatt Ausfüllen von Abstraction Sheets zu üben. (Werner, mittels vorhandener Werkzeuge (z.B. bekannte Me- 2012) hat die in dieser Arbeit vorgestellten Konzepte triken) projekt-individuelle Ziele zu messen (Bottom- in einem lauffähigen Webtool realisiert. Up), werden diese Ziele konkretisiert und durch ei- gens entwickelte Metriken operationalisiert. Dies soll gewährleisten, dass tatsächlich gemessen wird, was Die GQM Methode auch gemessen werden soll - und auch nicht mehr. Die GQM Methode wurde bereits in zahlreichen Veröf- Grundlegende Ideen zu GQM entstanden während fentlichungen behandelt. Im folgenden wird ein kur- einer Untersuchung am Goddard Space Flight Center zer Überblick über die GQM Methode gegeben (in (Basili u. Weiss, 1984). Später stellt (Basili, 1992) das der Form, in welcher diese an der Leibniz Universität GQM Paradigma vor und (Van Latum u. a., 1998) er- Hannover gelehrt wird (Schneider, 2007)), um den weitern die GQM Methode um sogenannte Abstraction Wirkungsbereich unseres GQM-Editors aufzuzeigen. Sheets. Seit seiner Einführung konnte die GQM Me- Der grundlegende Ablauf der GQM Methode sieht thode erfolgreich in verschiedenen Industrieprojekten die schrittweise Erstellung eines GQM-Modells (auch eingesetzt werden. (Van Latum u. a., 1998) und (Birk GQM-Baum genannt) vor: Abstraktere Ziele werden A. Spillner, H. Lichter (Hrsg.): SEUH 13 141 heruntergebrochen. Diese heißen Qualitätsfaktoren des Qualitätsaspektes. Ziel ist es, für jeden konkreten 1 2 6 3 AS 6 Aspekt des Qualitätsaspekts einen beeinflussenden 4 5 6 Faktor zu finden (sogenannte Einflussfaktoren). Beide gefundenen Faktoren sind über eine Einflusshypothese 6 zu verbinden. Nun ergibt sich eine das Messziel cha- rakterisierende Frage (Question) als Zustandsabfrage von Qualitätsfaktoren. Die aufgestellte Einflusshypothese wird in Schritt Abbildung 1: GQM Methode an der Leibniz Universität 4 und 5 überprüft. Dabei wird eine Metrik zur Zu- Hannover, basierend auf (Van Solingen u. Berghout, standsabfrage des Qualitätsfaktors basierend auf dem 1999) Zustand des Einflussfaktoren entwickelt: Es werden verschiedene (mögliche) Ausprägungen für den Ein- in konkrete Subziele (Goal) aufgeteilt. Subziele wer- flussfaktoren ermittelt und jeweils der Einfluss auf den den durch beschreibende Fragen (Question) scharf Qualitätsfaktor gemessen. Für diesen Vorgang wird und zweckmäßig umrissen. Zur Beantwortung der ein eigenes Tabellentemplate verwendet. charakterisierenden Fragen werden Metriken (Metric) Die einzelnen Prozessschritte samt Formularen skiz- erstellt, die den Erfüllungsgrad der Fragen und somit ziert Abb. 2. Eingehende Betrachtungen der GQM den Erreichungsgrad des Ziels angeben. Abb. 2 zeigt Methode finden sich in (Schneider, 2007) oder auch einen solches GQM-Modell. (Van Solingen u. Berghout, 1999). Zu Lehrzwecken spalten wir Teile der GQM Metho- Der GQM-Editor nimmt ein Facettenziel entgegen de auf und definieren sechs Schritte: und unterstützt maßgeblich die Erstellung eines zu- gehörigen Abstraction Sheets und zugehöriger Mess- 1. Ziele erheben und verfeinern (Goal) pläne (Schritt 3 und Schritt 4). Die Erstellung und 2. Facettenbeschreibung der Ziele (Goal) Verfeinerung von Messzielen oder deren Darstellung als Facette werden nicht unterstützt (Schritt 1 und 3. Ableitung von charakterisierenden Fragen (Ques- Schritt 2). Beide Schritte lassen sich relativ schnell auf tion) zu den Zielen Papier bewältigen und erfordern (gemäß Lehrerfah- rungen) weniger Unterstützung. Auch die eigentliche 4. Ableitung von zugehörigen Metriken, (Metric) Durchführung und anschließende Interpretation wer- 5. Messplan für eigentliche Datenerhebung erstellen den nicht von unserem GQM-Editor unterstützt. (Metric) Das Abstraction Sheet 6. Datenerhebung und Auswertung (Collection, In- terpretation) Das Abstraction Sheet (AS) bietet dem Anwender eine streng definierte Struktur um methodisch und zielsi- Die Einordnung dieser Schritte in das umfangreiche cher charakterisierende Fragen zu einem gegebenen Prozessmodell der GQM Methode nach (Van Solingen Messziel abzuleiten. Dabei ist die Ausfüllreihenfol- u. Berghout, 1999) ist in Abb. 1 eingezeichnet. ge der Quadranten vorgegeben und bildet ein U. Je- Schritt 1 produziert einen sogenannten Zielbaum, der Quadrant verlangt dem Anwender ab, bestimmte welcher ein high-level Messziel auf konkretere Sub- Aspekte des Messziels anzugeben. Auf diese Weise ziele verfeinert und in Beziehung miteinander setzt. wird der abstrakte Qualitätsaspekt des Messziels in Aus diesem Zielbaum werden Subziele zur weiteren Qualitätsfaktoren konkretisiert, beeinflussende Fak- Bearbeitung ausgewählt. Die Facettendarstellung des toren (Einflussfaktoren) identifiziert und zugehörige Messziels (Schritt 2) forciert die Auseinandersetzung Einflusshypothesen aufgestellt. Begonnen wird ein AS mit verschiedenen Aspekten eines Ziels und regt zur mit dem Eintragen des Messziels in Facettenform (obe- abgewandelten Betrachtung an. rer Teil von 3), welche aus dem vorigen Prozessschritt Für die Ableitung von charakterisierenden Fragen 2 übernommen wurde. Der Ablauf im Detail: zu einem Messziel (nun vorliegend als Zielfacette, Schritt 3) wird ein spezielles Formular eingesetzt, das 1. Oben, links: Der Qualitätsaspekt wird auf konkre- sogenannte Abstraction Sheets (Van Latum u. a., 1998), te Eigenschaften des Betrachtungsgegenstandes (Van Solingen u. Berghout, 1999), (Gantner u. Schnei- konkretisiert, sogenannte Qualitätsfaktoren. Wel- der, 2003). Es bietet eine festgelegte Struktur. Mittels che Merkmale machen den Qualitätsaspekt in die- vier vordefinierten Fragestellungen baut der Anwen- sem Projekt ganz konkret aus? In Fall von Abb. 3: der systematisch ein Modell des zu untersuchenden Verständlichkeit von Quellcode bedeutet für den Messziels auf und gelangt zu tiefergreifendem Ver- Ausfüllenden z.B. die Verzweigungstiefe. ständnis. Der Qualitätsaspekt des Betrachtungsgegen- standes (z.B. "Verständlichkeit"von "Quellcode") wird 2. Unten, links: Zu jedem Qualitätsfaktor wird eine auf konkrete und projektindividuelle Eigenschaften Ausgangshypothese aufgestellt, wie es zu Messbe- 142 A. Spillner, H. Lichter (Hrsg.): SEUH 13 GQM-Baum Legende { Goal Ergebnis-Übergabe verfeinerte Ziele Goal Goal Beitrag zum GQM-Baum Question Question Question Question Metric Metric zugeschnittene Metriken charakterisierende Fragen Verbessere... Q- Gegen- Pers- Q- Gegen- Pers- Zweck Aspekt stand pektive Zweck Aspekt stand pektive Q-Faktoren E-Faktoren Unterziel Unterziel 1.1 1.2 ... ... ... ... ... ... ... ... ... ... ... ... ... ... … Question Question 1 4 Unterziel 1.1.1 Unterziel 1.1.2 … Metrik Metrik 2 3 Ergebnis Ergebnis Zielbaum, Verfeinerung von Facettendarstellung, Abstraction Sheet, Messplan, experimentelle Messen, Zielen Perspektivenwechsel Ableitung von Questions Überprüfung interpretieren Abbildung 2: Übersicht über die GQM Methode, Einordnung der Prozessschritte und Formulare ginn darum steht. Alternativ können auch nachge- Durch kontextabhängige, konkret formulierte Frage- messene Werte eingetragen werden. stellungen wird der Anwender durch das Abstraction Sheet geführt. 3. Unten, rechts: Der Anwender stellt Einflusshypo- Auch wenn der Hauptgrund der nicht-erfolgreichen thesen für jeden Qualitätsfaktor auf: Wie könnte Anwendung des Abstraction Sheets auf Unverständnis der Qualitätsfaktor zu beeinflussen sein? des zugrundeliegenden Konzeptes zurückzuführen ist, 4. Oben, rechts: Aus den Einflusshypothesen werden so kann eine derart geführte (wiederholte) Anwen- Einflussfaktoren extrahiert. dung zur Durchdringung des Konzeptes führen bzw. beitragen. Abb. 3 zeigt ein ausgefülltes AS. Obwohl die Anfor- derungen an den Inhalt eines Quadranten klar defi- niert sind, bereitet es Studenten öfter Schwierigkeiten, Der smarte GQM-Editor korrekte und brauchbare AS zu produzieren. Die Inhalte der Quadranten 1 bis 4 sind abhängig von Auf einen Studierenden, der das Konzept des Ab- einander: Inhalte werden von Quadrant zu Quadrant straction Sheets noch nicht vollständig durchdrungen weitergegeben und verarbeitet. Z.B.: Hat der Anwen- hat, kann dieses Formular abschreckend und komplex der in Quadrant 1 das Qualitätsziel auf zwei konkrete wirken. Zählt man das Eintragen des Messziels mit, Faktoren heruntergebrochen, so tauchen diese beiden so werden mehr als vier verschiedene Abfragen an Faktoren mit einer zusätzlichen Statuseinschätzung den Studierenden gestellt. Hinzu kommt, dass die- (genauer: Ausgangshypothese) im zweiten Quadran- se Felder konzeptbedingt jeweils eng gefasste Ziele ten wieder auf. Dieses Beispiel zeigt zwei Ebenen, auf verfolgen und korrekte Antworten für die erfolgrei- denen der Anwender agieren muss, um das AS aus- che Anwendung voraussetzen: Werden z.B. im ersten zufüllen: Zum einen muss er einen kreativen Schritt Quadranten die Qualitätsfaktoren nicht mit konkre- tätigen und das Q-Ziel konkretisieren - dabei muss er tisierenden Attributen belegt — sondern bleiben so genau wissen, was gerade von ihm verlangt wird. Zum abstrakt wie das Messziel — so führt das Abstraction anderen muss er die Einträge manuell in den nächs- Sheet nicht zu dem gewünschten Ergebnis. In Abb. ten Schritt übertragen und dort weiterverarbeiten. An 3 würde der ungeübte Studierende als ersten Quali- diesen Stellen setzt unser GQM-Editor an: Der An- tätsaspekt möglicherweise einfach ein Synonym für wender wird bei einem kreativen Vorgang durch eine das Messziel eintragen, z.B. Verständnis. Damit ist gezielte Fragestellung als dezenter Hinweistext un- in diesem Schritt jedoch nichts gewonnen. Der Stu- terstützt (Grauer Hilfstext). Weiterhin übernimmt der dierende füllt die nachfolgenden Felder aus — und GQM-Editor manuelle Schritte, überträgt Zwischen- kommt dennoch nicht zum erwarteten Ergebnis und ergebnisse in Folge-Quadranten und versucht damit ist enttäuscht. Damit dieser Fall nicht eintritt, bietet die nächsten Einträge teilweise zu generieren (Auto- unser Editor dem Studierenden gezielte Hilfestellung. matischer Hilfstext). Beide Unterstützungsvarianten A. Spillner, H. Lichter (Hrsg.): SEUH 13 143 Abbildung 3: Ein ausgefülltes Abstraction Sheet im GQM-Editor werden dynamisch anhand von vorhergegangenen Eingaben im AS generiert. Auf diese Weise lassen sie eine kontextbezogene Unterstützung zu. Dies ist eine der Stärken des GQM-Editors von denen besonders unerfahrene Anwender profitieren können. Beide Un- terstützungstexte werden als vorgeschlagene Antwor- teinträge in den Quadranten eingeblendet — die der Anwender nach Belieben ändern und anpassen kann. Für erfahrene Benutzer können die beiden Unter- stützungsmechanismen ausgeschaltet werden, sodass der GQM-Editor als reiner Editor fungiert. Alle drei Abbildung 4: Hilfestellung im Quadrant 1 Mechanismen (keine Hilfe, grauer Hilfstext, automa- tischer Hilfstext) können für jeden Quadranten indi- viduell eingestellt werden (siehe Dropboxen in den Quadranten, Abb. 3). dient als Gedankenstütze, um die Aufgabe klar zu defi- Die Hilfstexte haben eine weitere Funktion: Sie er- nieren: Der Anwender wird explizit — und angepasst scheinen in der Reihenfolge, in der das AS ausgefüllt an vorherige Eingaben — nach dem einzutragenden werden sollte. Jeweils der nächst-auszufüllende Qua- Inhalt gefragt. So erscheint der graue Hilfstext im drant wird mit grauem oder schwarzem Hilfstext ge- ersten Quadranten, sobald der Anwender das Mess- füllt. Dies soll den Anwender durch den Ausfüllprozess ziel als Zielfacette eingetragen hat. Die eingetragenen leiten. Da es sich bei den Hilfstexten nur um Vorschlä- Werte werden dynamisch im Text verarbeitet und sind ge handelt, kann der Anwender aber auch gegen diese kontextualisiert: Anhand der eingegeben Zielfacette Reihenfolge verstoßen und z.B. die voreingetragenen in Abb. 3 (gelb unterlegt) generiert der Editor den Werte entfernen. grauen Hilfstext: “Was ist für einen Entwickler ein Merkmal für Verständlichkeit, wenn es um Quellcode Grauer Hilfstext geht?” (siehe Abb. 4). Das Einblenden von grauem Hilfstext ist die erste Sobald der Anwender auf ein Feld mit grauem Hilfs- Unterstützungsstufe unseres GQM-Editors und für un- text klickt und einen Eintrag vornehmen will, ver- erfahrene Anwender gedacht. Der Hilfstext soll dem schwindet dieser und das Textfeld ist für den Anwen- Anwender an geeigneter Stelle ins Gedächtnis rufen, der freigegeben. Die graue Farbe wurde bewusst dem was in dem aktuellen Quadranten einzutragen ist. Er Anschein eines flüchtigen Tooltipps nachempfunden. 144 A. Spillner, H. Lichter (Hrsg.): SEUH 13 Abbildung 5: Hilfestellung im Quadranten 2 und 3 Automatischer Hilfstext Da möglicherweise die generierte Antwort nicht zu Die zweite Unterstützungsstufe wendet sich an sehr dem aktuellen Messprojekt passt, lässt sich diese gene- unerfahrene Anwender: Der GQM-Editor generiert rierte Antwort wie ein normales Textfeld bearbeiten Teile des Eintrags als schwarzen Text vor und lässt und auch löschen. In Abb. 5 hat der Anwender die gezielt Lücken, die der Anwender ausfüllen soll. Dies zweite Ausgangshypothese angepasst. lenkt die Gedanken der Anwender in gezielte Bahnen Der Messplan und es werden konkrete Werte verlangt. Nachdem der Anwender mithilfe des Abstraction Das Ausfüllen von Quadrant 1 bedarf eines krea- Sheets Einflussfaktoren der Qualitätsfaktoren und zu- tiven Schrittes, der durch den grauen Hilfstext un- gehörige Einflusshypothesen aufgestellt hat, folgt der terstützt wird. Teile von Antworten zu generieren ist Schritt der experimentellen Überprüfung eines sol- hier nicht möglich. Quadrant 2 (Ausgangshypothese) chen Zusammenhangs. Der sogenannte Messplan for- bietet jedoch die Möglichkeit, die Q-Faktoren auto- dert den Anwender auf, verschiedene Ausprägungen matisch in die rudimentäre Form einer Hypothese zu des Einflussfaktors zu ermitteln und dann zu über- überführen. Dabei kann der Aussagenkern der Hypo- prüfen, wie sich der Qualitätsfaktor verhält. Auf diese these nicht generiert werden, da dies wieder eines Weise soll die Einflusshypothese validiert bzw. falsche kreativen Schrittes bedarf. Jedoch wird das Eintragen Annahmen aufgedeckt werden. dieses Aussagenkerns durch einen gezielten Lücken- Die beiden Faktoren werden automatisch aus dem text unterstützt: Abstraction Sheet übernommen und bleiben an der Bevor der Anwender in das Feld zum Eintragen selben Stelle stehen. Dies soll Verwirrungen beim un- der ersten Ausgangshypothese klickt, hat der Editor erfahrenen Anwender vermeiden. Bedingt durch die dort in grau eingetragen: “Wie steht es momentan Idee der experimentellen Überprüfung muss der An- um die/den ’Verzweigungstiefe’? Welche Erfahrungs- wender mit der rechten Seite des Messplans beginnen werte, Vermutungen und/oder Messwerte gibt es zu und zuerst den Einflussfaktor betrachten. Da dies et- diesem Qualitätsfaktor?” Dies erinnert den Anwender was unintuitiv erscheinen mag, wird standardmäßig an die von ihm geforderte Ausgangshypothese. So- die linke Seite mit einem Hinweis ausgeblendet (siehe bald er in das Feld klickt, erscheint die folgende vor- Abb. 6). Persönliche Workflows können auch realisiert generierte Antwort in schwarzem und editierbarem werden; der Hinweis lässt sich ausschalten. Text: “Verzweigungstiefe ist/sind momentan zu. Momentan beträgt Verzwei- die nacheinander ausgefüllt werden. gungstiefe: .” Der Benutzer kann diese Vorlage verwenden, um seine Ausgangshy- 1. Frage nach den möglichen Ausprägungen des Fak- pothese zu verfassen oder eine eigene formulieren (s. tors. Abb. 5). Ähnlich lässt sich mit Quadrant 3 verfahren (siehe 2. Handlungsanweisungen, diese Ausprägungen zu Abb. 5), jedoch nicht mit Quadrant 4: Die Einflussfak- ermitteln. toren zuverlässig aus den resultierenden Einflusshypo- 3. Ausprägungen ermitteln und eintragen. thesen zu extrahieren, ist aufgrund von sprachlichen Abweichungen und Eigenarten schwierig. Die Formulierung der einleitenden Frage nach den Letztendlich lässt sich diese zweite Unterstützungs- Ausprägungen wird mit grauem Hilfstext bzw. schwar- stufe nur für den zweiten Quadranten (Ausgangshy- zem Lückentext unterstützt (siehe Abb. 6, beide Texte pothese) und dritten Quadranten (Einflusshypothese) in den Feldern “Frage” sind generiert). Jedoch sind einschalten. Quadranten 1 und 4 können lediglich die Schritt 2 und 3 stark projektabhängig und individuell. erste Unterstützungsstufe einsetzen. Dementsprechend kann der GQM-Editor diese nicht A. Spillner, H. Lichter (Hrsg.): SEUH 13 145 Abbildung 6: Linke Seite des Messplans wird zu Beginn ausgeblendet. mit automatisch generierten Antworten unterstützen, die Erstellung von Abstraction Sheets und Messplänen bietet jedoch hier die erste Hilfestufe an (grauer Text — Goals werden nicht nennenswert behandelt. Im Ge- als Gedankenanstoß). Weiterhin gibt der graue Hin- gensatz zu unserem GQM-Editor bietet GQMaspect weistext dem unerfahrenen Benutzer die Reihenfolge dem Anwender jedoch wenig Unterstützung, wenn es zum Ausfüllen vor. Jede Eingetragene Ausprägung für um das eigentliche Erstellen von neuen GQM-Inhalten den Einflussfaktor ist einem Eintragungsfeld für eine geht. Anwendergruppe von GQMaspect sind erfahre- Ausprägung gegenübergestellt. Auf diese Weise soll ne GQM-User, während GQM-Editor für den Lehrge- dem Anwender die Gegenüberstellung und der Effekt brauch bzw. für unerfahrene Anwender konstruiert der verschiedenen Faktor-Ausprägungen vereinfacht wurde. werden. GQM–DIVA (GQM–Definition Interpretation Valida- tion) wurde im Rahmen einer Diplomarbeit an der Verwandte Arbeiten Universität Kaiserslautern entwickelt (van Maris u. a., Zur Unterstützung der GQM Methode wurden bereits 1995). Das Tool überprüft die Konsistenz der Einträge einige Tools entwickelt. Jedoch ist keines der unter- eines GQM-Baumes (hier genannt: GQM-Plan), damit suchten Tools fokussiert auf unerfahrene Benutzer keine fehlerhaften Daten weiterverwendet werden. oder bietet Hilfestellung beim eigentlichen Ausfüllen Dieser GQM-Baum kann mit fiktiven Messwerten in von Abstraction Sheets und Messplänen. Simulation ausgewertet werden. Damit sollen Lücken Die Enwicklung von GQMaspect wurde an der Uni- (fehlende Daten) im GQM-Baum aufgedeckt werden. versität Kaiserslautern begonnen und später am Fraun- GQM-Diva benötigt ein fertig ausgefülltes Abstraction hofer IESE (Institut für experimentelles Software Engi- Sheet als Eingabe. Dessen Erstellung wird nicht unter- neering) weitergeführt (Hoffmann u. a., 1997), (Voigt- stützt. Auch die Erstellung eines Messplans wird von laender, 1999). GQMaspect unterstützt die gesamte GQM-DIVA nicht abgedeckt. GQM Methode: Aufnahme und Verwaltung der Goals, (Chen u. a., 2003) stellen mit dem Multi-Agent Sys- Erstellen von Abstraction Sheet mittels Editor bis hin tem ISMS (Intelligent Software Measurement System) zur Verwaltung von Messplänen. Mit GQMaspect las- eine Vision eines intelligenten Wizzards zur Durch- sen sich Beziehungen zwischen einzelnen Produkten führung der GQM Methode vor. Der Anwender gibt der Arbeitsphasen der GQM Methode herstellen (Ein ein Unternehmensziel ein und beantwortet interakti- Goal wird einem AS zugewiesen, etc) und es können ve Fragen. Schrittweise werden verfeinerte Messziele, Vollständigkeitsabfragen gemacht werden (wurde je- individuelle Metriken, etc. anhand der Anwenderant- des definierte Goal mit einem AS weiterverfolgt?). Der worten auf intelligente Weise herausgeschält. Dies soll Ansatz unseres GQM-Editors unterstützt hier lediglich mithilfe von eigenen Agents und einer angeschlos- 146 A. Spillner, H. Lichter (Hrsg.): SEUH 13 senen Knowledge Base samt Reasoning Mechanism rend, kann der Anwender diese Unterstützung auch geschehen. Am Ende soll ein fertiger und einsatzbe- insgesamt ausschalten. reiter Messplan ausgegeben werden. Der Ansatz ist Die Feinheiten der deutschen Grammatik (männli- interessant, scheint jedoch noch nicht praktisch umge- che, weibliche Artikel, Plural, Singular) werden nicht setzt zu sein. Auch werden Abstraction Sheets nicht gesondert behandelt. Die generierten Texte sind in betrachtet. dieser Hinsicht möglichst allgemein ausgelegt und MetriFlame ist von VTT Electronics entwickelt wor- verwenden mitunter unschöne Doppelbelegungen wie den und dient zur Sammlung, Analyse und Präsentati- z.B. "die/den". Ein Plugin zur korrekten Lösung sol- on von Messdaten. Die Grundidee ist, dass dieses Tool cher Fälle lässt sich jedoch nachträglich einfügen. Ge- automatisch Daten für eine anstehende Messung sam- nerell priorisieren wir den Lerneffekt beim unerfah- melt, indem es sich mit verschiedenen Datenbanken renen Anwender gegenüber vollkommen korrekter anderer Tools verbinden kann. (Parviainen u. a., 1997) Sprachkonstrukte. Mögliche sprachliche Fehler oder setzte MetriFlame bei der Andererwendung der GQM Ungenauigkeiten werden hingenommen, solange der Methode ein, um passende Metriken zu finden und Da- Anwender versteht, was gemeint ist bzw. was gerade ten zu sammeln. MetriFlame erlaubt die Generierung von ihm verlangt wird. von GQM Bäumen auf Basis von bereits gespeicherten Der smarte GQM-Editor stellt keine Silver-Bullet für Metriken. Das Aufstellen von Abstraction Sheets oder die GQM Methode oder das Erstellen von Abstracti- Messplänen wird nicht unterstützt. on Sheets dar. Der Anwender soll jedoch verstehen, Das GQM-Tool von (Lavazza, 2000) bietet die Mög- was von ihm verlangt wird und wie solche Formulare lichkeit GQM Bäume zu erstellen. Deren Struktur wird gehandhabt werden. Der smarte GQM-Editor “hilft auf Konsistenz überprüft, indem z.B. kontrolliert wird, dabei auf die Sprünge” — kreative und korrektive ob jedes Messziel zu mindestens einer Frage verfei- Arbeitsschritte seitens des Anwenders werden dabei nert wurde und es zu jeder Frage mindestens eine aber nicht ausgeschlossen. Metrik gibt. Messziele, Abstraction Sheets, Questions Die praktische Nützlichkeit der hier vorgestellten und Metriken werden als Produkte der GQM Methode Konzepte konnte nicht im universitären Umfeld evalu- unterstützt. Einzelne Komponenten von GQM-Plänen iert und validiert werden. Eine umfangreiche Evalua- können wiederverwendet werden. Das GQM-Tool ist tion ist bereits in Planung. Da diese Konzepte aber auf mit einer Datenbank verbunden. Auch dieses Tool praktischer Lehrerfahrung basieren, sind wir zuver- bietet keine Hilfestellungen an, die erklären, wie ein sichtlich, dass Studierende davon profitieren werden. Abstraction-Sheet auszufüllen ist. Zusammenfassung und Ausblick Diskussion Die GQM Methode wurde seit seiner Vorstellung Der smarte GQM-Editor verwendet Texteingaben des durch (Basili, 1992) erfolgreich in Industrieprojekten Anwenders, um nächst-auszufüllende Felder mit kon- eingesetzt und hat die Entwicklung von verschiede- textualisierten Hilfstexten oder sogar vorgenerierten nen Werkzeugen angetrieben. Lehrerfahrung an der Antworten zu bestücken. Die Konstruktion der grau- Leibniz Universität Hannover zeigt jedoch, dass die en und schwarzen Hilfstexte basiert auf Textmustern, GQM Methode bei Studierenden nur Akzeptanz findet, welche wir durch wiederholtes Bearbeiten und Lehren wenn sie praktisch ausprobiert und eingesetzt wird. von Abstraction Sheets in der Lehre erkannt haben. Jedoch schrecken die komplex anmutenden Formulare Grob gesagt hat das begleitete Erklären von Abstrac- wie Abstraction Sheet oder Messplan Studierende ab. tion Sheets anhand solch gearteter Kommentare den In dieser Arbeit wird ein lauffähiger smarter GQM- höchsten Lernerfolg bei Studenten erzielt. Editor vorgestellt. Er bietet eine webbasiert Editor- Der smarte GQM-Editor setzt eine einfache Texter- Oberfläche für die beiden Formulare Abstraction Sheet setzung nach diesen Regeln ein. Dieser Mechanismus und Messplan und richtet sich in erster Linie an uner- ist zuverlässiger, je eindeutiger die Eingabetexte sind. fahrene GQM-Anwender (wie z.B. Studierende). Z.B. lässt sich anhand der starren Form der Messziel- Der GQM-Editor verarbeitet vorhergegangene An- Facette des Abstraction Sheets (vier Eingabefelder, wendereingaben, um kontextualisierte Hinweistexte jeweils meist nur ein Wort) ein relativ passender und an passenden Stellen einzublenden. Z.B. wird der An- hilfreicher grauer Hinweistext im ersten Quadranten wender in jedem Quadrant eines Abstraction Sheets erzeugen (siehe Abb. 4). Je variabler die Eingabetexte explizit und individualisiert nach den einzutragenden werden, desto unzuverlässiger kann der generierte Inhalten gefragt. Diese Hinweistexte sollen als Denk- Text im nächsten Feld ausfallen. Dies kann dazu füh- anstoß dienen und dem unsicheren Studierendem ren, dass der generierte Text unbrauchbar wird. Graue helfen, diese Formulare zu verstehen. Hilfstexte verschwinden jedoch auch beim Anklicken Zusätzlich kann der smarte GQM-Editor Antwort- und vorgenerierte Antworten (schwarzer Text) kön- teile im Abstraction Sheet auf Wunsch anhand vor- nen einfach anwenderseitig bearbeitet oder gelöscht heriger Eingaben generieren. Antwortteile, die nicht werden. Werden diese Textstücke generell zu verwir- automatisch generiert werden können, werden durch A. Spillner, H. Lichter (Hrsg.): SEUH 13 147 Lückentexte repräsentiert. Diese sollen den Anwender Software, IEEE 17 (2000), may/jun, Nr. 3, S. 56 –62. anregen, passende Antworten einzutragen. http://dx.doi.org/10.1109/52.896250. – DOI Die generierten Texte erscheinen in der angedach- 10.1109/52.896250. – ISSN 0740–7459 ten Ausfüllreihenfolge. Sie können vom Nutzer ange- passt, gelöscht bzw. ausgeschaltet werden. Die erstell- [van Maris u. a. 1995] M ARIS, M. van ; D IFFERDING, ten Abstraction Sheets und Messpläne können vom D.I.C. ; G IESE, D.I.P.: Ein Werkzeug zur Definiti- Anwender gespeichert und verwaltet werden. on, Interpretation und Validation von GQM-Planen. Eine umfangreiche Evaluierung des vorgestellten (1995) smarte GQM-Editor in der universitären Lehre wird [Parviainen u. a. 1997] PARVIAINEN, P. ; JARVINEN, vorbereitet. Dabei soll die Akzeptanz der GQM Metho- J. ; S ANDELIN, T.: Practical experiences of tool de und der zugehörige Wissensgewinn bei Studieren- support in a GQM-based measurement programme. den gemessen werden. In: Software Quality Journal 6 (1997), Nr. 4, S. 283– Die Konzepte des smarten GQM-Editors sind als 294 Initiative zu verstehen, komplizierte Techniken besser zu erlernen und vermitteln. Tool-basiert kann die SE- [Schneider 2007] S CHNEIDER, Kurt: Abenteuer Soft- Lehre damit unterstützt werden. warequalität: Grundlagen und Verfahren für Quali- tätssicherung und Qualitätsmanagement. Dpunkt, Literatur 2007 [Basili 1992] B ASILI, Victor R.: Software modeling and [Van Latum u. a. 1998] VAN L ATUM, F. ; VAN S O - measurement: the goal/question/metric paradigm. LINGEN , R. ; O IVO , M. ; H OISL , B. ; R OMBACH , College Park, MD : Maryland Univ., 1992 (Computer D. ; R UHE, G.: Adopting GQM based measure- science technical report Series) ment in an industrial environment. In: Softwa- [Basili u. Weiss 1984] B ASILI, Victor R. ; re, IEEE 15 (1998), jan/feb, Nr. 1, S. 78 –86. W EISS, David M.: A Methodology for Col- http://dx.doi.org/10.1109/52.646887. – DOI lecting Valid Software Engineering Data. 10.1109/52.646887. – ISSN 0740–7459 In: Software Engineering, IEEE Transactions [Van Solingen u. Berghout 1999] VAN S OLINGEN, R. ; on SE-10 (1984), nov., Nr. 6, S. 728 –738. B ERGHOUT, E.: The Goal/Question/Metric Method: http://dx.doi.org/10.1109/TSE.1984.5010301. a practical guide for quality improvement of software – DOI 10.1109/TSE.1984.5010301. – ISSN 0098– development. McGraw-Hill, 1999 5589 [Voigtlaender 1999] V OIGTLAENDER, und Kemp- [Birk u. a. 1998] B IRK, A. ; S OLINGEN, R. van ; JAR - kens R. C.: GQMaspect II. System Documentation. VINEN , J.: Business impact, benefit, and cost of Fraunhofer-IESE, 1999 applying GQM in industry: an in-depth, long-term investigation at Schlumberger RPS. In: Software [Werner 2012] W ERNER, Florian: Entwurf eines regel- Metrics Symposium, 1998. Metrics 1998. Proceedings. basierten GQM-Editors mit geringer Einstiegshürde, Fifth International, 1998, S. 93 –96 Leibniz Universität Hannover, Fachgebiet Software Engineering, Bachelor’s Thesis, 2012 [Chen u. a. 2003] C HEN, T. ; FAR, B.H. ; WANG, Y.: Development of an intelligent agent-based GQM software measurement system. In: Proceedings of ATS, 2003, S. 188 [Gantner u. Schneider 2003] G ANTNER, Thomas ; S CHNEIDER, Kurt: Zwei Anwendungen von GQM: Ähnlich, aber doch nicht gleich. In: Metrikon 2003 (2003) [Hoffmann u. a. 1997] H OFFMANN, M. ; B IRK, A. ; E LS, F. van ; K EMPKENS, R.: GQMaspect V1. 0: User Manual. Fraunhofer-IESE, 1997 [Kilpi 2001] K ILPI, T.: Implementing a softwa- re metrics program at Nokia. In: Software, IEEE 18 (2001), nov/dec, Nr. 6, S. 72 –77. http://dx.doi.org/10.1109/52.965808. – DOI 10.1109/52.965808. – ISSN 0740–7459 [Lavazza 2000] L AVAZZA, L.: Providing automated support for the GQM measurement process. In: 148 A. Spillner, H. Lichter (Hrsg.): SEUH 13