ITPEC IP October 2019 Question 50

There is a software program that has been developed in-house by a company and that has been used for many years, but the documentation is insufficient and the maintainability is not good. In order to create documentation for maintenance, the software program was analyzed. What is this method called?

Explanation

Reverse engineering — analysing an existing program to recover its specification, design and structure.

Normal (forward) engineering goes from requirements to design to code. Reverse engineering works backwards from a finished, running program to its design documents, such as module structure, data definitions or class diagrams. It is used exactly as here: to rebuild documentation for software that has been maintained for years without it, before changing or reusing it.

Answer (d)

Why not others:

  • •(a) Waterfall model — a development model that runs the phases once in order, from requirements to testing, without going back
  • •(b) Spiral model — a development model that repeats design, development and evaluation, growing the system with each turn
  • •(c) Prototyping — building a trial version early so that users can check the requirements, a way to develop a new system, not to analyse an old one

Key rule: Forward engineering builds code from designs; reverse engineering recovers designs from code, often as the first step of re-engineering.

Software Development Management Techniques · AI-written, may contain errors

This question comes from an official ITPEC past paper. ITPEC Practice is an independent study tool and is not affiliated with ITPEC. See the official IP past-paper collection or Report an issue.