Software Engineering II
Wann und Wo
Vorlesung: Mittwoch, 9-11, RUD 26, 1'305
Vorlesung: Mittwoch, 11-13 (14tgl./1), RUD 26, 1'305
Übung: Mittwoch, 11-13 (14tgl./2), RUD 26, 1'305
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 | |||
---|---|---|---|---|---|---|
19.04.23 | V |
Einführung: Grundbegriffe Softwarequalitätssicherung und -prüfung (LL13, Lig10) und Vorstellung des Übungskonzepts |
19.04.23 | V |
Grundlagen: Heuristisches Suchen I |
|
26.04.23 | V |
Grundlagen: Heuristisches Suchen II |
26.04.23 | V |
Grundlagen: Heuristisches Suchen II
|
|
03.05.23 | V |
Konstruktive Qualitätssicherung: Automatisierte Techniken im Anforderungs-management
|
03.05.23 | V | Konstruktive Qualitätssicherung: Automatisierte Techniken im Architektur- und Detailentwurf | |
10.05.23 | V |
Analytische Qualitätssicherung: Automatisierte Testfallgenerierung
|
10.05.23 | V | Analytische Qualitätssicherung: Fuzzing | |
17.05.23 | V | Analytische Qualitätssicherung: SymbolicExecution und Automatisierte Testfallgenerierung | 17.05.23 | V | Analytische Qualitätssicherung: Fuzzing + SymbolicExecution | |
24.05.23 | V |
Grundlagen: Maschinelles Lernen I |
24.05.23 | V | Grundlagen: Maschinelles Lernen II | |
31.05.23 | V | Analytische Qualitätssicherung: Grammar Based Fuzzing + Explaining of Bugs | 31.05.23 | V | Analytische Qualitätssicherung: Mutationstesten | |
07.06.23 | V |
Analytische Qualitätssicherung: Automatisierte Fehlerfindung und Debugging |
07.06.23 | V |
Konstruktive Qualitätssicherung: Automatisierte Patch-Generierung |
|
14.06.23 | V | Analytische Qualitätssicherung: Testmanagement, -selektion und -priorisierung | 14.06.23 | V | Analytische Qualitätssicherung: Regression Testing | |
21.06.23 | V |
Organisatorische Qualitätssicherung: Bewertung und Verbesserung von SW Prozessen |
21.06.23 | V |
Organisatorische Qualitätssicherung: Durchführung und Führung von/in Softwareprojekten
|
|
28.06.23 | V | Gastvorlesung (Prof. Dr. Roland Neumann): Konstruktive Qualitätssicherung: Metriken und Bewertungen | 28.06.23 | V | Analytische Qualitätssicherung: Metamorphic Testing | |
05.07.23 | V |
keine Vorlesung |
05.07.23 | V |
keine Vorlesung |
|
12.07.23 | V | keine Vorlesung | 12.07.23 | V | keine Vorlesung | |
19.07.23 | P | Präsentation Studierendenprojekt | 19.07.23 |
P V |
Präsentation Studierendenprojekt 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.
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:
- Moodle Test: Fragen zu den Vorlesungen bis einschließlich dem ??2023
- Programmierarbeit: Erklärung von Bugs mit Grammar-based Fuzzing und Machine Learning
- 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): 24.-25.07.2023
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.