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
- Which of the following is not a key strategy followed by the clean room approach to software development?
- Consider the following statements: P: Refactoring is the process of changing a software system in such a way that it does not alter the ext…
- Statistical software quality assurance in software engineering involves ______.
- A signal processor software is expected to operate for 91.25 days after repair, and the mean software repair time is expected to be 5 minut…
- Which of the following is not one of three software product aspects addressed by McCall's software quality factors?
- A server has 30 days mean time between failure (MTBF) and 12 hours mean time to repair (MTTR). The availability of the server is approximat…