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 | 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 | 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 | 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:
- Gesellschaft für Informatik (GI)
- Forum InformatikerInnen für Frieden und gesellschaftliche Verantwortung
- IEEE Computer Society
- Association for Computing Machinery (ACM)
Software Engineering Links:
- Software Engineering Code of Ethics and Professional Practice (pdf)
- Software Engineering Information Repository
- Bibliography - Software Metrics
- Klassiker des Software Engineerings (pdf)
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 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.