Humboldt-Universität zu Berlin - Mathematisch-Naturwissenschaftliche Fakultät - Software Engineering

Software Engineering

 


Covid-19 Information:

Die Veranstaltung findet statt und ist zunächst als Präsenzveranstaltung geplant. Die Gastvorlesungen werden als Online-Veranstaltungen via Zoom durchgeführt (Links werden im Moodle-Kurs bereitgestellt).

Wann und Wo

Vorlesung: Montag, 13-15 Uhr; RUD 25, 3.001 / Mittwoch, 13-15 Uhr; RUD 25, 3.001

Übung: Freitag, 11-13 Uhr; RUD 26, 0'115

Moodle-Kurs: Details zum Moodle-Kurs werden an alle via Agnes registrierten Teilnehmer*innen versendet.

Wer

Dozent: Prof. Grunske

Übung: Marc Carwehl, M.Sc. / Dipl.Inf. Simon Heiden

Beschreibung und Aufbau der Lehrveranstaltung

Die Teilnehmer bekommen tiefe und umfassende Kenntnisse auf dem Gebiet des Software Engineerings, wie zu Methoden der systematischen Entwicklung komplexer Software; Vorgehensmodelle und Software-Entwicklungsstandards; Qualitätskriterien, Metriken und Aufwandsabschätzung; Anforderungsanalyse: Pflichtenheft und Produktmodell; Objektorientierte (UML) und strukturierte Analyse; Software-Architekturen, Entwurfsmuster und Modularisierung; Einsatz formaler Methoden; Validierung, Verifikation und Test; Produktzyklen, Weiterentwicklung und Reverse Engineering; Konfigurationsmanagement und Entwicklungswerkzeuge; Einführung in die Software-Ergonomie.

 

Terminplanung bis Semesterende (Änderungen möglich)

Mo, 13.00-15.00   Thema   Mi, 13.00-15.00   Thema

18.10.21

V Dies academicus (Keine Vorlesung)   20.10.21 V Einführung
25.10.21 V Vorgehensmodelle /
Prozessmodelle I
  27.10.21 V Vorgehensmodelle /
Prozessmodelle II
01.11.21 V Planung und Management von Softwareprojekten   03.11.21 V

Anforderungsanalyse und Anforderungsspezifikation I

08.11.21 V Anforderungsanalyse und Anforderungsspezifikation II   10.11.21 V Architekturmodellierung I
15.11.21 V

Gastvorlesung:

„Automotive Requirements Engineering – Ein Blick in die Lastenhefterstellung der Mercedes-Benz PKW Entwicklung“
Frank Houdek, Daimler AG
  17.11.21 V Architekturmodellierung II
22.11.21 V Systementwurf I   24.11.21 V Systementwurf II

29.11.21

V Implementierung I   01.12.21 V Implementierung II
06.12.21 V Entwurfsmuster   08.12.21 V Refactoring
13.12.21 V Modellgetriebene Softwareentwicklung   15.12.21 V

Werkzeuge der Modellgetriebenen Softwareentwicklung

Modeltransformationen und Meta-Modellierung

03.01.22 Ü

Besprechung Musterlösungen

  05.01.22 Ü Repetitorium
10.01.22 V Systemtest -
Funktionsorientierter Test
  12.01.22 V Modultest - Kontrollflussorientierter Test
17.01.22 V

Modultest - Datenflussorientierter Test

  19.01.22 V Fehlerfindung und Debugging
24.01.22 V Statische Code-Analyse   26.01.22

V

Integration und Integrationstest

31.01.22 V

Wiederverwendung und Dokumentation

  02.02.22 V

Konfigurationsverwaltung und Wartung

07.02.22 V Gastvorlesung „Vom Wiegen allein wird die Sau nicht fett - Erfahrungen aus 10 Jahren Qualitätsanalyse in Forschung und Praxis“ Elmar Jürgens, CQSE GMBH   09.02.22 V

Gastvorlesung „Continuous Delivery in the cloud in agile development.“ Henning Jacobs, Zalando AG

14.02.22 Ü Repetitorium   16.02.22 V

Zusammenfassung und Q&A

Übungstermine

  • 22.10.2021: Digital: Gastvortrag von Christoph Hecht, Adesso AG,
    "Nicht-technische Aspekte des Software Engineering für soziotechnische Systeme"
  • 29.10.2021: Organisatorisches zum Übungsbetrieb und Gruppenfindung
  • 05.11.2021: Übungsblatt 01 - Planung
  • 12.11.2021: Übungsblatt 02 - Anforderungsanalyse
  • 19.11.2021: Übungsblatt 03 - Architekturmodellierung
  • 26.11.2021: Übungsblatt 04 - Systementwurf
  • 03.12.2021: Übungsblatt 05 - Hoare-Logik
  • 10.12.2021: Übungsblatt 06 - Entwurfsmuster
  • 17.12.2021: Diskussion der Lösungen zu den Blättern 02 und 03
  • 03.01.2022: Diskussion der Lösungen zu den Blättern 04 und 05
  • 07.01.2022: Diskussion der Lösungen zu den Blättern 06
  • 14.01.2022: Übungsblatt 07 - Funktionsorientierter Test
  • 21.01.2022: Übungsblatt 08 - Kontrollflussorientierter Test
  • 28.01.2022: Übungsblatt 09 - Datenflussorienterter Test
  • 04.02.2022: Übungsblatt 10 - Statische Code-Analyse
  • 10.02.2022: Besprechung der Lösung zu Blatt 10 und Q&A zur Klausur
  • 18.02.2022: Q&A zur Klausur (unter Vorbehalt)
Links zu Berufsgemeinschaften für Informatiker/Softwaretechniker:
Software Engineering Links:

Voraussetzungen und Prüfung

Erfolgreicher Abschluss des Moduls „Grundlagen der Programmierung“ oder vergleichbare Kenntnisse.

Für die Zulassung zur Prüfung ist ferner die Teilnahme am Übungsbetrieb verpflichtend.

Die Lehrveranstaltung wird mit einer 120-Minuten-Klausur geprüft (online). Zugelassenes Hilfsmittel ist ein beidseitig handschriftlich beschriebener DIN A4 Zettel.

Klausurtermin (120 min): Fr, 04.03.2022 um 09.00

Wiederholungstermin:  Mi, 13.04.2022 um 12.00

Skript und Übungsaufgaben

Alle Materialien zur Vorlesung werden in Moodle zur Verfügung gestellt. Das Passwort zum Kursbeitritt wird in der ersten Veranstaltung bekanntgegeben.

Änderungen an den Terminen und am genauen Inhalt sind (auch kurzfristig) möglich, werden aber im Normalfall auf dieser Webseite und in der Vorlesung bekanntgegeben.

Die Übungsblätter werden spätestens in der dem Übungstermin vorausgehenden Woche in Moodle zur Verfügung gestellt. Dort befinden sich auch die Folien zu den Übungen.

Literatur

  • Jochen Ludewig, Horst Lichter, Software Engineering – Grundlagen, Menschen, Prozesse, Techniken. 2. Aufl., dpunkt.verlag Heidelberg, 2010.
  • Peter Liggesmeyer, Software-Qualität. Testen, Analysieren und Verifizieren von Software. Spektrum Akademischer Verlag, 2002.