0% found this document useful (0 votes)
38 views5 pages

OOAD

ooad materials

Uploaded by

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

OOAD

ooad materials

Uploaded by

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

What is Object-Oriented Analysis and

Design(OOAD)?
OOAD is based on the concepts of object-oriented programming (OOP)
and is an organized and systematic approach to designing and developing
software systems. It is a software engineering paradigm that integrates
two distinct but closely related processes: Object-Oriented Analysis
(OOA) and Object-Oriented Design (OOD).
Important Aspects of OOAD
Below are some important aspects of OOAD:
 Object-Oriented Programming: In this the real-world items are
represented/mapped as software objects with attributes and methods
that relate to their actions.
 Design Patterns: Design patterns are used by OOAD to help
developers in building software systems that are more efficient and
maintainable.
 UML Diagrams: UML diagrams are used in OOAD to represent the
different components and interactions of a software system.
 Use Cases: OOAD uses use cases to help developers understand the
requirements of a system and to design software systems that meet
those requirements.
To enhance your skills in OOAD, the System Design Course offers
practical insights and case studies that will help you design better object-
oriented systems.
Object-Oriented Analysis
Object-Oriented Analysis (OOA) is the process of understanding and
analyzing the system requirements by looking at the problem scenario in
terms of objects.
 These objects represent real-world entities or concepts that are
relevant to the system being developed.
 During OOA, the goal is to identify the objects, their attributes,
behaviors, and relationships, without focusing on how the system will
be implemented.
For example: Lets say you’re building a game:
 OOA helps you figure out all the things you need to know about the
game world – the characters, their features, and how they interact.
 It’s like making a map of everything important.
 OOA also helps you understand what your game characters will do. It’s
like writing down a script for each character.
 Every program has specific tasks or jobs it needs to do. OOA helps you
list and describe these jobs.
 In our game, it could be tasks like moving characters or keeping score.
It’s like making a to-do list for your software.
 OOA is smart about breaking things into different parts. It splits the job
into three categories: things your game knows, things your game does,
and how things in your game behave.
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:
o OOD involves specifying how data attributes are organized
within the objects.
o This includes determining the types of data each object will
hold and how they relate to one another.
 Procedural Description of Operations:
o OOD requires a procedural description for each operation that
an object can perform.
o This involves detailing the steps or processes involved in
carrying out specific tasks.
Below diagram shows a design pyramid for object-oriented systems. It is
having the following four layers.
Challenges of Object-Oriented Analysis and
Design(OOAD)
 Because objects and their interactions need to be carefully explained
and handled, it might complicate a software system.
 Because objects must be instantiated, managed, and interacted with,
this may result in additional overhead and reduce the software’s speed.
 For beginner software engineers, OOAD might have a challenging
learning curve since it requires a solid grasp of OOP principles and
methods.
 It can be a time-consuming process that involves significant upfront
planning and documentation. This can lead to longer development
times and higher costs.
 OOAD can be more expensive than other software engineering
methodologies due to the upfront planning and documentation
required.
Real world applications of Object-Oriented Analysis
and Design(OOAD)
Some examples of OOAD’s practical uses are listed below:
 Banking Software: In banking systems, OOAD is frequently used to
simulate complex financial transactions, structures, and customer
interactions. Designing adaptable and reliable financial apps is made
easier by OOAD’s modular and scalable architecture.
 Electronic Health Record (EHR) Systems: Patient data, medical
records, and healthcare workflows are all modeled using OOAD.
Modular and flexible healthcare apps that may change to meet
emerging requirements can be made through object-oriented
principles.
 Flight Control Systems: OOAD is crucial in designing flight control
systems for aircraft. It helps model the interactions between different
components such as navigation systems, sensors, and control
surfaces, ensuring safety and reliability.
 Telecom Billing Systems: In the telecom sector, OOAD is used to
model and build billing systems. It enables the modular and scalable
modeling of complex subscription plans, invoicing rules, and client
data.
 Online Shopping Platforms: E-commerce system development
frequently makes use of OOAD. Product catalogs, user profiles,
shopping carts, and payment procedures are all modeled, which
facilitates platform maintenance and functionality expansion.

Want to learn Software Testing and Automation to help give a kickstart


to your career? Any student or professional looking to excel in Quality
Assurance should enroll in our course, Complete Guide to Software
Testing and Automation, only on GeeksforGeeks. Get hands-on learning
experience with the latest testing methodologies, automation tools, and
industry best practices through practical projects and real-life scenarios.
Whether you are a beginner or just looking to build on existing skills, this
course will give you the competence necessary to ensure the quality and
reliability of software products. Ready to be a Pro in Software Testing?
Enroll now and Take Your Career to a Whole New Level!
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.
Benefits of Object-Oriented Analysis and
Design(OOAD)
 It increases the modularity and maintainability of software by
encouraging the creation of tiny, reusable parts that can be combined
to create more complex systems.
 It provides a high-level, abstract representation of a software system,
making understanding and maintenance easier.
 It promotes object-oriented design principles and the reuse of objects,
which lowers the amount of code that must be produced and raises the
quality of the program.
 Software engineers can use the same language and method that
OOAD provides to communicate and work together more successfully
in groups.
 It can assist developers in creating scalable software systems that can
adapt to changing user needs and business demands over time.
Challenges of Object-Oriented Analysis and
Design(OOAD)
 Because objects and their interactions need to be carefully explained
and handled, it might complicate a software system.
 Because objects must be instantiated, managed, and interacted with,
this may result in additional overhead and reduce the software’s speed.
 For beginner software engineers, OOAD might have a challenging
learning curve since it requires a solid grasp of OOP principles and
methods.
 It can be a time-consuming process that involves significant upfront
planning and documentation. This can lead to longer development
times and higher costs.
 OOAD can be more expensive than other software engineering
methodologies due to the upfront planning and documentation
required.

You might also like