Resilience Engineering of Software-Landscapes

Course registration & instruction language

To be admitted to this course, you have to register for the course in the registration system for seminars and labs by the Computer Science department and you have to get a seat.

This course is for bachelor students only and the instruction language is German.

Kursbeschreibung

Bei Resilient Engineering oder Resilience Software Design geht es darum, die Verfügbarkeit von Systemen und Systemlandschaften zu maximieren. Im Gegensatz zu traditionellen Stabilitätsansätzen versucht Resilience nicht, die Eintrittswahrscheinlichkeit von Fehlern zu reduzieren, sondern nimmt Fehler als unvermeidbar und unvorhersehbar hin und versucht stattdessen, möglichst schnell und teils automatisch auf auftretende Fehler zu reagieren. Um die Resilienz zu verbessern können Methoden des Chaos Engineering eingesetzt werden. Hierbei wird durch Experimente in kontrollierter Weise Chaos im System erzeugt. Darauf aufbauend können im nächsten Schritt, falls erforderlich, Bekämpfungsmaßnahmen entworfen und eingesetzt werden.

Die Kisters AG bietet Softwarelösungen für sehr unterschiedliche Domänen an, z.B. für den Bereich Energie- und Wassermanagment. Diese Systeme müssen hochverfügbar sein, sie werden sowohl beim Kunden als auch in der Cloud betrieben.

Das Ziel des Praktikums ist die Entwicklung eines Testing-Tools, welches die Resilienz von Systemen prüft und analysiert. Ein System soll dabei aufgrund unterschiedlicher Kriterien kontrolliert attackiert und die konkreten Auswirkungen sichtbar gemacht werden.

Die Kisters AG übernimmt dabei die Rolle des Auftraggebers, für den ein Team von jeweils fünf Studenten eine entsprechende Lösung entwickeln soll. Da der Auftraggeber während des Praktikums immer wieder seine Vorstellungen einbringen wird, ergeben sich neben technischen auch kommunikativen Herausforderungen.

Lernziele

Im Rahmen des Praktikums sollen die Studenten verschiedene Fähigkeiten im Bereich des Software-Engineering erlernen und üben. Die organisatorischen und zwischenmenschlichen Kompetenzen sollen einerseits durch die selbstständige Durchführung eines Softwareprojekts im Team über mehrere Monate hinweg sowie andererseits bei der Kommunikation mit einem Auftraggeber trainiert werden. Hierbei werden Methoden der agilen Softwareentwicklung eingesetzt. Die fachlichen Kompetenzen sollen durch die technische Umsetzung der erhobenen Anforderungen mit aktuellen Themen und Technologien, wie Git, Container- und Cloud-Technologien und Microservice-Architekturen erlernt und vertieft werden. Darüber hinaus steht es dem Team frei, welche Technologien in ihrer Lösung zum Einsatz kommen sollen.

Termine

Das Praktikum findet in der Vorlesungszeit im Wintersemester2020/21 statt. Bei allen Terminen besteht Pflicht zur Anwesenheit. Begründete Ausnahmen für einzelne Termine sind ggf. bei vorheriger Absprache möglich. Die Veranstaltung erfolgt virtuell.

Regelmäßige Termine

  • wird noch angekündigt

Einzelne Termine

  • Kick-Off Besprechung: 02.11.2020, 10:00 Uhr
  • Erstes Kundengespräch, findet voraussichtlich an einem der regelmäßigen Termine statt
  • Präsentation des Alpha-Meilensteins, findet voraussichtlich an einem der regelmäßigen Termine statt
  • Präsentation des Beta-Meilensteins, findet voraussichtlich an einem der regelmäßigen Termine statt
  • Abschlusspräsentation, Termin wird noch angekündigt

Course information

Supervisors
Course type

Software project lab

Semester:

Winter semester 2020/2021

Course language
  • German
Course level
  • Bachelor
Credit points 1

7

1: The actual number of credit points can vary depending on the study program's examination regulation version. Consult your examination regulation's module catalog or the campus information system to see the valid number of credit points.

Cooperation partner