SlideShare a Scribd company logo
1 of 21
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

What's hot (8)

Unit 3
Unit 3Unit 3
Unit 3
 
The Big Picture
The Big PictureThe Big Picture
The Big Picture
 
Prof. Vikas Sharma
Prof. Vikas SharmaProf. Vikas Sharma
Prof. Vikas Sharma
 
OOPs concept and implementation
OOPs concept and implementationOOPs concept and implementation
OOPs concept and implementation
 
Java
JavaJava
Java
 
Object Oriented Programming Concepts
Object Oriented Programming ConceptsObject Oriented Programming Concepts
Object Oriented Programming Concepts
 
[OOP - Lec 04,05] Basic Building Blocks of OOP
[OOP - Lec 04,05] Basic Building Blocks of OOP[OOP - Lec 04,05] Basic Building Blocks of OOP
[OOP - Lec 04,05] Basic Building Blocks of OOP
 
ACT-SAT Comparison
ACT-SAT ComparisonACT-SAT Comparison
ACT-SAT Comparison
 

Viewers also liked

Agentes de Búsqueda Online y Ambientes Desconocidos
Agentes de Búsqueda Online y Ambientes DesconocidosAgentes de Búsqueda Online y Ambientes Desconocidos
Agentes de Búsqueda Online y Ambientes DesconocidosKaren Mendoza
 
μαθημα 1ο
μαθημα 1ομαθημα 1ο
μαθημα 1οliavassil
 
ΑΣΚΗΣΗ ΚΑΙ ΥΓΕΙΑ
ΑΣΚΗΣΗ ΚΑΙ ΥΓΕΙΑΑΣΚΗΣΗ ΚΑΙ ΥΓΕΙΑ
ΑΣΚΗΣΗ ΚΑΙ ΥΓΕΙΑZ_ELEFTHERIA
 
Διέλεξη του Δρ. Δ. Δρογίδη με θέμα «Θέατρο και Εκπαίδευση» στο Δημόσιο ΙΕΚ Αρ...
Διέλεξη του Δρ. Δ. Δρογίδη με θέμα «Θέατρο και Εκπαίδευση» στο Δημόσιο ΙΕΚ Αρ...Διέλεξη του Δρ. Δ. Δρογίδη με θέμα «Θέατρο και Εκπαίδευση» στο Δημόσιο ΙΕΚ Αρ...
Διέλεξη του Δρ. Δ. Δρογίδη με θέμα «Θέατρο και Εκπαίδευση» στο Δημόσιο ΙΕΚ Αρ...DImitrios Drogidis
 
What have you learned from audience feedback?
What have you learned from audience feedback?What have you learned from audience feedback?
What have you learned from audience feedback?Jazz Tallulah
 
Abstract data types
Abstract data typesAbstract data types
Abstract data typesFraboni Ec
 
Lecture-3 Research Proposal
Lecture-3 Research ProposalLecture-3 Research Proposal
Lecture-3 Research ProposalShankor Paul
 
Variable Rate Technology in Mallee by Alistair Murdoch
Variable Rate Technology in Mallee by Alistair MurdochVariable Rate Technology in Mallee by Alistair Murdoch
Variable Rate Technology in Mallee by Alistair MurdochAmanda Woods
 
CONCEPTOS BÁSICOS DE LÍMITES
CONCEPTOS BÁSICOS DE LÍMITESCONCEPTOS BÁSICOS DE LÍMITES
CONCEPTOS BÁSICOS DE LÍMITESinnovalabcun
 
Abstraction file
Abstraction fileAbstraction file
Abstraction fileTony Nguyen
 
Plagas, enfermedades y cambio climático: Situación prevista y medidas de adap...
Plagas, enfermedades y cambio climático: Situación prevista y medidas de adap...Plagas, enfermedades y cambio climático: Situación prevista y medidas de adap...
Plagas, enfermedades y cambio climático: Situación prevista y medidas de adap...Plutarco Echegoyen
 
Παρουσίαση Τομέα Δομικών Έργων Δομημένου Περιβάλλοντος & Αρχιτεκτονικού Σχεδι...
Παρουσίαση Τομέα Δομικών Έργων Δομημένου Περιβάλλοντος & Αρχιτεκτονικού Σχεδι...Παρουσίαση Τομέα Δομικών Έργων Δομημένου Περιβάλλοντος & Αρχιτεκτονικού Σχεδι...
Παρουσίαση Τομέα Δομικών Έργων Δομημένου Περιβάλλοντος & Αρχιτεκτονικού Σχεδι...John Tzortzakis
 

