Open In App

Object Oriented Analysis in Object Oriented Analysis & Design

Last Updated : 14 Mar, 2024
Improve
Improve
Like Article
Like
Save
Share
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.

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.


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads