Advanced Software Engineering
Inhalt:
Dieser Kurs ermöglicht den Studierenden nicht nur die Anwendung theoretischer Konzepte, sondern auch die praktische Umsetzung in einem realen Projektumfeld. Durch die Verwendung von SCRUM werden sie auf die Anforderungen agiler Softwareentwicklung vorbereitet und lernen, wie sie qualitativ hochwertige Softwareprodukte effektiv entwickeln können.
Ziele des Kurses:
Vertiefung der Kenntnisse und Fähigkeiten im Bereich der fortgeschrittenen Softwaretechnik.
Praktische Anwendung von SCRUM-Methoden zur Softwareentwicklung.
Entwicklung von Prototypen für reale Probleme unter Berücksichtigung hoher Prozess- und Produktqualität.
Förderung von Teamarbeit, Kommunikation und Zusammenarbeit in einem agilen Umfeld.
Vermittlung von Best Practices für die Entwicklung hochwertiger Softwareprodukte.
Kursinhalt und Struktur:
Woche 1-2: Einführung und Problemidentifikation
Einführung in fortgeschrittene Softwaretechnik und SCRUM-Methoden.
Identifikation eines realen Problems oder einer Herausforderung, die durch Software gelöst werden kann.
Definition der Anforderungen und Erstellung des Produktbacklogs.
Woche 3-12: Sprint 1-5 nach SCRUM
Sprint 1: Planung, Design und erste Implementierungsschritte.
Sprint 2-4: Iterative Entwicklung des Prototyps unter Berücksichtigung von Feedback und Anpassungen.
Sprint 5: Abschlussarbeiten, Qualitätssicherung und Vorbereitung auf die Präsentation.
Inhalte der einzelnen Sprints:
Sprintplanung, inklusive Festlegung von Aufgaben und Schätzungen.
Tägliche SCRUM-Meetings zur Abstimmung des Fortschritts und zur Identifizierung von Hindernissen.
Kontinuierliche Entwicklung und Integration neuer Funktionen.
Regelmäßige Überprüfung und Anpassung des Produktbacklogs.
Einsatz von Testverfahren wie Unit-Tests, Integrationstests und Akzeptanztests.
Einhaltung von Coding-Standards und Best Practices für Softwareentwicklung.
Dokumentation des Entwicklungsprozesses und der erstellten Artefakte.
Abschluss:
Präsentation des Prototyps vor einer Jury oder einem Publikum.
Bewertung der Prozess- und Produktqualität sowie der Teamleistung.
Reflexion über den Entwicklungsprozess und die erzielten Ergebnisse.
Bewertungskriterien:
Umsetzung der SCRUM-Methoden und Einhaltung der Sprintziele.
Qualität des entwickelten Prototyps und Erfüllung der Anforderungen.
Effektive Zusammenarbeit im Team und Kommunikation.
Dokumentation und Reflexion über den Entwicklungsprozess.