is-Logo Software Engineering
Software Reengineering

S. Spolwig

[Home | Software Engineering]

Software und ihre Entwicklung sind u. a. wesentlich geprägt durch eine evolutionäre Weiterentwicklung gepaart mit steigender Komplexität. Zwangsläufig ergibt sich daraus Obsoleszenz und Wartungsbedürftigkeit von laufenden Programmen, weil sich zum einen verfügbare Hardware ändert und zum anderen sich auch neue oder veränderte Anforderungen ergeben können.

Anwender sehen sich daher oft vor die Frage gestellt, entweder neue Software zu beschaffen oder alte Programme anzupassen. Um das zu entscheiden ist sicher ein Blick auf die Kostenseite zu tun. Der zweite Weg kann in bestimmten Fällen wirtschaftlich oder auch notwendig sein, kann aber erschwert werden, wenn zu der Software keine oder nur magere Dokumentationen vorhanden sind. Dieses ist der Anwendungsbereich des Software-Reengineering in seinen verschiedenen Formen.

Eine verbreitete Definition sagt

"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)." 1)

Mit einigen wenigen Schaubildern2) soll das Gebiet kurz umrissen werden. Weiterführende Literatur finden Sie unter Links.

Verwandte Begriffe

Begriffe
 Quelle: Koschke, R: Software-Reengineering. 2)

Grundlegende Beiträge lieferten Chikofsky und Cross, 1990.

Wichtig sind hier

==> Revers Engineering

==> Architekturrekonstruktion

==> Restrukturierung

==> Reengineering

----------------
Quellen

1) Simon, D.; http://www.iste.uni-stuttgart.de/ps/Lehre/reengineering/
2) Grafiken mit freundlicher Genehmigung von Prof. Dr. R. Koschke, Uni Bremen
    http://www.informatik.uni-bremen.de/st/Lehre/reengineering/einfuehrung.pdf
 



©  05. Oktober 2008     Siegfried Spolwig

page_top