SlideShare a Scribd company logo
Object-oriented
and
Analysis emphasizes an
investigation of the problem and
requirements, rather than a solution.
Design emphasizes a conceptual
solution that fulfils the requirements,
rather than its implementation.
Do the right thing
Do the thing right
What is OOAD?
Object-oriented analysis emphasises on finding and
describing the objects—or concepts—in the problem
domain.
Object-oriented design emphasises on defining
software objects and how they collaborate to fulfil the
requirements.
Example: Library management
system
Domain
Concepts
Book
title
Visualizatio
n of
Domain
Concepts
Public class Book{
private String title;
public Chapter getChapter (int){…}
}
Representation in an object
oriented programming
language
Course Layout
OOAD
C++
UML
DP
SE
Introduction to OOAD (CS212)
• Repeatable
solution to a
commonly
occurring
problem
• Design and
development
of software
• Modeling
Language to
visualize design
of a system
• Object
Oriented
Programming
C+
+
UM
L
DPSE
Course structure
OOAD
Theory
OO Concepts
Design
Patterns
OO Modeling
Laboratory C++
Marks distribution
Theory
• Class participation: 5
• Mid semester 1: 15
• Mid semester 2: 20
• End semester: 60
Lab
•Each lab: 15
•Mid semester Practical: 20
•End semester Practical: 30
Lecture Plan
Mid sem
1
Class and
Object
Overloading Inheritance
Mid sem
2
Virtual
Function and
Polymorphism
Exception
handling
Template
End sem STL UML
Design
Patterns
About Lab sessions
• C++ programming assignments
• Thursday – 1 PM to 3 PM - B14CS001 to B14SS017
• Friday – 1 PM to 3 PM - UG201213002 to UG201313039
• Venue: Computer centre
• 10 programming assignments, 1 mid-semester practical, 1
end-semester practical
Evaluation criteria for the lab
•Format - 2
•Documentation - 2
•Response - 4
•Design - 3
•Execution - 4
Procedural vs. Object-Oriented
Line of code
Line of code
Line of code
Data is stored
independent
of application
Each object is independent of
the others
OO-applicationProcedural
application
DATA
Main OO Concepts
Encapsulation Abstraction
Inheritance Polimorphism
OO
Concepts
Encapsulation
• Each objects methods manage it’s own attributes.
• This is also known as information hiding.
• An object A can learn about the values of attributes of
another object B, only by invoking the corresponding
method associated to the object B.
• Example:
• Class: Student
• Attributes: Name, roll number
• Methods: getName(), setRollNumber()
Abstraction
• A problem solving tool that allows one to think of a problem at a
higher level without worrying about the details.
• Provides only essential information to the outside world and
hides their background details,
• To represent the needed information in program without
presenting the details.
• For example, a clock shows the time to the user, without telling
how it is internally stored.
Abstraction vs. Encapsulation
Every entity that performs abstraction is
encapsulated internally but every thing that
shows encapsulation need not be abstraction
always.
Classes
• Classes are templates that have methods and attribute
names and type information packaged in a single unit
• Objects are generated by these classes and they actually
contain values.
• We design an application at the class level.
• During execution objects are created by classes as they
are needed to contain state information.
• Objects are removed when not needed.
Class & Objects
Name
Number
CLASS: Furniture
methods: Example
ChangeNumber
Objects:
Desk
123445
ChairA
32143
ChairB
45687
Class Hierarchies & Inheritance
• Classes can be arranged in hierarchies so that more classes
inherit attributes and methods from more abstract clases
• Class hierarchy diagrams
Class: Chair
subclasses
Chair Type A Chair Type B
Polimorphism
• One method will behave differently when it is applied to the
objects of different classes
• Different methods associated with different classes can
interpret the same message in different ways.
• Example: an object can send a message PRINT to several
objects, and each one will use it’s own PRINT method to
execute the message.
• E.g. Overloading
Unified Process
• Inception— approximate vision, business case, scope, vague
estimates.
• Elaboration— refined vision, iterative implementation of the
core architecture, resolution of high risks, identification of most
requirements and scope, more realistic estimates.
• Construction— iterative implementation of the remaining
lower risk and easier elements, and preparation for deployment.
• Transition— beta tests, deployment.
Schedule-oriented terms in the
Unified Process
Inception Elaboration Construction Transition
Iteration Phase
Milestone Release
Final
Product

More Related Content

PPT
Introduction of object oriented analysis & design by sarmad baloch
PPT
01 introduction
PPTX
[OOP - Lec 01] Introduction to OOP
PDF
Lecture 1 - Objects and classes
PPT
Teaching Object Oriented Programming Courses by Sandeep K Singh JIIT,Noida
PPT
Ooad Uml
DOCX
Object oriented programming tutorial
Introduction of object oriented analysis & design by sarmad baloch
01 introduction
[OOP - Lec 01] Introduction to OOP
Lecture 1 - Objects and classes
Teaching Object Oriented Programming Courses by Sandeep K Singh JIIT,Noida
Ooad Uml
Object oriented programming tutorial

