2. WHAT IS RE-ENGINEERING?
Examination and alteration of a system to
reconstruct it in a new form
Reorganising and modifying existing
software systems to make them more
maintainable
3. STEPS INVOLVED IN RE-
ENGINEERING
Source code translation
Reverse engineering
program structure improvement
program modularisation
data re-engineering
4. SOURCE CODE
TRANSLATION
Converting code from one language to
another
need of translation:
-> Hardware platform update
-> staff skill shortage
-> organisational policy changes
7. REVERSE ENGINEERING
Reorganising and modifying existing software
systems to make them more maintainable
the program itself is unchanged
it is not the same as re-engineering
8. PROGRAM STRUCTURE
IMPROVEMENT
Reorganising and modifying existing software
systems to make them more maintainable
the program may be automatically restructured
to remove unconditional branches
conditions may be simplified to make them more
readable
9. PROGRAM MODULARISATIO
The process of re-organising a program so
that related program parts are collected
together in a single module
different modules can be created:
-> Hardware modules
-> functional modules
-> process support modules
10. DATA RE-ENGINEERING
Involves analysing and reorganising the data
structures in a system to make it more
understandable
objective is to create a managed data
environment
11. CONCLUSION
• Software re-engineering is a cost effective option
for system evolution
• consists of many sub-processes
• the objective of re-engineering is to improve the
system structure to make it easier to understand
and maintain