Object Oriented Analysis (OOA)

Object Oriented (OO) techniques can be applied in the phases of software life cycle (analysis, design, implementation, etc). This article describes about object oriented analysis, how to use OOA in software development? Summary of the article:

What is Structural Analysis?

What is Object Oriented Analysis (OOA)?

Functionalities’ of OOA

Advantages of OOA

Structured Analysis VS Object Oriented Analysis

What is Structural Analysis?
The Structural Analysis/Structured Design (SASD) approach is the traditional approach of software development. It is based upon the waterfall model. The development phases of a SASD system are given bellow:

Feasibility Study

Requirement Analysis and Specification

System Design

Implementation

Post-implementation Review

What is Object Oriented Analysis (OOA)?
Object Oriented Analysis (OOA) is process of discovery where a development team understands and models the requirements of the system. In OOA requirements are organized as objects. It integrates all the process and data. But in others or traditional structural analysis both process and data are considered independently/separately. They use flow chart/structure charts for process and ER diagrams for data.

But In OOA some advance models are used. The common models used in OOA are: Use cases, Object models. Use cases describe pictures or overview for standard domain functions that the system must achieved. Object models describe the names, class relations, operations, and properties of the main objects. User-interface prototypes can also be created for better understanding.

Object Oriented Analysis (OOA) begins by looking at the problem domain (the area of expertise or application that needs to analyze in order to solve a problem). Its aim is to produce a conceptual model of the information that exists in the area being analyzed. For the analysis there are a variety of sources. It can be a formal document, a written requirements statement, interviews with stakeholders/other interested parties, other methods, etc. The final result of object oriented analysis will appear in the form of a conceptual model that describes what the system is functionally required to do.

Functionalities of OOA
The core activities in OOA are given bellow:

Find the objects

Organize the objects by creating object model diagram

Explain how the objects communicates with each others

Set the characteristic or behavior of the objects

Set the internal of the objects

Advantages of OOA
The OOA provides better performance. Some common advantages of OOA are given bellow:

Its focuses on data rather than the procedures as in Structured Analysis

The objectives of encapsulation and data hiding help the developer to develop the systems that cannot be tampered by other parts of the system

It allows effective software complexity management by the virtue of modularity

Structured Analysis treats processes and data as separate components. Where, OO Analysis Combines processes and data into single component which called object

Structured Analysis does not support re-usability of code. So, the development time and cost is naturally high. But OO analysis supports code re-usability which reduce the development time and cost

The Object Oriented Analysis and Design (OOAD) is a new dimension to develop the software system. It provides better performance comparatively to tradition structured analysis. But in some case it is inappropriate. We should consider the advantages and disadvantages of both OOA and structured analysis to choice correct techniques.

About Author

Rashed

I’m Rashedul Alam, software engineer/architect, technical blogger, and educator. I have over 10 years of working experience in the field of software design and development. I like to share my knowledge and technical stuff with others. I am a community contributor, providing problem solving answer through different forum.