Viewers also liked (20)

Inheritance
InheritanceInheritance
Inheritance
 
Agentes de Búsqueda Online y Ambientes Desconocidos
Agentes de Búsqueda Online y Ambientes DesconocidosAgentes de Búsqueda Online y Ambientes Desconocidos
Agentes de Búsqueda Online y Ambientes Desconocidos
 
Lisp and scheme i
Lisp and scheme iLisp and scheme i
Lisp and scheme i
 
μαθημα 1ο
μαθημα 1ομαθημα 1ο
μαθημα 1ο
 
ΑΣΚΗΣΗ ΚΑΙ ΥΓΕΙΑ
ΑΣΚΗΣΗ ΚΑΙ ΥΓΕΙΑΑΣΚΗΣΗ ΚΑΙ ΥΓΕΙΑ
ΑΣΚΗΣΗ ΚΑΙ ΥΓΕΙΑ
 
print
printprint
print
 
Διέλεξη του Δρ. Δ. Δρογίδη με θέμα «Θέατρο και Εκπαίδευση» στο Δημόσιο ΙΕΚ Αρ...
Διέλεξη του Δρ. Δ. Δρογίδη με θέμα «Θέατρο και Εκπαίδευση» στο Δημόσιο ΙΕΚ Αρ...Διέλεξη του Δρ. Δ. Δρογίδη με θέμα «Θέατρο και Εκπαίδευση» στο Δημόσιο ΙΕΚ Αρ...
Διέλεξη του Δρ. Δ. Δρογίδη με θέμα «Θέατρο και Εκπαίδευση» στο Δημόσιο ΙΕΚ Αρ...
 
What have you learned from audience feedback?
What have you learned from audience feedback?What have you learned from audience feedback?
What have you learned from audience feedback?
 
Abstract data types
Abstract data typesAbstract data types
Abstract data types
 
Algoritmo Genético
Algoritmo GenéticoAlgoritmo Genético
Algoritmo Genético
 
Poo java
Poo javaPoo java
Poo java
 
Lecture-3 Research Proposal
Lecture-3 Research ProposalLecture-3 Research Proposal
Lecture-3 Research Proposal
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
Variable Rate Technology in Mallee by Alistair Murdoch
Variable Rate Technology in Mallee by Alistair MurdochVariable Rate Technology in Mallee by Alistair Murdoch
Variable Rate Technology in Mallee by Alistair Murdoch
 
Minimax
MinimaxMinimax
Minimax
 
CONCEPTOS BÁSICOS DE LÍMITES
CONCEPTOS BÁSICOS DE LÍMITESCONCEPTOS BÁSICOS DE LÍMITES
CONCEPTOS BÁSICOS DE LÍMITES
 
Api crash
Api crashApi crash
Api crash
 
Abstraction file
Abstraction fileAbstraction file
Abstraction file
 
Plagas, enfermedades y cambio climático: Situación prevista y medidas de adap...
Plagas, enfermedades y cambio climático: Situación prevista y medidas de adap...Plagas, enfermedades y cambio climático: Situación prevista y medidas de adap...
Plagas, enfermedades y cambio climático: Situación prevista y medidas de adap...
 
Παρουσίαση Τομέα Δομικών Έργων Δομημένου Περιβάλλοντος & Αρχιτεκτονικού Σχεδι...
Παρουσίαση Τομέα Δομικών Έργων Δομημένου Περιβάλλοντος & Αρχιτεκτονικού Σχεδι...Παρουσίαση Τομέα Δομικών Έργων Δομημένου Περιβάλλοντος & Αρχιτεκτονικού Σχεδι...
Παρουσίαση Τομέα Δομικών Έργων Δομημένου Περιβάλλοντος & Αρχιτεκτονικού Σχεδι...
 

Similar to Object oriented analysis

12_oop templa.pptx
12_oop templa.pptx12_oop templa.pptx
12_oop templa.pptxRokaKaram
 
