Professional Documents
Culture Documents
Object-Oriented Analysis and Design (OOAD) Is A Software
Object-Oriented Analysis and Design (OOAD) Is A Software
(OOAD) is a software
engineering approach that models a system as a group of
interacting objects. Each object represents some entity of interest in the
system being modeled, and is characterized by its class, its state (data
elements), and its behavior. 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 Modeling Language (UML).
Object-Oriented Analysis
Object-Oriented Design
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.
Booch Method
Jacobson Method
The analysis phase starts with a problem statement which includes a list of
goals and a definitive enumeration of key concepts within a domain. This
problem statement is then expanded into three views, or models: an object
model, a dynamic model, and a functional model. The object model
represents the artifacts of the system. The dynamic model represents the
interaction between these artifacts represented as events, states, and
transitions. The functional model represents the methods of the system from
the perspective of data flow. The analysis phase generates object-model
diagrams, state diagrams, event-flow diagrams, and data-flow diagrams.
The analysis phase is now complete.
The system design phase follows the analysis phase. Here the overall
architecture is established. First the system is organized into subsystems
which are then allocated to processes and tasks, taking into account
concurrency and collaboration. Then persistent data storage is established
along with a strategy to manage shared-global information. Next, boundary
situations are examined to help guide trade-off priorities.
The object design phase follows the system design phase. Here the
implementation plan is established. Object classes are established along with
their algorithms with special attention to the optimization of the path to
persistent data. Issues of inheritance, associations, aggregation, and default
values are examined.