SlideShare a Scribd company logo
Introduction to OOAD
Lecture # 1
Ms. Shazia Yousaf
Lecturer, Department of computer science,
University of Sargodha Mandi Bahauddin Campus
OO Objectives
We want a development method which:
Is able to guide us through analysis, design,
and implementation using one consistent
paradigm throughout those phases
Is less likely to generate errors
Facilitates reuse of designs and code
Analysis & Design
Analysis
Investigation of problem and requirements,
rather than a solution.
E.g. Requirements analysis and OO analysis.
Design
It emphasizes a conceptual solution that fulfills
the requirements.
E.g. Database design or OO design
Implementation expresses the true and complete
realized design
Object Oriented Analysis (OOA)
OOA is “a method of analysis that
examines requirements from the
perspectives of the classes and objects.”
(Booch 1995)
Emphasis is on finding and describing
conceptual objects in the problem
domain.
Object Oriented Design (OOD)
 OOD is “a method of design
encompassing the process of OO
decomposition and a notation for depicting
both logical and physical as well as static
and dynamic models of the system.”
(Booch 1995)
 Emphasis is on defining software
objects, and how they collaborate to fulfill
system requirements
What is OO analysis and design?
Essence of OO analysis - consider a
problem domain from the perspective of
objects (real world things, concepts)
Essence of OO design - define the
solution as a collection of software
objects (allocating responsibilities to
objects)
Examples- Library IS
OO Analysis - in the case of the library
information systems, one would find
concepts like book, library, patron
OO Design - emphasis on defining the
software objects; ultimately these objects
are implemented in some programming
language; Book may have a method
named print.
Example - contd.
Book
title
public class Book
{
private String title;
public ChaptergetChapter(int){...}
}
domain concept visualization of
domain concept
representation in an
object-oriented
programming language
Flight IS
Plane
tailNumber
public class Plane
{
private String tailNumber;
public List getFlightHistory() {...}
}
domain concept
visualization of
domain concept
representation in an
object-oriented
programming language
What are the business processes?
First step - consider what the business
must do; in the case of a library - lending
books, keeping track of due dates, buying
new books.
In requirements analysis; represent the
business processes in textual narration
(Use Cases).
Business processes - contd.
 Identifying and recording the business
processes as use cases is not actually
an object oriented activity; though a
necessary first step.
Roles in the organization
 Identify the roles of people who will be
involved in the business processes
 In OO terms - domain analysis
 Examples - customer, library assistant,
programmer, navigator, sensor, etc.
Who does what?
Business processes and roles (actors);
time to determine how to fulfill the
processes and who does these processes
in OO terms - object oriented design;
assigning responsibilities to the various
software objects
often expressed in class diagrams
In Summary...
Business
Analogy
OO Analysis
and Design
Associated
Documents
What are the
business
processes?
Requirements
analysis
Use cases
What are
employee roles?
Domain analysis Conceptual
model
Who is
responsible for
what?
Responsibility
assignment;
Design class
diagrams
Simple example to see big picture
Define use cases
Define domain model
Define interaction diagrams
Define design class diagrams
Define domain
model
Define
Interaction
diagrams
Define design
class diagrams
Define use
cases
Short Example
Dice game
A software simulates a player rolling two dice. If
the total is seven, they win; otherwise, they
lose.
Define use cases
Use cases
 Narrative descriptions of domain processes in a
structured prose format
 They are stories or scenarios of how people use
the system
Use case: Play a game
Actors: Player
Description: Player requests to roll the dice. System
presents results: If the dice face value totals seven,
player wins; otherwise, player loses.
Define conceptual model
OO Analysis concerns
specification of the problem domain
identification of concepts (objects)
Decomposition of the problem domain
includes
identification of objects, attributes, associations
results can be expressed in conceptual
model
Conceptual model - dice game
Conceptual model is not a description of the software components;
it represents concepts in the real world problem domain
Player
name
DiceGame
Die
faceValue
Rolls
Plays
Includes
2
2
1
1
1
1
Defining Interaction diagram
OO Design is concerned with
defining software objects – their responsibilities and
collaborations
Essential step - allocating responsibility to
objects and illustrating how they interact with
other objects
Expressed as interaction diagrams
Sequence Diagrams
Communication Diagrams
Example – Sequence Diagram
:DiceGame
play()
die1 :Die
fv1 := getFaceValue()
die2 :Die
roll()
roll()
fv2 := getFaceValue()
Defining class diagrams
Key questions to ask
 How do objects connect to other objects?
 What are the behaviors (methods) of these objects?
interaction diagrams suggests connections; to support
these connections methods are needed
Expressed as class diagrams
Example - Class diagram
2
Die
faceValue :int
getFaceValue():int
roll()
DiceGame
die1 :Die
die2 :Die
play()
1

