ITPEC FE Morning April 2023 Question 50

Which of the following is the appropriate term for referring to activities such as creating a class diagram in UML from a program?

Explanation

Reverse engineering — deriving design documents such as UML class diagrams from an existing program.

Normal development runs forward, from requirements to design to code. Reverse engineering runs the other way: it analyses a finished program to recover its specifications and structure, for example to document legacy code or to understand a system before changing it. A tool that generates class diagrams from source code does exactly this.

Answer (d)

Why not others:

  • •(a) Backtracking — an algorithm technique that tries candidates and undoes steps when a path fails; it has nothing to do with design documents
  • •(b) Forward engineering — the opposite direction, from design models to code
  • •(c) Reengineering — reverse engineering followed by forward engineering to restructure or rebuild the system; drawing a diagram from code is only its first half

Key rule: Code to model is reverse engineering, model to code is forward engineering, and the two in sequence to rebuild a system are reengineering.

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.