Software �Re-engineering�
Software re-engineering
Objectives
Topics covered
System re-engineering
When to re-engineer
Re-engineering advantages
Business process re-engineering
Forward engineering and re-engineering
The re-engineering process
Re-engineering cost factors
Re-engineering approaches
Source code translation
The program translation process
Reverse engineering
The reverse engineering process
Reverse engineering
Program structure improvement
Spaghetti logic
Structured control logic
Condition simplification
-- Complex condition
if not (A > B and (C < D or not ( E > F) ) )...
-- Simplified condition
if (A <= B and (C>= D or E > F)...
Automatic program restructuring
Restructuring problems
Program modularisation
Module types
Recovering data abstractions
Data abstraction recovery
Data re-engineering
Approaches to data re-engineering
Data problems
Data migration
Data problems
Data value inconsistencies
Data conversion
The data re-engineering process
Key points
Key points