More Related Content

What's hot (20)

PPT
Function oriented design
Vidhun T
 
PDF
Human Computer Interaction Notes 176.pdf
vijaykumarK44
 
PPT
Relational algebra-and-relational-calculus
Salman Vadsarya
 
PPT
Object oriented analysis
Mahesh Bhalerao
 
PPTX
Software Myths
Rajat Bajaj
 
PPT
Object Oriented Analysis and Design
Haitham El-Ghareeb
 
PPTX
Query processing
Ravinder Kamboj
 
PPTX
Software requirement and specification
Aman Adhikari
 
PPTX
Grasp patterns and its types
Syed Hassan Ali
 
PDF
Java programming material for beginners by Nithin, VVCE, Mysuru
Nithin Kumar,VVCE, Mysuru
 
PPTX
Prototyping
Eman Abed AlWahhab
 
PPT
Domain model
Eagle Eyes
 
PDF
Introduction to DBMS and SQL Overview
Prabu U
 
PPT
Design rules Human computer interaction.ppt
Sohail735908
 
PPTX
Introduction to object-oriented analysis and design (OOA/D)
Ahmed Farag
 
PDF
Object oriented analysis and design unit- ii
Shri Shankaracharya College, Bhilai,Junwani
 
DOCX
Matrix Multiplication Report
International Islamic University
 
PPTX
Prgramming paradigms
Anirudh Chauhan
 
PPTX
UNIT II DBMS.pptx
NIVETHA37590
 
PPTX
Unified modeling language diagrams
Alaa Ahmed
 
Function oriented design
Vidhun T
 
Human Computer Interaction Notes 176.pdf
vijaykumarK44
 
Relational algebra-and-relational-calculus
Salman Vadsarya
 
Object oriented analysis
Mahesh Bhalerao
 
Software Myths
Rajat Bajaj
 
Object Oriented Analysis and Design
Haitham El-Ghareeb
 
Query processing
Ravinder Kamboj
 
Software requirement and specification
Aman Adhikari
 
Grasp patterns and its types
Syed Hassan Ali
 
Java programming material for beginners by Nithin, VVCE, Mysuru
Nithin Kumar,VVCE, Mysuru
 
Prototyping
Eman Abed AlWahhab
 
Domain model
Eagle Eyes
 
Introduction to DBMS and SQL Overview
Prabu U
 
Design rules Human computer interaction.ppt
Sohail735908
 
Introduction to object-oriented analysis and design (OOA/D)
Ahmed Farag
 
Object oriented analysis and design unit- ii
Shri Shankaracharya College, Bhilai,Junwani
 
Matrix Multiplication Report
International Islamic University
 
Prgramming paradigms
Anirudh Chauhan
 
UNIT II DBMS.pptx
NIVETHA37590
 
Unified modeling language diagrams
Alaa Ahmed
 

Similar to 1Introduction to OOAD (20)

PPT
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
VGaneshKarthikeyan
 
PPT
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
VGaneshKarthikeyan
 
PPT
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
VGaneshKarthikeyan
 
DOCX
Ooad unit 1
raj kumar
 
PPT
Ooad
gantib
 
PPT
Introduction To Ooad
Rajesh Kumar
 
PPTX
Object oriented analysis and design
naveed428
 
PPTX
Ooad (object oriented analysis design)
Gagandeep Nanda
 
PPT
Object Oriented Analysis and Design with UML2 part1
Haitham Raik
 
PDF
Applying UML and Patterns (CH1, 6, 9, 10)
Jamie (Taka) Wang
 
PPTX
Unit-1 OOAD Introduction.pptx
Ravindranath67
 
PPTX
Object Oriented Approach for Software Development
Rishabh Soni
 
PDF
unit-1modellingconceptsclassmodeling-140929182538-phpapp01.pdf
RojaPogul1
 
PPT
OOAD-Unit1.ppt
rituah
 
PPT
AI_Module_2_Engineering_Computer_Science.ppt
Kavikiran3
 
PDF
.Net design pattern
Mohamed Zakarya Abdelgawad
 
PPT
Chapter 1- Introduction.ppt
TigistTilahun1
 
PDF
Software Design And Analysis Ii Lecture Notes Cuny Csci235 Itebooks
leemonadsiz
 
PPTX
OCL3_10_05.pptx
NitinShelake4
 
PPT
Unit 1( modelling concepts & class modeling)
Manoj Reddy
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
VGaneshKarthikeyan
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
VGaneshKarthikeyan
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
VGaneshKarthikeyan
 
Ooad unit 1
raj kumar
 
Ooad
gantib
 
Introduction To Ooad
Rajesh Kumar
 
Object oriented analysis and design
naveed428
 
