---
title: "Short note: Information in forward/reverse engineering"
subject: "Object Oriented Analysis and Design"
chapter: 4
key: "semester_6/object_oriented_analysis_and_design:short-note-information-content-forward-reverse"
source: https://www.bctengineer.com/q/semester_6/object_oriented_analysis_and_design/short-note-information-content-forward-reverse
site: BCT Engineering
---

# Short note: Information in forward/reverse engineering

Object Oriented Analysis and Design · Chapter 4: Implementation

- Asked in: 2073 Bhadra, 4 marks
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_6/object_oriented_analysis_and_design/short-note-information-content-forward-reverse
- Whole chapter: https://www.bctengineer.com/md/semester_6/object_oriented_analysis_and_design/chapter-4

## Question

Write a short note on Information content in forward and reverse engineering.

## Short answer

Forward engineering transforms abstract models into detailed code, adding information and preserving design intent. Reverse engineering recovers high-level models from code, but abstracts away detail and loses design rationale, yielding incomplete models.

## Answer

**Information content** is the amount and level of detail of design information that is available to or produced by the process.

#### Forward engineering
- Goes from abstract, high-level information to detailed low-level information.
- **Input:** requirements, use cases, domain and design models (class, sequence diagrams) with business rules and design intent.
- **Output:** source code and database schemas. Information is **added** at each step (algorithms, data types, platform details).
- Information content therefore **increases** as the process moves towards code, and the intent of the designer is known.

#### Reverse engineering
- Goes from low-level to high-level.
- **Input:** source code, binaries, database. Contains much detail (control flow, data structures) but not the requirements, design rationale or business rules.
- **Output:** recovered class diagrams, call graphs, sequence diagrams, documentation.
- Information is **abstracted**; some information (comments, intent, naming, design decisions) is lost or has to be guessed, so the recovered models are less complete than the original ones.

```text
 Forward:   Requirements -> Design -> Code     (info added)
 Reverse:   Code -> Design -> Requirements     (info abstracted,
                                                 intent lost)
```

| Point | Forward | Reverse |
|---|---|---|
| Information flow | Abstract to detail | Detail to abstract |
| Design intent | Known | Must be inferred |
| Completeness of the result | High | Partial |

**Round-trip engineering** combines both so that the model and the code stay synchronised.

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. How does information content change in forward engineering?
   A. It decreases as code is produced
   B. It increases as detail is added from requirements towards code
   C. It stays unchanged
   D. It is lost
   Answer: B. Forward engineering goes from abstract to detailed, adding algorithms, data types and platform details. (Key point: Forward engineering)

2. What does the input of reverse engineering lack?
   A. Control flow
   B. Data structures
   C. Requirements, design rationale and business rules
   D. Source code
   Answer: C. Code has detail but not the requirements, rationale or business rules. (Key point: Reverse engineering input)

3. What is true of design intent in reverse engineering?
   A. It is fully known
   B. It must be inferred, so recovered models are partial
   C. It is stored in the binary
   D. It is irrelevant but complete
   Answer: B. Comments, intent and decisions are lost or guessed, so results are less complete. (Key point: Design intent)

4. What is round-trip engineering?
   A. Only reverse engineering
   B. Combining forward and reverse engineering to keep model and code synchronised
   C. Deleting code
   D. Testing only
   Answer: B. It combines both so the model and the code stay synchronised. (Key point: Round-trip engineering)

## Related in Object Oriented Analysis and Design

- [Forward vs reverse engineering merits and demerits](https://www.bctengineer.com/question.md?key=semester_6%2Fobject_oriented_analysis_and_design%3Aforward-reverse-engineering-merits) — Object Oriented Analysis and Design, chapter 4, asked 3×

## Related in other subjects

- [Forward and reverse biased pn junction](https://www.bctengineer.com/question.md?key=semester_3%2Felectrical_engineering_material%3Aforward-reverse-bias) — Electrical Engineering Material, chapter 6
- [Forward/reverse channel and 5G versus 4G](https://www.bctengineer.com/question.md?key=semester_7%2Fwireless_communication%3Aforward-reverse-5g-vs-4g) — Wireless Communication, chapter 1, asked 2×
- [Forward and reverse channel](https://www.bctengineer.com/question.md?key=semester_7%2Fwireless_communication%3Aforward-reverse-channel) — Wireless Communication, chapter 1
- [Forward/reverse channel and features of 5G](https://www.bctengineer.com/question.md?key=semester_7%2Fwireless_communication%3Aforward-reverse-5g-features) — Wireless Communication, chapter 1
