All mock tests are FREE till 31 December — register to save your progress
Unit 6 · Software Engineering Paper 2 CS · July 2018

Which of the following are the reasons for software re-engineering?
P: Allow legacy software to quickly adapt to the changing requirements.
Q: Upgrade to newer technologies/platforms/paradigm (for example, object-oriented).
R: Improve software maintainability.
S: Allow change in the functionality and architecture of the software.

Pick an option to check yourself, or open the answer below.

Show answer & explanation

Correct answer: D. P, Q and R only

Explanation

The answer is P, Q and R only. Re-engineering is undertaken to let ageing legacy code keep up with changing requirements (P), to migrate it to a newer technology, platform or paradigm such as object orientation (Q), and above all to restructure it so that it becomes easier to maintain (R). S is not a reason, because by definition re-engineering restructures a system while preserving its external functionality; changing what the software does is new development or enhancement, not re-engineering. Option (4) is therefore the only set that excludes S.

More Software Engineering questions