What's hot (8)

PPT
PPTX
The Big Picture
PPT
Prof. Vikas Sharma
PPT
OOPs concept and implementation
PPTX
PPTX
Object Oriented Programming Concepts
PPTX
[OOP - Lec 04,05] Basic Building Blocks of OOP
PDF
ACT-SAT Comparison
The Big Picture
Prof. Vikas Sharma
OOPs concept and implementation
Object Oriented Programming Concepts
[OOP - Lec 04,05] Basic Building Blocks of OOP
ACT-SAT Comparison
Ad

Viewers also liked (20)

PPTX
Python language data types
PPTX
Αρχιτεκτονικό σχέδιο
PPTX
Rest api to integrate with your site
PPTX
Cache recap
PPTX
Exception handling
PPTX
Api crash
PPTX
Cobol, lisp, and python
PPTX
Ruby on rails evaluation
PPTX
Optimizing shared caches in chip multiprocessors
PPTX
Mapa de riesgo
PDF
AWS ElasticBeansTalk
PPTX
Cache recap
PPTX
Montage Bamboo terrarium de la marque Reptiles-Planet
PDF
Dart Frog Terrarium Build
PPTX
Extending burp with python
PPTX
Big picture of data mining
PPTX
How to make a terrarium with Emily at Snug Harbor Farm
DOCX
Make a terrarium mini
PPTX
Data mining and knowledge discovery
PDF
Estado del recurso suelo en Guatemala, prioridades y necesidades para su mane...
 
Python language data types
Αρχιτεκτονικό σχέδιο
Rest api to integrate with your site
Cache recap
Exception handling
Api crash
Cobol, lisp, and python
Ruby on rails evaluation
Optimizing shared caches in chip multiprocessors
Mapa de riesgo
AWS ElasticBeansTalk
Cache recap
Montage Bamboo terrarium de la marque Reptiles-Planet
Dart Frog Terrarium Build
Extending burp with python
Big picture of data mining
How to make a terrarium with Emily at Snug Harbor Farm
Make a terrarium mini
Data mining and knowledge discovery
Estado del recurso suelo en Guatemala, prioridades y necesidades para su mane...
 
Ad

Similar to Object oriented analysis (20)

PPTX
12_oop templa.pptx
PPTX
OOP Presentation.pptx
PPTX
OOP Presentation.pptx
PPTX
Object Oriented Programming Class and Objects
PDF
O6u CS-315A OOP Lecture (1).pdf
PPT
Object oriented analysis_and_design_v2.0
PPTX
Lecture 1 oop
PPTX
C++ in object oriented programming
PPTX
Object oriented analysis and design
PPT
Chapter 4_Introduction to Patterns.ppt
PPT
Chapter 4_Introduction to Patterns.ppt
PPTX
Software enginering.group-no-11 (1)
PPTX
object oriented programing lecture 1
PPTX
Introduction to Object Oriented Programming
PPT
CEN6016-Chapter1.ppt
PPT
CEN6016-Chapter1.ppt
PPTX
Object Oriented Programming - Copy.pptxb
PPTX
Principles of Agile Topic. Basic understanding of Agile principles.
PDF
10 Modeling Object and Classes.pdf Software
PPTX
Introduction to SAD.pptx
12_oop templa.pptx
OOP Presentation.pptx
OOP Presentation.pptx
Object Oriented Programming Class and Objects
O6u CS-315A OOP Lecture (1).pdf
Object oriented analysis_and_design_v2.0
Lecture 1 oop
C++ in object oriented programming
Object oriented analysis and design
Chapter 4_Introduction to Patterns.ppt
Chapter 4_Introduction to Patterns.ppt
Software enginering.group-no-11 (1)
object oriented programing lecture 1
Introduction to Object Oriented Programming
CEN6016-Chapter1.ppt
CEN6016-Chapter1.ppt
Object Oriented Programming - Copy.pptxb
Principles of Agile Topic. Basic understanding of Agile principles.
10 Modeling Object and Classes.pdf Software
Introduction to SAD.pptx

More from Tony Nguyen (20)

PPTX
Directory based cache coherence
PPTX
Business analytics and data mining
PPTX
Cache recap
PPTX
How analysis services caching works
PPTX
Hardware managed cache
PPT
Abstract data types
PPTX
Optimizing shared caches in chip multiprocessors
PPT
Abstract class
PPTX
Abstraction file
PPTX
Object model
PPTX
Concurrency with java
PPTX
Data structures and algorithms
PPTX
Inheritance
PPTX
Object oriented programming-with_java
PPTX
Cobol, lisp, and python
PPTX
Api crash
PPTX
Learning python
PPTX
Programming for engineers in python
PPTX
Python basics
PPTX
Python your new best friend
Directory based cache coherence
Business analytics and data mining
Cache recap
How analysis services caching works
Hardware managed cache
Abstract data types
Optimizing shared caches in chip multiprocessors
Abstract class
Abstraction file
Object model
Concurrency with java
Data structures and algorithms
Inheritance
Object oriented programming-with_java
Cobol, lisp, and python
Api crash
Learning python
Programming for engineers in python
Python basics
Python your new best friend