Object oriented analysis_and_design_v2.0
Object oriented analysis_and_design_v2.0Object oriented analysis_and_design_v2.0
Object oriented analysis_and_design_v2.0Ganapathi M
 
C++ in object oriented programming
C++ in object oriented programmingC++ in object oriented programming
C++ in object oriented programmingSaket Khopkar
 
Object oriented analysis and design
Object oriented analysis and designObject oriented analysis and design
Object oriented analysis and designnaveed428
 
Chapter 4_Introduction to Patterns.ppt
Chapter 4_Introduction to Patterns.pptChapter 4_Introduction to Patterns.ppt
Chapter 4_Introduction to Patterns.pptRushikeshChikane1
 
Chapter 4_Introduction to Patterns.ppt
Chapter 4_Introduction to Patterns.pptChapter 4_Introduction to Patterns.ppt
Chapter 4_Introduction to Patterns.pptRushikeshChikane2
 
Software enginering.group-no-11 (1)
Software enginering.group-no-11 (1)Software enginering.group-no-11 (1)
Software enginering.group-no-11 (1)riarana10
 
object oriented programing lecture 1
object oriented programing lecture 1object oriented programing lecture 1
object oriented programing lecture 1Geophery sanga
 
Introduction to Object Oriented Programming
Introduction to Object Oriented ProgrammingIntroduction to Object Oriented Programming
Introduction to Object Oriented ProgrammingMoutaz Haddara
 
CEN6016-Chapter1.ppt
CEN6016-Chapter1.pptCEN6016-Chapter1.ppt
CEN6016-Chapter1.pptNelsonYanes6
 
Introduction to SAD.pptx
Introduction to SAD.pptxIntroduction to SAD.pptx
Introduction to SAD.pptxazida3
 
Object-Oriented Analysis and Design
Object-Oriented Analysis and DesignObject-Oriented Analysis and Design
Object-Oriented Analysis and DesignRiazAhmad786
 
Object analysis and design
Object analysis and designObject analysis and design
Object analysis and designAnand Grewal
 

Similar to Object oriented analysis (20)

12_oop templa.pptx
12_oop templa.pptx12_oop templa.pptx
12_oop templa.pptx
 
OOP Presentation.pptx
OOP Presentation.pptxOOP Presentation.pptx
OOP Presentation.pptx
 
OOP Presentation.pptx
OOP Presentation.pptxOOP Presentation.pptx
OOP Presentation.pptx
 
O6u CS-315A OOP Lecture (1).pdf
O6u CS-315A OOP Lecture (1).pdfO6u CS-315A OOP Lecture (1).pdf
O6u CS-315A OOP Lecture (1).pdf
 
Object oriented analysis_and_design_v2.0
Object oriented analysis_and_design_v2.0Object oriented analysis_and_design_v2.0
Object oriented analysis_and_design_v2.0
 
Lecture 1 oop
Lecture 1 oopLecture 1 oop
Lecture 1 oop
 
C++ in object oriented programming
C++ in object oriented programmingC++ in object oriented programming
C++ in object oriented programming
 
Object oriented analysis and design
Object oriented analysis and designObject oriented analysis and design
Object oriented analysis and design
 
Chapter 4_Introduction to Patterns.ppt
Chapter 4_Introduction to Patterns.pptChapter 4_Introduction to Patterns.ppt
Chapter 4_Introduction to Patterns.ppt
 
Chapter 4_Introduction to Patterns.ppt
Chapter 4_Introduction to Patterns.pptChapter 4_Introduction to Patterns.ppt
Chapter 4_Introduction to Patterns.ppt
 
Software enginering.group-no-11 (1)
Software enginering.group-no-11 (1)Software enginering.group-no-11 (1)
Software enginering.group-no-11 (1)
 
object oriented programing lecture 1
object oriented programing lecture 1object oriented programing lecture 1
object oriented programing lecture 1
 
Introduction to Object Oriented Programming
Introduction to Object Oriented ProgrammingIntroduction to Object Oriented Programming
Introduction to Object Oriented Programming
 
CEN6016-Chapter1.ppt
CEN6016-Chapter1.pptCEN6016-Chapter1.ppt
CEN6016-Chapter1.ppt
 
CEN6016-Chapter1.ppt
CEN6016-Chapter1.pptCEN6016-Chapter1.ppt
CEN6016-Chapter1.ppt
 