Ooad (object oriented analysis design)
Gagandeep Nanda
 
Object Oriented Analysis and Design with UML2 part1
Haitham Raik
 
Applying UML and Patterns (CH1, 6, 9, 10)
Jamie (Taka) Wang
 
Unit-1 OOAD Introduction.pptx
Ravindranath67
 
Object Oriented Approach for Software Development
Rishabh Soni
 
unit-1modellingconceptsclassmodeling-140929182538-phpapp01.pdf
RojaPogul1
 
OOAD-Unit1.ppt
rituah
 
AI_Module_2_Engineering_Computer_Science.ppt
Kavikiran3
 
.Net design pattern
Mohamed Zakarya Abdelgawad
 
Chapter 1- Introduction.ppt
TigistTilahun1
 
Software Design And Analysis Ii Lecture Notes Cuny Csci235 Itebooks
leemonadsiz
 
OCL3_10_05.pptx
NitinShelake4
 
Unit 1( modelling concepts & class modeling)
Manoj Reddy
 
Ad

More from Shahid Riaz (20)

PPTX
Shimla deputation (1906)
Shahid Riaz
 
PPTX
#Syed ahmad shaheed barailvi
Shahid Riaz
 
PDF
How to program in c++ with 100 examples
Shahid Riaz
 
PDF
Virtual private networks in theory and practice
Shahid Riaz
 
PPT
Database systems administration week 1
Shahid Riaz
 
PPTX
Database systems administration traning 02
Shahid Riaz
 
PPTX
Database systems administration traning 02
Shahid Riaz
 
PPTX
Database systems administration traning 01
Shahid Riaz
 
PPTX
Database systems administration traning 0
Shahid Riaz
 
PPTX
Database systems administration traning 04
Shahid Riaz
 
PPTX
Managing people and organizing team
Shahid Riaz
 
PPTX
Lec 1 intro to internet
Shahid Riaz
 
PPT
Course guidlines course book it 3548
Shahid Riaz
 
PPT
Lecture12 software design class diagram
Shahid Riaz
 
PPT
Lecture11 use case sequence diagram
Shahid Riaz
 
PPT
Lecture10 use case model operation contracts
Shahid Riaz
 
PDF
Lecture9 domain model visualizing
Shahid Riaz
 
PDF
Lecture8 system sequence
Shahid Riaz
 
PDF
Lecture7 use case modeling
Shahid Riaz
 
PDF
Lecture6 activity diagrams
Shahid Riaz
 
Shimla deputation (1906)
Shahid Riaz
 
#Syed ahmad shaheed barailvi
Shahid Riaz
 
How to program in c++ with 100 examples
Shahid Riaz
 
Virtual private networks in theory and practice
Shahid Riaz
 
Database systems administration week 1
Shahid Riaz
 
Database systems administration traning 02
Shahid Riaz
 
Database systems administration traning 02
Shahid Riaz
 
Database systems administration traning 01
Shahid Riaz
 
Database systems administration traning 0
Shahid Riaz
 
Database systems administration traning 04
Shahid Riaz
 
Managing people and organizing team
Shahid Riaz
 
Lec 1 intro to internet
Shahid Riaz
 
Course guidlines course book it 3548
Shahid Riaz
 
Lecture12 software design class diagram
Shahid Riaz
 
Lecture11 use case sequence diagram
Shahid Riaz
 
Lecture10 use case model operation contracts
Shahid Riaz
 
Lecture9 domain model visualizing
Shahid Riaz
 
Lecture8 system sequence
Shahid Riaz
 
Lecture7 use case modeling
Shahid Riaz
 
Lecture6 activity diagrams
Shahid Riaz
 
Ad

Recently uploaded (20)

PDF
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
PPTX
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
PDF
HiHelloHR – Simplify HR Operations for Modern Workplaces
HiHelloHR
 
PDF
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
PDF
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
PDF
Open Chain Q2 Steering Committee Meeting - 2025-06-25
Shane Coughlan
 
PPTX
Tally software_Introduction_Presentation
AditiBansal54083
 
PDF
Driver Easy Pro 6.1.1 Crack Licensce key 2025 FREE
utfefguu
 
PDF
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
PDF
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
PPTX
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
PPTX
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
PPTX
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
PPTX
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
OpenChain @ OSS NA - In From the Cold: Open Source as Part of Mainstream Soft...
Shane Coughlan
 
PPTX
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
PDF
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
PPTX
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
PPTX
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
PDF
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
HiHelloHR – Simplify HR Operations for Modern Workplaces
HiHelloHR
 
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
Open Chain Q2 Steering Committee Meeting - 2025-06-25
Shane Coughlan
 
Tally software_Introduction_Presentation
AditiBansal54083
 
