In the system analysis or OOAD 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 Are Used For Object-Oriented Analysis There Are
- Object modeling
- Dynamic modeling
- Functional modeling
1. Object Modelling
Object modeling 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 modeling can be visualized 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
2. Dynamic Modelling
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 modeling.
Dynamic Modelling can be defined as “a way of describing how an individual object responds to events, either internal events triggered by other objects, or external events triggered by the outside world”.
The process of dynamic modeling can be visualized in the following steps −
- Identify states of each object
- Identify events and analyze the applicability of actions
- Construct dynamic model diagram, comprising of state transition diagrams
- Express each state in terms of object attributes
- Validate the state–transition diagrams drawn
3. Functional Modelling
Functional Modelling 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 modeling and the actions of dynamic modeling. The functional model corresponds to the data flow diagram of traditional structured analysis.
The process of functional modeling can be visualized 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 −
- Feasibility Study
- Requirement Analysis and Specification
- System Design
- Implementation
- Post-implementation Review
Now, we will look at the relative advantages and disadvantages of the 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. | Functionality is restricted within objects. This may pose a problem for systems that 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 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 the 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 functionality. 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 little option to add functionality later. |
The specifications in it are written in simple English language, and hence can be more easily analyzed by non-technical personnel. | It does not support the reusability of code. So, the time and cost of development are inherently high. |
Next Topic – Click Here
Pingback: OOAD - Object Oriented Principles - Adglob Infosystem Pvt Ltd