Software Reengineering (InfM-SRE)
Zurzeit kein Angebot
Aktuell ist kein weiteres Angebot des Moduls Software-Reengineering (InfM-SRE) geplant. Die letzte Durchführung erfolgte im Sommersemester 2022.
Vorlesung
64-448 Vorlesung Software-Reengineering
Vertiefungsmodul für Master-Studenten der Studiengänge Informatik, Wirtschaftsinformatik und ITMC
Dozent: Prof. Matthias Riebisch
Zeit und Ort: Di 14-18 Uhr, Raum: D-125/129
Inhalt:
- Anforderungen an Softwaresysteme unterliegen vielfältigen Änderungen in schneller Folge. Kann eine Software nicht mehr entsprechend verändert werden, verliert sie ihre Nutzbarkeit. Bei der Durchführung von Änderungen (oft als Wartung bezeichnet) müssen strukturelle Mängel vermieden werden, weil sonst eine abnehmende Änderbarkeit eintritt. Wirtschaftliche Schäden wären die Folge, weil auch eine Neuentwicklung der Software wegen Kosten und Risiken keinen Ausweg darstellt. Zur Vermeidung dieser Situation müssen Änderungen in Reengineering-Maßnahmen integriert werden. Das Modul behandelt Maßnahmen für die Verbesserung der Struktur von existierenden Softwaresystemen mit dem Ziel ihrer Vereinfachung und der Verbesserung der Erweiterbarkeit und weiterer Qualitätsmerkmale wie Verständlichkeit, Robustheit und Portierbarkeit. Dabei wird vorrangig die Softwarearchitektur verändert, die Funktionalität des Systems nicht oder nur wenig. Die Begriffe Refactoring und Software-Wartung beschreiben Teilaspekte des Reengineering.
Lernziel:
- Die Studierenden erkennen und erlernen anhand des Themas Techniken der Analyse, der Bewertung, und der Überarbeitung von Legacy-Systemen auf den Ebenen Code und Modell kennen. Dabei wird auf die Wechselwirkungen von Anforderungen und Qualitätszielen einerseits und Technologien und Mitarbeiterkompetenzen andererseits mit den Techniken des Reengineering eingegangen. Im Blickpunkt stehen dabei Fragen der Effizienz der Techniken vor dem Hintergrund hoher Komplexität und nicht immer hohen Qualitätsstands von Dokumentationen. Dabei werden verschiedene Arten von Werkzeugunterstützung vorgestellt.
- Dies wird sie befähigen, existierende Softwaresysteme zu bewerten, zu überarbeiten und weiterzuentwickeln. Des Weiteren verstehen sie, welche Analyse- und Bearbeitungstechniken für unterschiedliche Ebenen der Bearbeitung (System-, Komponenten-, Modul-Ebene) geeignet sind und nach welchen Kriterien diese Techniken auszuwählen sind.
Materialien:
in Moodle bereit gestellt
Seminar/Übung
Dieses Seminar ist Teil des Moduls
64-449 Integriertes Seminar/Übung - Software Reengineering
Dozenten: Prof. Matthias Riebisch, Marion Wiese
Termine:
Seminar Gruppe 1: Di 14-18 Uhr, Raum: D-125/129
Seminar Gruppe 2: Di 14-18 Uhr, Raum: D-220
Verbindliche Abgabe- und Vortragstermine im Moodle-Kurs
Die Termine von Seminar/Übung und Vorlesung sind gemäß des Zeitplans in Moodle aufgeteilt, abweichend von den Angaben in Stine. Auch die Einteilung in Gruppen finden Sie in Moodle.
Ablauf:
- Im Seminar vertiefen Sie sich in einen Bereich des Software - Reengineering. Dabei ist es möglich sich dem Thema durch Analyse eines unterstützenden Werkzeugs anhand von Fallbeispielen zu nähern oder sich auf einer theoretischen Ebene mit bestimmten Aspekten der Software Reengineerings zu beschäftigen.
- Die unterschiedlichen Aktivitäten werden von den Teilnehmern in Kleingruppen eigenständig unter Beaufsichtigung durchgeführt.
- Aktuelle Informationen sind in Stine oder im Moodle-Kurs einzusehen.
- Voraussetzungen: Für eine erfolgreiche Teilnahme an Übung/Seminar sind wegen der praktischen Anteile gute Fertigkeiten der Programmiersprache Java (oder einer anderen objektorientierten Sprache) erforderlich, wenn man sich mit der Werkzeugbewertung beschäftigen möchte.
- Im Rahmen des Seminars wird eine wissenschaftlich Studie zu Lernmethoden stattfinden. Die Studierenden werden aufgefordert an der Studie teilzunehmen. (Die Erledigung einer Alternativ-Aufgabe ist möglich.)
Aufgabenstellungen und Materialien:
in Moodle-Kurs bereitgestellt