Ooad Unit-Iii

Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

OBJECT ORIENTED ANALYSIS & DESIGN(OOAD)

(20CS3221)

UNIT-III
CLASS & OBJECT DIAGRAMS

1
AGENDA:


Terms

Concepts

Modeling Techniques for Class & Object diagrams

2
ESSENTIAL TERMS & CONCEPTS


Class: A blueprint or template that encapsulates data (attributes) and
behavior (methods) that define a category of real-world or conceptual
entities.

Object: An individual instance of a class, representing a specific entity with
its unique attributes and behavior, acting in accordance with the class
definition.

Instance: A concrete realization of a class, an object that embodies the
attributes and methods defined by the class.

3
Relationships: The Language of Interaction


Association: A fundamental connection between classes that depicts a "has-a" or "uses-a"
relationship between objects (e.g., an Order object has-a Customer object).

Aggregation: A specific type of association where a whole object (composite) "has-a" part
object (component) and holds the responsibility for managing its lifecycle (e.g., a Car object
has-a Engine object, and the Car is responsible for creating, managing, and destroying the
Engine).

Composition: A stronger form of aggregation where a component object's lifecycle is entirely
dependent on the composite object (e.g., a Cell object is a part of a Body object, and when
the Body is destroyed, its Cells are also destroyed).

Generalization (Inheritance): A hierarchical relationship where a child class (subclass)
inherits attributes and methods from a parent class (superclass), promoting code reuse and
extensibility (e.g., a Dog class inherits from the Animal class, inheriting attributes like name
and age).

4
Modeling Techniques: Crafting Effective Diagrams


Identify Objects and Responsibilities: Begin by recognizing the key
entities (nouns) and their actions (verbs) within the problem domain.

Refine Attributes and Methods: Determine the essential characteristics
(data) and operations (behavior) of each identified object.

Establish Relationships: Define the connections between objects using
appropriate relationships (association, aggregation, composition,
inheritance).

Iterate and Refine: Continuously assess and refine your diagrams to
ensure accuracy, clarity, and completeness.

5
Differences between Class & Object Diagram

Class

The Blueprint: A class serves as a template or design that defines the characteristics (attributes) and behaviors

(methods) common to a group of objects.


Logical Representation: Classes are logical entities; they don't occupy actual memory space until an object is

created.
Example:

class Dog {


// Attributes

String breed;

String color;

int age;

// Methods

void bark() {

System.out.println("Woof!");

}

void eat() {

System.out.println("Nom nom nom");

}
}

6

Object

The Real Thing: An object is a tangible instance of a class, representing an
individual entity within the system. It has its own state (a specific set of
attribute values) and exhibits the behavior defined by the class.

Memory Allocation: Objects occupy memory space when they are created.

Example:

// Creating objects based on the 'Dog' class

Dog husky = new Dog(); // husky is an object

Dog labrador = new Dog(); // labrador is another object
7
Feature Class Object
Definition A blueprint or template defining An instance of a class with specific
attributes and methods attribute values

Nature Logical entity Concrete entity

Memory No memory allocated until an Occupies memory space when


allocation object is created created

Uniqueness One class can be used to create Each object is unique


many objects

State/Values Defines the possible attributes Holds specific values for each of the
and their types defined attributes
8
Importance of Modeling Techniques in Class and Object Diagrams


Modeling techniques play a crucial role in creating effective class and object diagrams for several
reasons:

Clarity and Communication: Well-defined diagrams enhance clarity and communication by providing a
visual representation of the system's structure and interactions. They serve as a common language for
developers, analysts, and other stakeholders to understand the system's design.

Improved Design: Modeling techniques facilitate better design by enabling early identification and
correction of potential flaws in the system's architecture. These diagrams help visualize object
relationships and ensure consistency in the design.

Documentation and Maintenance: Diagrams serve as valuable documentation for future reference and
maintenance. They provide a clear understanding of the system's components and their relationships,
making it easier for developers to add features, fix bugs, or modify the system in the future.

Reduced Errors: Modeling techniques help reduce errors by ensuring that object interactions and
responsibilities are clearly defined. Identifying and addressing potential issues early in the design phase
can prevent costly errors during implementation.

9
THANK YOU

10

You might also like