---
title: "Is OOP enough in OOAD"
subject: "Object Oriented Analysis and Design"
chapter: 1
key: "semester_6/object_oriented_analysis_and_design:oop-enough-in-ooad"
source: https://www.bctengineer.com/q/semester_6/object_oriented_analysis_and_design/oop-enough-in-ooad
site: BCT Engineering
---

# Is OOP enough in OOAD

Object Oriented Analysis and Design · Chapter 1: Object Oriented Fundamentals

- Asked in: 2071 Magh, 7 marks
- Video: [Object Oriented Analysis and Design Explained for Beginners - OOAD OOP - codnify](https://www.youtube.com/watch?v=f3yfyGlonPw) — arribion
- 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/oop-enough-in-ooad
- Whole chapter: https://www.bctengineer.com/md/semester_6/object_oriented_analysis_and_design/chapter-1

## Question

Is OOP concept enough in OOAD? Prepare an explanatory note about OOAD introduction.

## Short answer

No, OOP only covers programming constructs; OOAD also requires analysis (finding what to build), design (assigning responsibilities using GRASP, patterns), requirements capture, UML modeling, and an iterative process.

## Answer

**No, OOP concepts alone are not enough for OOAD.** OOP (classes, objects, inheritance, polymorphism, encapsulation) is *programming* knowledge: it tells us how to write code with objects. OOAD is the *engineering process* that decides which objects and classes should exist, what responsibilities they have and how they collaborate, before programming begins. A person who knows Java syntax can still produce a poor design.

#### Introduction to OOAD
- **Object-Oriented Analysis (OOA)** studies the problem domain and finds the objects, concepts and use cases that matter. It focuses on *what* the system does.
- **Object-Oriented Design (OOD)** defines the software objects, their responsibilities, collaborations and architecture to meet the requirements. It focuses on *how*.
- Both use the **UML** to model and communicate, and follow a process such as the **Unified Process**, which is iterative.

#### What OOAD needs beyond OOP

| Needed in OOAD | Why OOP does not give it |
|---|---|
| Requirements capture (use cases) | OOP assumes the problem is already known |
| Domain modelling | Finding the right classes needs analysis |
| Responsibility assignment (GRASP) | OOP does not tell which class should do what |
| UML modelling | Communication with team and customer |
| Design patterns, architecture | Solve recurring design problems |
| Iterative process, testing, risk management | Project-level activities |

```text
 Problem -> OOA -> OOD -> OOP (code)
           (what)  (how)  (write)
```

**Example:** For a "library system", OOP lets us write class `Book`. OOAD tells us that `Loan` is a separate class, that `Member` should create `Loan` (Creator), that fine calculation belongs to `Loan` (Information Expert), and shows these in class and sequence diagrams.

So OOP is a necessary tool for implementation, but OOAD (analysis, modelling, design principles, patterns and process) is needed to build good systems.

## Check yourself

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

1. Why is knowing OOP concepts not enough for OOAD?
   A. OOP is only a programming knowledge; OOAD decides which classes exist, their responsibilities and collaborations before coding
   B. OOP is more advanced than OOAD
   C. OOAD only uses syntax
   D. OOP cannot create classes
   Answer: A. A person who knows Java syntax can still produce a poor design. (Key point: OOP not enough)

2. In the library example, what does OOAD (GRASP) decide that OOP does not?
   A. The syntax of class Book
   B. Which class should do what, e.g. Loan calculates the fine (Information Expert)
   C. The compiler to use
   D. The keyboard layout
   Answer: B. OOP does not tell which class should have which responsibility. (Key point: Responsibility assignment)

3. What is the sequence of the OOAD flow?
   A. Problem, OOP, OOD, OOA
   B. Problem, OOA (what), OOD (how), OOP (write code)
   C. OOD, problem, OOA, OOP
   D. Problem, code, analysis
   Answer: B. Analysis precedes design, which precedes programming. (Key point: OOA vs OOD focus)

4. What do OOAD methods use for communication and process?
   A. UML modelling and an iterative process such as Unified Process
   B. Flowcharts only, in waterfall
   C. Only code comments
   D. No process
   Answer: A. UML supports communication; the Unified Process is iterative. (Key point: Process and UML)

## Related in Object Oriented Analysis and Design

- [Requirement alternatives and SRS document](https://www.bctengineer.com/question.md?key=semester_6%2Fobject_oriented_analysis_and_design%3Arequirement-alternatives-srs-unified-process) — Object Oriented Analysis and Design, chapter 2

## Related in other subjects

- [Simple program illustrating OOP concept](https://www.bctengineer.com/question.md?key=semester_3%2Fobject_oriented_programming%3Aoop-simple-program) — Object Oriented Programming, chapter 1
- [Transpose of matrix using OOP](https://www.bctengineer.com/question.md?key=semester_3%2Fobject_oriented_programming%3Amatrix-transpose-oop) — Object Oriented Programming, chapter 1
