Issue No.05 - September/October (2011 vol.28)
Frank Buschmann , Siemens Corporate Technology
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MS.2011.97
Reengineering and rewriting are two common approaches for improving system quality—in addition to refactoring, which the last installment of this column explored. Reengineering is a systematic approach to evolve existing software to exhibit new behavior, features, and operational quality. Refactoring and reengineering aren't the same, and they're also different from rewriting—the most radical change—which involves wiping the slate clean and starting over.
refactoring, reengineering, rewriting, functional quality, developmental quality, operational quality, software, software engineering
Frank Buschmann, "Gardening Your Architecture, Part 2: Reengineering and Rewriting", IEEE Software, vol.28, no. 5, pp. 21-23, September/October 2011, doi:10.1109/MS.2011.97