Software Maintenance
Reverse Engineering
- Extract original design from spaghetti-like, undocumented code to make maintenance change request
- Abstract meaningful design specifications that can be used by maintenance programmers to perform maintenance tasks
Reengineering
- Examination and changing of a system to reconstitute it in form and functionality
- Reimplementation
Restructuring
- Restructures code into standard control constructs
- sequence, selection, repetition