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

Software Engineering II

 


 

Wann und Wo

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

Wer

Dozent: Prof. Grunske / Dipl.Inf. Simon Heiden

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)

Mo, 9.00-11.00   Thema   Mi, 9.00-11.00   Thema
08.04.19 V Dies academicus   10.04.19 V Einführung: Grundbegriffe Softwarequalitätssicherung und -prüfung (LL13, Lig10)
15.04.19 V Grundlagen: Heuristisches Suchen I   17.04.19 V Konstruktive Qualitätssicherung: Automatisierte Techniken im Anforderungsmanagement
22.04.19 V Ostermontag   24.04.19 V Grundlagen: Heuristisches Suchen II
29.04.19 V Konstruktive Qualitätssicherung: Automatisierte Techniken im Architektur- und Detailentwurf   01.05.19 V Maifeiertag
06.05.19 V Analytische Qualitätssicherung: Automatisierte Testfallgenerierung   08.05.19 V Analytische Qualitätssicherung: Fuzzing
13.05.19 V Analytische Qualitätssicherung: SymbolicExecution und Automatisierte Testfallgenerierung   15.05.19 V Analytische Qualitätssicherung: Fuzzing + SymbolicExecution
20.05.19 V Grundlagen: Maschinelles Lernen I   22.05.19 V Grundlagen: Maschinelles Lernen II
27.05.19 V Analytische Qualitätssicherung: Automatisierte Fehlerfindung und Debugging   29.05.19 Ü Vorstellung des Übungskonzepts
03.06.19 V Analytische Qualitätssicherung: Mutationstesten (Lig5)   05.06.19 V Konstruktive Qualitätssicherung: Automatisierte Patch-Generierung
10.06.19 V Pfingstmontag   12.06.19 V Analytische Qualitätssicherung: Testmanagement, -selektion und -priorisierung
17.06.19 V Analytische Qualitätssicherung: Regression Testing   19.06.19 V Konstruktive Qualitätssicherung: Metriken und Bewertungen (LL14)
24.06.19 V

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

  26.06.19 V

Gastvorlesung:

Dr. Roland Neumann, Bundesdruckerei "Quo Vadis Software Metriken“, Bundesdruckerei
01.07.19 V Organisatorische Qualitätssicherung: Bewertung und Verbesserung von SW Prozessen (LL11)   03.07.19 V Zusammenfassung und Q&A
08.07.19 P Präsentation Studentenprojekt   10.07.19

P

V

Präsentation Studentenprojekt

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.

Moodle-Kurs (Link)

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 das Tool Astor (GitHub) analysiert, angewendet und erweitert werden soll. Astor ist ein Framework zur automatischen Reparatur von Java-Programmen, welches sowohl Implementationen mehrerer Reparatur Ansätze bereitstellt, als auch Möglichkeiten zur Erweiterung durch sogenannte "Extension Points".

Voraussetzungen und Prüfung

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

Für die Zulassung zur Prüfung ist ferner der erfolgreiche Abschluss des Übungsprojekts (siehe oben) erforderlich.

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

Klausurtermin (120 min):

Do., 18.07.2019, 13-16 Uhr (Beginn: 13:30 Uhr), RUD 25, Raum 3.001

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.