Recently uploaded (20)

PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Approach and Philosophy of On baking technology
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPT
Teaching material agriculture food technology
PPTX
Cloud computing and distributed systems.
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
cuic standard and advanced reporting.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
The AUB Centre for AI in Media Proposal.docx
Approach and Philosophy of On baking technology
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Teaching material agriculture food technology
Cloud computing and distributed systems.
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Per capita expenditure prediction using model stacking based on satellite ima...
NewMind AI Weekly Chronicles - August'25 Week I
cuic standard and advanced reporting.pdf
Encapsulation_ Review paper, used for researhc scholars
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Diabetes mellitus diagnosis method based random forest with bat algorithm
Advanced methodologies resolving dimensionality complications for autism neur...
Dropbox Q2 2025 Financial Results & Investor Presentation
Building Integrated photovoltaic BIPV_UPV.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...

Object oriented analysis

  • 1. Object-oriented and Analysis emphasizes an investigation of the problem and requirements, rather than a solution. Design emphasizes a conceptual solution that fulfils the requirements, rather than its implementation. Do the right thing Do the thing right
  • 2. What is OOAD? Object-oriented analysis emphasises on finding and describing the objects—or concepts—in the problem domain. Object-oriented design emphasises on defining software objects and how they collaborate to fulfil the requirements.
  • 3. Example: Library management system Domain Concepts Book title Visualizatio n of Domain Concepts Public class Book{ private String title; public Chapter getChapter (int){…} } Representation in an object oriented programming language
  • 5. Introduction to OOAD (CS212) • Repeatable solution to a commonly occurring problem • Design and development of software • Modeling Language to visualize design of a system • Object Oriented Programming C+ + UM L DPSE
  • 7. Marks distribution Theory • Class participation: 5 • Mid semester 1: 15 • Mid semester 2: 20 • End semester: 60 Lab •Each lab: 15 •Mid semester Practical: 20 •End semester Practical: 30
  • 8. Lecture Plan Mid sem 1 Class and Object Overloading Inheritance Mid sem 2 Virtual Function and Polymorphism Exception handling Template End sem STL UML Design Patterns
  • 9. About Lab sessions • C++ programming assignments • Thursday – 1 PM to 3 PM - B14CS001 to B14SS017 • Friday – 1 PM to 3 PM - UG201213002 to UG201313039 • Venue: Computer centre • 10 programming assignments, 1 mid-semester practical, 1 end-semester practical
  • 10. Evaluation criteria for the lab •Format - 2 •Documentation - 2 •Response - 4 •Design - 3 •Execution - 4
  • 11. Procedural vs. Object-Oriented Line of code Line of code Line of code Data is stored independent of application Each object is independent of the others OO-applicationProcedural application DATA
  • 12. Main OO Concepts Encapsulation Abstraction Inheritance Polimorphism OO Concepts
  • 13. Encapsulation • Each objects methods manage it’s own attributes. • This is also known as information hiding. • An object A can learn about the values of attributes of another object B, only by invoking the corresponding method associated to the object B. • Example: • Class: Student • Attributes: Name, roll number • Methods: getName(), setRollNumber()
  • 14. Abstraction • A problem solving tool that allows one to think of a problem at a higher level without worrying about the details. • Provides only essential information to the outside world and hides their background details, • To represent the needed information in program without presenting the details. • For example, a clock shows the time to the user, without telling how it is internally stored.
  • 15. Abstraction vs. Encapsulation Every entity that performs abstraction is encapsulated internally but every thing that shows encapsulation need not be abstraction always.
  • 16. Classes • Classes are templates that have methods and attribute names and type information packaged in a single unit • Objects are generated by these classes and they actually contain values. • We design an application at the class level. • During execution objects are created by classes as they are needed to contain state information. • Objects are removed when not needed.
  • 17. Class & Objects Name Number CLASS: Furniture methods: Example ChangeNumber Objects: Desk 123445 ChairA 32143 ChairB 45687
  • 18. Class Hierarchies & Inheritance • Classes can be arranged in hierarchies so that more classes inherit attributes and methods from more abstract clases • Class hierarchy diagrams Class: Chair subclasses Chair Type A Chair Type B
  • 19. Polimorphism • One method will behave differently when it is applied to the objects of different classes • Different methods associated with different classes can interpret the same message in different ways. • Example: an object can send a message PRINT to several objects, and each one will use it’s own PRINT method to execute the message. • E.g. Overloading
  • 20. Unified Process • Inception— approximate vision, business case, scope, vague estimates. • Elaboration— refined vision, iterative implementation of the core architecture, resolution of high risks, identification of most requirements and scope, more realistic estimates. • Construction— iterative implementation of the remaining lower risk and easier elements, and preparation for deployment. • Transition— beta tests, deployment.
  • 21. Schedule-oriented terms in the Unified Process Inception Elaboration Construction Transition Iteration Phase Milestone Release Final Product