0% found this document useful (0 votes)
24 views20 pages

OOAD

Uploaded by

priyanshu110101
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views20 pages

OOAD

Uploaded by

priyanshu110101
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

Introduction to Object-Oriented

Analysis and Design

• Object-Oriented Analysis and Design (OOAD) is a


methodological approach to analyzing and designing a system
by visualizing it as a group of interacting objects.
• This approach focuses on representing real-world concepts as
objects, making systems easier to understand, develop, and
maintain.
• OOAD is used in developing complex software systems and
emphasizes modularity, reusability, and scalability.
Object Oriented Analysis and Design
• Object-Oriented Analysis and Design (OOAD) is a software engineering methodology that
involves using object-oriented concepts to design and implement software systems. OOAD
involves a number of techniques and practices, including object-oriented programming,
design patterns, UML diagrams, and use cases. Here are some important aspects of OOAD:
• Object-Oriented Programming: Object-oriented programming involves modeling real-world
objects as software objects, with properties and methods that represent the behavior of
those objects.OOAD uses this approach to design and implement software systems.
• Design Patterns: Design patterns are reusable solutions to common problems in software
design. OOAD uses design patterns to help developers create more maintainable and efficient
software
• Design Patterns: Design patterns are reusable solutions to common problems in software
design. OOAD uses design patterns to help developers create more maintainable and
efficient software systems.
• UML Diagrams: Unified Modeling Language (UML) is a standardized notation for creating
diagrams that represent different aspects of a software system. OOAD uses UML diagrams
to represent the different components and interactions of a software system.
• Use Cases: Use cases are a way of describing the different ways in which users interact with
a software system. OOAD uses use cases to help developers understand the requirements
of a system and to design software systems that meet those requirements.
What is Object-Oriented Analysis
(OOA)?

• OOA involves understanding the problem domain and identifying the key objects
and their interactions.
• It focuses on 'what' the system must do rather than 'how' it will do it.
• This phase includes identifying classes, objects, attributes, behaviors, and the
relationships among them.
What is Object-Oriented Design
(OOD)?

• OOD involves defining the software architecture and design based on the analysis
model.
• It focuses on 'how' the system will achieve the requirements specified in the
analysis phase.
• It includes designing class hierarchies, methods, messages, and data structures.
Object-Oriented Design
In the object-oriented software development process, the analysis model, which is
initially formed through object-oriented analysis (OOA), undergoes a transformation
during object-oriented design (OOD) i.e implementation of the conceptual model
developed in OOA. This evolution is crucial because it shapes the analysis model into a
detailed design model.
Furthermore, as part of the object-oriented design process, it is essential to define
specific aspects:
•Data Organization of Attributes:

• OOD involves specifying how data attributes are organized within the objects.
• This includes determining the types of data each object will hold and how they
relate to one another.
•Procedural Description of Operations:

• OOD requires a procedural description for each operation that an object can
perform.
• This involves detailing the steps or processes involved in carrying out specific
tasks.
Design pyramid for object-oriented systems. It has the
following four layers.
1.The Subsystem Layer: It represents the subsystem that
enables software to achieve user requirements and implement
technical frameworks that meet user needs.
2.The Class and Object Layer: It represents the class
hierarchies that enable the system to develop using
generalization and specialization. This layer also represents each
object.
3.The Message Layer: This layer deals with how objects interact
with each other. It includes messages sent between objects,
method calls, and the flow of control within the system.
4.The Responsibilities Layer: It focuses on the responsibilities
of individual objects. This includes defining the behavior of each
class, specifying what each object is responsible for, and how it
responds to messages.
Object-Oriented System
Characteristics

• Objects are the fundamental building blocks of the


system.
• Each object encapsulates state and behavior.
• Objects interact through well-defined interfaces
using messages.
• Object-oriented systems mimic the structure and
behavior of real-world systems.
Core OOAD Concepts

• Object: An instance of a class with identity, state, and behavior.


• Class: A blueprint or template for creating objects.
• Encapsulation: Bundling data and methods that operate on the data
within one unit.
• Inheritance: Mechanism for creating new classes from existing
ones.
• Polymorphism: The Ability of different classes to respond to the
same message in different ways.
• Abstraction: Hiding complex implementation details and showing
only the necessary features.
Advantages of OOAD

There are several advantages to using OOAD in software


engineering:
• Reusability: OOAD emphasizes the use of reusable components
and design patterns, which can save time and effort in software
development.
• Scalability: OOAD can help developers design software systems
that are scalable and can handle changes in user demand and
business requirements over time.
• Maintainability: OOAD emphasizes modular design and can help
developers create software systems that are easier to maintain and
update over time.
• Flexibility: OOAD can help developers design software systems
that are flexible and can adapt to changing business requirements
over time.
Disadvantages of OOAD
• Complexity: OOAD can be complex and may require significant
expertise to implement effectively.
• Time-consuming: OOAD can be a time-consuming process that
involves significant upfront planning and documentation.
• Rigidity: Once a software system has been designed using OOAD, it
can be difficult to make changes without significant time and
expense.
• Cost: OOAD can be more expensive than other software
engineering methodologies due to the upfront planning and
documentation required.
• Overall, OOAD can be an effective approach to designing and
implementing software systems, particularly for complex or large-
scale projects. However, it’s important to weigh the advantages and
disadvantages carefully before adopting this approach.
OOAD - Object Oriented System
We know that the Object-Oriented Modelling (OOM) technique
visualizes things in an application by using models organized around
objects. Any software development approach goes through the
following stages −
• Analysis,
• Design, and
• Implementation.
• In object-oriented software engineering, the software developer
identifies and organizes the application in terms of object-oriented
concepts, prior to their final representation in any specific programming
language or software tools.
OOAD Process Steps

Implementation: Testing: Verify


Requirement Object-Oriented Object-Oriented
Translate design that the system
Gathering- Analysis- Identify Design- Define
into code using meets
Understand user objects, their the architecture,
an object- requirements and
needs and system behaviors, and class diagrams,
oriented behaves
requirements. relationships. and interactions.
language. correctly.
Case Study: ATM System

• • Objects Involved: ATM, User, Card, Account, Bank.


• • Use Case - Withdraw Money:
1. User inserts card
2. ATM authenticates card
3. User selects withdraw option and enters amount
4. ATM verifies balance and dispenses cash
5. Transaction recorded
• • Demonstrates object interaction and sequence of operations.
Summary

• • OOAD is a systematic approach for analyzing and designing object-oriented


systems.
• • It improves software design quality and aligns closely with real-world modeling.
• • By using OOAD, developers can build more maintainable, reusable, and scalable
systems.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy