INTRODUCTION AND
BASIC CONCEPT OF
OOAD
Presented By :
Ankit Chandra Karn
Dipa Rai
BCA V
Introduction
 Process of analyzing and designing a system using the object-oriented paradigm.
 It looks at how these real-world things are connected and how they interact with each
other
 It breaks down software development into 3 main phases:
 OOA(Object Oriented Analysis)
 OOD (Object Oriented Design)
 OOP( Object Oriented Programming)
OOA (Object Oriented Analysis)
 Process of analyzing the problem domain and identifying the objects (entities) that
are relevant to the system being built.
 Focuses on understanding what the system needs to do
 Identify and Define Classes and Objects:
 Classes are templates that define the structure and behavior of objects.
 Objects are instances of classes that represent real-world entities
 Example: In an online shopping system, objects could be Customer, Product,
Shopping Cart.
 Determining Relationships Between Objects:
 Identify how objects are connected or interact with each other.
 Defining Attributes and Behaviors of Objects:
 Attributes are the characteristics or properties of an object (e.g., a Product may
have attributes like price and name).
 Process of designing how the objects will interact with each other and how the system
will be structured
 Define the System’s Architecture and Class Structure:
 Identify the high-level structure of the system (e.g., modules, components).
 Design the class structure (how the classes will be organized, including their
attributes and methods).
 Specify How Objects Will Interact:
 Design the interactions between objects Use diagrams like sequence diagrams and
collaboration diagrams to show how objects will exchange information.
 Define Relationships and Behaviors:
 Define any inheritance or polymorphism between objects
OOD (Object Oriented Design)
OOP( Object Oriented Programming)
 Process of translating the design (from OOD) into actual working code.
 Focuses on implementing the system using object-oriented programming languages like
Java, Python, C++, etc.
 Key Concepts in OOP:
 Encapsulation:
 Inheritance:
 Polymorphism:
 Abstraction:
Basic Concepts : Class
 A class is a blueprint or template for creating objects.
 It defines attributes (data) and methods (behavior).
 It does not hold real data — only structure.
 You can create multiple objects from a single class.
 Used to represent real-world entities in code.
 Example
Object
 An object is a real instance of a class.
 It holds actual values in its attributes.
 Objects use methods defined in the class to perform actions.
 Each object has its own identity, state, and behavior.
 Created using the new keyword (in languages like Java, C++).
 Example:
Abstraction
 Abstraction means hiding unnecessary details and showing only the essential features.
 It helps in reducing complexity by focusing on what an object does instead of how it does
it.
 Used to design systems in a simpler and cleaner way.
 It Improves code readability and enhances security by hiding internal code.
 Example :
 makeSound() is defined in the abstract class, but actual behavior is provided in the
subclass.
Encapsulation
 Encapsulation means binding data and methods that operate on the data into a single unit (i.e., a
class).
 It helps in protecting data from unauthorized access.
 It ensures data security and prevents unauthorized access
 Example :
 Here, the name variable is hidden and can be accessed only via getName() and setName() methods.
Polymorphism
 Polymorphism means "many forms".
 It allows one interface to be used for different types of actions.
 The same method name can behave differently depending on the object or
context.
 Promotes code reusability and supports extensibility (easy to add new
features).
 Real-World Example : Same individual can act as a teacher, parent, or friend
depending on the situation.
Hierarchy
 Hierarchy refers to the organization of classes in a parent-child (superclass-subclass)
structure.
 It shows inheritance relationships where subclasses inherit features from superclasses.
 Helps in classifying and organizing objects in a structured way.
 Types of Inheritance (Hierarchy)
 Single Inheritance
One class inherits from another.
 Multilevel Inheritance
Class A → Class B → Class C
 Hierarchical Inheritance
One parent class → multiple child classes.
Hierarchy
 Example :
 Dog inherits the eat() method from Animal — shows a hierarchical relationship.
Modularity
 Modularity means dividing a system into separate independent
units (called modules or components).
 Each module represents a specific functionality or part of the
system.
 Enables team collaboration — different people can work on
different modules.
 Real-World Example : A car has different modules: engine,
brakes, steering, music system. Each can function independently
but contributes to the whole system.
Object Interaction
 Object interaction refers to how objects communicate with each other in a system.
 Done through method calls, where one object uses the methods or services of another.
 It shows the collaboration between objects to complete tasks or achieve goals.
 Makes system dynamic and flexible and supports reusability of objects across different
interactions.
 Example :
 The Car object interacts with the Engine object to perform its task.
Interface
 An interface defines a contract that classes must follow.
 It contains method signatures only – no implementation.
 Any class that implements the interface must provide the actual method
definitions.
 Promotes abstraction and loose coupling in object-oriented design.
 Real-World Example : Remote control interface: Defines buttons like power(),
volumeUp(), channelDown() – but different brands implement them
differently.
Implementation
 Implementation refers to the actual coding of classes, objects, methods, and
logic based on the design.
 It converts the abstract design into a working system.
 Leads to a reliable and efficient system and makes the system easier to test,
debug, and upgrade.
 Real-World Analogy :
 Design: Architectural blueprint of a house.
 Implementation: Actual construction using bricks, cement, plumbing, etc.
Conclusion
 Oriented Analysis and Design (OOAD) helps break down complex systems into
manageable, modular, and reusable parts.
 Objects and Classes form the foundation of any object-oriented system.
 Key principles like Abstraction, Encapsulation, Polymorphism, and Hierarchy
guide how objects behave and relate.
 Concepts such as Modularity, Object Interaction, and Interfaces enhance
system structure, collaboration, and flexibility.
 Finally, Implementation transforms design blueprints into functional software.
Thank You
Any Questions?

