Introduction To Object Oriented Analysis and Design
Introduction To Object Oriented Analysis and Design
Overview
UML Models.
Steps to OOAD.
3
In between a nice idea and a working software, there is much more than
programming.
These blueprints can then be transferred into code using any specific OO
language.
4
What How
Requirements Logical Solution
Investigation of Domain
11
What is OOAD?
2
Plane visualization of
1
domain concept domain concept
tailNumber
programming language
public List getFlightHistory () { ... }
Steps to OOAD
Player Die
1 Rolls 2
name faceValue
1 2
Plays
1
DiceGame
1 Includes
DiceGame Die
OOAD SAD
Advantages Disadvantages
Focuses on data rather than the procedures as in Functionality is restricted within objects. This may pose
Structured Analysis. a problem for systems which are intrinsically procedural
or computational in nature.
The principles of encapsulation and data hiding help the The object-oriented models do not easily show the
developer to develop systems that cannot be tampered communications between the objects in the system.
by other parts of the system.
It allows effective management of software complexity All the interfaces between the objects cannot be
by the virtue of modularity. represented in a single diagram.
Advantages Disadvantages
As it follows a top-down approach in In traditional structured analysis models,
contrast to bottom-up approach of object- one phase should be completed before the
oriented analysis, it can be more easily next phase. This poses a problem in
comprehended than OOA. design, particularly if errors crop up or
requirements change.
It is based upon functionality. The overall The initial cost of constructing the system
purpose is identified and then functional is high, since the whole system needs to be
decomposition is done for developing the designed at once leaving very little option
software. The emphasis not only gives a to add functionality later.
better understanding of the system but
also generates more complete systems.
The specifications in it are written in It does not support reusability of code. So,
simple English language, and hence can be the time and cost of development is
more easily analyzed by non-technical inherently high.
personnel.
Class and Terminology
• The term ‘class’ is used a lot, but it can have a precise meaning
depending on the context:
– Within OOA, developing a Domain Model via a domain
diagram, classes are called domain concepts or conceptual
classes;
– Within OOD, developing a Design Model via a design
diagram, classes are called design classes or software
classes;
– Within OOP, developing an implementation model via code
in an OOPL, classes are called implementation classes.
31
Usability
Efficiency
Reliability
Maintainability
Reusability