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