=Paper=
{{Paper
|id=None
|storemode=property
|title=Analyse von Programmieraufgaben durch Softwareproduktmetriken
|pdfUrl=https://ceur-ws.org/Vol-956/S2_Paper3.pdf
|volume=Vol-956
|dblpUrl=https://dblp.org/rec/conf/seuh/StrieweG13
}}
==Analyse von Programmieraufgaben durch Softwareproduktmetriken==
Analyse von Programmieraufgaben durch Softwareproduktmetriken Michael Striewe, Michael Goedicke Universität Duisburg-Essen {michael.striewe,michael.goedicke}@s3.uni-due.de Zusammenfassung Softwaremetriken zur Beobachtung des Lernprozes- ses und der dabei erzeugten Produkte einsetzbar sind. Der Einsatz von Softwareproduktmetriken zur Beob- Der vorliegende Artikel stellt letzteres in den Fokus achtung und Beurteilung von Softwareprojekten ist und befasst sich daher ausschließlich mit Softwarepro- ein oft diskutiertes Thema. Es gibt vielfältige Vor- und duktmetriken. Aus praktischen Erwägungen heraus Nachteile, die beim Einsatz zu berücksichtigen sind. beziehen sich die im Folgenden diskutierten Ansätze Der vorliegende Artikel diskutiert an Fallbeispielen, und Ergebnisse auf Anfängervorlesungen zur Program- wie Metriken zur Lehrunterstützung in einer Lehr- mierung. Eine Generalisierung auf fortgeschrittene veranstaltung zur Programmierung genutzt werden Lehrveranstaltungen zur Programmierung sowie Soft- können. ware Engineering im Allgemeinen bedarf zweifellos weiterer Forschungsarbeit, die weit über den Rahmen Einleitung dieses Artikels hinaus geht. Softwareentwicklung kann über Kennzahlen, die Der Artikel ist wie folgt gegliedert: Zunächst werden durch den Einsatz von Metriken erhoben werden, be- einige Szenarien skizziert, in denen Metriken zur Lehr- obachtet und bewertet werden. Dabei kann sowohl unterstützung angewandt werden können. Im selben das entwickelte Softwareprodukt als auch der Entwick- Abschnitt werden zudem grundsätzliche Analyseme- lungsprozess Ziel der Beobachtung und Bewertung thoden und existierende Ansätze genannt. Anschlie- sein (Conte u. a., 1986). Der Einsatz von Metriken ßend werden Metriken vorgestellt, die bei der Analyse wird vielfach kritisch diskutiert: Auf der einen Seite von Programmieraufgaben genutzt werden können. steht die Aussage, dass ohne Messung keine Kontrolle Danach werden mehrere Fallbeispiele diskutiert, in möglich ist (z.B. (DeMarco, 1986)) und auf der ande- denen eine Auswahl der Metriken auf tatsächliche re Seite die Erkenntnis, dass die Messung das Ergebnis Lösungen von Programmieraufgaben angewandt wur- selber beeinflussen kann und viele Metriken gar nicht den. Aus den daraus gewonnenen Erkenntnissen wird das messen, was sie zu messen vorgeben (z.B. (Kaner am Ende des Beitrags ein Fazit gezogen. u. Bond, 2004)). Insgesamt kann der Einsatz von Soft- waremetriken aber als etabliert betrachtet werden. Szenarien, Methoden und Verwandte Nicht nur in der industriellen Praxis, sondern auch Arbeiten in der Lehre werden Softwareprodukte entwickelt. Es sind verschiedene Einsatzszenarien denkbar, in de- Es handelt sich hierbei zwar nicht um Produkte im nen Softwareproduktmetriken bei der Analyse von ökonomischen Sinne, aber doch um Artefakte, de- Programmieraufgaben und ihren Lösungen zum Ein- ren Eigenschaften mit denselben Metriken messbar satz kommen können. Sie unterscheiden sich sowohl sind. Zudem ist der Begriff der Kontrolle in Form von nach ihrer Zielsetzung als auch der Analysebasis: Als Lernfortschrittskontrollen ein zentraler Bestandteil Zielsetzung gibt es die Rückmeldung an die Studieren- der Lehre. Es erscheint daher sinnvoll, Werkzeuge zur den, die Rückmeldung an die Lehrenden und die sys- Unterstützung der Lehre zu konzipieren, mit denen teminternen Nutzung zur automatischen Steuerung Kennzahlen automatisch gewonnen und analysiert von Lernprozessen, während bei der Analysebasis zu werden können. Dies ist insbesondere in E-Learning- unterscheiden ist, ob Aussagen über eine individuelle und Blended-Learning-Szenarien wichtig, in denen ei- Lösung oder die Gesamtheit der Lösungen einer Auf- ne (teil-)automatisierte Führung durch den Lernstoff gabe getroffen werden sollen. Aus diesen Merkmalen angeboten werden soll und daher nicht immer ein lassen sich zahlreiche Kombinationen bilden, z.B.: Lehrender zur Verfügung steht, der die Leistungsfähig- keit seiner Studierenden einschätzt und ihnen passen- • Durch die Analyse einzelner Lösungen und die de Übungsaufgaben zuweist. Um hier eine Automa- Aufbereitung der Ergebnisse für die Studierenden tisierung zu erreichen sollte untersucht werden, wie können Aussagen zum Verhältnis von studenti- A. Spillner, H. Lichter (Hrsg.): SEUH 13 59 scher Lösung und Musterlösung getroffen werden. gespannt, der dann untersucht wird. Die Analyse des Studierenden kann so zum Beispiel der Hinweis Raumes kann dabei wie oben skizziert auf Software- gegeben werden, dass ihre Lösung zwar alle funk- produktmetriken basieren, oder aber auch auf Ähnlich- tionalen Anforderungen erfüllt, jedoch deutlich keitsmaßen zwischen Lösungen. Ein möglicher Ein- umfangreicher als die Musterlösung ist. Dies muss satzbereich ist dabei die Plagiatserkennung, bei der es nicht mit einer negativen Bewertung der Lösung nicht um die Eigenschaften der Lösungen selber geht, einhergehen, sondern kann auch als Hinweis ver- sondern nur um die Nähe der Lösungen zueinander standen werden, der die Studierenden zur Verbes- (Leach, 1995). Die Nützlichkeit von Maßvergleichen serung ihrer Lösung anregen soll. in diesem Bereich ist jedoch strittig, so dass es auch zahlreiche Ansätze gibt, die Textvergleiche heranzie- • Durch die Analyse aller Lösungen und die Aufbe- hen. reitung der Ergebnisse für die Studierenden kann Der Einsatz von Softwareproduktmetriken zur Qua- diesen angezeigt werden, ob sie eine typische Lö- litätssicherung und Unterstützung der Benotung wur- sung gewählt haben, oder ob sie sich in bestimm- de ebenfalls schon in Ansätzen untersucht (Mengel ten Merkmalen deutlich von anderen Lösungen u. Yerramilli, 1999). Rückt die Kontrolle des Lernfort- unterscheidet. Auch dies kann den Studierenden schritts oder die Generierung von Rückmeldungen in einen Hinweis darauf geben, in welche Richtung den Fokus, können auch komplexe mathematische Ver- sie ihre Lösungen verbessern können. fahren oder maschinelles Lernen zum Einsatz kommen • Lehrende können dieselben Daten nutzen, um (Martín u. a., 2009; Gross u. a., 2012). Im vorliegen- Häufungen bei Lösungsmerkmalen zu entdecken den Beitrag werden jedoch einfachere Techniken der und damit einander ähnliche Lösungen zu finden. Datenanalyse eingesetzt. Handelt es sich dabei um Fehlerschwerpunkte, können diese in Lehrveranstaltungen gezielt auf- Einige Metriken gegriffen werden. Handelt es sich dagegen um Bei Softwareproduktmetriken wird zwischen Metri- gute Lösungen, die jedoch von der Musterlösung ken zur Messung von Umfang und Größe, Metriken messbar abweichen, kann dies Hinweise auf einen zur Messung von Struktur und Komplexität sowie alternativen Lösungsweg geben, der in einer zwei- Metriken zur Messung von Anwendung und Nutzen ten Musterlösung berücksichtigt werden könnte. unterschieden. Die ersten beiden Kategorien lassen sich dabei den sogenannten internen Attributen von • Ebenfalls durch die Analyse aller Lösungen und Softwareartefakten zuordnen, während die dritte Ka- den Vergleich dieser Mengen über verschiedene tegorie sogenannte externe Attribute berücksichtigt Aufgaben hinweg können Aussagen über generel- (Conte u. a., 1986; Fenton u. Pfleeger, 1998). Da in le Merkmale der jeweiligen Aufgaben getroffen letzterer Kategorie die Interaktion eines Artefakts mit werden. Zum Beispiel lässt sich so der minimale der Umwelt (d.h. zum Beispiel die Nutzerfreundlich- Umfang einer korrekten Lösung ableiten oder Auf- keit) gemessen wird, kann diese für die automatisierte gaben können anhand des Mittelwertes verschie- Generierung von Kennzahlen nur begrenzt verwendet dener Kennzahlen miteinander verglichen werden. werden. Letzteres ist insbesondere auch in vollautomati- Im Folgenden werden einige Softwareproduktmetri- sierten Systemen nutzbar, die auf diese Weise rele- ken vorgestellt, die für die Anwendung auf Programm- vante Eigenschaften von Aufgaben lernen können. code in objekt-orientierten Programmiersprachen ge- Die letzte Kategorie steht im Fokus des vorliegen- eignet sind. Dabei wird insbesondere untersucht, ob den Beitrags. Dabei wird davon ausgegangen, dass sie speziellen Anforderungen aus dem Kontext von der Einsatz von Metriken in diesem Fall nur dann Lehrveranstaltungen gerecht werden: zu aussagekräftigen Ergebnissen kommt, wenn eine • Da in Übungsaufgaben häufig Codevorlagen ein- größere Menge von Aufgabenlösungen analysiert wer- gesetzt werden, muss der Einfluss des vorgegebe- den kann. Erst dann erscheint eine Verallgemeinerung nen Programmcodes auf das Ergebnis der Metrik der durch Kennzahlen gewonnen Aussagen auf die zuverlässig bestimmt werden können, um eine Aufgabe insgesamt sinnvoll, da in einer freien Auf- Verfälschung oder Verwässerung der Ergebnisse gabenform wie Programmieraufgaben eine zu kleine zu verhindern. Stichprobe kaum als repräsentativ angesehen werden kann. Aus der Gesamtheit aller Kennzahlen für eine • Die Metriken müssen zudem geeignet sein, die große Menge von Lösungen sind dagegen Aussagen Verfolgung eines didaktisch sinnvollen Ziels zu über die Aufgabe zu erwarten, die beispielsweise auch unterstützen, d.h. Kennzahlen liefern, die im Rah- zur Qualitätssicherung genutzt werden können, wenn men der Lehre überhaupt relevant sind. Aufgaben zu einem späteren Zeitpunkt erneut einge- setzt werden sollen. Anzahl der Anweisungen Bei der Analyse von großen Mengen von Lösungen Die Zählung der Anweisungen im Programmcode wird durch diese in der Regel ein Lösungsraum auf- („statements“ in Abgrenzung zu „expressions“) stellt 60 A. Spillner, H. Lichter (Hrsg.): SEUH 13 eine sehr einfache Umfangsmetrik dar. Im Gegensatz Zyklomatische Komplexität zur Zählung von Codezeilen („lines of code“) hat sie Die zyklomatische Komplexität (McCabe, 1976) ist den Vorteil, dass sie resistent gegenüber Formatie- eine Metrik zur Komplexität des Kontrollflussgraphen rungsänderungen am Programmcode ist und die Län- eines Programms. Sie basiert auf der Anzahl der Kno- ge eventueller Code-Kommentare nicht berücksichtigt. ten und Kanten dieses Graphen und damit auf der Das Ergebnis dieser Metrik wird daher nur durch tat- Entscheidungsstruktur des Programms. Das Ergebnis sächliche inhaltliche Änderungen am Programmcode entspricht der maximalen Anzahl linear unabhängiger beeinflusst. Allerdings haben nicht alle Änderungen Pfade eines Programms und ist damit insbesondere am Programmcode Einfluss auf die Metrik, da Erwei- unabhängig vom Hinzufügen oder Entfernen von An- terungen oder Vereinfachungen an Ausdrücken („ex- weisungen, die keine Entscheidungsknoten darstellen. pressions“) nicht berücksichtigt werden. Sie gehört damit zu den Metriken, die die logische Die Metrik kann auch bei Aufgaben mit vorgegebe- Struktur eines Programms unabhängig von seinem nen Codevorlagen verwendet werden, da die Anzahl Umfang beurteilen. der dort vorgegebenen Anweisungen ebenfalls gemes- Wie die oben diskutierte Anzahl der Anweisungen sen und gegebenenfalls vom Ergebnis für studentische kann auch diese Metrik bei Aufgaben mit vorgege- Lösungen abgezogen werden kann. Ferner können benen Codevorlagen verwendet werden, indem die die Kennzahlen didaktisch verwendet werden, da die Komplexität dieser Vorlagen vorab bestimmt wird. Da Vermeidung unnötig aufwändiger und umfangreicher die Vermeidung unnötig komplexer Lösungen zu den Lösungen zu den Lernzielen einer Veranstaltung ge- Lernzielen einer Veranstaltung gehören kann, lassen hören kann. Zudem hilft die Metrik zum Beispiel bei sich die Ergebnisse der Metrik auch direkt verwenden. der Bestimmung der Schwierigkeit einer Aufgabe, da Die Metrik lässt sich auch ohne Aufbau des komplet- mehr Anweisungen im Programmcode in der Regel ten Kontrollflussgraphen eines Programms berechnen, einen erhöhten Zeitaufwand bei der Erstellung der indem alle if-Abfragen, bedingten Ausdrücke, Schlei- Lösung bedeuten. fen, case-Anweisungen, catch-Anweisungen (für Ja- va) und logische Operatoren gezählt werden. Halstead-Metriken Objektorientierte Metriken Die nach ihrem Autor benannten Halstead-Metriken (Halstead, 1977) basieren ebenfalls auf der Messung Es gibt weitere, speziell auf die Messung typischer der Länge eines Programms, ziehen aber zusätzlich Eigenschaften objektorientierter Programme ausge- noch die Menge der verschiedenen verwendeten Ope- richtete Metriken, z.B. zur Kopplung zwischen Klas- ratoren und Operanden in Betracht. Somit kann nicht sen, Kohäsion innerhalb von Klassen oder Sichtbarkeit nur der Umfang des Programms (Summe der Anzahl von vererbten Methoden (e Abreu u. Carapuça, 1994; der Operanden und Operatoren), sondern auch der Chidamber u. Kemerer, 1994). Da einige dieser Me- Umfang des verwendeten sogenannten Vokabulars triken so definiert sind, dass sie vom Umfang eines (Anzahl unterschiedlicher Operanden und Operato- Programms unabhängig sind, lassen sie sich zur Be- ren) bestimmt werden. Beide Werte können verschie- wertung der Komplexität und logischen Struktur eines den miteinander in Beziehung gesetzt werden. Programms verwenden. Ähnlich wie bei den oben diskutierten Halstead- Bei der Analyse von Programmieraufgaben mit die- Metrik besteht die Schwierigkeit, dass die ermittelten ser Metrik ergibt sich das Problem, dass der Umfang Merkmale bei Programmieraufgaben durch Codevor- des Vokabulars durch die Codevorlage nach unten lagen weitgehend vorgegeben sein könnten. Gerade begrenzt ist, auch wenn die Studierenden selber in in Anfängervorlesungen ist es üblich, z.B. Felder einer ihrem Code ein kleineres Vokabular verwenden. Bei Klasse und Methodensignaturen vorzugeben und nur der Berechnung der Metrik müsste daher sorgfältig die Methodenrümpfe programmieren zu lassen. Zu- zwischen dem vorgegebenen Code und dem von Stu- dem sind solche Aufgaben in der Regel so begrenzt, dierenden erstellten Code getrennt werden, was je dass die zu erstellenden Beziehungen zwischen Klas- nach Komplexität der Codevorlage nicht immer sau- sen überschaubar sind und die Studierenden kaum ber möglich ist. Zudem ist nicht offensichtlich, ob der Wahlmöglichkeiten haben. Erst bei Aufgaben mit deut- Umfang des Vokabulars in direkten Bezug zu einem lich mehr Freiheit für die Studierenden können diese möglichen Lernziel gesetzt werden kann. Bestenfalls Metriken daher sinnvoll angewandt werden. Dann al- kann noch angenommen werden, dass den Studieren- lerdings lassen sie sich gut in Beziehung zu einzelnen den mit fortschreitenden Programmierkenntnissen ein Lernzielen setzen, da zum Beispiel die Erzielung einer größeres Vokabular bekannt ist, dass bei schwierigen hohen Kohäsion ein direktes Thema des objektorien- Aufgaben dann auch zum Einsatz kommt. Da Aufga- tierten Designs sein kann. ben jedoch oft auch auf ein begrenztes Thema (z.B. Implementierung von Vererbungsstrukturen) abzielen, kann nicht einmal vorausgesetzt werden, dass fort- Fallbeispiele geschrittene Aufgaben tatsächlich ein umfangreiches Im Folgenden wird an einigen Fallbeispielen diskutiert, Vokabular erfordern. wie konkrete Fragestellungen aus dem Aufgabenent- A. Spillner, H. Lichter (Hrsg.): SEUH 13 61 wurf für eine Lehrveranstaltung durch den Einsatz unterschiedliche Lösungen dieselben Kennzahlen auf- von Metriken beantwortet werden können. Als Metri- weisen können und an derselben Position sowohl be- ken kommen dabei stets die zyklomatische Komple- standene als auch nicht bestandene Lösungen liegen xität und die Anzahl der Anweisungen zum Einsatz, können. d.h. eine Kombination aus Umfangs- und Komplexi- Es ist zu erkennen, dass die erste Übungsaufgabe tätsbeobachtung. Auf die Verwendung von speziellen (Abbildung 1; im Folgenden entsprechend der Benen- objektorientierten Metriken wurde verzichtet, da al- nung in der Lehrveranstaltung als „Miniprojekt 4“ be- le untersuchten Daten aus einer Anfängervorlesung zeichnet) im Vergleich zu den anderen Aufgaben den stammen. geringsten Freiheitsgrad aufweist. Fast alle Lösungen Alle Fallbeispiele beziehen sich auf Aufgaben aus liegen in einem kompakten Bereich zwischen 200 und der Erstsemestervorlesung „Programmierung“ im Win- etwas mehr als 300 Anweisungen und weisen einen tersemester 2011/12 . Bei allen Aufgaben wurde die Komplexitätswert zwischen knapp 70 und 100 auf. Die Einreichung von Lösungen in der Programmiersprache untere Grenze des Bereichs ergibt sich dabei automa- Java erwartet und den Studierenden war es erlaubt, tisch aus Umfang und Komplexität der bereitgestellten beliebig viele Lösungen zu einer Aufgabe einzurei- Codevorlage. chen. Bei einzelnen Aufgaben kamen so bis zu 1400 Einen deutlich höheren Freiheitsgrad weist Minipro- Lösungen zusammen, wobei im Schnitt 3,6 Lösun- jekt 5 (Abbildung 2) auf. Umfang und Komplexität der gen pro Studierendem eingingen. Für die Analysen Codevorlage entsprachen zwar in etwa den Werten wurden solche Lösungen ausgefiltert, bei denen die aus Miniprojekt 4, aber die Lösungen verteilen sich in Metriken aufgrund von syntaktischen Fehlern im Pro- einem deutlich größeren Raum. Bis zu einem Umfang grammcode nicht bestimmt werden konnten. Dupli- von 700 Anweisungen und einem Komplexitätswert kate von Lösungen wurden nicht ausgefiltert, führen von 200 ist der gesamte Lösungsraum abgedeckt, je- aber zwangsläufig zu identischen Ergebnissen in den doch in einem ähnlich schmalen Band wie bei Mini- Metriken. Die Einreichung der Lösungen durch die projekt 4. Dass es sich bei beiden Aufgaben um echte Studierenden und die Berechnung der Kennzahlen Freiheitsgrade und nicht nur die notwendige Differenz aus den Metriken erfolgte über das Werkzeug JACK zwischen unvollständiger Codevorlage und minima- (Striewe u. a., 2009). Die Kennzahlen wurden den ler korrekter Lösung handelt zeigt sich dadurch, dass Studierenden nicht mitgeteilt, sondern nur für die es in beiden Aufgaben bereits im unteren Drittel der rückblickende Analyse nach dem Semester verwen- gemessenen Werte bestandene Lösungen gibt. det. Dieselbe Beobachtung gilt auch für Miniprojekt 6 (Abbildung 3), auch wenn hier weniger hohe Werte Freiheitsgrade von Aufgaben für die Zahl der Anweisungen erreicht werden. Bemer- Beim Stellen von Übungs- und Prüfungsaufgaben ist kenswert ist hier jedoch die etwas breitere Streuung relevant, wie viele Freiheitsgrade die Aufgaben den des Korridors, in dem die Lösungen liegen. Während Studierenden beim Erstellen einer Lösung lassen. Je in den ersten beiden betrachteten Aufgaben also eine enger begrenzt die Aufgabenstellungen sind, desto recht starke Korrelation zwischen Umfang und Kom- leichter sind sie in der Regel zu korrigieren, da sich plexität galt, lässt diese Aufgabe den Studierenden die Lehrenden in weniger verschiedene Lösungsan- mehr Freiheiten zu umfangreicheren, aber weniger sätze hineindenken müssen. Welche didaktischen Vor- komplexen Lösungen beziehungsweise kleineren, aber und Nachteile sich aus eng begrenzten oder freieren komplexeren Ansätzen. Aufgaben ergeben und in welcher Phase des Lern- Bis hierhin kann also festgehalten werden, dass die prozesses welche Aufgaben am besten geeignet sind, Messung der Zahl der Anweisungen und der zyklo- soll hier nicht weiter diskutiert werden. Stattdessen matischen Komplexität es erlaubt, Aussagen über den soll beleuchtet werden, wie durch die Anwendung Freiheitsgrad einer Aufgabe zu treffen und somit ge- von Softwareproduktmetriken für Umfang und Kom- gebenenfalls gezielt Aufgaben auszuwählen. plexität überhaupt gemessen werden kann, welchen Als Nebenbemerkung ist in allen drei Fällen zu be- Freiheitsgrad eine Aufgabe hat. obachten, dass es in der „oberen“ Hälfte der Verteilung Die Abbildungen 1 bis 3 zeigen drei Verteilungsdia- (d.h. in der jeweils oberen Hälfte des Wertebereichs gramme für Lösungen zu drei Übungsaufgaben, die der beiden verwendeten Metriken) je einen Punkt mit in der zweiten Hälfte des Wintersemesters 2011/12 einer besonders hohen Zahl von Lösungen gibt, der bis gestellt wurden und die durch die Studierenden als zu knapp 20% aller Lösungen repräsentiert. Für diese Hausaufgaben bearbeitet wurden. Aufgetragen sind auffällige Häufung konnten zwei Ursachen ermittelt jeweils Kreise, deren Position sich aus der Anzahl der werden: Zum einen konnten sich Studierende wäh- Anweisungen und der zyklomatischen Komplexität er- rend der Bearbeitungsphase der Aufgabe Ratschläge gibt. Je mehr Lösungen auf dieselbe Position fallen, und Hilfestellung von Tutoren holen, die sich ihrer- umso größer ist der dort dargestellte Kreis. Dabei wird seits an der Musterlösung einer Aufgabe orientierten. unterschieden, ob die Lösung als bestanden gewertet Die Merkmale dieser Musterlösung lassen sich in der wurde oder nicht. Insbesondere ist zu beachten, dass Verteilung der studentischen Lösungen entsprechend 62 A. Spillner, H. Lichter (Hrsg.): SEUH 13 Abbildung 1: Verteilungsdiagramm für 1309 Lösungen zu einer Übungsaufgabe („Miniprojekt 4“). Größere Kreise bedeuten mehr Lösungen mit denselben metrischen Kennzahlen. Es wurden maximal 43 Lösungen mit denselben Kennzahlen eingereicht. Abbildung 2: Verteilungsdiagramm für 815 Lösungen zu einer Übungsaufgabe („Miniprojekt 5“). Größere Kreise bedeuten mehr Lösungen mit denselben metrischen Kennzahlen. Es wurden maximal 155 Lösungen mit denselben Kennzahlen eingereicht. A. Spillner, H. Lichter (Hrsg.): SEUH 13 63 Abbildung 3: Verteilungsdiagramm für 600 Lösungen zu einer Übungsaufgabe („Miniprojekt 6“). Größere Kreise bedeuten mehr Lösungen mit denselben metrischen Kennzahlen. Es wurden maximal 85 Lösungen mit denselben Kennzahlen eingereicht. wiederfinden. Zum anderen kursierten in den studenti- senen Verhältnis zum zugehörigen Miniprojekt stehen schen Internetforen inoffizielle Musterlösungen, an de- und tatsächlich einen Ausschnitt aus diesem bilden. nen sich ebenfalls Studierende orientiert haben. Wie Um den Studierenden den Einstieg in die Testatauf- oben beschrieben, wurden die Daten nicht um Plagia- gaben zu erleichtern und zudem grobe Fehler beim te bereinigt. Stichproben zeigten jedoch, dass es sich Stellen der Testataufgaben zu vermeiden, orientierten bei den Anhäufungen nicht ausschließlich um Plagiate sich diese sehr eng an den zugehörigen Miniprojek- einer einzelnen Lösung handelt. ten. Es kam stets eine sehr ähnliche Codevorlage zum Einsatz und auch der narrative Kontext der Aufgabe Relatives Aufgabenniveau war stets identisch mit dem des Miniprojektes. Der Das didaktische Konzept der untersuchten Lehrver- eigentliche Kern der Aufgabe war den Studierenden anstaltung sah vor, dass zu jedem der oben disku- jedoch nicht vorab bekannt, d.h. es musste im Testat tierten Miniprojekte eine kleinere Prüfungsaufgabe in immer Funktionalität implementiert werden, die im Form eines Testats gestellt wird. Dieses war jeweils Miniprojekt nicht diskutiert wurde. Daraus ergeben innerhalb von 45 Minuten im PC-Pool der Universi- sich auch die Risiken bei der Aufgabenstellung, die tät unter Prüfungsbedingungen zu bearbeiten. Da der es durch den Einsatz von Metriken abzuschätzen gilt: PC-Pool nicht ausreichend viele Plätze bietet, um alle Zum einen können unterschiedliche Funktionalitäten Studierenden gleichzeitig zu prüfen, mussten die Tes- mehr oder weniger Aufwand erfordern, was einzelnen tate in Gruppen abgenommen werden. Daher mussten Gruppen Vor- bzw. Nachteile bringt und zum anderen stets mehrere Aufgabenvarianten erstellt werden, da- kann die Funktionalität in Relation zum Miniprojekt mit Teilnehmer der ersten Gruppe nicht Details der eher aufwendig oder eher einfach zu implementieren Aufgabenstellung an die späteren Gruppen weiterge- sein. Die konzeptionelle Arbeit, die von den Studieren- ben konnten. Aus diesem Szenario ergeben sich zwei den beim Entwurf ihrer Lösung erbracht werden muss, Anforderungen, die die Überprüfung eines relativen lässt sich freilich über die Metriken des Ergebnisses Aufgabenniveaus sinnvoll erscheinen lassen: Erstens nicht bestimmen und folglich in den Betrachtungen muss sichergestellt sein, dass durch die verschiedenen auch nicht berücksichtigt werden. Varianten keine Gruppe benachteiligt wird, indem ih- Die Abbildungen 4 und 5 zeigen die Verteilungsdia- re Aufgabe mehr Aufwand erfordert als die Aufgaben gramme zu zwei Varianten von Testat 4. Die Verteilung anderer Gruppen. Zweitens muss sichergestellt sein, der dritten Variante, an der deutlich weniger Studie- dass die Testataufgaben insgesamt in einem angemes- rende teilnahmen, sieht vergleichbar aus und wir aus 64 A. Spillner, H. Lichter (Hrsg.): SEUH 13 Abbildung 4: Verteilungsdiagramm für 378 Lösungen zu einer Prüfungsaufgabe („Testat 4, Variante 1“). Die Aufgabe griff die Aufgabenstellung aus Miniprojekt 4 (siehe Abbildung 1) auf. Zur Verteilung einer zweiten Aufgabenvariante vgl. Abbildung 5. Abbildung 5: Verteilungsdiagramm für 298 Lösungen zu einer Prüfungsaufgabe („Testat 4, Variante 2“). Die Aufgabe griff die Aufgabenstellung aus Miniprojekt 4 (siehe Abbildung 1) auf. Zur Verteilung der ersten Aufga- benvariante vgl. Abbildung 4. A. Spillner, H. Lichter (Hrsg.): SEUH 13 65 Platzgründen nicht dargestellt. Es ist zu erkennen, metischen Mittel 63,38 Punkte. Im Miniprojekt 5 wur- dass beide Varianten im Kern dieselbe Verteilung auf- den im arithmetischen Mittel 48,57 Punkte erreicht; weisen. Insbesondere gibt es in beiden Aufgaben einen in allen drei Varianten der Testate im arithmetischen sehr schmalen Korridor nicht bestandener Lösungen Mittel 45,28 Punkte. Das vermutete höhere relative im „unteren“ Bereich und eine größere Anhäufung Aufgabenniveau bei Testat 5 im Vergleich zu Minipro- bestandener Lösungen im „oberen“ Bereich der Ver- jekt 5 spiegelt sich also nicht in der Veränderung der teilung. Es kann daher davon ausgegangen werden, Punktzahlen wider. Lediglich im Vergleich der beiden dass die beiden Aufgaben zumindest im Bezug auf den Testate untereinander tritt die erwartete Punkteände- Umfang und die Komplexität der Lösung identische rung auf. Anforderungen an die Studierenden gestellt haben. Die Schwierigkeit der Bestimmung des relativen Wie oben bereits angesprochen, kann diese Aussage Aufgabenniveaus unterstreicht auch Abbildung 7, die nur dann auf das Aufgabenniveau insgesamt erwei- die Verteilung für die erste Variante von Testat 6 wi- tert werden, wenn vorausgesetzt werden kann, dass dergibt. Bei den Komplexitätswerten liegt diese in der die Herleitung der Lösung für beide Gruppen gleich Mitte des Bereichs für Miniprojekt 6; bei der Anzahl schwierig ist. Bei der Interpretation der Verteilungen der Anweisungen im unteren Bereich. Im Vergleich ist es also insbesondere als deutliches Warnsignal zu mit Testat 4 weist sie insbesondere eine höhere Kom- werten, wenn bei als gleichwertig vorgesehenen Auf- plexität, aber einen geringeren Umfang der Lösungen gaben deutliche Unterschiede in den Metriken auf- aus. Im Bezug auf Miniprojekt 6 kann also ein leichte- treten. Die Gleichheit von Umfang und Komplexität res Niveau angenommen werden, während im Bezug muss dagegen nicht zwangsläufig auch ein identisches auf Testat 4 unklar ist, ob die höhere Komplexität oder Aufgabenniveau bedeuten. der geringere Umfang mehr zum Niveau der Aufgabe Die Frage nach dem Verhältnis der Testataufgaben beiträgt. In Miniprojekt 6 wurde im arithmetischen zum Miniprojekt kann durch einen Vergleich mit Ab- Mittel 50,84 Punkte erreicht, in allen Testatvarianten bildung 1 beziehungsweise durch einen Vergleich der zusammen im arithmetischen Mittel 65,34 Punkte. Kennzahlen beantwortet werden: Der Komplexitäts- Dies legt nahe, dass das Testat wie erwartet ein niedri- wert liegt mit 70 bis 90 nahezu mittig in den Grenzen geres Niveau hatte als das Miniprojekt und im übrigen des Miniprojektes und die Zahl der Anweisungen mit in etwa gleichwertig zu Testat 4 war. Werten zwischen 230 und 270 ebenfalls mittig im Aus diesen Überlegungen lässt sich also festhalten, Rahmen des Miniprojektes. Es kann daher davon aus- dass die Messung der Zahl der Anweisungen und der gegangen werden, dass die Testataufgaben bezogen zyklomatischen Komplexität es erlaubt, Aussagen über auf Umfang und Komplexität sehr genau das Aufga- das relative Niveau einer Aufgabe zu machen. Dies benniveau des Miniprojektes getroffen haben. könnte in E-Learning-Systemen beispielsweise genutzt Für das Testat 5 (Abbildung 6; hier betrachtet an der werden, um automatisch den Schwierigkeitsgrad von dritten Aufgabenvariante dieses Testats) lässt sich eine Aufgaben zu bestimmten und Studierenden damit ge- leicht abweichende Beobachtung treffen: Der von der zielt schwierigere oder leichtere Aufgaben anbieten Verteilung abgedeckte Bereich liegt zwar im Korridor zu können. Noch einmal sei an dieser Stelle darauf von Miniprojekt 5 und weißt (bei deutlicher kleiner hingewiesen, dass es andere Einflussfaktoren auf das Größe) eine ähnliche Form auf, liegt aber nicht mit- Niveau einer Aufgabe gibt, die sich über die disku- tig innerhalb der Werte des Miniprojektes, sondern tierten Metriken nicht abbilden lassen, so dass die deutlich nach „oben“ verschoben. Relativ zur Schwie- Verwendung von Softwareproduktmetriken trotz ihrer rigkeit des Miniprojektes kann hier also ein höheres Nützlichkeit nicht als alleiniges Mittel zum Einsatz Aufgabenniveau angenommen werden. kommen sollte. Naheliegend ist beispielsweise die Er- Auch der Vergleich der Testate 4 und 5 unterein- weiterung des Ansatzes auf Softwaremetriken, die ander kann unter dem Gesichtspunkt des relativen nicht das Produkt, sondern den Erstellungsprozess Aufgabenniveaus angestellt werden. Die Verteilungen messen und somit beispielsweise Auskunft darüber beider Testate weisen im Diagramm eine ähnliche geben können, über welchen Zeitraum hinweg oder Form auf und decken in etwa dieselbe Fläche ab, wo- in welchen Einzelschritten eine Lösung erstellt wurde. bei Testat 5 etwas breiter gestreut ist. Aufgrund des Auch aus diesen Metriken kann eine Aussage über das deutlichen Abstands der Cluster kann trotzdem ange- Niveau einer Aufgabe erwartet werden. nommen werden, dass Testat 5 ein höheres Niveau aufweist als Testat 4. Fazit und Ausblick Da die Lehrenden nicht zwangsläufig dasselbe Be- In diesem Beitrag wurde anhand von Fallbeispielen wertungsschema für Miniprojekte und Testate anleg- untersucht, welche Aussagen über Programmieraufga- ten, lassen sich diese Annahmen nicht unmittelbar ben aus der Analyse ihrer Lösungen mit Softwarepro- über die im Mittel erreichten Punktzahlen bestätigen duktmetriken gewonnen werden können. Es konnte oder widerlegen: Im Miniprojekt 4 wurden im arith- festgestellt werden, dass mithilfe von Metriken zum metischen Mittel 71,29 von 100 möglichen Punkten Umfang und zur Komplexität von Programmen Aussa- erreicht; im Testat 4 über alle drei Varianten im arith- gen über den Freiheitsgrad einer Aufgabe sowie das 66 A. Spillner, H. Lichter (Hrsg.): SEUH 13 Abbildung 6: Verteilungsdiagramm für 162 Lösungen zu einer Prüfungsaufgabe („Testat 5, Variante 3“). Die Aufgabe griff die Aufgabenstellung aus Miniprojekt 5 (siehe Abbildung 2) auf. Abbildung 7: Verteilungsdiagramm für 222 Lösungen zu einer Prüfungsaufgabe („Testat 6, Variante 1“). Die Aufgabe griff die Aufgabenstellung aus Miniprojekt 6 (siehe Abbildung 3) auf. A. Spillner, H. Lichter (Hrsg.): SEUH 13 67 Niveau der Aufgabe im Vergleich zu anderen Aufgaben [Fenton u. Pfleeger 1998] F ENTON, Norman E. ; P FLEE - getroffen werden können. GER , Shari L.: Software Metrics: A Rigorous and Daraus ergeben sich unmittelbare Einsatzmöglich- Practical Approach. 2nd. Boston, MA, USA : PWS keiten in Werkzeugen zur Lehrunterstützung sowie Publishing Co., 1998. – ISBN 0534954251 weitere Forschungsansätze: Die gewonnenen Daten können unmittelbar genutzt werden, um Aufgaben zu [Gross u. a. 2012] G ROSS, Sebastian ; M OKBEL, Bas- klassifizieren und somit in einem E-Learning-System sam ; H AMMER, Barbara ; P INKWART, Niels: Feed- (teil-)automatisiert zur Bearbeitung vorzuschlagen. back Provision Strategies in Intelligent Tutoring Sys- Im einfachsten Fall könnten Studierende dabei ein tems Based on Clustered Solution Spaces. In: D ESEL, System explizit nach leichteren oder schwierigeren Jörg (Hrsg.) ; H AAKE, Joerg M. (Hrsg.) ; S PANNAGEL, Aufgaben fragen. Daraus ergibt sich auch ein unmit- Christian (Hrsg.): DeLFI 2012: Die 10. e-Learning telbarer Forschungsansatz, indem die Studierenden Fachtagung Informatik. Hagen, Germany, 2012. – anschließend um eine (subjektive) Einschätzung der ISBN 978–3885796015, S. 27–38 Schwierigkeit gebeten werden. Kennzahlen, Ergebnis- [Halstead 1977] H ALSTEAD, Maurice H.: Elements of sen und subjektive Bewertungen können dann zur software science. Elsevier, 1977 weiteren Validierung der Erkenntnisse dieses Artikels miteinander verglichen werden. Auch die oben dis- [Kaner u. Bond 2004] KANER, Cem ; B OND, Walter P.: kutierten weiteren Einflussfaktoren sollten in diesen Software Engineering Metrics: What Do They Mea- Betrachtungen Berücksichtigung finden. sure and How Do We Know? In: In METRICS 2004. Ferner kann untersucht werden, ob aus der Position IEEE CS, Press, 2004 einer einzelnen Lösung in Relation zum Verteilungs- diagramm der jeweiligen Aufgabe weitere Erkenntnis- [Leach 1995] L EACH, Ronald J.: Using se, beispielsweise zur Generierung individueller Rück- metrics to evaluate student programs. meldungen an die Studierenden, gewonnen werden In: SIGCSE Bull. 27 (1995), S. 41–43. können. Über den Einsatz von Softwareproduktme- http://dx.doi.org/10.1145/201998.202010. – triken hinaus können dabei auch weitere Metriken DOI 10.1145/201998.202010. – ISSN 0097–8418 zum Entwicklungsprozess der Lösung zum Einsatz [Martín u. a. 2009] M ARTÍN, David ; C ORCHADO, Emi- kommen, mit denen beispielsweise eine Folge von lio ; M ARTICORENA, Raúl: A Code-comparison of mehreren Einreichungen mit inkrementellen Verbesse- Student Assignments based on Neural Visualisation rungen der Lösung untersucht wird. Dies würde auch Models. In: C ORDEIRO, José A. M. (Hrsg.) ; S HISH - die Bereiche der Analyse abdecken, die in diesem Ar- KOV , Boris (Hrsg.) ; V ERBRAECK , Alexander (Hrsg.) tikel nicht besprochen wurden. ; H ELFERT, Markus (Hrsg.) ; INSTICC (Veranst.): Danksagung Die Autoren danken Alexander Jung Proceedings of the First International Conference on für seine umfangreiche Recherche zu Softwarepro- Computer Supported Eductation (CSEDU), 23 - 26 duktmetriken im Rahmen seiner Bachelor-Arbeit. March 2009, Lisboa, Portugal Bd. 1 INSTICC, IN- STICC Press, 2009. – ISBN 978–989–8111–82–1, S. Literatur 47–54 [e Abreu u. Carapuça 1994] A BREU, Fernando B. ; C ARAPUÇA, Rogério: Object-Oriented Software Engi- [McCabe 1976] M C C ABE, Thomas J.: A Complexity neering: Measuring and Controlling the Development Measure. In: IEEE Transactions on Softwa- Process. 1994 re Engineering, 2 (1976), Nr. 4, S. 308–320. http://dx.doi.org/10.1109/TSE.1976.233837. [Chidamber u. Kemerer 1994] C HIDAMBER, Shyam R. – DOI 10.1109/TSE.1976.233837. – ISSN ; K EMERER, Chris F.: A metrics suite for object 0098–5589 oriented design. In: IEEE Transactions on Softwa- re Engineering 20 (1994), jun, Nr. 6, S. 476 –493. [Mengel u. Yerramilli 1999] M ENGEL, Susan A. ; Y ER - RAMILLI, Vinay: A case study of the static analysis of http://dx.doi.org/10.1109/32.295895. – DOI 10.1109/32.295895. – ISSN 0098–5589 the quality of novice student programs. In: The pro- ceedings of the thirtieth SIGCSE technical symposium [Conte u. a. 1986] C ONTE, Samuel D. ; D UNSMORE, on Computer science education. New York, NY, USA : Hubert E. ; S HEN, Vincent Y.: Software enginee- ACM, 1999 (SIGCSE ’99). – ISBN 1–58113–085–6, ring metrics and models. Redwood City, CA, USA : S. 78–82 Benjamin-Cummings Publishing Co., Inc., 1986. – ISBN 0–8053–2162–4 [Striewe u. a. 2009] S TRIEWE, Michael ; B ALZ, Mo- ritz ; G OEDICKE, Michael: A Flexible and Modular [DeMarco 1986] D E M ARCO, Tom: Controlling Soft- Software Architecture for Computer Aided Assess- ware Projects: Management, Measurement, and Esti- ments and Automated Marking. In: Proceedings of mates. Upper Saddle River, NJ, USA : Prentice Hall the First International Conference on Computer Sup- PTR, 1986. – ISBN 0131717111 ported Eductation (CSEDU), 23 - 26 March 2009, Lisboa, Portugal Bd. 2 INSTICC, 2009, S. 54–61 68 A. Spillner, H. Lichter (Hrsg.): SEUH 13