INTRODUCTION AND BASIC CONCEPT OF OOAD.pptx

  • 1.
    INTRODUCTION AND BASIC CONCEPTOF OOAD Presented By : Ankit Chandra Karn Dipa Rai BCA V
  • 2.
    Introduction  Process ofanalyzing and designing a system using the object-oriented paradigm.  It looks at how these real-world things are connected and how they interact with each other  It breaks down software development into 3 main phases:  OOA(Object Oriented Analysis)  OOD (Object Oriented Design)  OOP( Object Oriented Programming)
  • 3.
    OOA (Object OrientedAnalysis)  Process of analyzing the problem domain and identifying the objects (entities) that are relevant to the system being built.  Focuses on understanding what the system needs to do  Identify and Define Classes and Objects:  Classes are templates that define the structure and behavior of objects.  Objects are instances of classes that represent real-world entities  Example: In an online shopping system, objects could be Customer, Product, Shopping Cart.  Determining Relationships Between Objects:  Identify how objects are connected or interact with each other.  Defining Attributes and Behaviors of Objects:  Attributes are the characteristics or properties of an object (e.g., a Product may have attributes like price and name).
  • 4.
     Process ofdesigning how the objects will interact with each other and how the system will be structured  Define the System’s Architecture and Class Structure:  Identify the high-level structure of the system (e.g., modules, components).  Design the class structure (how the classes will be organized, including their attributes and methods).  Specify How Objects Will Interact:  Design the interactions between objects Use diagrams like sequence diagrams and collaboration diagrams to show how objects will exchange information.  Define Relationships and Behaviors:  Define any inheritance or polymorphism between objects OOD (Object Oriented Design)
  • 5.
    OOP( Object OrientedProgramming)  Process of translating the design (from OOD) into actual working code.  Focuses on implementing the system using object-oriented programming languages like Java, Python, C++, etc.  Key Concepts in OOP:  Encapsulation:  Inheritance:  Polymorphism:  Abstraction:
  • 6.
    Basic Concepts :Class  A class is a blueprint or template for creating objects.  It defines attributes (data) and methods (behavior).  It does not hold real data — only structure.  You can create multiple objects from a single class.  Used to represent real-world entities in code.  Example
  • 7.
    Object  An objectis a real instance of a class.  It holds actual values in its attributes.  Objects use methods defined in the class to perform actions.  Each object has its own identity, state, and behavior.  Created using the new keyword (in languages like Java, C++).  Example:
  • 8.
    Abstraction  Abstraction meanshiding unnecessary details and showing only the essential features.  It helps in reducing complexity by focusing on what an object does instead of how it does it.  Used to design systems in a simpler and cleaner way.  It Improves code readability and enhances security by hiding internal code.  Example :  makeSound() is defined in the abstract class, but actual behavior is provided in the subclass.
  • 9.
    Encapsulation  Encapsulation meansbinding data and methods that operate on the data into a single unit (i.e., a class).  It helps in protecting data from unauthorized access.  It ensures data security and prevents unauthorized access  Example :  Here, the name variable is hidden and can be accessed only via getName() and setName() methods.
  • 10.
    Polymorphism  Polymorphism means"many forms".  It allows one interface to be used for different types of actions.  The same method name can behave differently depending on the object or context.  Promotes code reusability and supports extensibility (easy to add new features).  Real-World Example : Same individual can act as a teacher, parent, or friend depending on the situation.
  • 11.
    Hierarchy  Hierarchy refersto the organization of classes in a parent-child (superclass-subclass) structure.  It shows inheritance relationships where subclasses inherit features from superclasses.  Helps in classifying and organizing objects in a structured way.  Types of Inheritance (Hierarchy)  Single Inheritance One class inherits from another.  Multilevel Inheritance Class A → Class B → Class C  Hierarchical Inheritance One parent class → multiple child classes.
  • 12.
    Hierarchy  Example : Dog inherits the eat() method from Animal — shows a hierarchical relationship.
  • 13.
    Modularity  Modularity meansdividing a system into separate independent units (called modules or components).  Each module represents a specific functionality or part of the system.  Enables team collaboration — different people can work on different modules.  Real-World Example : A car has different modules: engine, brakes, steering, music system. Each can function independently but contributes to the whole system.
  • 14.
    Object Interaction  Objectinteraction refers to how objects communicate with each other in a system.  Done through method calls, where one object uses the methods or services of another.  It shows the collaboration between objects to complete tasks or achieve goals.  Makes system dynamic and flexible and supports reusability of objects across different interactions.  Example :  The Car object interacts with the Engine object to perform its task.
  • 15.
    Interface  An interfacedefines a contract that classes must follow.  It contains method signatures only – no implementation.  Any class that implements the interface must provide the actual method definitions.  Promotes abstraction and loose coupling in object-oriented design.  Real-World Example : Remote control interface: Defines buttons like power(), volumeUp(), channelDown() – but different brands implement them differently.
  • 16.
    Implementation  Implementation refersto the actual coding of classes, objects, methods, and logic based on the design.  It converts the abstract design into a working system.  Leads to a reliable and efficient system and makes the system easier to test, debug, and upgrade.  Real-World Analogy :  Design: Architectural blueprint of a house.  Implementation: Actual construction using bricks, cement, plumbing, etc.
  • 17.
    Conclusion  Oriented Analysisand Design (OOAD) helps break down complex systems into manageable, modular, and reusable parts.  Objects and Classes form the foundation of any object-oriented system.  Key principles like Abstraction, Encapsulation, Polymorphism, and Hierarchy guide how objects behave and relate.  Concepts such as Modularity, Object Interaction, and Interfaces enhance system structure, collaboration, and flexibility.  Finally, Implementation transforms design blueprints into functional software.
  • 18.