Skip to content
geeksforgeeks
  • Courses
    • DSA to Development
    • Get IBM Certification
    • Newly Launched!
      • Master Django Framework
      • Become AWS Certified
    • For Working Professionals
      • Interview 101: DSA & System Design
      • Data Science Training Program
      • JAVA Backend Development (Live)
      • DevOps Engineering (LIVE)
      • Data Structures & Algorithms in Python
    • For Students
      • Placement Preparation Course
      • Data Science (Live)
      • Data Structure & Algorithm-Self Paced (C++/JAVA)
      • Master Competitive Programming (Live)
      • Full Stack Development with React & Node JS (Live)
    • Full Stack Development
    • Data Science Program
    • All Courses
  • Tutorials
    • Data Structures & Algorithms
    • ML & Data Science
    • Interview Corner
    • Programming Languages
    • Web Development
    • CS Subjects
    • DevOps And Linux
    • School Learning
  • Practice
    • Build your AI Agent
    • GfG 160
    • Problem of the Day
    • Practice Coding Problems
    • GfG SDE Sheet
  • Contests
    • Accenture Hackathon (Ending Soon!)
    • GfG Weekly [Rated Contest]
    • Job-A-Thon Hiring Challenge
    • All Contests and Events
  • System Design Tutorial
  • What is System Design
  • System Design Life Cycle
  • High Level Design HLD
  • Low Level Design LLD
  • Design Patterns
  • UML Diagrams
  • System Design Interview Guide
  • Scalability
  • Databases
Open In App
Next Article:
Object Oriented Paradigm in Object Oriented Analysis & Design(OOAD)
Next article icon

Object Oriented Analysis in Object Oriented Analysis & Design

Last Updated : 14 Mar, 2024
Comments
Improve
Suggest changes
Like Article
Like
Report

OOAD is a way of organizing and planning how to build computer programs by thinking in terms of ingredients (which we call objects). Just as you decide what each ingredient does in a recipe, OOAD helps us decide what each part of a computer program should do, how they should work together, and what makes each part special.

Imagine you're cooking a delicious meal. To make it, you have various ingredients like vegetables, spices, and groceries and each ingredient has a unique role. Object-Oriented Analysis and Design (OOAD) is a bit like cooking, but for creating computer programs and systems.

Important Topics for Object Oriented Analysis

  • Object Modeling
  • Dynamic Modeling
  • Function Modeling
  • Structured Analysis and Object Oriented Analysis
  • Conclusion

Object Modeling

Object Modeling is a method used in computer programming and system design to create a clear and structured representation of real-world entities or concepts as Objects. These objects have specific attributes (characteristics) and behaviors (actions), allowing us to better understand and plan how they interact with a software system.

For example, you're describing a bicycle:

  • Attributes: You'd list the things that make the bicycle unique, like its color, size, brand, and the number of wheels. For example, My bicycle is blue, medium-sized, a Mountain Rider and has two wheels.
  • Behaviors: You'd also note what the bicycle can do, like to move forward, brake, turn left, and turn right. For instance, My bicycle can go forward when I pedal, and it stops when I squeeze the brakes.

Dynamic Modeling

Dynamic Modeling is a method used in system design and software engineering to describe how objects or components in a system interact and change over time. It focuses on showing the behaviors, events, and transitions that occur within a system during its operation.

Example:

Imagine you're at an airport. and you want to understand how a passenger's journey through the airport works, from checking in to boarding the plane. Dynamic Modeling helps us understand this process by showing how different parts of the system (like passengers, airline staff, and airport systems) interact and change during this journey.

Function Modeling

Function Modeling is a technique used in system design and software engineering to define what each component or object in a system can do, specifying its functions, responsibilites, and interactions. It helps in clarifying the roles and behaviors of different elements within a system. Function Modeling is like writing a to-do-list for different jobs in a restaurant. It tells us what each job does and how they work together.

Example:

