SlideShare a Scribd company logo
1 of 16
OBJECT-ORIENTED ANALYSIS
AND DESIGN
Eng. Ahmed Farag
What Is Analysis and Design?
• Analysis emphasizes an investigation of the problem and
requirements, rather than a solution.
• For example, if a new computerized library information system is
desired, how will it be used?
• "Analysis" is a broad term, best qualified, as in requirements analysis
(an investigation of the requirements) or object analysis (an
investigation of the domain objects).
What Is Analysis and Design?
• Design emphasizes a conceptual solution that fulfills the
requirements, rather than its implementation.
• For example, a description of a database schema and software
objects. Ultimately, designs can be implemented.
• As with analysis, the term is best qualified, as in object design or
database design.
What Is Object-Oriented Analysis and Design?
• During object-oriented analysis, there is an emphasis on finding and
describing the objects—or concepts—in the problem domain.
• For example, in the case of the library information system, some of
the concepts/Objects include Book and Library.
What Is Object-Oriented
Analysis and Design?
• During object-oriented design, there is
an emphasis on defining software
objects and how they collaborate to
fulfill the requirements.
• For example, in the library system, a
Book software object may have a title
attribute and a getChapter method.
An Example: dice
game
• Before diving into the details of
requirements analysis and OOA/D, we
presents a birds-eye view of a few key steps
and diagrams, using a simple example—a
"dice game" in which a player rolls two die.
If the total is seven, they win; otherwise,
they lose.
An Example: dice game
Define use
cases
Define
domain
model
Define
interaction
diagrams
Define
design class
diagrams
Define Use Cases
• Use cases are not an object-oriented artifact—they are simply
written stories.
• For example, here is a brief version of the Play a Dice Game use case:
• Play a Dice Game: A player picks up and rolls the dice. If the dice face value
total seven, they win; otherwise, they lose.
Define a Domain Model
• Object-oriented analysis is concerned with creating a description of
the domain from the perspective of classification by objects. A
decomposition of the domain involves an identification of the
concepts, attributes, and associations that are considered
noteworthy.
• The result can be expressed in a domain model, which is illustrated in
a set of diagrams that show domain concepts or objects.
Define a
Domain Model
• For example, a partial
domain model
• This model illustrates
the noteworthy
concepts Player, Die,
and DiceGame, with
their associations and
attributes
Define Interaction Diagrams
• Object-oriented design is concerned with defining software objects
and their collaborations. A common notation to illustrate these
collaborations is the interaction diagram. It shows the flow of
messages between software objects, and thus the invocation of
methods.
Define
Interaction
Diagrams
• For example, assume
that a software
implementation of the
dice game is desired.
The interaction diagram
illustrates the essential
step of playing, by
sending messages to
instances of the
DiceGame and Die
classes.
Define Interaction Diagrams
• Notice that although in the real world a player rolls the dice, in the
software design the DiceGame object "rolls" the dice (that is, sends
messages to Die objects).
Define Design Class Diagrams
• In addition to a dynamic view of collaborating objects shown in
interaction diagrams, it is useful to create a static view of the class
definitions with a design class diagram. This illustrates the attributes
and methods of the classes.
Define Design
Class Diagrams
• For example, in the dice
game, an inspection of the
interaction diagram leads to
the partial design class
diagram.
• Since a play message is
sent to a DiceGame
object, the DiceGame
class requires a play
method, while class Die
requires a roll and
getFaceValue method.
Summary
• The dice game is a simple problem, presented to focus on a few steps
and artifacts in analysis and design.

More Related Content

What's hot

Uml Presentation
Uml PresentationUml Presentation
Uml Presentation
mewaseem
 
Unit 4 designing classes
Unit 4  designing classesUnit 4  designing classes
Unit 4 designing classes
gopal10scs185
 
Requirements Engineering Processes in Software Engineering SE6
Requirements Engineering Processes in Software Engineering SE6Requirements Engineering Processes in Software Engineering SE6
Requirements Engineering Processes in Software Engineering SE6
koolkampus
 
Object oriented analysis and design
Object oriented analysis and designObject oriented analysis and design
Object oriented analysis and design
naveed428
 

What's hot (20)

Uml class-diagram
Uml class-diagramUml class-diagram
Uml class-diagram
 
Ooad
OoadOoad
Ooad
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentation
 
UML
UMLUML
UML
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentation
 
Unit 4 designing classes
Unit 4  designing classesUnit 4  designing classes
Unit 4 designing classes
 
Unit 1( modelling concepts & class modeling)
Unit  1( modelling concepts & class modeling)Unit  1( modelling concepts & class modeling)
Unit 1( modelling concepts & class modeling)
 
