Software-Reengineering
Modul - Informatik: Aufbau Praktische Informatik
Software-Reengineering besch?ftigt sich mit Wiedergewinnung verlorener Informationen über existierende Software-Systeme (Reverse Engineering), Restrukturierung der Beschreibung des Systems (Restructuring) und der nachfolgenden Implementierung der ?nderungen (Alteration). Reengineering hat dabei nicht nur mit alter Software zu tun; gerade neuere objekt-orientierte Systeme erfordern oft schon bald eine Restrukturierung, weshalb sich ein guter Teil der Vorlesung speziell objekt-orientierter Software widmet (Restrukturierung von Klassenhierarchien, automatisches Refactoring). Auch im Kontext neuerer Ans?tze des Software-Engineerings zur Entwicklung ?hnlicher Produkte als Produktlinie findet Reengineering Einsatz.
Die Vorlesung "Software-Reengineering" besch?ftigt sich mit der Methodik des systematischen lnformationengewinns über existierende Programme, die formale Repr?sentation von Programmen sowie mit Methoden für semantikerhaltende Transformationen von Programmen. Die in der Vorlesung dargestellte formale Begriffsanalyse bildet eine mathematisch fundierte Methode zur Analyse verschiedener Relationen in Programmen, die auch in anderen Gebieten der Informatik eingesetzt werden kann.
Die ?bungen dienen - neben der Wiederholung und praktischen Vertiefung des Vorlesungsinhalts - auch der Vorstellung existierender Reengineering-Werkzeuge.
Lernergebnisse
Die Studierenden verfügen über folgende Fachkompetenzen:
- auf welchen Ebenen man Code analysieren kann,
- wie man Schwachstellen des Codes auffindet,
- wie man duplizierten Code automatisch aufspürt,
- wie man Abh?ngigkeiten zwischen Anweisungen nachverfolgen kann
- wie man Code-Muster findet,
- wie man den Code automatisch transformieren kann,
- wie man die Stellen im Code findet, die eine bestimmte Funktionalit?t implementieren,
- wie man Vererbungshierarchien restrukturieren kann,
- wie man Software visualisieren kann,
- wie man Software-Architekturen rekonstruiert
- wie man Reengineering-Projekte organisiert.
Inhalte
allgemeiner ?berblick über das Thema sowie Beziehung des Reengineerings zu verwandten Gebieten der Software-Wartung,
Wrapping, etc.Zwischendarstellungen für Programmanalysen (abstrakte Syntaxb?ume, Program Dependency Graph, Static Single Assignment
Form), Datenfluss-/KontrollflussanalysenSoftware-Metriken
Software-Architekturrekonstruktion: Reflexionsmethode, Software-Clustering, Symphony
Program Slicing
Klonerkennung
Mustersuche
automatische Code-Transformationen und Refactoring
Begriffsanalyse
Merkmaisuche
Analyse und Restrukturierung von Vererbungshierarchien
Software Visualisierung
Planung und Durchführung von Reengineering-Projekten, Prozessmodelle des Reengineerings
In Kürze
Inhalt:
Wiedergewinnung verlorener Informationen über existierende Software-Systeme (Reverse Engineering), Restrukturierung der Beschreibung des Systems (Restructuring) und der nachfolgenden Implementierung der ?nderungen (Alteration)
Niveau: Master-Modul
Veranstaltungsform:
Vorlesung und ?bung
Semester: Wintersemester
Umfang: 6 CP
Modulverantwortung
Prof. Dr. R. Koschke
Zielgruppe
Fachkr?fte aus den Arbeitsfeldern Informationstechnik und Medien
Zugangsvoraussetzungen
einschl?giger Bachelor-Abschluss
eine mindestens einj?hrige Berufspraxis
Nutzen Sie unsere Beratungsangebote und erfahren Sie 澳门皇冠_皇冠足球比分-劲爆体育 über die Zugangsvoraussetzungen zu den Mastermodulen.
Nachweis von fachspezifischen Grundlagenkenntnissen
Veranstaltungsdetails
Veranstaltungsform:
Vorlesung und ?bung
Veranstaltungszeiten:
im Wintersemester -
Termine folgen
Prüfungen & Abschluss
Prüfung:
i.d.R. Bearbeitung von ?bungsaufgaben und Fachgespr?ch oder mündliche Prüfung
Abschluss:
- Modulzertifikat
Umfang
Dauer: 1 Semester
Arbeitsaufwand:
56 Std. Pr?senzveranstaltungen
+ 124 Std. angeleitetes Selbststudium
(entspricht 6 CP)
Teilnahmeentgelt
450 Euro (= 75 Euro pro CP)
Mitglieder des Alumni-Vereins der Universit?t Bremen erhalten 5 % Rabatt.
Information & Beratung:
Sie interessieren sich für unser Angebot im Bereich "Informatik, Digitale Medien, Digitalisierung"? Wir beraten Sie gern:
J?rg Kastens
Telefon: 0421 - 218 61 617
eMail: jkastensprotect me ?!uni-bremenprotect me ?!.de