Software Engineering

About this course

Software Engineering (im deutschsprachigen Raum auch Softwaretechnik) zielt auf die ingenieurmäßige Entwicklung, Wartung, Anpassung und Weiterentwicklung großer Softwaresysteme unter Verwendung bewährter systematischer Vorgehensweisen, Prinzipien, Methoden und Werkzeuge. Die Diversifikation der unterschiedlichen Softwaresysteme und Anwendungsbereiche erfordert ein Portfolio anzuwendender Techniken, vergleichbar mit einem Werkzeugkasten. Ziel der Lehrveranstaltung ist es, diesen Werkzeugkasten mit den wichtigsten Techniken zu bestücken.

Organisation

Prerequisites

Empfohlen wird der erfolgreiche Abschluss der Module Programmieren 1 und Programmieren 2 oder vergleichbare Kenntnisse.

Learning outcomes

Die Studierenden erlangen die Fähigkeit, große Softwaresysteme zu entwerfen und systematisch korrekt zu realisieren.

Wie entwickle ich Software unter wirtschaftlichen Aspekten für realistische Projektgrößen?

Wie entwickle ich qualitativ hochwertige Software?

Schedule

DateTopic
17-09-25Einführung
24-09-25Vorgehensmodelle
01-10-25Anforderungsanalyse
08-10-25Systemmodellierung
15-10-25Systementwurf
22-10-25Software-Prüfung
29-10-25Konfigurationsmanagement
05-11-25Search-based Software Testing
12-11-25Automated Debugging
19-11-25Automated Repair
26-11-25Gastvorlesung (Michael Ahrens & Daniel Roth, VZ VermögensZentrum AG)
03-12-25Formale Verifikation / Model Checking
10-12-25Gastvorlesung (Ramon Lopez Narvaez, AWS)
17-12-25Q&A

Exam

Repetition exam