BASIC OOAD Process
1
BASIC OO Concept
The Object Oriented three basic concepts
are:
• Reuse
• Object Oriented Analysis/ Object
Oriented Design
• The General OOAD Process
2
• One of the major benefits of OO technology,
as claimed by its promoter,
– It enables to reuse.
• The most common kind of reuse is through
libraries.
• The user of the library is presented a
description of interface.
– The API (application programmers' interface)
without a deep understanding of the
implementation details of the library.
3
• Another form of reuse concerns low level
architectural details, that is at the level of algorithms
and data structures.
• All of us are familiar with the generic description of
an algorithm,
• like quick sort (fast sorting algorithm-suitable for
sorting big data volumes),
• which we then code in language chosen for the
application.
• We all know about binary trees (made of nodes, which
contains a left pointer , a right pointer), and we do not
have to re-invent them for every application.
• Design patterns are also an example of this level of
reuse. 4
1. Reuse
• Reuse is the recovery of materials and products for
the same or a similar end use.
• It involves taking useful products, such as furniture,
books and appliances, discarded by those who no
longer want or need them and redistributing them to
those who do.
• In contrast to recycling, which recovers materials for
5
processing, reuse recovers the original product.
2. Object-Oriented Analysis / Object-
Oriented Design
• Object-Oriented = Objects + Communication
+ Classification + Inheritance
• The key idea of OO design is:
– System requirements are represented in terms of
interacting objects.
6
3. The general OOAD process
• The general analysis and design process
involves identifying (not in any order) the
following things:
– Objects and Classes
– Responsibilities: data and function.
– Collaborators: what other classes helps to carry
out the responsibilities.
– Inheritance: similarity among classes.
– Subsystems: collections of objects and classes
that perform a task.
7
• Typically, these components are common to
all OO Analysis methods:
Information Modeling: Identify the entities and
relationships in the problem. That is, what are the
• Objects
• Attributes of the objects
• Relationships among the objects
Lifecycle Modeling: Identify the way that an object
responds to its environment. That is, what are the
• Position that the object can be in.
• Events that cause transitions (switch/move)
between states (Positions of Objects)
• The actions association.
8
BASIC OOAD Process:
• Basic OOAD process is the foundational
process.
• So, we start there with these questions:
– “What is good to creating a system using sound Object
Oriented Analysis and Design principles?”
– “What is lightweight to creating a system using sound
Object Oriented Analysis and Design principles?”
– “What is flexible to creating a system using sound Object
Oriented Analysis and Design principles?”,
– “What is basic approach to creating a system using sound
Object Oriented Analysis and Design principles?”
9
The Four Ps:
• In the Software Development work, used four
important Ps (4Ps).
• It is used for the development of software
efficiently.
• The four Ps are:
– People
– Project
– Product
– Process/Tools
10
People (Feasibility Study, Risk Management, Team Structure, Project Schedule, Project
Understandability, Project Accomplishment)
– The architecture, developers, testers, and their supporting
management, plus users, customers, and other
stakeholders are the prime movers in a software project.
– People are actual human beings, as opposed to the abstract
construct.
Project ( Project works)
– The organizational element through which software
development is managed. The outcome of a project is a
released product.
Product (Result of Project)
– Artifacts that are created during the life of the project, such
as models, source code, executables, and documentation.
11
Process
– A software engineering process is a definition of the
complete set of activities needed to transform users’
requirements into a product.
– So, A process is a template for creating projects.
Tools
– Software that is used to automate the activities defined in
the process.
Process
Template
Automation
People Project Tools
Participants
Result
Product 12
Core Steps of OOAD Process:
• Engineers solve complex problems.
• In the core steps the most powerful is a
standard, structured approach to solving any
problem.
• Here are four core steps, which is used for
problem solving in OOAD process.
• The core steps are:
• Concept – problem identification
• Analysis – problem understanding
• Design – create solution plan
• Implementation – create physical solution 13
Problem Solving – Core Steps
Step Objectives Deliverable
Concept 1. Capture the essence of 1. One or more sentences
(Problem what to solve? (real describing the vision to
Identification) meaning) achieves and key
objectives.
Analysis 1. Define the problem in 1. A breakdown of the
(Problem detail, sufficient to provide problem into clearly
Understanding) a satisfactory solution understand detail.
Design 1. Clearly visualized a 1. A model showing solution
(Create Solution satisfactory solution in components with their
Plan) terms of intentions. relationships and
responsibilities.
Implementation 1. Translate the design 1. Working solution, such
(Create Physical into working product. as source code,
Solution) executables, images,
14
documentation.
All the steps have these
sidesteps.
• The key sidestep is Confirm Value.
• Our goal is to make all steps as uniform but as flexible as
possible.
• This can be done by adding a rather interesting abstraction,
sidesteps.
• It allows eliminating the common separate testing steps,
integrating value with quality throughout the process.
• Example of confirm value are requirement review,
mapping of design to requirement elements, code
inspection (checking) and testing.
• By the help of sidesteps input and output can be
standardized per step.
• Standard input includes People, Skills, Previous
Step, Standards and cumulative product and
artifacts,
• Standard output includes the Product, Artifacts,
metrics, Spot improvements and better skills.
16
The Cycle Plan Step:
• The Cycle Plan Step is most
important step in OOAD
Process.
• The following diagram shows the
flow from Customer to end
Product.
• Here in this diagram includes
four minimum steps.
• These are performed in
sequence to gradually move
from customer needs to final
product. 17
Flowchart of Five Step Types Cycle Block
18
• This is the classic waterfall process, where one
continues in a straight lines as if falling from the
start to the finish.
• The problem with the waterfall approach is each
step must be 100% complete before going to the
next step, and each step must remain stable until all
are finished.
• So, to define a standard cyclic process we need
one more step type, which is Cycle Plan for OOAD
Process.
• It allows process flow to repeat planned cycles
again and again until the Cycle Plan is done.
19
Five Step Types Cycle Plan:
• Adding Cycle Plan gives the fifth and final step type.
• The key feature of the Cycle Plan step is it produces
a list of Concepts organized along a timeline.
20
Sub steps of Step:
• We need to expand a step into a procedure. And done with
sub steps.
• For example, the design step may have the sub steps.
Design
1. Acceptance Design
Steps can have
2. Functional Design
sub steps
3. Implementation Cycle Plan
• Step: All works is done in defined steps
• Sub-step: A step is composed of sequential or unordered
sub-steps.
• Sidestep: A step is also composed of sequential sidesteps
and have sub-steps and sidesteps.
• Four Standard Sidesteps:
– Get Input
– Add Value
– Confirm Value
– Forward Output