Object Oriented Software engineering – Ivar Jacobson Unified Approach
1. It is based on use-case concept
Consists of following models :
a. Use case model : Defines outside actors and inside of the system’s behavior.
b. Domain object model : Maps the real world object into the system.
c. Analysis object model : Defines how the source code should be designed and written.
d. Implementation model : The implementation of the system.
e. Test model : Has test plans, specifications and reports.
This system is also called as ‘objectory’.
It stresses that use cases are involved in several phases of the development like, analysis,
Based on the best practices emerged from using Booch, Rumbaugh and Jacobson’s design
and analysis principles and theories.
This approach establishes a unifying and unitary framework around the above mentioned
principles by utilizing the UML (unified modeling language) to describe, document and model
the software development process.
The objective here is to combine the best practices, processes, methodologies and guidelines
along with UML notations and diagrams for better understanding.
2. It consists of the following activities :
a. Use case driven development :
In this step we carry out the following activities :
Capture the user need
All these activities are carried out through Use Case notations.
b. Object Oriented Analysis :
In this step we try to understand the needs of a system and its overall domain so that
we can design a system that is able to satisfy user requirements.
Based on that we carry out the following steps in this :
i. Identify the actors
ii. Develop a business process model using Activity diagram
iii. Develop the Use case
iv. Develop interaction diagram
v. Identify classes
c. Object oriented design :
This process consists of the following activities :
i. Design classes, attributes, methods, associations, etc.
ii. Design Access Layer
iii. Design and prototype User interface
iv. Conduct user satisfaction and usability tests
v. Iterate and refine the design
d. Iterative development and continuous testing :
This is to make the system more and more robust and error free. This leads to refinement of the already developed systeM. At the end of each cycle it is expected
that we have a deliverable which is close to the exact error free design of the system.
Each testing cycle uncovers design weaknesses of the system or provide new functionality thus this process has to be repeated till we are satisfied with the overall