Masterarbeit Softwareentwicklung: Interaktiver Dependency-Graph-Viewer in C++ bzw. Qt

Adelbert Haas GmbHTrossingenstepstoneveröffentlicht 16.10.2026
Muss:Node.jsGitBackend

Über das Unternehmen

In unserer Schleifsoftware Multigrind Horizon entstehen komplexe Abhängigkeiten zwischen Datenobjekten/Modulen/Assets/Berechnungsschritten. Diese Beziehungen sind heute nur indirekt sichtbar, was Fehlersuche und Änderungen aufwendig macht. Node-basierte Editoren wie Unreal Engine Blueprints, Blender Geometry Nodes oder Houdini zeigen, wie wirkungsvoll eine grafische Darstellung solcher Strukturen sein kann.

Aufgaben

Aufgabenstellung Ziel der Arbeit ist Konzeption, Implementierung und Evaluation einer Graph-Ansicht, die die Abhängigkeiten unserer Anwendung navigierbar macht. Der Fokus liegt auf Visualisierung und Interaktion – nicht auf einem vollwertigen Editor.

Kernthemen Architektur: Bewertung und Auswahl des Rendering-Ansatzes (Qt Graphics View Framework, Qt Quick / Scene Graph, eigenes OpenGL-Backend) inkl. Begründung anhand messbarer Kriterien

Datenanbindung: Entkoppelte Model-View-Schicht zwischen bestehendem Datenmodell und Darstellung

Layout: Vergleich und Umsetzung automatischer Layout-Verfahren (hierarchisch/Sugiyama, kräftebasiert, ggf. Anbindung von Graphviz oder ELK), Behandlung von Zyklen

Interaktion: Pan/Zoom, Selektion, Fokus auf Teilgraphen, Ein-/Ausklappen von Gruppen, Suche und Filter, Hervorhebung von Pfaden und betroffenen Knoten

Skalierbarkeit: Performantes Verhalten bei [z. B. 10.000+] Knoten durch Culling, Level-of-Detail und geeignete Datenstrukturen

Evaluation: Benchmarks (Frame-Zeiten, Layout-Dauer) sowie eine kleine Usability-Studie mit Anwendern aus dem Team

Anforderungen

  • Studium der Informatik, Medieninformatik, Mathematik oder vergleichbar (Masterniveau)
  • Sehr gute C++-Kenntnisse (C++17/20), Erfahrung mit Qt
  • Grundlagen in Graphentheorie und Algorithmik; Interesse an UI/UX und Rendering
  • Selbstständiges Arbeiten, Git, CMake

Wir bieten

  • Kollegiale Arbeitsatmosphäre in einem jungen Team
  • Spannende und herausfordernde Aufgaben mit Eigenverantwortung
  • Übernahmemöglichkeit nach Beendigung des Studiums
  • Individuelle Arbeitszeiten angepasst an deine Bedürfnisse