SOFTWARE
RE-ENGINEERING
PRESENTED BY: AMAN GAUR
MCA
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
STEPS INVOLVED IN RE- ENGINEERING
 SOURCE CODE TRANSLATION
 REVERSE ENGINEERING
 PROGRAM STRUCTURE IMPROVEMENT
 PROGRAM MODULARISATION
 DATA RE-ENGINEERING
SOURCE CODE TRANSLATION
 CONVERTING CODE FROM ONE LANGUAGE TO
ANOTHER
 NEED OF TRANSLATION:
-> HARDWARE PLATFORM UPDATE
-> STAFF SKILL SHORTAGE
-> ORGANISATIONAL POLICY CHANGES
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
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
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
-> DATAABSTRACTIONS
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
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
Inventory
Analysis
Forward
Engineering
Document
Reconstruction
Data Re-
Construction
Reverse
Engineering
Code Re-
Construction
Re-engineering
THANK YOU

Presentation1.pptx