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
16-09-26Einführung
23-09-26Vorgehensmodelle
30-09-26Anforderungsanalyse
07-10-26Systemmodellierung
14-10-26Systementwurf
21-10-26Software-Prüfung
28-10-26Konfigurationsmanagement
04-11-26Search-based Software Testing
11-11-26Automated Debugging
18-11-26Automated Repair
25-11-26Formale Verifikation
02-12-26Automated Traceability Recovery
09-12-26Gastvorlesung: Ramon Lopez - Amazon AWS
16-12-26Q&A

Exam

Repetition exam