OOAD-Object Oriented Analysis and Design
OOAD-Object Oriented Analysis and Design
Oriented
Analysis and
Design.
Generally…how everyone think
about programming?
– Think about the system and its flaw, how it was overlooked, and how it could
have been avoided with a bit more thought during design.
– How much time you have spend on analysis, design, coding and
testing/debugging/fixing. How do you go about estimating how much effort a
project will require?
– How difficult is it to add new features to the system? Is it maintainable?
– How could the failure have been avoided?
System/Software Life Cycle
(SLC)
– Life cycle is the series of steps that software undergoes from concept
exploration through retirement
– Software development based on modeling objects from the real world and then use
the models to build a language independent design organized around those objects.
– Promote better understanding of requirements, cleaner designs, and more
maintainable systems.
– Use language-independent graphical notation for analyzing problem requirements,
design a solution to the problem and then implement the solution.
– Same concept and notation throughout the software development process.
– Object oriented concepts throughout the software life cycle, from analysis through
design to implementation.
Cont.
– A good model includes those elements that have broad effect and omits minor
elements
– In this stage, the need of the user or problem is analyzed and the user
requirements are identified.
– then a model is built based upon real–world objects.
– The analysis produces models on how the desired system should function and
how it must be developed.
– The models do not include any implementation details so that it can be
understood and examined by any non–technical application expert.
Object–Oriented Design
– Object-oriented design includes two main stages, namely, system design and
object design.
System Design
In this stage, the complete architecture of the desired system is designed.
The system is conceived as a set of interacting subsystems that in turn is composed
of a hierarchy of interacting objects, grouped into classes.
System design is done according to both the system analysis model and the
proposed system architecture. Here, the emphasis is on the objects comprising the
system rather than the processes in the system.
– Object Design
– In this phase, a design model is developed based on both the models developed in
the system analysis phase and the architecture designed in the system design phase.
All the classes required are identified. The designer decides whether −
– new classes are to be created from scratch,
– any existing classes can be used in their original form, or
– new classes should be inherited from the existing classes.
– The associations between the identified classes are established and the hierarchies
of classes are identified. Besides, the developer designs the internal details of the
classes and their associations, i.e., the data structure for each attribute and the
algorithms for the operations.
Object–Oriented
Implementation
– In this stage, the design model developed in the object design is translated into
code in an appropriate programming language.