π OOAD Overview (Object-Oriented Analysis & Design)
πΉ 1. Definition
Object-Oriented Analysis and Design (OOAD) is a software development approach that focuses on analyzing and designing a system using objects and classes.
- Object-Oriented Analysis (OOA): Understanding the problem domain
- Object-Oriented Design (OOD): Creating the solution/design
π Simple idea:
OOAD helps you go from βWhat is needed?β β βHow will it be built?β
πΉ 2. Key Concepts in OOAD
- Object: Real-world entity (e.g., Student, Car)
- Class: Blueprint of objects
- Attributes: Data of objects
- Methods: Behavior/functions
- Relationships: How objects interact
πΉ 3. Phases of OOAD β
πΈ 3.1 Object-Oriented Analysis (OOA)
Goal: Understand requirements and identify key objects.
πΉ Steps:
- Identify actors (users or external systems)
- Identify use cases (what system should do)
- Identify objects/classes
- Define relationships
Output:
- Use Case Diagram
- Conceptual Class Diagram
Example:
Library system β Actors: Member, Librarian
πΈ 3.2 Object-Oriented Design (OOD)
Goal: Transform analysis into a detailed design.
πΉ Steps:
- Define class structure
- Add attributes and methods
- Design interactions
- Apply design principles
Output:
- Detailed Class Diagrams
- Sequence Diagrams
- Activity Diagrams
πΉ 4. OOAD Process Flow
Requirements β Analysis β Design β Implementation β Testing
π OOAD mainly focuses on Analysis + Design
πΉ 5. Important OOAD Models (UML Diagrams)
πΈ 5.1 Use Case Diagram
- Shows interaction between actors and system
Diagram Description:
Stick figures (actors) connected to oval shapes (use cases)
πΈ 5.2 Class Diagram
- Shows classes, attributes, methods, relationships
πΈ 5.3 Sequence Diagram
- Shows object interactions over time
πΈ 5.4 Activity Diagram
- Shows workflow or process flow
πΈ 5.5 State Diagram
- Shows state changes of an object
πΉ 6. Principles Used in OOAD
- Abstraction β Focus on essential features
- Encapsulation β Hide data
- Inheritance β Reuse code
- Polymorphism β Many forms
πΉ 7. Example (Library System)
πΉ Analysis Phase:
- Actors: Member, Librarian
- Use Cases: Issue Book, Return Book
πΉ Design Phase:
Class: Book
- title
- author
+ issue()
+ return()
πΉ Interaction:
Member β requestBook() β Librarian β issueBook()
πΉ 8. Advantages of OOAD
- Better system understanding
- Reusability
- Easy maintenance
- Scalability
- Real-world mapping
πΉ 9. OOAD vs Traditional Approach
| Feature |
OOAD |
Traditional |
| Focus |
Objects |
Functions |
| Reuse |
High |
Low |
| Flexibility |
High |
Limited |
πΉ 10. Key Rules / Guidelines
- Identify real-world objects first
- Keep design modular
- Use UML diagrams
- Maintain low coupling & high cohesion
- Refine design iteratively
πΉ 11. Likely Exam Questions
- Define OOAD and explain its importance.
- Differentiate between OOA and OOD.
- Explain phases of OOAD.
- What are UML diagrams? Explain types.
- Describe the OOAD process flow.
- Explain use case diagram with example.
- What is class diagram?
- Advantages of OOAD over traditional methods.
- Explain role of objects in OOAD.
- Draw and explain sequence diagram.
πΉ 12. Quick Revision Summary π§
- OOAD = Analysis + Design using objects
- OOA β What system should do
- OOD β How system will work
- Uses UML diagrams
- Based on 4 pillars of OOP
π Shortcut Trick:
"AD β Analyze then Design"