Abschlussarbeit: Implementierung von ArchUnit.NET in den Softwareentwicklungsprozess
Start: Wintersemester 24/25
SchiltachHerausforderung
In der heutigen Softwareentwicklung ist die Einhaltung von Architekturprinzipien und -standards von entscheidender Bedeutung, um die Qualität, Wartbarkeit und Skalierbarkeit von Softwareprodukten zu gewährleisten. ArchUnit.NET ist ein Framework, das die automatisierte Überprüfung der Architektur von .NET-Anwendungen ermöglicht. Durch die Integration von ArchUnit.NET in den Softwareentwicklungsprozess können potenzielle Architekturprobleme frühzeitig erkannt und behoben werden, was zu einer insgesamt höheren Codequalität führt.
Aufgaben
- Recherche über die Grundlagen von ArchUnit.NET und seine Funktionalitäten im Kontext der Softwarearchitekturprüfung
- Analyse des aktuellen Softwareentwicklungsprozesses des Unternehmens/der Organisation, um potenzielle Bereiche für die Integration von ArchUnit.NET zu identifizieren
- Entwicklung einer Strategie zur Integration von ArchUnit.NET in den bestehenden Softwareentwicklungsprozess
- Implementierung von ArchUnit.NET in eine Beispielanwendung oder ein Softwareprojekt
- Durchführung von Tests und Evaluation der Wirksamkeit von ArchUnit.NET in Bezug auf die Verbesserung der Architekturqualität und -konsistenz
- Dokumentation der Implementierungsschritte, Ergebnisse und Erkenntnisse in Form einer Bachelor-Thesis
Angebot
- Raum für deine Ideen bei der Definition und Gestaltung der Strukturen & Prozesse
- Einbindung in ein motiviertes und sympathisches Team sowie Sparring durch deine Führungskraft
- Tiefer Einblick in die Personalentwicklungsaktivitäten der Produktion
- Eigenverantwortliche Übernahmen von kleineren Projekten
Erwartung
- Du studierst Informatik, Softwaretechnik oder verwandten Fachrichtungen
- Kenntnisse in der Softwareentwicklung mit .NET-Technologien (C#, .NET Framework/Core)
- Interesse an Softwarearchitektur und Qualitätsmanagement
- Fähigkeit zur eigenständigen Recherche, Analyse und Umsetzung von technischen Konzepten
- Gute Kommunikationsfähigkeiten und die Fähigkeit, komplexe technische Sachverhalte verständlich darzustellen