Take the example of a restaurant:

  • Chef: Cooks food.
  • Waiter/Waitress: Severs customers.
  • Cashier: Handle Payments
  • Busboy/Busgirl: Clears tables
  • Manager: Oversees everything

Each job has a clear function, like cooking, serving or managing. This helps everyone know their role and keeps the restaurant running smoothly, just like knowing your job description at work.

Structured Analysis vs. Object Oriented Analysis

Structured Analysis and Object-Oriented Analysis are two different appraoches used in software development to understand, desgine, and model complex systems. Let's understand these two methods:

Structured Analysis

Structured Analysis is a method used in computer programming and system design. It's like creating a detailed roadmap for building a system. This approach brakes the system down into smaller, manageable parts called modules or functions. Each module has its job and interacts with others using clear instructions. Structured Analysis helps understand how data moves and how processes work in a system.

Object-Oriented Analysis

Object-Oriented Analysis is an approach to designing systems where we model real-world things as objects with characteristics and actions. It's about understanding the real-world objects you need in your software and creating digital versions of them. Each object has its own unique capabilities and characteristics. If focuses on objects and their interactions.

Now let's compare Structured Analysis and Object-Oriented Analysis:

Aspect

Structured Analysis

Object-Oriented Analysis

Focus

Processes, data flows, step-by-step procedures.

Modeling real-wrold objects, object interactions.

Representation

Data flow diagrams, process models

Class diagrams, object diagrams, object-oriented techniques

Abstraction

More-process oriented, less direct real-world object representation.

Direct modeling of real-world entities and their relationships.

Complexity

Well-suited for simpler systems where processes are the primary focus.

Better suited for compelx systems with many interacting objects.

Reusability

May require more effort to reuse component due to process-centric nature.

Promotes reusability through the creation of reusable objects classes, suitable for libraries and frameworks.

In short, Structured Analysis is process-centric, focusing on how a system's functions works together, while Object-Oriented Analysis is object-centric, focusing on modeling real-world entities and their interactions. The choice between depend on the nature and complexity of the software project and the preferences of the development team.

Conclusion

Object-Oriented Analysis and Design (OOAD) is a method for building software. It uses Object Modeling, Dynamic Modeling and Function Modleing to understand real-world things, their behavior, and what the software need to do. Sturctured Analysis is a different way of designing software, focusing on breaking it into function and data. OOAD is a powerful way to make software by modeling objects and their interactions, while Structured Analysis is more about functions and data.


Next Article
Object Oriented Paradigm in Object Oriented Analysis & Design(OOAD)
author
thesunpandey
Improve
Article Tags :
  • Geeks Premier League
  • System Design
  • Geeks Premier League 2023
  • OOAD - Object Oriented Analysis and Design

