  The nature of software re-engineering is to improve or transform existing
software so it can be understood, controlled and reused as new software. Needs,
the necessity of re-engineering software has greatly increased. The system
software has become obsolete no longer used in architecture, platform they're
running, stable and consistent they support the development and support needs
change. Software re-engineering is vital to restore and reuse the things
inherent in the existing software, put the cost of software maintenance to the
lowest in the control and establish a basis for the development of software in
the future.

Software Engineering