YogiNotes OOADi
YogiNotes OOADi
YogiNotes OOADi
Various models can be created to show the static structure, dynamic behavior,
and run-time deployment of these collaborating objects. There are a number
of different notations for representing these models, such as the Unified
Modelling Language (UML).
Object-oriented analysis (OOA) applies object-modelling techniques to
analyze the functional requirements for a system. Object-oriented design
(OOD) elaborates the analysis models to produce implementation
specifications.
OOA focuses on what the system does, OOD on how the system does it.
Object-oriented systems
An object-oriented system is composed of objects. The behavior of the system results
from the collaboration of those objects. Collaboration between objects involves those
sending messages to each other. Sending a message differs from calling a function in
that when a target object receives a message, it itself decides what function to carry
out to service that message. The same message may be implemented by many
different functions, the one selected depending on the state of the target object.
Object-oriented analysis
Object-oriented analysis (OOA) looks at the problem domain, with the aim of
producing a conceptual model of the information that exists in the area being
analyzed. Analysis models do not consider any implementation constraints that
might exist, such as concurrency, distribution, persistence, or how the system is to be
built. Implementation constraints are dealt during object-oriented design (OOD).
Analysis is done before the Design.
YogiNotes.OOADi
2
The sources for the analysis can be a written requirements statement, a formal vision
document, and interviews with stakeholders or other interested parties. A system
may be divided into multiple domains, representing different business, technological,
or other areas of interest, each of which are analyzed separately.
Object-oriented design
Object-oriented design (OOD) transforms the conceptual model produced in object-
oriented analysis to take account of the constraints imposed by the chosen
architecture and any non-functional – technological or environmental – constraints,
such as transaction throughput, response time, run-time platform, development
environment, or programming language.
The concepts in the analysis model are mapped onto implementation classes and
interfaces. The result is a model of the solution domain, a detailed description
of how the system is to be built.
YogiNotes.OOADi