Der Begriff des Re-Engineering bezeichnet in der Softwareentwicklung die Anpassung eines bestehenden Systems, zumeist mit dem Ziel, bestehende Schwachstellen zu eliminieren und die Umsetzung neuer Anforderungen zu ermöglichen. Auch im Zusammenhang mit der Portierung des Systems auf eine andere Plattform wird häufig ein Re-Engineering durchgeführt.
Für den Fall, dass bei der Durchführung eines Re-Engineering keine Spezifikation oder Dokumentation der Software verfügbar ist und diese aus der Implementierung selbst abgeleitet werden muss, bezeichnet man den Prozess als Reverse Engineering.
Oft schwindet die Qualität einer Software im Laufe der Zeit aufgrund von wiederholt durchgeführten funktionellen Anpassungen. Dieser Prozess wird auch als Softwarealterung bezeichnet. Um langfristig die Qualität und Wartbarkeit von Software zu gewährleisten, ist deshalb oftmals ein Re-Engineering erforderlich.
Lesen Sie weiter