Similar Reads

  • Object-Oriented Analysis and Design(OOAD)
    Object-Oriented Analysis and Design (OOAD) is a way to design software by thinking of everything as objects similar to real-life things. In OOAD, we first understand what the system needs to do, then identify key objects, and finally decide how these objects will work together. This approach helps m
    6 min read
  • OOAD Full Form
    OOAD stands for Object-Oriented Analysis and Design. OOAD is a software engineering methodology that employs object-oriented principles to model and design complex systems. It involves analyzing the problem domain, representing it using objects and their interactions, and then designing a modular an
    2 min read
  • Object Oriented Analysis in Object Oriented Analysis & Design
    OOAD is a way of organizing and planning how to build computer programs by thinking in terms of ingredients (which we call objects). Just as you decide what each ingredient does in a recipe, OOAD helps us decide what each part of a computer program should do, how they should work together, and what
    5 min read
  • Object Oriented Paradigm in Object Oriented Analysis & Design(OOAD)
    There are two important steps in creating such software. Object-Oriented Analysis (OOA) and Object-Oriented Design (OOD). These steps are like the building blocks for creating software. Important topics for Object-Oriented Paradigm Object Oriented AnalysisObject-Oriented DesignHistorical ContextObje
    6 min read
  • Object Oriented System | Object Oriented Analysis & Design
    Object Oriented System is a type of development model where Objects are used to specify different aspects of an Application. Everything including Data, information, processes, functions, and so on is considered an object in Object-Oriented System. Important Topics for the Object Oriented System Obje
    4 min read
  • Object Model | Object Oriented Analysis & Design
    Object-Oriented Programming (OOP) is a fundamental paradigm in modern software development that has transformed the way we design, build, and maintain software systems. OOP is centered around the concept of objects, which are self-contained, reusable units that encapsulate both data and the operatio
    12 min read
  • Object Oriented Principles in OOAD
    Object-oriented principles are a set of guidelines for designing and implementing software systems that are based on the idea of objects. Objects are self-contained units of code that have both data and behavior. They can interact with each other to perform tasks. Object-Oriented Analysis and Design
    7 min read
  • What are the Object Oriented Analysis and Design(OOAD) Phases?
    Object-Oriented Analysis and Design (OOAD) is a methodology for analyzing, designing, and developing software systems based on the principles of object orientation. The process is typically divided into several phases, each focusing on different aspects of the software development life cycle. Below
    2 min read
  • Booch Methodology in Object-Oriented Analysis and Design(OOAD)
    The Booch Methodology is a foundational framework in Object-Oriented Analysis and Design (OOAD). Engineered by Grady Booch, this methodology encapsulates principles, strategies, and techniques essential for crafting resilient and adaptable software systems. In this article, we will see the features
    11 min read
  • GRASP Design Principles in OOAD
    In Object-Oriented Analysis and Design (OOAD), General Responsibility Assignment Software Patterns (GRASP) play a crucial role in designing effective and maintainable software systems. GRASP offers a set of guidelines to aid developers in assigning responsibilities to classes and objects in a way th
    9 min read
geeksforgeeks-footer-logo
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)
Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
GFG App on Play Store GFG App on App Store
Advertise with us
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • In Media
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Placement Training Program
  • Languages
  • Python
  • Java
  • C++
  • PHP
  • GoLang
  • SQL
  • R Language
  • Android Tutorial
  • Tutorials Archive
  • DSA
  • Data Structures
  • Algorithms
  • DSA for Beginners
  • Basic DSA Problems
  • DSA Roadmap
  • Top 100 DSA Interview Problems
  • DSA Roadmap by Sandeep Jain
  • All Cheat Sheets
  • Data Science & ML
  • Data Science With Python
  • Data Science For Beginner
  • Machine Learning
  • ML Maths
  • Data Visualisation
  • Pandas
  • NumPy
  • NLP
  • Deep Learning
  • Web Technologies
  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • ReactJS
  • NextJS
  • Bootstrap
  • Web Design
  • Python Tutorial
  • Python Programming Examples
  • Python Projects
  • Python Tkinter
  • Python Web Scraping
  • OpenCV Tutorial
  • Python Interview Question
  • Django
  • Computer Science
  • Operating Systems
  • Computer Network
  • Database Management System
  • Software Engineering
  • Digital Logic Design
  • Engineering Maths
  • Software Development
  • Software Testing
  • DevOps
  • Git
  • Linux
  • AWS
  • Docker
  • Kubernetes
  • Azure
  • GCP
  • DevOps Roadmap
  • System Design
  • High Level Design
  • Low Level Design
  • UML Diagrams
  • Interview Guide
  • Design Patterns
  • OOAD
  • System Design Bootcamp
  • Interview Questions
  • Inteview Preparation
  • Competitive Programming
  • Top DS or Algo for CP
  • Company-Wise Recruitment Process
  • Company-Wise Preparation
  • Aptitude Preparation
  • Puzzles
  • School Subjects
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Social Science
  • English Grammar
  • Commerce
  • World GK
  • GeeksforGeeks Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences