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

Software Engineering II


 

Wann und Wo

Vorlesung: Mittwoch, 9-11, RUD 25, 3.101
Vorlesung: Mittwoch, 11-13 (14tgl./1), RUD 25, 3.101
Übung: Mittwoch, 11-13 (14tgl./2), RUD 25, 3.101

Moodle-Kurs

Wer

Dozent: Prof. Lars Grunske / Dr. Thomas Vogel / Marc Carwehl, M.Sc.

Beschreibung und Aufbau der Lehrveranstaltung

Die Teilnehmenden erwerben tiefe und umfassende Kenntnisse auf dem Gebiet des Softwareprojekt-Managements und in den Techniken der automatisierten Software-Entwicklung und Qualitätssicherung.

Die speziellen Inhalte sind:

  • automatisierte Softwareentwicklung
  • Konstruktive Qualitätssicherung
  • Analytische Qualitätssicherung
  • Softwaretests und Verifikation
  • Organisationsaspekte der Software-Bearbeitung
  • Software-Prozesse, Prozess-Bewertung und -Verbesserung
  • Software-Wartung

 

Terminplanung bis Semesterende (Änderungen möglich)

Mi, 09.00-11.00   Thema   Mi, 11.00-13.00   Thema
17.04.24 V keine Vorlesung   17.04.24 V keine Vorlesung
24.04.24 V

Einführung: Grundbegriffe Softwarequalitätssicherung und -prüfung (LL13, Lig10)

und

Vorstellung des Übungskonzepts

  24.04.24 V

Grundlagen: Heuristisches Suchen I und II

01.05.24 V

keine Vorlesung

  01.05.24 V keine Vorlesung
08.05.24 V

Konstruktive Qualitätssicherung: Automatisierte Techniken im Anforderungs-management

  08.05.24 V Konstruktive Qualitätssicherung: Automatisierte Techniken im Architektur- und Detailentwurf
15.05.24 V Analytische Qualitätssicherung: Fuzzing   15.05.24 V Analytische Qualitätssicherung: SymbolicExecution und Automatisierte Testfallgenerierung
22.05.24 V

Analytische Qualitätssicherung: Automatisierte Testfallgenerierung

  22.05.24 V Grundlagen: Maschinelles Lernen I
29.05.24 V Grundlagen: Maschinelles Lernen II   29.05.24 V Analytische Qualitätssicherung: Mutationstesten
05.06.24 V

Analytische Qualitätssicherung: Automatisierte Fehlerfindung und Debugging

 

  05.06.24 V Analytische Qualitätssicherung: Grammar Based Fuzzing + Explaining of Bugs
12.06.24 V Analytische Qualitätssicherung: Grammar Based Fuzzing + Explaining of Bugs II   12.06.24 V

Analytische Qualitätssicherung: Metamorphic Testing

19.06.24 V

Konstruktive Qualitätssicherung: Automatisierte Patch-Generierung

  19.06.24 V

Analytische Qualitätssicherung: Testmanagement, -selektion und -priorisierung

26.06.24 V Analytische Qualitätssicherung: Regression Testing   26.06.24 V Analytische Qualitätssicherung: Fuzzing + SymbolicExecution
03.07.24 V

Organisatorische Qualitätssicherung: Bewertung und Verbesserung von SW Prozessen

  03.07.24 V

Organisatorische Qualitätssicherung: Durchführung und Führung von/in Softwareprojekten

10.07.24 P

Präsentation Studierendenprojekt

  10.07.24 V

keine Vorlesung

17.07.24 P Präsentation Studierendenprojekt   17.07.24

V

Zusammenfassung und Q&A

Links zu Berufsgemeinschaften für Informatiker/Softwaretechniker:
Software Engineering Links:

Skript und Übungsaufgaben

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

Nähere Informationen zum Übungsbetrieb werden im Verlauf des Semesters in der Vorlesung oder über Moodle bekannt gegeben.

Die Übung besteht aus einem Gruppenprojekt, in welchem ein Forschungswerkzeug analysiert, angewendet und erweitert werden soll.

Voraussetzungen und Prüfung

Umfassende Kenntnisse im Software Engineering werden vorausgesetzt. Insbesondere allgemeine Qualitätssicherungsmaßnahmen sollten bekannt sein.

Die Lehrveranstaltung wird mit einer semesterbegleitenden Portfolioübung und anschließender mündlicher Prüfung geprüft.

Es handelt sich hierbei um Sammlungen eigener Arbeiten, die innerhalb einer bestimmten Bearbeitungszeit nach festgelegten Kriterien zusammengestellt werden, um Lernfortschritte und Leistungsstände zu dokumentieren.

Die Portfolioübung besteht aus 3 Teilen:

  1. Moodle Test: Fragen zu den Vorlesungen bis einschließlich dem 05.06.2024
  2. Programmierarbeit: Erklärung von Bugs mit Grammar-based Fuzzing und Machine Learning
  3. Hausarbeit: Forschungsprojekt zu den Themen der Vorlesung SEII

Die Bewertungsmaßstäbe werden mit Veröffentlichung der jeweiligen Aufgabe bekanntgegeben.

Termin für die mündliche Prüfung (Anmeldung via Agnes erforderlich):

mündliche Prüfung:

  • Montag, 22. Juli 2024
  • Dienstag, 23. Juli 2024
  • Montag, 7. Oktober 2024 

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.