ITPEC FE Morning April 2022 Question 51

The software reengineering process can be divided into four sub-processes: program modularization, program structure improvement, reverse engineering, and source code translation. Which of the following is a process that focuses on functional analysis and information extraction?

Explanation

Reverse engineering — the reengineering sub-process that analyses the existing program to extract its functions, design and data.

Reengineering rebuilds an existing, often legacy, system into a more maintainable one. Before the code can be restructured or translated, it must be understood: reverse engineering analyses the source code and data to recover the specifications, design documents and functional structure. The other three sub-processes then change the code using that information.

Answer (c)

Why not others:

  • •(a) Program modularization — regroups related parts of the program into modules, changing how the code is organised rather than extracting information
  • •(b) Program structure improvement — rewrites the control structure, for example removing unstructured jumps, to make the code easier to maintain
  • •(d) Source code translation — converts the program from one programming language to another

Key rule: Reverse engineering goes from the product back to its design, forward engineering from the design to the product, and reengineering does one after the other.

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 FE past-paper collection or Report an issue.