volume_mute
Reengineering vs. Refactoring - Key Difference
publish date: 2026/06/24 21:27:39.016083 UTC
volume_muteMatch each statement to whether it describes reengineering or refactoring.
drag and drop the selected option to the right place
Correct Answer
(1) Takes place after a system has been maintained for some time and maintenance costs are increasing,Reengineering
(2) Is a continuous process of improvement throughout development and evolution,Refactoring
(3) Uses automated tools to process a legacy system and create a new, more maintainable version,Reengineering
(4) Is intended to avoid the structure and code degradation that increases maintenance difficulty,Refactoring
Explanation
Although reengineering and refactoring both aim to make software easier to understand and change, they differ: reengineering happens after maintenance costs have already become significant and uses automated tools on a legacy system; refactoring is a continuous, ongoing process throughout development and evolution intended to prevent degradation in the first place.
Reference
Software Engineering, Ian Sommerville, 10th edition
