Reasons to re-engineer a software include : P : Allow legacy software to…

2018

Reasons to re-engineer a software include :
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
Code :

  1. A.

    P, R and S only

  2. B.

    P and R only

  3. C.

    P, Q and S only

  4. D.

    P, Q and R only

Attempted by 207 students.

Show answer & explanation

Correct answer: D

Answer: P, Q and R are correct.

  • P — Allow legacy software to quickly adapt to the changing requirements: True. Re-engineering (including techniques like refactoring) helps make the codebase easier to modify so it can meet evolving requirements.

  • Q — Upgrade to newer technologies/platforms/paradigm (for example, object-oriented): True. Migrating to modern platforms or paradigms is a common motive for re-engineering to gain maintainability, performance, or interoperability benefits.

  • R — Improve software maintainability: True. A core goal of re-engineering is improving internal structure, reducing technical debt, and making future maintenance easier and cheaper.

  • S — Allow change in the functionality and architecture of the software: False as a reason for re-engineering. Re-engineering normally preserves the system's external functionality; changing functionality is a design/feature change rather than re-engineering. Significant functional changes are handled through redevelopment or enhancement projects.

Summary: Re-engineering aims to make legacy systems easier to maintain and evolve and to move them to modern technologies, without altering their external behavior. Therefore, the correct set of reasons is the three statements that describe adaptability, technology upgrade, and maintainability.

A video solution is available for this question — log in and enroll to watch it.

Explore the full course: Mppsc Assistant Professor