Introduction to SAD.pptx
Introduction to SAD.pptxIntroduction to SAD.pptx
Introduction to SAD.pptx
 
C# by Zaheer Abbas Aghani
C# by Zaheer Abbas AghaniC# by Zaheer Abbas Aghani
C# by Zaheer Abbas Aghani
 
C# by Zaheer Abbas Aghani
C# by Zaheer Abbas AghaniC# by Zaheer Abbas Aghani
C# by Zaheer Abbas Aghani
 
Object-Oriented Analysis and Design
Object-Oriented Analysis and DesignObject-Oriented Analysis and Design
Object-Oriented Analysis and Design
 
Object analysis and design
Object analysis and designObject analysis and design
Object analysis and design
 

More from Luis Goldster

Ruby on rails evaluation
Ruby on rails evaluationRuby on rails evaluation
Ruby on rails evaluationLuis Goldster
 
Ado.net & data persistence frameworks
Ado.net & data persistence frameworksAdo.net & data persistence frameworks
Ado.net & data persistence frameworksLuis Goldster
 
Multithreading models.ppt
Multithreading models.pptMultithreading models.ppt
Multithreading models.pptLuis Goldster
 
Business analytics and data mining
Business analytics and data miningBusiness analytics and data mining
Business analytics and data miningLuis Goldster
 
Big picture of data mining
Big picture of data miningBig picture of data mining
Big picture of data miningLuis Goldster
 
Data mining and knowledge discovery
Data mining and knowledge discoveryData mining and knowledge discovery
Data mining and knowledge discoveryLuis Goldster
 
Directory based cache coherence
Directory based cache coherenceDirectory based cache coherence
Directory based cache coherenceLuis Goldster
 
Hardware managed cache
Hardware managed cacheHardware managed cache
Hardware managed cacheLuis Goldster
 
How analysis services caching works
How analysis services caching worksHow analysis services caching works
How analysis services caching worksLuis Goldster
 
Optimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessorsOptimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessorsLuis Goldster
 
Concurrency with java
Concurrency with javaConcurrency with java
Concurrency with javaLuis Goldster
 
Data structures and algorithms
Data structures and algorithmsData structures and algorithms
Data structures and algorithmsLuis Goldster
 
Rest api to integrate with your site
Rest api to integrate with your siteRest api to integrate with your site
Rest api to integrate with your siteLuis Goldster
 

More from Luis Goldster (20)

Ruby on rails evaluation
Ruby on rails evaluationRuby on rails evaluation
Ruby on rails evaluation
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Ado.net & data persistence frameworks
Ado.net & data persistence frameworksAdo.net & data persistence frameworks
Ado.net & data persistence frameworks
 
Multithreading models.ppt
Multithreading models.pptMultithreading models.ppt
Multithreading models.ppt
 
Business analytics and data mining
Business analytics and data miningBusiness analytics and data mining
Business analytics and data mining
 
Big picture of data mining
Big picture of data miningBig picture of data mining
Big picture of data mining
 
Data mining and knowledge discovery
Data mining and knowledge discoveryData mining and knowledge discovery
Data mining and knowledge discovery
 
Cache recap
Cache recapCache recap
Cache recap
 
Directory based cache coherence
Directory based cache coherenceDirectory based cache coherence
Directory based cache coherence
 
Hardware managed cache
Hardware managed cacheHardware managed cache
Hardware managed cache
 
How analysis services caching works
How analysis services caching worksHow analysis services caching works
How analysis services caching works
 
Abstract data types
Abstract data typesAbstract data types
Abstract data types
 
Optimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessorsOptimizing shared caches in chip multiprocessors
Optimizing shared caches in chip multiprocessors
 
Api crash
Api crashApi crash
Api crash
 
Object model
Object modelObject model
Object model
 
Abstraction file
Abstraction fileAbstraction file
Abstraction file
 
Abstract class
Abstract classAbstract class
Abstract class
 
Concurrency with java
Concurrency with javaConcurrency with java
Concurrency with java
 
Data structures and algorithms
Data structures and algorithmsData structures and algorithms
Data structures and algorithms
 
Rest api to integrate with your site
Rest api to integrate with your siteRest api to integrate with your site
Rest api to integrate with your site
 

Recently uploaded

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 

Recently uploaded (20)

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 

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