Driver Easy Pro 6.1.1 Crack Licensce key 2025 FREE
utfefguu
 
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
OpenChain @ OSS NA - In From the Cold: Open Source as Part of Mainstream Soft...
Shane Coughlan
 
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 

1Introduction to OOAD

  • 1. Introduction to OOAD Lecture # 1 Ms. Shazia Yousaf Lecturer, Department of computer science, University of Sargodha Mandi Bahauddin Campus
  • 2. OO Objectives We want a development method which: Is able to guide us through analysis, design, and implementation using one consistent paradigm throughout those phases Is less likely to generate errors Facilitates reuse of designs and code
  • 3. Analysis & Design Analysis Investigation of problem and requirements, rather than a solution. E.g. Requirements analysis and OO analysis. Design It emphasizes a conceptual solution that fulfills the requirements. E.g. Database design or OO design Implementation expresses the true and complete realized design
  • 4. Object Oriented Analysis (OOA) OOA is “a method of analysis that examines requirements from the perspectives of the classes and objects.” (Booch 1995) Emphasis is on finding and describing conceptual objects in the problem domain.
  • 5. Object Oriented Design (OOD)  OOD is “a method of design encompassing the process of OO decomposition and a notation for depicting both logical and physical as well as static and dynamic models of the system.” (Booch 1995)  Emphasis is on defining software objects, and how they collaborate to fulfill system requirements
  • 6. What is OO analysis and design? Essence of OO analysis - consider a problem domain from the perspective of objects (real world things, concepts) Essence of OO design - define the solution as a collection of software objects (allocating responsibilities to objects)
  • 7. Examples- Library IS OO Analysis - in the case of the library information systems, one would find concepts like book, library, patron OO Design - emphasis on defining the software objects; ultimately these objects are implemented in some programming language; Book may have a method named print.
  • 8. Example - contd. Book title public class Book { private String title; public ChaptergetChapter(int){...} } domain concept visualization of domain concept representation in an object-oriented programming language
  • 9. Flight IS Plane tailNumber public class Plane { private String tailNumber; public List getFlightHistory() {...} } domain concept visualization of domain concept representation in an object-oriented programming language
  • 10. What are the business processes? First step - consider what the business must do; in the case of a library - lending books, keeping track of due dates, buying new books. In requirements analysis; represent the business processes in textual narration (Use Cases).
  • 11. Business processes - contd.  Identifying and recording the business processes as use cases is not actually an object oriented activity; though a necessary first step.
  • 12. Roles in the organization  Identify the roles of people who will be involved in the business processes  In OO terms - domain analysis  Examples - customer, library assistant, programmer, navigator, sensor, etc.
  • 13. Who does what? Business processes and roles (actors); time to determine how to fulfill the processes and who does these processes in OO terms - object oriented design; assigning responsibilities to the various software objects often expressed in class diagrams
  • 14. In Summary... Business Analogy OO Analysis and Design Associated Documents What are the business processes? Requirements analysis Use cases What are employee roles? Domain analysis Conceptual model Who is responsible for what? Responsibility assignment; Design class diagrams
  • 15. Simple example to see big picture Define use cases Define domain model Define interaction diagrams Define design class diagrams Define domain model Define Interaction diagrams Define design class diagrams Define use cases
  • 16. Short Example Dice game A software simulates a player rolling two dice. If the total is seven, they win; otherwise, they lose.
  • 17. Define use cases Use cases  Narrative descriptions of domain processes in a structured prose format  They are stories or scenarios of how people use the system Use case: Play a game Actors: Player Description: Player requests to roll the dice. System presents results: If the dice face value totals seven, player wins; otherwise, player loses.
  • 18. Define conceptual model OO Analysis concerns specification of the problem domain identification of concepts (objects) Decomposition of the problem domain includes identification of objects, attributes, associations results can be expressed in conceptual model
  • 19. Conceptual model - dice game Conceptual model is not a description of the software components; it represents concepts in the real world problem domain Player name DiceGame Die faceValue Rolls Plays Includes 2 2 1 1 1 1
  • 20. Defining Interaction diagram OO Design is concerned with defining software objects – their responsibilities and collaborations Essential step - allocating responsibility to objects and illustrating how they interact with other objects Expressed as interaction diagrams Sequence Diagrams Communication Diagrams
  • 21. Example – Sequence Diagram :DiceGame play() die1 :Die fv1 := getFaceValue() die2 :Die roll() roll() fv2 := getFaceValue()
  • 22. Defining class diagrams Key questions to ask  How do objects connect to other objects?  What are the behaviors (methods) of these objects? interaction diagrams suggests connections; to support these connections methods are needed Expressed as class diagrams
  • 23. Example - Class diagram 2 Die faceValue :int getFaceValue():int roll() DiceGame die1 :Die die2 :Die play() 1