What is OOAD?
The acronym OOAD stands for Object Oriented Analysis and Design. OOAD is a software engineering approach that models and designs a system as a group of interacting objects. Object is the term used to describe some entity or “thing” of interest. These objects are typically modeled after real world entities or concepts. For the business analyst, these would be the real-world entities that arise within the business (invoice, product, contract, etc).
Objects have attributes which can be set to specific values. This defines the state of the object. Objects also have methods or functions which define their behavior.
Here is a quick example for illustrative purposes. Consider the real world object “Car”. Our car has attributes that can be defined with specific values such as,
make = ford
model = escape
year = 2002
color = green
maximum speed = 130 mph
current speed = 50 mph
ideal tire pressure = 35 psi
current tire pressure = 31 psi
remaining fuel = 12 gallons
Each of these attributes define the “state” of the vehicle. They describe the car as it is at some point in time. Additionally, the car has certain “behaviors” such as
fill tires ()
Each of these behaviors of the real world object can be represented as a method of the object when designing the system (methods are also known as a functions in some programming languages). These methods can change the values of the attributes causing a change in state.
OOAD is comprised of two parts:
(1) object oriented analysis
(2) object oriented design
Models of different types can be created to reflect the static structure, dynamic behavior, and run-time deployment of the collaborating objects of a system.
During the object-oriented analysis (OOA) phase object-modeling techniques are used to analyze the functional requirements for a system and create models which reflect the logical design of the system. During the object-oriented design (OOD) phase of the system, models are elaborated upon to include implementation specific details that show how the physical design of the system will come together. OOA focuses on what the system does (its static structure and behavior), OOD on how the system does it (it’s run-time implementation).
posted @ Sunday, September 9, 2012 12:27 PM by Chris Adams