Personal details
| Title | GitLab Dependency Explorer – Visualisierung und Analyse von Issue-Abhängigkeiten |
| Description | GitLab bietet neben der Quellcodeverwaltung umfangreiche Funktionen zur Planung und Verwaltung von Softwareprojekten. Issues können unter anderem miteinander verknüpft werden und sich gegenseitig blockieren. Bei größeren Projekten wird es jedoch schnell schwierig, den Überblick darüber zu behalten, welche Issues voneinander abhängig sind und welche Auswirkungen die Verzögerung einzelner Issues auf weitere Arbeiten hat. Ziel dieser Abschlussarbeit ist die Konzeption und Entwicklung einer webbasierten Erweiterung für GitLab, mit der Abhängigkeiten zwischen Issues übersichtlich dargestellt und analysiert werden können. |
| Home institution | Department of Computing Science |
| Associated institutions |
|
| Type of work | practical / application-focused |
| Type of thesis | Bachelor's |
| Author | Dr. Marco Grawunder |
| Status | available |
| Problem statement | Im Rahmen der Arbeit soll zunächst untersucht werden, welche Möglichkeiten GitLab aktuell zur Verwaltung und Darstellung von Abhängigkeiten zwischen Issues bietet und welche weitergehenden Funktionen vergleichbare Systeme wie Jira bereitstellen. Darauf aufbauend soll eine eigenständige Webanwendung entwickelt werden, die über die GitLab-Schnittstellen auf Projekte und Issues zugreift und deren Abhängigkeiten graphisch darstellt. Eine mögliche Darstellung könnte beispielsweise einen gerichteten Graphen verwenden, in dem Issues als Knoten und Blockierungsbeziehungen als Kanten dargestellt werden. Neben der reinen Visualisierung sollen Möglichkeiten zur automatischen Analyse der Abhängigkeitsstruktur untersucht und umgesetzt werden. Denkbar sind unter anderem:
Die Anwendung soll dabei GitLab nicht ersetzen. GitLab bleibt das führende System für die Verwaltung der Issues. Die zu entwickelnde Anwendung stellt zusätzliche Analyse- und Visualisierungsmöglichkeiten bereit und verweist für die Bearbeitung eines Issues wieder auf GitLab. Technische UmsetzungDie Anwendung soll als eigenständige Webanwendung realisiert und über die von GitLab bereitgestellten Schnittstellen angebunden werden. Hierzu können insbesondere die REST- bzw. GraphQL-API sowie Webhooks verwendet werden. Eine Anmeldung über GitLab mittels OAuth bietet sich an, sodass die Anwendung die jeweiligen Zugriffsrechte des angemeldeten Benutzers berücksichtigen kann. Für die Umsetzung bieten sich beispielsweise folgende Technologien an:
Die konkrete technische Architektur soll im Rahmen der Arbeit untersucht und begründet werden. Mögliche FragestellungenNeben der Entwicklung eines funktionsfähigen Prototyps sollen insbesondere Fragen der sinnvollen Darstellung und Analyse komplexer Abhängigkeitsstrukturen betrachtet werden. Mögliche Fragestellungen sind beispielsweise:
Erwartete ErgebnisseErwartet werden die Konzeption und Implementierung eines prototypischen Systems sowie eine Evaluation der entwickelten Darstellungs- und Analyseverfahren. Der genaue Funktionsumfang kann abhängig von Art und Umfang der Abschlussarbeit angepasst werden. Für eine Bachelorarbeit kann der Schwerpunkt beispielsweise auf der Visualisierung und grundlegenden Analyse der Abhängigkeitsgraphen liegen. Bei einer Masterarbeit sind weitergehende Analysen, die Einbeziehung historischer Projektdaten oder Verfahren zur Bewertung von Risiken und Auswirkungen denkbar. |
| Requirement | Hilfreich sind Kenntnisse in der Webentwicklung sowie grundlegende Kenntnisse in Software Engineering und Algorithmen. Erfahrungen mit Spring Boot, Angular/TypeScript oder GitLab sind von Vorteil, können aber auch im Rahmen der Arbeit vertieft werden. |
| Created | 30/09/26 |