Grundbegriffe der Softwaresanierung

23.09.1994

Forward Engineering umfasst den traditionellen Software- Engineering-Prozess von der abstrakten Anforderungsspezifikation ueber ein logisches, von der Implementierung unabhaengiges Design bis zur physischen Installation des Systems.

Beim Reverse Engineering werden die Systemkomponenten und ihre Beziehungen zueinander analysiert sowie Darstellungsweisen des Systems in einer anderen Form oder auf einer hoeheren Abstraktionsebene erstellt. Das zugrundeliegende System wird beim Reverse Engineering nicht geaendert, sondern lediglich analysiert.

Durch eine Redokumentation entsteht eine Darstellung des Systems auf derselben Abstraktionsebene. Beim Redesign wird, von der physischen Implementierung ausgehend, die naechsthoehere Abstraktionsebene - das Design - erstellt. Die Respezifikation geht von den Designergebnissen aus und versucht, die Anforderungsspezifikation herzuleiten.

Die Restrukturierung sorgt fuer die Transformation der Objekte einer Phase von einem unstrukturierten in einen strukturierten Zustand. Die Transformationen koennen sich auf den Quellcode, das Datenmodell, die Designergebnisse und/oder die Anforderungsspezifikation beziehen.

Das Re-Engineering umfasst das Reverse Engineering, das durch Restrukturierungs- und Forward-Engineering-Massnahmen ergaenzt wird. Dabei laesst sich das System, im Gegensatz zum reinen Reverse Engineering oder zur Restrukturierung, an neue Anforderungen anpassen.