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
- 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
- It can be upgraded from small to large system easily
Structured Analysis VS Object Oriented Analysis
Some differences between Structured Analysis and Object Oriented Analysis are given bellow:
- 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.