You are on page 1of 17

Object Oriented Analysis and Design (OOAD)

Nadia Afrin Ritu


Lecturer
Department of CSE, JU
OO Analysis and Design Overview
 What is Object?
• An object is a real-world element that may have a
physical or a conceptual existence.
• In computer science, an object is a location in
memory having a value and possibly referenced by
an identifier.
•  In the object-oriented programming paradigm, object
refers to a particular instance of a class where the object
can be a combination of variables, functions, and data
structures. 

Tanzila Rahman, Lecturer, Dept. of CSE, JU


OO Analysis and Design Overview (Cont.)
 What is Class?
• A class represents a collection of objects having same
characteristic properties that exhibit common behavior.
• It gives the blueprint or description of the objects that
can be created from it.
• Creation of an object as a member of a class is called
instantiation. Thus, object is an instance of a class.

Tanzila Rahman, Lecturer, Dept. of CSE, JU


OO Analysis and Design Overview (Cont.)
Each object has:
• Identity that distinguishes it from other objects in the
system.
• State that determines the characteristic properties of
an object as well as the values of the properties that the
object holds.
• Behavior that represents externally visible activities
performed by an object in terms of changes in its state.

Tanzila Rahman, Lecturer, Dept. of CSE, JU


OO Analysis and Design Overview (Cont.)
 What is Analysis?
• Emphasis an investigation of the problem and requirements,
rather than a solution.

 What is Design?
• Emphasizes a conceptual solution that fulfills the requirements
rather its implementation.

 Do the right thing (analysis), and do the thing right


(design).

Tanzila Rahman, Lecturer, Dept. of CSE, JU


OO Analysis and Design Overview (Cont.)
 What is Object Oriented Analysis?
• Object-oriented analysis (OOA) applies object-modeling
techniques to analyze the functional requirements for a system.
• Do not consider any implementation constraints.
• The sources for the analysis can be a written requirements
statement, a formal vision document, interviews with
stakeholders or other interested parties.
• For example:
• Flight Information System: Plane , Flight , and Pilot.
• Payroll System : Employee , Pay Check , and Timecard .
• Course Registration System : Student , Course ,
Registration, and Professor .

Tanzila Rahman, Lecturer, Dept. of CSE, JU


Object Oriented Analysis (Cont.)
The primary tasks in object-oriented analysis (OOA)
are:
• Identifying objects.
• Organizing the objects by creating object model diagram.
• Defining the internals of the objects, or object attributes.
• Defining the behavior of the objects, i.e., object actions.
• Describing how the objects interact.

Tanzila Rahman, Lecturer, Dept. of CSE, JU


Object Oriented Design
 What is Object Oriented Design?
• Object-oriented design (OOD) elaborates the analysis models to
produce implementation specifications.
• It involves implementation of the conceptual model, which are
technology−independent, produced during object-oriented
analysis.
• Define software objects, their responsibilities and how they
collaborate to fulfill the requirements.
• For Example:
• Employee software object may have a pay Calculate
operation.
• Student software object may have a has Pre-requisites
operation.

Tanzila Rahman, Lecturer, Dept. of CSE, JU


Object Oriented Design(Cont.)
The implementation details generally include:
• Restructuring the class data (if necessary),
• Implementation of methods, i.e., internal data
structures and algorithms,
• Implementation of control, and
• Implementation of associations.

Tanzila Rahman, Lecturer, Dept. of CSE, JU


Benefits of Object Model
The benefits of using the object model are:
• It helps in faster development of software.
• It is easy to maintain. Suppose a module develops an
error, then a programmer can fix that particular module,
while the other parts of the software are still up and
running.
• It supports relatively hassle-free upgrades.
• It enables reuse of objects, designs, and functions.
• It reduces development risks, particularly in integration
of complex systems.

Tanzila Rahman, Lecturer, Dept. of CSE, JU


OO approach Vs. Traditional approach
 The main difference between object-oriented analysis and other
forms of analysis is that by the object-oriented approach we
organize requirements around objects, which integrate both
behaviors (processes) and states (data) modeled after real world
objects that the system interacts with.

 In other or traditional analysis methodologies, the two aspects:


processes and data are considered separately. For example, data
may be modeled by ER diagrams, and behaviors by flow
charts or structure charts.

Tanzila Rahman, Lecturer, Dept. of CSE, JU


Key Differences Between Structured and OOAD

Structured Object-oriented
Methodology SDLC Iterative/ Incremental
Focus Process Objects
Risk High Low
Reuse Low High
Maturity Matured and widespread Emerging
Suitable for Well-defined projects with Risky large projects with
stable user requirements. changing user requirements.

Tanzila Rahman, Lecturer, Dept. of CSE, JU


Basic Principles of Object Orientation

Object Orientation

Encapsulation
Abstraction

Modularity

Hierarchy
Tanzila Rahman, Lecturer, Dept. of CSE, JU
What is Abstraction?
• Principle of ignoring those aspects of a problem domain that are not relevant
to the current purpose in order to concentrate more fully on those that are.
• Focus on the essential. Omits tremendous amount of details

Salesperson
Not saying
Which
salesperson
– just a
salesperson
Product
Customer in general!!!

Manages Complexity
Tanzila Rahman, Lecturer, Dept. of CSE, JU
What is Encapsulation?
• Hide implementation from clients
– Clients depend on interface

Tanzila Rahman, Lecturer, Dept. of CSE, JU


What is Modularity?
• The breaking up of something complex into
manageable pieces
Order Entry

Order Processing
System Order
Fulfillment

Billing

Tanzila Rahman, Lecturer, Dept. of CSE, JU


What is Hierarchy?
• Levels of abstraction
Increasing
Abstraction Bank Account

Saving Account Current Account

Decreasing
Abstraction

Elements at the same level of the hierarchy


should be at the same level of abstraction

Tanzila Rahman, Lecturer, Dept. of CSE, JU

You might also like