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

Software Engineering II

 


 

Wann und Wo

Vorlesung: Montag, 9-11 Uhr, RUD 26, 1'303
                 Mittwoch, 9-11 Uhr, RUD 26, 1'303

Übung: Mittwoch, 11-13 Uhr, RUD 26, 1'303

Wer

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

Beschreibung und Aufbau der Lehrveranstaltung

Die Teilnehmer haben 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
16.04.18 V Dies academicus   18.04.18 V Einführung: Grundbegriffe Softwarequalitätssicherung und -prüfung (LL13, Lig10)
23.04.18 V Grundlagen: Heuristisches Suchen I   25.04.18 V Grundlagen: Heuristisches Suchen II
30.04.18 V Brückentag 1. Mai   02.05.18 V Konstruktive Qualitätssicherung: Automatisierte Techniken im Architektur- und Detailentwurf
07.05.18 V Konstruktive Qualitätssicherung: Automatisierte Techniken im Anforderungsmanagement   09.05.18 V Grundlagen: Maschinelles Lernen I
14.05.18 V Grundlagen: Maschinelles Lernen II   16.05.18 V

Analytische Qualitätssicherung: Mutationstesten (Lig5)

+ Übung CodeDefender 11.00-13.00
21.05.18 V Pfingstmontag   23.05.18 V Analytische Qualitätssicherung: Fuzzing
28.05.18 V Analytische Qualitätssicherung: Automatisierte Fehlerfindung und Debugging   30.05.18 V

Vorstellung des Übungskonzepts +

Konstruktive Qualitätssicherung: Automatisierte Patch-Generierung
04.06.18 V

Gastvorlesung:

Johannes Nicolai, “DevOps @ GitHub Speed” GitHub
  06.06.18 V Analytische Qualitätssicherung: Automatisierte Testfallgenerierung
11.06.18

V

Analytische Qualitätssicherung: Symbolic Execution und Automatisierte Testfallgenerierung   13.06.18 V Analytische Qualitätssicherung: Fuzzing + Symbolic Execution
18.06.18 V Analytische Qualitätssicherung: Regressionstesten   20.06.18 V

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

25.06.18 V

Gastvorlesung:

Dr. Joachim Wegner, "Neue Testverfahren in der industriellen Praxis“, Assystem Germany GmbH
  27.06.18 V Konstruktive Qualitätssicherung: Metriken und Bewertungen (LL14)
02.07.18 V

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

  04.07.18 V

Gastvorlesung:

Dr. Roland Neumann, Bundesdruckerei "Quo Vadis Software Metriken“, Bundesdruckerei
09.07.18 V Organisatorische Qualitätssicherung: Bewertung und Verbesserung von SW Prozessen (LL11)   11.07.18 V Zusammenfassung und Q&A
16.07.18 P Präsentation Studentenprojekt   18.07.18 P Präsentation Studentenprojekt
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

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):

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.