arbeiten:untersuetzung_des_code-verstaendnis_bei_programmier-novizen_durch_kontext-nahe_visualsierung_von_call-hierachien

Action disabled: index

Unterstützung des Quellcodeverständnisses bei Programmiernovizen durch kontextnahe Visualisierung von Methodenaufrufen

Thema:
Unterstützung des Quellcodeverständnisses bei Programmiernovizen durch kontextnahe Visualisierung von Methodenaufrufen
Art:
BA
BetreuerIn:
Alexander Bazo
BearbeiterIn:
Jakob Schönicke
ZweitgutachterIn:
N.N.
Status:
abgeschlossen
Stichworte:
Software Engineering, Programming Education, Assistance Systems
angelegt:
2019-06-06
Antrittsvortrag:
2019-09-02
Abgabe:
2019-09-30
Textlizenz:
Unbekannt
Codelizenz:
Unbekannt

Hintergrund

Bei dem Programmieren einer Lösung für eine bestimmte Aufgabe teilt man die entsprechende Routine meist in Subroutinen auf, die dann eventuell wieder weiter aufgeteilt werden. Der Aufruf der Routinen bildet nun eine Baumstruktur oder einen Graphen. Alle Subroutinen aus derselben Datei werden in einem herkömmlichen Editor allerdings linear untereinander angezeigt. Wenn man nun den Programmverlauf nachvollziehen will, muss man gegebenenfalls viel durch die Datei navigieren um die entsprechenden Subroutinen zu finden, dann wieder zurück zur Ursprungsroutine zu kommen und eine weitere Subroutine zu untersuchen. Diese fehlende Übersicht erschwert es fremden Code oder älteren eigenen Code zu verstehen. Insbesondere Programmieranfänger stellt das vor eine große Herausforderung.

Zielsetzung der Arbeit

Es soll ein Plugin für die Entwicklungsumgebung IntelliJ entwickelt werden, dass die Call-Hierarchie der Methoden in einer Java-Klasse visualisiert. Das Zielgruppe sind dabei Programmieranfänger, die bereits mit der Programmiersprache Java vertraut sind, aber erst wenig Routine besitzen. Dementsprechend soll die Benutzung möglichst einfach sein und wenig Vorkenntnisse voraus setzten. Die Visualisierung soll eng mit dem Code verzahnt sein, damit die Nutzer die Verbindung zwischen dem Code und der logischen Struktur des Programmes verstehen.

Konkrete Aufgaben

  • Ausarbeitung eines geeigneten Konzepts zur Visualisierung einer Call-Hierarchie
  • Implementierung dieser Visualisierung als Plugin für die IntelliJ-Plattform
  • Evaluation des Plugins mit Programmier-Novizen

Erwartete Vorkenntnisse

-

Weiterführende Quellen

-