Software evolution
This chapter introduces the concepts and methods of software evolution, including the characteristics of software evolution, software maintenance activities, reverse engineering and re-engineering.
Software maintenance is an inevitable process. Software maintenance is the modification of software products during the operation or maintenance phase of the software, which may be to correct errors in the software or to add new functionality to accommodate new requirements, but generally does not include significant changes in the structure of software systems, including: corrective maintenance, adaptive maintenance, and improved maintenance. The characteristics of software maintenance: Software maintenance is affected by the development process, software maintenance is more difficult, software maintenance cost is high. The software re-engineering takes the system understanding as the foundation, unifies the reverse engineering, the reconstruction and the forward engineering and so on the method, has brought the existing system to the new form, including: Object selection, reverse engineering, document reconstruction, code reconstruction, data reconstruction.
Theory, method and practice of software Engineering (11th chapter)