KovidaChecker (Jack2): Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „Der KovidaChecker führt keine Checks im eigentlichen Sinne aus, sondern erzeugt zu einem Programmlauf eines Java-Programms eine Visualisierung der erzeugten D…“) |
K (Mschypula verschob die Seite KovidaChecker nach KovidaChecker (Jack2)) |
||
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 27: | Zeile 27: | ||
Ein mögliches Ergebnis einer Visualisierung ist in der folgenden Abbildung zu sehen. | Ein mögliches Ergebnis einer Visualisierung ist in der folgenden Abbildung zu sehen. | ||
[[File:KovidaBeispiel.png |1000px]] | |||
[[Category:Anleitung]] |
Aktuelle Version vom 7. Juni 2023, 13:22 Uhr
Der KovidaChecker führt keine Checks im eigentlichen Sinne aus, sondern erzeugt zu einem Programmlauf eines Java-Programms eine Visualisierung der erzeugten Datenstruktur. Die nötige Konfiguration besteht aus der Angabe der zu prüfenden Dateien (“Source files”) sowie des Testtreibers (“Test driver class”) zur Erzeugung des Programmlaufs und einer Datei mit Anweisungen für die Erzeugung der Visualisierung (“Visualization configuration”).Der Testtreiber muss eine main-Methode enthalten, die von JACK aufgerufen wird, um den Programmlauf anzustößen. In welcher Form diese Methode Aufrufe auf die zu visualisierende Lösung durchführt, ist nicht beschränkt.
Beispiel einer Konfiguration
Eine beispielhafte Konfiguration der Visualisierung ist im unten stehenden XML-Code dargestellt.
<?xml version="1.0" encoding="UTF-8"?>
<project>
<classes>
<class name="Getraenk" style="list_element" />
<class name="Strichliste" style="list_element" />
<class name="Deckel" style="list" />
<class name="Gast" style="list" />
<class name="Kassensystem" style="list" />
</classes>
<breakpoints name="Miniprojekt5Kovida.java">
<breakpoint orderId="1">99</breakpoint>
</breakpoints>
<info>
Standardbelegung und Getraenkekarte wie in der Aufgabenstellung vorgegeben.
</info>
</project>
Die Einträge im Tag <classes>
geben an, welche Klassen für die Visualisierung berücksichtigt werden sollen. Über das style-Attribut kann optional angegeben werden, ob diese Klassen eine Datenstruktur in Form einer Liste definieren oder Listenelemente darstellen. Dies wirkt sich auf die Darstellung aus. Weitere gültige Werte für dieses Attribut sind “tree”, “tree_element”, “tree_list”, “tree_list_element”, “tree_list_element_subgraph”, “array”, “graph”, “graph_node” und “graph_edge”. Über den Tag <breakpoints>
wird gesteuert, zu welchem Zeitpunkt der Programmausführung eine Visualisierung erzeugt wird. Es ist empfehlenswert, diese nur auf Dateien zu beziehen, die von Studierenden nicht verändert werden können, um ein verlässliches Ergebnis zu erzielen. Wird ein Breakpoint im Laufe einer Programmausführung mehrfach durchlaufen, wird nur zum letzten Durchlauf eine Visualisierung erzeugt. Im Tag <info>
kann eine beliebige Nachricht eingetragen werden, die den Studierenden als allgemeine Information zur Visualisierung angezeigt wird.
Ein mögliches Ergebnis einer Visualisierung ist in der folgenden Abbildung zu sehen.