Object oriented analysis &design - requirement analysis
Object oriented analysis &design - requirement analysisObject oriented analysis &design - requirement analysis
Object oriented analysis &design - requirement analysis
 
Design Pattern in Software Engineering
Design Pattern in Software EngineeringDesign Pattern in Software Engineering
Design Pattern in Software Engineering
 
Requirements Engineering Processes in Software Engineering SE6
Requirements Engineering Processes in Software Engineering SE6Requirements Engineering Processes in Software Engineering SE6
Requirements Engineering Processes in Software Engineering SE6
 
Object Oriented Analysis Design using UML
Object Oriented Analysis Design using UMLObject Oriented Analysis Design using UML
Object Oriented Analysis Design using UML
 
Unit 2(advanced class modeling & state diagram)
Unit  2(advanced class modeling & state diagram)Unit  2(advanced class modeling & state diagram)
Unit 2(advanced class modeling & state diagram)
 
Object-Oriented Analysis And Design With Applications Grady Booch
Object-Oriented Analysis And Design With Applications Grady BoochObject-Oriented Analysis And Design With Applications Grady Booch
Object-Oriented Analysis And Design With Applications Grady Booch
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML Diagrams
 
Case study-the next gen pos
Case study-the next gen posCase study-the next gen pos
Case study-the next gen pos
 
Object oriented analysis and design
Object oriented analysis and designObject oriented analysis and design
Object oriented analysis and design
 
Use case diagram
Use case diagramUse case diagram
Use case diagram
 
Object Oriented Analysis (Coad-Yourdon)
Object Oriented Analysis (Coad-Yourdon)Object Oriented Analysis (Coad-Yourdon)
Object Oriented Analysis (Coad-Yourdon)
 
object oriented methodologies
object oriented methodologiesobject oriented methodologies
object oriented methodologies
 

Similar to Introduction to object-oriented analysis and design (OOA/D)

Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
Luis Goldster
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
Young Alista
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
Fraboni Ec
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
Tony Nguyen
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
James Wong
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
Harry Potter
 
Object-Oriented Systems Analysis and Design Using UML.pptx
Object-Oriented Systems Analysis and Design Using UML.pptxObject-Oriented Systems Analysis and Design Using UML.pptx
Object-Oriented Systems Analysis and Design Using UML.pptx
XanGwaps
 

Similar to Introduction to object-oriented analysis and design (OOA/D) (20)

Dice Game Case Study 11 30 6
Dice Game Case Study 11 30 6Dice Game Case Study 11 30 6
Dice Game Case Study 11 30 6
 
1Introduction to OOAD
1Introduction to OOAD1Introduction to OOAD
1Introduction to OOAD
 
Unified Modeling Language (UML)
Unified Modeling Language (UML)Unified Modeling Language (UML)
Unified Modeling Language (UML)
 
classes & objects introduction
classes & objects introductionclasses & objects introduction
classes & objects introduction
 
Chapter12 python object oriented concepts.ppt
Chapter12 python object oriented concepts.pptChapter12 python object oriented concepts.ppt
Chapter12 python object oriented concepts.ppt
 
Chapter12.ppt
Chapter12.pptChapter12.ppt
Chapter12.ppt
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
 
Unit-2.pptx
Unit-2.pptxUnit-2.pptx
Unit-2.pptx
 
Ooad unit 1
Ooad unit 1Ooad unit 1
Ooad unit 1
 
the Modeling is a way of thinking about the
the Modeling is a way of thinking about thethe Modeling is a way of thinking about the
the Modeling is a way of thinking about the
 
Introduction To Ooad
Introduction To OoadIntroduction To Ooad
Introduction To Ooad
 
Software enginering.group-no-11 (1)
Software enginering.group-no-11 (1)Software enginering.group-no-11 (1)
Software enginering.group-no-11 (1)
 
UML-Advanced Software Engineering
UML-Advanced Software EngineeringUML-Advanced Software Engineering
UML-Advanced Software Engineering
 
Object-Oriented Systems Analysis and Design Using UML.pptx
Object-Oriented Systems Analysis and Design Using UML.pptxObject-Oriented Systems Analysis and Design Using UML.pptx
Object-Oriented Systems Analysis and Design Using UML.pptx
 

More from Ahmed Farag (14)

Intro to php
Intro to phpIntro to php
Intro to php
 
MYSql manage db
MYSql manage dbMYSql manage db
MYSql manage db
 
Normalization
NormalizationNormalization
Normalization
 
