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.