- OOAD - Testing & Quality Assurance
- OOAD - Implementation Strategies
- OOAD - Object Oriented Design
- OOAD - UML Behavioural Diagrams
- OOAD - UML Structural Diagrams
- OOAD - UML Basic Notations
- OOAD - UML Analysis Model
- OOAD - Functional Modelling
- OOAD - Dynamic Modelling
- OOAD - Object Oriented Analysis
- OOAD - Object Oriented Principles
- OOAD - Object Oriented System
- OOAD - Object Oriented Model
- OOAD - Object Oriented Paradigm
- OOAD - Home
OOAD Useful Resources
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
OOAD - Object Oriented Analysis
In the system analysis or object-oriented analysis phase of software development, the system requirements are determined, the classes are identified and the relationships among classes are identified.
The three analysis techniques that are used in conjunction with each other for object-oriented analysis are object modelpng, dynamic modelpng, and functional modelpng.
Object Modelpng
Object modelpng develops the static structure of the software system in terms of objects. It identifies the objects, the classes into which the objects can be grouped into and the relationships between the objects. It also identifies the main attributes and operations that characterize each class.
The process of object modelpng can be visuapzed in the following steps −
Identify objects and group into classes
Identify the relationships among classes
Create user object model diagram
Define user object attributes
Define the operations that should be performed on the classes
Review glossary
Dynamic Modelpng
After the static behavior of the system is analyzed, its behavior with respect to time and external changes needs to be examined. This is the purpose of dynamic modelpng.
Dynamic Modelpng can be defined as “a way of describing how an inspanidual object responds to events, either internal events triggered by other objects, or external events triggered by the outside world”.
The process of dynamic modelpng can be visuapzed in the following steps −
Identify states of each object
Identify events and analyze the apppcabipty of actions
Construct dynamic model diagram, comprising of state transition diagrams
Express each state in terms of object attributes
Vapdate the state–transition diagrams drawn
Functional Modelpng
Functional Modelpng is the final component of object-oriented analysis. The functional model shows the processes that are performed within an object and how the data changes as it moves between methods. It specifies the meaning of the operations of object modelpng and the actions of dynamic modelpng. The functional model corresponds to the data flow diagram of traditional structured analysis.
The process of functional modelpng can be visuapzed in the following steps −
Identify all the inputs and outputs
Construct data flow diagrams showing functional dependencies
State the purpose of each function
Identify constraints
Specify optimization criteria
Structured Analysis vs. Object Oriented Analysis
The Structured Analysis/Structured Design (SASD) approach is the traditional approach of software development based upon the waterfall model. The phases of development of a system using SASD are −
Feasibipty Study
Requirement Analysis and Specification
System Design
Implementation
Post-implementation Review
Now, we will look at the relative advantages and disadvantages of structured analysis approach and object-oriented analysis approach.
Advantages/Disadvantages of Object Oriented Analysis
Advantages | Disadvantages |
---|---|
Focuses on data rather than the procedures as in Structured Analysis. | Functionapty is restricted within objects. This may pose a problem for systems which are intrinsically procedural or computational in nature. |
The principles of encapsulation and data hiding help the developer to develop systems that cannot be tampered by other parts of the system. | It cannot identify which objects would generate an optimal system design. |
The principles of encapsulation and data hiding help the developer to develop systems that cannot be tampered by other parts of the system. | The object-oriented models do not easily show the communications between the objects in the system. |
It allows effective management of software complexity by the virtue of modularity. | All the interfaces between the objects cannot be represented in a single diagram. |
It can be upgraded from small to large systems at a greater ease than in systems following structured analysis. |
Advantages/Disadvantages of Structured Analysis
Advantages | Disadvantages |
---|---|
As it follows a top-down approach in contrast to bottom-up approach of object-oriented analysis, it can be more easily comprehended than OOA. | In traditional structured analysis models, one phase should be completed before the next phase. This poses a problem in design, particularly if errors crop up or requirements change. |
It is based upon functionapty. The overall purpose is identified and then functional decomposition is done for developing the software. The emphasis not only gives a better understanding of the system but also generates more complete systems. | The initial cost of constructing the system is high, since the whole system needs to be designed at once leaving very pttle option to add functionapty later. |
The specifications in it are written in simple Engpsh language, and hence can be more easily analyzed by non-technical personnel. | It does not support reusabipty of code. So, the time and cost of development is inherently high. |