191k views
2 votes
Identify the reasons for re-engineering software from the given options:

p: To allow legacy software to quickly adapt to changing requirements
q: To upgrade to newer technologies/platforms/paradigm (for example, object-oriented)
r: To improve software maintainability
s: To allow a change in the functionality and architecture of the software

Code Options:

(1) p, r, and s only
(2) p and r only
(3) p, q, and s only
(4) p, q, and r only

User Benz
by
8.0k points

1 Answer

3 votes

Final answer:

(1) p, r, and s only. Software is re-engineered to adapt to changing requirements, improve maintainability, and change functionality and architecture;

Step-by-step explanation:

The correct answer is option (1) p, r, and s only. Re-engineering software is a complex process undertaken to ensure that legacy systems can adapt to changing requirements, which may include market and business environment changes.

Another significant reason is to improve software maintainability; this relates to comprehending, repairing, meeting new requirements, preventing system failures, and ensuring satisfactory performance.

Finally, re-engineering allows for a change in the functionality and architecture of the software, which can result from strategic business decisions or a need to incorporate better structures because of evolved business logic or practices.

Upgrading to newer technology or paradigm, which is option q, is usually part of a broader scope termed software modernization, rather than the narrower focus of re-engineering which doesn't necessarily include shifting paradigms or technologies but may do so if it aligns with the other goals.

User Icanc
by
8.8k points