Wikipedia · einfach zusammengefasst · Stand
Reengineering (Software)
Ein Reengineering zur Verbesserung der Softwarequalität ist oft erforderlich, um die Qualität und Wartbarkeit von Software langfristig zu gewährleisten, da in …
Inhalt2 Abschnitte
Begriff und Zweck
Reengineering bezeichnet in der Softwareentwicklung die Anpassung eines Softwaresystems, also eines Computerprogramms, bei meist gleichbleibender Funktionalität. Es wird häufig durchgeführt, um die Softwarequalität zu verbessern und die langfristige Wartbarkeit zu gewährleisten.
Ein typisches Ziel ist die Beseitigung von Schwachstellen. Dadurch sollen anschließend neue Anforderungen leichter umgesetzt werden können. Reengineering wird außerdem häufig im Zusammenhang mit der Portierung auf eine andere Plattform eingesetzt.
Abgrenzung zu verwandten Verfahren
Wenn keine Spezifikation oder Dokumentation der Software vorhanden ist und diese Informationen aus der Implementierung selbst abgeleitet werden müssen, spricht man von Reverse Engineering. Dieser Prozess kann den anfänglichen Teil eines Reengineerings bilden.
Refactoring hat eine ähnliche Bedeutung wie Reengineering, bezieht sich jedoch auf qualitätsverbessernde Anpassungen auf niedrigerem Abstraktionsniveau. Solche Änderungen lassen sich teilweise automatisieren. Ein Refactoring kann daher Bestandteil eines Reengineerings sein.
Die Notwendigkeit für Reengineering entsteht oft durch Softwarealterung: Im Laufe der Zeit kann die Softwarequalität durch zahlreiche funktionelle Anpassungen abnehmen. Reengineering soll dieser Entwicklung entgegenwirken und Qualität sowie Wartbarkeit langfristig sichern.