Modern software engineering is mostly concerned with a paradigm of evolutionary systems .Re-Engineering offers an approach to have the evolvable systems rather than legacy systems. The process of reengineering may be applied as engineering principles to an existing system to meet the new requirements of that system .With the view of software reengineering we have discussed its different forms including reverse engineering , data restructuring , program restructuring and source code translation . The purpose of reengineering is to increase the efficiency and decrease the overhead.
After the half of 20th century, Software Industry has been grown up with tremendous high rate . Now a days softwares are used in almost every organizational activity . These systems should be maintained and evolved according to the new requirements and with the introduction of new hardware .For some systems it has been estimated that the eighty percent of total expenditures are consume just for evolving and maintenance . There is huge backlog of maintenance requests .So some organizations avoid to improve their system. Old systems that are still to be maintained are called "Legacy System". The a