Object Oriented (OO) concepts can be applied in the phases of software development life cycle (analysis, design, and implementation). It is very important to understand the OO analysis and design concepts. This article explains basic overview of object-oriented analysis and design, benefits of OOAD. Summary of the article:
- What is Traditional Systems Analysis and Design?
- What is Object Oriented Analysis and Design?
- Purpose of OO Analysis and Design
- Advantages of Object-Oriented Analysis and Design
- Disadvantages of Object-Oriented Analysis and Design
- Difference between Structured and Object-Oriented Analysis and Design
Traditional Systems Analysis and Design?
The Systems Development Life Cycle (SDLC) or the Structured Systems Analysis & Design (SSAD) is a framework of activities and tasks that need to be accomplished to develop an information system. This approach is also known as top-down design, modular programming, and stepwise refinement. In this approach, every problem is divided into smaller sub-problems. Each sub-problem is then analyzed and a solution is obtained to solve that sub-problem. The Solutions of overall sub-problems are then combined to solve the overall problem. The process of implementing a structured design is called Structured Programming.
What is Object Oriented Analysis and Design?
Object-oriented analysis and design (OOAD) is a technological approach to analyze, design a software system or business by using Object Oriented (OO) concept. Object Oriented Analysis (OOA) is the investigation of objects. Object Oriented Design (OOD) is the relationships of identified objects.
The most important purpose of OO analysis is to identify the objects of a system that have to be implemented. This analysis can also perform for an existing system. An efficient analysis is only possible when we think in a way where objects can be identified. After identifying the objects the relationships between them are identified and finally the design is produced.
Purpose of OO Analysis and Design
We can summarize the purpose of OO analysis and design in the following way:
- Identifying the objects of a system
- Identify their relationships
- Generate a design which can be converted into applications using OO languages
In software development life cycle we can apply and implement OO concepts by following three steps. The steps can be labeled as:
OO Analysis --> OO Design --> OO implementation by using OO languages
Let’s describes the above three points in details:
The first phase is OO analysis. In OO analysis the most important purpose is to identify objects and describes them in a proper way. If the objects are identified efficiently then the next task of design will be easy. The objects should be identified with their responsibilities. The responsibilities are the functions or jobs performed by the object. We know every object have to perform some responsibilities. When these responsibilities are collaborates accurately the purpose of the system is fulfilled.
The second phase is OO design. This phase highlights on the requirements and their fulfillment or completion. In this phase all the objects are collaborated according to their projected relationships. After the completion of relationships the design is completed.
The third phase is OO implementation. In this phase the above design is implemented using OO languages like C#, Java, C++ etc.
Advantages of Object-Oriented Analysis and Design
Benefits of Object Oriented Analysis and Design are given bellow:
- It is easy to understand.
- It is easy to maintain. Due to its maintainability OOAD is becoming more popular day by day
- It provides re-usability
- It reduce the development time & cost
- It improves the quality of the system due to program reuse
Disadvantages of Object-Oriented Analysis and Design
Drawbacks of Object Oriented Analysis and Design are given bellow:
- In OOAD, all time it is not easy to determine all the necessary classes and objects required for a system
- Most of our project development teams are familiar with traditional analysis & design. The OOAD offers a new kind of project management. That’s why it may be difficult to complete a solution within estimated time and budget
- Without an explicit reuse procedure this methodology do not lead to successful reuse on a large scale
Difference between Structured and Object-Oriented Analysis and Design
A comparison between traditional structured analysis & design and object-oriented analysis and design is given bellow:
- It is data oriented
- Its main focus is data
- There is no separation of the systems data and processes. Data and processes are encapsulated into objects
- Its risk is low
- It breaks down the system data through the use of Use Cases.
- It is process oriented
- Its main focus is process
- There is a separation of the systems data and processes
- Its risk is high
- It breaks down the system data through the use of Data Flow Diagram (DFD)