Sql modifying data - MYSQL part I
Sql modifying data - MYSQL part ISql modifying data - MYSQL part I
Sql modifying data - MYSQL part I
 
MYSQL using set operators
MYSQL using set operatorsMYSQL using set operators
MYSQL using set operators
 
MYSQL join
MYSQL joinMYSQL join
MYSQL join
 
MYSQL single rowfunc-multirowfunc-groupby-having
MYSQL single rowfunc-multirowfunc-groupby-havingMYSQL single rowfunc-multirowfunc-groupby-having
MYSQL single rowfunc-multirowfunc-groupby-having
 
Introduction to NoSQL and MongoDB
Introduction to NoSQL and MongoDBIntroduction to NoSQL and MongoDB
Introduction to NoSQL and MongoDB
 
Introduction to OOP concepts
Introduction to OOP conceptsIntroduction to OOP concepts
Introduction to OOP concepts
 
C++ Files and Streams
C++ Files and Streams C++ Files and Streams
C++ Files and Streams
 
OOP C++
OOP C++OOP C++
OOP C++
 
Functions C++
Functions C++Functions C++
Functions C++
 
intro to pointer C++
intro to  pointer C++intro to  pointer C++
intro to pointer C++
 
Intro to C++
Intro to C++Intro to C++
Intro to C++
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Recently uploaded (20)

Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 

Introduction to object-oriented analysis and design (OOA/D)

  • 2. What Is Analysis and Design? • Analysis emphasizes an investigation of the problem and requirements, rather than a solution. • For example, if a new computerized library information system is desired, how will it be used? • "Analysis" is a broad term, best qualified, as in requirements analysis (an investigation of the requirements) or object analysis (an investigation of the domain objects).
  • 3. What Is Analysis and Design? • Design emphasizes a conceptual solution that fulfills the requirements, rather than its implementation. • For example, a description of a database schema and software objects. Ultimately, designs can be implemented. • As with analysis, the term is best qualified, as in object design or database design.
  • 4. What Is Object-Oriented Analysis and Design? • During object-oriented analysis, there is an emphasis on finding and describing the objects—or concepts—in the problem domain. • For example, in the case of the library information system, some of the concepts/Objects include Book and Library.
  • 5. What Is Object-Oriented Analysis and Design? • During object-oriented design, there is an emphasis on defining software objects and how they collaborate to fulfill the requirements. • For example, in the library system, a Book software object may have a title attribute and a getChapter method.
  • 6. An Example: dice game • Before diving into the details of requirements analysis and OOA/D, we presents a birds-eye view of a few key steps and diagrams, using a simple example—a "dice game" in which a player rolls two die. If the total is seven, they win; otherwise, they lose.
  • 7. An Example: dice game Define use cases Define domain model Define interaction diagrams Define design class diagrams
  • 8. Define Use Cases • Use cases are not an object-oriented artifact—they are simply written stories. • For example, here is a brief version of the Play a Dice Game use case: • Play a Dice Game: A player picks up and rolls the dice. If the dice face value total seven, they win; otherwise, they lose.
  • 9. Define a Domain Model • Object-oriented analysis is concerned with creating a description of the domain from the perspective of classification by objects. A decomposition of the domain involves an identification of the concepts, attributes, and associations that are considered noteworthy. • The result can be expressed in a domain model, which is illustrated in a set of diagrams that show domain concepts or objects.
  • 10. Define a Domain Model • For example, a partial domain model • This model illustrates the noteworthy concepts Player, Die, and DiceGame, with their associations and attributes
  • 11. Define Interaction Diagrams • Object-oriented design is concerned with defining software objects and their collaborations. A common notation to illustrate these collaborations is the interaction diagram. It shows the flow of messages between software objects, and thus the invocation of methods.
  • 12. Define Interaction Diagrams • For example, assume that a software implementation of the dice game is desired. The interaction diagram illustrates the essential step of playing, by sending messages to instances of the DiceGame and Die classes.
  • 13. Define Interaction Diagrams • Notice that although in the real world a player rolls the dice, in the software design the DiceGame object "rolls" the dice (that is, sends messages to Die objects).
  • 14. Define Design Class Diagrams • In addition to a dynamic view of collaborating objects shown in interaction diagrams, it is useful to create a static view of the class definitions with a design class diagram. This illustrates the attributes and methods of the classes.
  • 15. Define Design Class Diagrams • For example, in the dice game, an inspection of the interaction diagram leads to the partial design class diagram. • Since a play message is sent to a DiceGame object, the DiceGame class requires a play method, while class Die requires a roll and getFaceValue method.
  • 16. Summary • The dice game is a simple problem, presented to focus on a few steps and artifacts in analysis and design.