Interesse? Kontaktiert uns per E-Mail an chico.sundermann(at)tu-braunschweig.de
Moderne Softwaresysteme sind oft in hohem Maße konfigurierbar. Die Verwaltung der Variabilität, die sich aus den zahlreichen Konfigurationsoptionen (Features) und ihren Abhängigkeiten ergibt, erfordert aufwändige Werkzeuge. So müssen Entwickler beispielsweise Features und ihre Abhängigkeiten modellieren, entsprechende Softwareartefakte implementieren und die eigentliche Variabilität realisieren, mit der sich das System konfigurieren und korrekte Varianten ableiten lassen. Darüber hinaus müssen konfigurierbare Systeme, wie jede andere Software auch, analysiert, getestet und gewartet werden.
In diesem Kurs erweitert ihr die bestehende Frameworks für die Feature-orientierte Softwareentwicklung, FeatureIDE und FeatJAR. Während FeatureIDE eine große Sammlung von voneinander abhängigen, in Java geschriebenen, Eclipse-Plug-ins ist, ist FeatJAR eine rein Java-basierte Bibliothek, die aus mehreren Gradle-Projekten besteht.
Ziel ist es, qualitativ hochwertigen Quellcode zu entwickeln und sinnvolle Beiträge zu diesen Open-Source-Projekten zu leisten, die in der Praxis von Wissenschaft und Industrie eingesetzt werden. Nebenbei könnt ihr echte Programmiererfahrung sammeln und agile Softwareentwicklungstechniken erlernen und anwenden.
Der Kurs ist als dreiwöchiges Vollzeit-Projekt in Präzens in den Semesterferien zwischen Sommer- und Wintersemester angelegt. Die genauen Termine werden nach Anmeldeschluss gemeinsam mit den Teilnehmern geplant. Der Kurs beginnt mit einer zweitägigen Einführung in den Kontext und das Tooling. Danach bilden wir mehrere Studierenden-Teams, die an kleineren und größeren Aufgaben zur Verbesserung und Erweiterung von FeatJAR/FeatureIDE arbeiten.
Um qualitativ hochwertigen Quellcode zu erstellen, setzen wir auf agile Entwicklung unter Verwendung gängiger Programmiertechniken, wie z.B.:
Anmeldeschluss: 30.06.2025
Zeitplan: