Object Oriented Analysis (OOA):
Object Oriented Analysis (OOA) is the first technical activity performed as part of object oriented software engineering. OOA introduces new concepts to investigate a problem. It is based in a set of basic principles, which are as follows-
- The information domain is modeled.
- Behavior is represented.
- Function is described.
- Data, functional, and behavioral models are divided to uncover greater detail.
- Early models represent the essence of the problem, while later ones provide implementation
The above notes principles form the foundation for the OOA approach.
Object Oriented Design (OOD):
An analysis model created using object oriented analysis is transformed by object oriented design into a design model that works as a plan for software creation. OOD results in a design having several different levels of modularity i.e., The major system components are partitioned into subsystems (a system level “modular”), and data their manipulation operations are encapsulated into objects (a modular form that is the building block of an OO system.).
In addition, OOD must specify some data organization of attributes and a procedural description of each operation.
Shows a design pyramid for object oriented systems. It is having the following four layers.
- The Subsystem Layer :
It represents the subsystem that enables software to achieve user requirements and implement technical frameworks that meet user needs.
- 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.
- The Message Layer :
It represents the design details that enable each object to communicate with its partners. It establishes internal and external interfaces for the system.
- The Responsibilities Layer :
It represents the data structure and algorithmic design for all the attributes and operations for each object.
The Object Oriented design pyramid specifically emphasizes specific product or system design.
Note, however, that another design layer exists, which forms the base on which the pyramid rests. It focuses on the core layer the design of the domain object, which plays an important role in building the infrastructure for the Object Oriented system by providing support for human/computer interface activities, task management.
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.
- Difference between Function Oriented Design and Object Oriented Design
- Functional Modelling in object oriented analysis and design
- Dynamic modelling in object oriented analysis and design
- Difference between Structured and Object-Oriented Analysis
- Characteristics of Good Object Oriented Design
- Analysis and Design of Combinational and Sequential circuits
- Software Engineering | Function Oriented Design
- Structured Analysis and Structured Design (SA/SD)
- Software Engineering | Structured analysis and design with CASE tools
- Software Engineering | Object-oriented Life Cycle Model
- Object Oriented Testing in Software Testing
- Difference between Good Design and Bad Design in Software Engineering
- Difference between service-oriented (SOA) and Micro service Architecture (MSA)
- Short Note on Function-Oriented Metrics
- Short Note on Size-Oriented Metrics
- Reuse Oriented Model
- Advantages and Disadvantages of Root Cause Analysis
- Software Engineering | Functional Point (FP) Analysis
- Boundary Value Analysis - Triangle Problem
- Introduction To Malware Analysis
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.