SlideShare uma empresa Scribd logo
1 de 52
Baixar para ler offline
Identifying Classes and Objects
Object Oriented Analysis
TSRK Prasad
Department of CSE
BITS, Pilani - KK Birla Goa Campus
Object Oriented Programming
Identifying Classes and Objects
Lecture Outline
1 Classical Approaches
2 Structured Analysis
3 Informal English Description
4 Domain Analysis
5 Object Behavioral Analysis
6 CRC Cards
7 Use Case Analysis
2 / 25
Identifying Classes and Objects
Lecture Outline
1 Classical Approaches
2 Structured Analysis
3 Informal English Description
4 Domain Analysis
5 Object Behavioral Analysis
6 CRC Cards
7 Use Case Analysis
3 / 25
Identifying Classes and Objects
Classical Approaches
Derive classes based on ideas of classification.
Classical Approaches 4 / 25
Identifying Classes and Objects
Classical Approaches
Derive classes based on ideas of classification.
Shaler and Mellor:
Tangible things, Roles, Events, Interactions
Classical Approaches 4 / 25
Identifying Classes and Objects
Classical Approaches
Derive classes based on ideas of classification.
Shaler and Mellor:
Tangible things, Roles, Events, Interactions
Ross:
People, Places, Things, Organizations, Concepts, Events
Classical Approaches 4 / 25
Identifying Classes and Objects
Classical Approaches
Derive classes based on ideas of classification.
Shaler and Mellor:
Tangible things, Roles, Events, Interactions
Ross:
People, Places, Things, Organizations, Concepts, Events
Coad and Yourdon:
Structure, Other Systems, Devices, Events Remembered,
Roles Played, Locations, Organizational Units
Classical Approaches 4 / 25
Identifying Classes and Objects
Example
Identify classes for a tourist operator (ex: Paulo Travels) using
classical approaches.
Tangible Things – office, bus, location, garage, seat, waiting
hall, route, trip, . . .
Classical Approaches 5 / 25
Identifying Classes and Objects
Example
Identify classes for a tourist operator (ex: Paulo Travels) using
classical approaches.
Tangible Things – office, bus, location, garage, seat, waiting
hall, route, trip, . . .
Roles – employee, driver, passenger, agent, godown, . . .
Classical Approaches 5 / 25
Identifying Classes and Objects
Example
Identify classes for a tourist operator (ex: Paulo Travels) using
classical approaches.
Tangible Things – office, bus, location, garage, seat, waiting
hall, route, trip, . . .
Roles – employee, driver, passenger, agent, godown, . . .
Events – repair, halt, breakdown, trip start, . . .
Classical Approaches 5 / 25
Identifying Classes and Objects
Example
Identify classes for a tourist operator (ex: Paulo Travels) using
classical approaches.
Tangible Things – office, bus, location, garage, seat, waiting
hall, route, trip, . . .
Roles – employee, driver, passenger, agent, godown, . . .
Events – repair, halt, breakdown, trip start, . . .
Interactions – book ticket, drop passenger, board passenger,
book luggage, . . .
Classical Approaches 5 / 25
Identifying Classes and Objects
Example
Identify classes for a tourist operator (ex: Paulo Travels) using
classical approaches.
Tangible Things – office, bus, location, garage, seat, waiting
hall, route, trip, . . .
Roles – employee, driver, passenger, agent, godown, . . .
Events – repair, halt, breakdown, trip start, . . .
Interactions – book ticket, drop passenger, board passenger,
book luggage, . . .
Organizations – operations unit, franchise, web division, garage,
. . .
Classical Approaches 5 / 25
Identifying Classes and Objects
Example
Identify classes for a tourist operator (ex: Paulo Travels) using
classical approaches.
Tangible Things – office, bus, location, garage, seat, waiting
hall, route, trip, . . .
Roles – employee, driver, passenger, agent, godown, . . .
Events – repair, halt, breakdown, trip start, . . .
Interactions – book ticket, drop passenger, board passenger,
book luggage, . . .
Organizations – operations unit, franchise, web division, garage,
. . .
Locations – city, town, village, bypass, . . .
Classical Approaches 5 / 25
Identifying Classes and Objects
Example
Identify classes for a tourist operator (ex: Paulo Travels) using
classical approaches.
Tangible Things – office, bus, location, garage, seat, waiting
hall, route, trip, . . .
Roles – employee, driver, passenger, agent, godown, . . .
Events – repair, halt, breakdown, trip start, . . .
Interactions – book ticket, drop passenger, board passenger,
book luggage, . . .
Organizations – operations unit, franchise, web division, garage,
. . .
Locations – city, town, village, bypass, . . .
Other Systems – toll gates, revenue department, bus dealers,
. . .
Classical Approaches 5 / 25
Identifying Classes and Objects
Lecture Outline
1 Classical Approaches
2 Structured Analysis
3 Informal English Description
4 Domain Analysis
5 Object Behavioral Analysis
6 CRC Cards
7 Use Case Analysis
Structured Analysis 6 / 25
Identifying Classes and Objects
Structured Analysis
Idea: Use structural analysis as front-end to Object-oriented
design
Structured Analysis 7 / 25
Identifying Classes and Objects
Structured Analysis
Idea: Use structural analysis as front-end to Object-oriented
design
Obtain candidate objects from:
External entities, data stores, control stores, control
transformations
Structured Analysis 7 / 25
Identifying Classes and Objects
Structured Analysis
Idea: Use structural analysis as front-end to Object-oriented
design
Obtain candidate objects from:
External entities, data stores, control stores, control
transformations
Obtain candidate classes from:
data flows, control flows
Structured Analysis 7 / 25
Identifying Classes and Objects
Structured Analysis
Idea: Use structural analysis as front-end to Object-oriented
design
Obtain candidate objects from:
External entities, data stores, control stores, control
transformations
Obtain candidate classes from:
data flows, control flows
Not recommended approach
Structured Analysis 7 / 25
Identifying Classes and Objects
Data Flow and Control Flow Diagrams
Data Flow Diagram:
Structured Analysis 8 / 25
Identifying Classes and Objects
Data Flow and Control Flow Diagrams
Data Flow Diagram:
Control Flow Diagram:
Structured Analysis 8 / 25
Identifying Classes and Objects
Lecture Outline
1 Classical Approaches
2 Structured Analysis
3 Informal English Description
4 Domain Analysis
5 Object Behavioral Analysis
6 CRC Cards
7 Use Case Analysis
Informal English Description 9 / 25
Identifying Classes and Objects
Informal English Description
nouns ÝÑ objects
Informal English Description 10 / 25
Identifying Classes and Objects
Informal English Description
nouns ÝÑ objects
verbs ÝÑ operations
Informal English Description 10 / 25
Identifying Classes and Objects
Informal English Description
nouns ÝÑ objects
verbs ÝÑ operations
Problem? Nouns can be verbed, verbs can be nouned.
Informal English Description 10 / 25
Identifying Classes and Objects
Example on Informal English Description
... If a customer enters a store with the intention of buying a toy
for a child, then advice must be available within a reasonable
time concerning the suitability of the toy for the child. This will
depend on the age range of the child and the attributes of the
toy. If the toy is a dangerous item, then it is unsuitable. ...
Informal English Description 11 / 25
Identifying Classes and Objects
Example on Informal English Description
... If a customer enters a store with the intention of buying a toy
for a child, then advice must be available within a reasonable
time concerning the suitability of the toy for the child. This will
depend on the age range of the child and the attributes of the
toy. If the toy is a dangerous item, then it is unsuitable. ...
Ans:
... If a customer enters a store with the intention of buying a toy
for a child, then advice must be available within a reasonable
time concerning the suitability of the toy for the child. This will
depend on the age range of the child and the attributes of the
toy. If the toy is a dangerous item, then it is unsuitable. ...
Notation: class operation attributes/associations
Informal English Description 11 / 25
Identifying Classes and Objects
On Thinking/Communication
12 / 25
Identifying Classes and Objects
Lecture Outline
1 Classical Approaches
2 Structured Analysis
3 Informal English Description
4 Domain Analysis
5 Object Behavioral Analysis
6 CRC Cards
7 Use Case Analysis
Domain Analysis 13 / 25
Identifying Classes and Objects
Domain Analysis
Idea: Identify classes and objects that are common to all
applications with in a given domain.
Domain Analysis 14 / 25
Identifying Classes and Objects
Domain Analysis
Idea: Identify classes and objects that are common to all
applications with in a given domain.
Moore and Bailin Approach:
1 Construct strawman model of domain
Domain Analysis 14 / 25
Identifying Classes and Objects
Domain Analysis
Idea: Identify classes and objects that are common to all
applications with in a given domain.
Moore and Bailin Approach:
1 Construct strawman model of domain
2 Construct/collect models of existing softwares serving the
domain
Domain Analysis 14 / 25
Identifying Classes and Objects
Domain Analysis
Idea: Identify classes and objects that are common to all
applications with in a given domain.
Moore and Bailin Approach:
1 Construct strawman model of domain
2 Construct/collect models of existing softwares serving the
domain
3 Reconcile the differences
Domain Analysis 14 / 25
Identifying Classes and Objects
Domain Analysis
Idea: Identify classes and objects that are common to all
applications with in a given domain.
Moore and Bailin Approach:
1 Construct strawman model of domain
2 Construct/collect models of existing softwares serving the
domain
3 Reconcile the differences
4 Refine strawman model to accommodate existing models
Domain Analysis 14 / 25
Identifying Classes and Objects
Example on Domain Analysis
Hospital Domain
Domain Analysis 15 / 25
Identifying Classes and Objects
Lecture Outline
1 Classical Approaches
2 Structured Analysis
3 Informal English Description
4 Domain Analysis
5 Object Behavioral Analysis
6 CRC Cards
7 Use Case Analysis
Object Behavioral Analysis 16 / 25
Identifying Classes and Objects
Object Behavioral Analysis (OBA)
Idea: Form classes based on groups of objects that exhibit
similar behavior.
Object Behavioral Analysis 17 / 25
Identifying Classes and Objects
Object Behavioral Analysis (OBA)
Idea: Form classes based on groups of objects that exhibit
similar behavior.
Two suggestions:
1 Responsibility identification
Responsibility - service provided by object(s) for all
contracts it supports.
Object Behavioral Analysis 17 / 25
Identifying Classes and Objects
Object Behavioral Analysis (OBA)
Idea: Form classes based on groups of objects that exhibit
similar behavior.
Two suggestions:
1 Responsibility identification
Responsibility - service provided by object(s) for all
contracts it supports.
2 Behavior allocation
1 Assign system behavior to parts of the system.
2 Initiators of / participants in behaviors are objects
Object Behavioral Analysis 17 / 25
Identifying Classes and Objects
Object Behavior Analysis (OBA) Exercise
Identify objects and behaviors in a regular OOP lab of this
course.
Object Behavioral Analysis 18 / 25
Identifying Classes and Objects
Lecture Outline
1 Classical Approaches
2 Structured Analysis
3 Informal English Description
4 Domain Analysis
5 Object Behavioral Analysis
6 CRC Cards
7 Use Case Analysis
CRC Cards 19 / 25
Identifying Classes and Objects
CRC Cards
CRC stands for Class/Responsibilities/Collaborators
CRC Card Format
CRC Cards 20 / 25
Identifying Classes and Objects
CRC Cards
CRC stands for Class/Responsibilities/Collaborators
CRC Card Format
CRC Card for Student Class
CRC Cards 20 / 25
Identifying Classes and Objects
CRC Card Layout
cards can be arranged as class/object hierarchy
CRC Cards 21 / 25
Identifying Classes and Objects
Lecture Outline
1 Classical Approaches
2 Structured Analysis
3 Informal English Description
4 Domain Analysis
5 Object Behavioral Analysis
6 CRC Cards
7 Use Case Analysis
Use Case Analysis 22 / 25
Identifying Classes and Objects
Use Case Analysis
A behaviourally related sequence of transactions
performed by an actor in a dialogue with the system to
provide some measurable value to the actor.
–Jacobson et. al.
Use Case Analysis 23 / 25
Identifying Classes and Objects
Use Case Analysis
A behaviourally related sequence of transactions
performed by an actor in a dialogue with the system to
provide some measurable value to the actor.
–Jacobson et. al.
Approach: In each use case,
1 Identify the participating objects (Classes)
Use Case Analysis 23 / 25
Identifying Classes and Objects
Use Case Analysis
A behaviourally related sequence of transactions
performed by an actor in a dialogue with the system to
provide some measurable value to the actor.
–Jacobson et. al.
Approach: In each use case,
1 Identify the participating objects (Classes)
2 Identify the responsibilities of each object (Responsibilities)
Use Case Analysis 23 / 25
Identifying Classes and Objects
Use Case Analysis
A behaviourally related sequence of transactions
performed by an actor in a dialogue with the system to
provide some measurable value to the actor.
–Jacobson et. al.
Approach: In each use case,
1 Identify the participating objects (Classes)
2 Identify the responsibilities of each object (Responsibilities)
3 Identify the collaborations / relations between objects
(Collaborators)
Use Case Analysis 23 / 25
Identifying Classes and Objects
Use Case Analysis
A behaviourally related sequence of transactions
performed by an actor in a dialogue with the system to
provide some measurable value to the actor.
–Jacobson et. al.
Approach: In each use case,
1 Identify the participating objects (Classes)
2 Identify the responsibilities of each object (Responsibilities)
3 Identify the collaborations / relations between objects
(Collaborators)
Use case analysis serves as basis of system tests.
Use Case Analysis 23 / 25
Identifying Classes and Objects
Fair Comparison
24 / 25
Identifying Classes and Objects
Acknowledgements
CRC diagrams http://agilemodeling.com/artifacts/crcModel.htm
domain-analysis.jpg http://www.cs.sjsu.edu/faculty/pearce/pop/chp1/chapter1_files/image008.gif
assessment.png http://www.behaviorbabe.com/assessments.htm
DFDExample.png http://upload.wikimedia.org/wikipedia/commons/c/c8/DataFlowDiagram_Example.png
CFDExample.png http://upload.wikimedia.org/wikipedia/commons/e/e3/Performance_seeking_control_flow_diagram.jpg
controlFlow.png http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc00120.1653/
doc/html/rad1232636366142.html
25 / 25

Mais conteúdo relacionado

Mais de BalasundaramSr

Mais de BalasundaramSr (20)

WEB 3 IS THE FILE UPLOADED IN THIS APPROACH
WEB 3 IS THE FILE UPLOADED IN THIS APPROACHWEB 3 IS THE FILE UPLOADED IN THIS APPROACH
WEB 3 IS THE FILE UPLOADED IN THIS APPROACH
 
Semantic Search to Web 3.0 Complete Tutorial
Semantic Search to Web 3.0 Complete TutorialSemantic Search to Web 3.0 Complete Tutorial
Semantic Search to Web 3.0 Complete Tutorial
 
Objects and Classes BRIEF.pptx
Objects and Classes BRIEF.pptxObjects and Classes BRIEF.pptx
Objects and Classes BRIEF.pptx
 
SocialCom09-tutorial.pdf
SocialCom09-tutorial.pdfSocialCom09-tutorial.pdf
SocialCom09-tutorial.pdf
 
13047926.ppt
13047926.ppt13047926.ppt
13047926.ppt
 
Xpath.pdf
Xpath.pdfXpath.pdf
Xpath.pdf
 
OSNs.pptx
OSNs.pptxOSNs.pptx
OSNs.pptx
 
HadoopIntroduction.pptx
HadoopIntroduction.pptxHadoopIntroduction.pptx
HadoopIntroduction.pptx
 
HadoopIntroduction.pptx
HadoopIntroduction.pptxHadoopIntroduction.pptx
HadoopIntroduction.pptx
 
Data Mart Lake Ware.pptx
Data Mart Lake Ware.pptxData Mart Lake Ware.pptx
Data Mart Lake Ware.pptx
 
Simple SNA.pdf
Simple SNA.pdfSimple SNA.pdf
Simple SNA.pdf
 
XPATH_XSLT-1.pptx
XPATH_XSLT-1.pptxXPATH_XSLT-1.pptx
XPATH_XSLT-1.pptx
 
Cognitive Science.ppt
Cognitive Science.pptCognitive Science.ppt
Cognitive Science.ppt
 
Web Page Design.ppt
Web Page Design.pptWeb Page Design.ppt
Web Page Design.ppt
 
wipo_res_dev_ge_09_www_130165.ppt
wipo_res_dev_ge_09_www_130165.pptwipo_res_dev_ge_09_www_130165.ppt
wipo_res_dev_ge_09_www_130165.ppt
 
OODIAGRAMS.ppt
OODIAGRAMS.pptOODIAGRAMS.ppt
OODIAGRAMS.ppt
 
Threading.pptx
Threading.pptxThreading.pptx
Threading.pptx
 
OMTanalysis.ppt
OMTanalysis.pptOMTanalysis.ppt
OMTanalysis.ppt
 
network.ppt
network.pptnetwork.ppt
network.ppt
 
css1.ppt
css1.pptcss1.ppt
css1.ppt
 

Último

Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfRagavanV2
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Arindam Chakraborty, Ph.D., P.E. (CA, TX)
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdfankushspencer015
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptMsecMca
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapRishantSharmaFr
 
Unit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfUnit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfRagavanV2
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startQuintin Balsdon
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...SUHANI PANDEY
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfKamal Acharya
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . pptDineshKumar4165
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXssuser89054b
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptDineshKumar4165
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...tanu pandey
 
Intro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdfIntro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdfrs7054576148
 

Último (20)

Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
Unit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfUnit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdf
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
 
Intro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdfIntro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdf
 
NFPA 5000 2024 standard .
NFPA 5000 2024 standard                                  .NFPA 5000 2024 standard                                  .
NFPA 5000 2024 standard .
 

OOA Analysis(1).pdf

  • 1. Identifying Classes and Objects Object Oriented Analysis TSRK Prasad Department of CSE BITS, Pilani - KK Birla Goa Campus Object Oriented Programming
  • 2. Identifying Classes and Objects Lecture Outline 1 Classical Approaches 2 Structured Analysis 3 Informal English Description 4 Domain Analysis 5 Object Behavioral Analysis 6 CRC Cards 7 Use Case Analysis 2 / 25
  • 3. Identifying Classes and Objects Lecture Outline 1 Classical Approaches 2 Structured Analysis 3 Informal English Description 4 Domain Analysis 5 Object Behavioral Analysis 6 CRC Cards 7 Use Case Analysis 3 / 25
  • 4. Identifying Classes and Objects Classical Approaches Derive classes based on ideas of classification. Classical Approaches 4 / 25
  • 5. Identifying Classes and Objects Classical Approaches Derive classes based on ideas of classification. Shaler and Mellor: Tangible things, Roles, Events, Interactions Classical Approaches 4 / 25
  • 6. Identifying Classes and Objects Classical Approaches Derive classes based on ideas of classification. Shaler and Mellor: Tangible things, Roles, Events, Interactions Ross: People, Places, Things, Organizations, Concepts, Events Classical Approaches 4 / 25
  • 7. Identifying Classes and Objects Classical Approaches Derive classes based on ideas of classification. Shaler and Mellor: Tangible things, Roles, Events, Interactions Ross: People, Places, Things, Organizations, Concepts, Events Coad and Yourdon: Structure, Other Systems, Devices, Events Remembered, Roles Played, Locations, Organizational Units Classical Approaches 4 / 25
  • 8. Identifying Classes and Objects Example Identify classes for a tourist operator (ex: Paulo Travels) using classical approaches. Tangible Things – office, bus, location, garage, seat, waiting hall, route, trip, . . . Classical Approaches 5 / 25
  • 9. Identifying Classes and Objects Example Identify classes for a tourist operator (ex: Paulo Travels) using classical approaches. Tangible Things – office, bus, location, garage, seat, waiting hall, route, trip, . . . Roles – employee, driver, passenger, agent, godown, . . . Classical Approaches 5 / 25
  • 10. Identifying Classes and Objects Example Identify classes for a tourist operator (ex: Paulo Travels) using classical approaches. Tangible Things – office, bus, location, garage, seat, waiting hall, route, trip, . . . Roles – employee, driver, passenger, agent, godown, . . . Events – repair, halt, breakdown, trip start, . . . Classical Approaches 5 / 25
  • 11. Identifying Classes and Objects Example Identify classes for a tourist operator (ex: Paulo Travels) using classical approaches. Tangible Things – office, bus, location, garage, seat, waiting hall, route, trip, . . . Roles – employee, driver, passenger, agent, godown, . . . Events – repair, halt, breakdown, trip start, . . . Interactions – book ticket, drop passenger, board passenger, book luggage, . . . Classical Approaches 5 / 25
  • 12. Identifying Classes and Objects Example Identify classes for a tourist operator (ex: Paulo Travels) using classical approaches. Tangible Things – office, bus, location, garage, seat, waiting hall, route, trip, . . . Roles – employee, driver, passenger, agent, godown, . . . Events – repair, halt, breakdown, trip start, . . . Interactions – book ticket, drop passenger, board passenger, book luggage, . . . Organizations – operations unit, franchise, web division, garage, . . . Classical Approaches 5 / 25
  • 13. Identifying Classes and Objects Example Identify classes for a tourist operator (ex: Paulo Travels) using classical approaches. Tangible Things – office, bus, location, garage, seat, waiting hall, route, trip, . . . Roles – employee, driver, passenger, agent, godown, . . . Events – repair, halt, breakdown, trip start, . . . Interactions – book ticket, drop passenger, board passenger, book luggage, . . . Organizations – operations unit, franchise, web division, garage, . . . Locations – city, town, village, bypass, . . . Classical Approaches 5 / 25
  • 14. Identifying Classes and Objects Example Identify classes for a tourist operator (ex: Paulo Travels) using classical approaches. Tangible Things – office, bus, location, garage, seat, waiting hall, route, trip, . . . Roles – employee, driver, passenger, agent, godown, . . . Events – repair, halt, breakdown, trip start, . . . Interactions – book ticket, drop passenger, board passenger, book luggage, . . . Organizations – operations unit, franchise, web division, garage, . . . Locations – city, town, village, bypass, . . . Other Systems – toll gates, revenue department, bus dealers, . . . Classical Approaches 5 / 25
  • 15. Identifying Classes and Objects Lecture Outline 1 Classical Approaches 2 Structured Analysis 3 Informal English Description 4 Domain Analysis 5 Object Behavioral Analysis 6 CRC Cards 7 Use Case Analysis Structured Analysis 6 / 25
  • 16. Identifying Classes and Objects Structured Analysis Idea: Use structural analysis as front-end to Object-oriented design Structured Analysis 7 / 25
  • 17. Identifying Classes and Objects Structured Analysis Idea: Use structural analysis as front-end to Object-oriented design Obtain candidate objects from: External entities, data stores, control stores, control transformations Structured Analysis 7 / 25
  • 18. Identifying Classes and Objects Structured Analysis Idea: Use structural analysis as front-end to Object-oriented design Obtain candidate objects from: External entities, data stores, control stores, control transformations Obtain candidate classes from: data flows, control flows Structured Analysis 7 / 25
  • 19. Identifying Classes and Objects Structured Analysis Idea: Use structural analysis as front-end to Object-oriented design Obtain candidate objects from: External entities, data stores, control stores, control transformations Obtain candidate classes from: data flows, control flows Not recommended approach Structured Analysis 7 / 25
  • 20. Identifying Classes and Objects Data Flow and Control Flow Diagrams Data Flow Diagram: Structured Analysis 8 / 25
  • 21. Identifying Classes and Objects Data Flow and Control Flow Diagrams Data Flow Diagram: Control Flow Diagram: Structured Analysis 8 / 25
  • 22. Identifying Classes and Objects Lecture Outline 1 Classical Approaches 2 Structured Analysis 3 Informal English Description 4 Domain Analysis 5 Object Behavioral Analysis 6 CRC Cards 7 Use Case Analysis Informal English Description 9 / 25
  • 23. Identifying Classes and Objects Informal English Description nouns ÝÑ objects Informal English Description 10 / 25
  • 24. Identifying Classes and Objects Informal English Description nouns ÝÑ objects verbs ÝÑ operations Informal English Description 10 / 25
  • 25. Identifying Classes and Objects Informal English Description nouns ÝÑ objects verbs ÝÑ operations Problem? Nouns can be verbed, verbs can be nouned. Informal English Description 10 / 25
  • 26. Identifying Classes and Objects Example on Informal English Description ... If a customer enters a store with the intention of buying a toy for a child, then advice must be available within a reasonable time concerning the suitability of the toy for the child. This will depend on the age range of the child and the attributes of the toy. If the toy is a dangerous item, then it is unsuitable. ... Informal English Description 11 / 25
  • 27. Identifying Classes and Objects Example on Informal English Description ... If a customer enters a store with the intention of buying a toy for a child, then advice must be available within a reasonable time concerning the suitability of the toy for the child. This will depend on the age range of the child and the attributes of the toy. If the toy is a dangerous item, then it is unsuitable. ... Ans: ... If a customer enters a store with the intention of buying a toy for a child, then advice must be available within a reasonable time concerning the suitability of the toy for the child. This will depend on the age range of the child and the attributes of the toy. If the toy is a dangerous item, then it is unsuitable. ... Notation: class operation attributes/associations Informal English Description 11 / 25
  • 28. Identifying Classes and Objects On Thinking/Communication 12 / 25
  • 29. Identifying Classes and Objects Lecture Outline 1 Classical Approaches 2 Structured Analysis 3 Informal English Description 4 Domain Analysis 5 Object Behavioral Analysis 6 CRC Cards 7 Use Case Analysis Domain Analysis 13 / 25
  • 30. Identifying Classes and Objects Domain Analysis Idea: Identify classes and objects that are common to all applications with in a given domain. Domain Analysis 14 / 25
  • 31. Identifying Classes and Objects Domain Analysis Idea: Identify classes and objects that are common to all applications with in a given domain. Moore and Bailin Approach: 1 Construct strawman model of domain Domain Analysis 14 / 25
  • 32. Identifying Classes and Objects Domain Analysis Idea: Identify classes and objects that are common to all applications with in a given domain. Moore and Bailin Approach: 1 Construct strawman model of domain 2 Construct/collect models of existing softwares serving the domain Domain Analysis 14 / 25
  • 33. Identifying Classes and Objects Domain Analysis Idea: Identify classes and objects that are common to all applications with in a given domain. Moore and Bailin Approach: 1 Construct strawman model of domain 2 Construct/collect models of existing softwares serving the domain 3 Reconcile the differences Domain Analysis 14 / 25
  • 34. Identifying Classes and Objects Domain Analysis Idea: Identify classes and objects that are common to all applications with in a given domain. Moore and Bailin Approach: 1 Construct strawman model of domain 2 Construct/collect models of existing softwares serving the domain 3 Reconcile the differences 4 Refine strawman model to accommodate existing models Domain Analysis 14 / 25
  • 35. Identifying Classes and Objects Example on Domain Analysis Hospital Domain Domain Analysis 15 / 25
  • 36. Identifying Classes and Objects Lecture Outline 1 Classical Approaches 2 Structured Analysis 3 Informal English Description 4 Domain Analysis 5 Object Behavioral Analysis 6 CRC Cards 7 Use Case Analysis Object Behavioral Analysis 16 / 25
  • 37. Identifying Classes and Objects Object Behavioral Analysis (OBA) Idea: Form classes based on groups of objects that exhibit similar behavior. Object Behavioral Analysis 17 / 25
  • 38. Identifying Classes and Objects Object Behavioral Analysis (OBA) Idea: Form classes based on groups of objects that exhibit similar behavior. Two suggestions: 1 Responsibility identification Responsibility - service provided by object(s) for all contracts it supports. Object Behavioral Analysis 17 / 25
  • 39. Identifying Classes and Objects Object Behavioral Analysis (OBA) Idea: Form classes based on groups of objects that exhibit similar behavior. Two suggestions: 1 Responsibility identification Responsibility - service provided by object(s) for all contracts it supports. 2 Behavior allocation 1 Assign system behavior to parts of the system. 2 Initiators of / participants in behaviors are objects Object Behavioral Analysis 17 / 25
  • 40. Identifying Classes and Objects Object Behavior Analysis (OBA) Exercise Identify objects and behaviors in a regular OOP lab of this course. Object Behavioral Analysis 18 / 25
  • 41. Identifying Classes and Objects Lecture Outline 1 Classical Approaches 2 Structured Analysis 3 Informal English Description 4 Domain Analysis 5 Object Behavioral Analysis 6 CRC Cards 7 Use Case Analysis CRC Cards 19 / 25
  • 42. Identifying Classes and Objects CRC Cards CRC stands for Class/Responsibilities/Collaborators CRC Card Format CRC Cards 20 / 25
  • 43. Identifying Classes and Objects CRC Cards CRC stands for Class/Responsibilities/Collaborators CRC Card Format CRC Card for Student Class CRC Cards 20 / 25
  • 44. Identifying Classes and Objects CRC Card Layout cards can be arranged as class/object hierarchy CRC Cards 21 / 25
  • 45. Identifying Classes and Objects Lecture Outline 1 Classical Approaches 2 Structured Analysis 3 Informal English Description 4 Domain Analysis 5 Object Behavioral Analysis 6 CRC Cards 7 Use Case Analysis Use Case Analysis 22 / 25
  • 46. Identifying Classes and Objects Use Case Analysis A behaviourally related sequence of transactions performed by an actor in a dialogue with the system to provide some measurable value to the actor. –Jacobson et. al. Use Case Analysis 23 / 25
  • 47. Identifying Classes and Objects Use Case Analysis A behaviourally related sequence of transactions performed by an actor in a dialogue with the system to provide some measurable value to the actor. –Jacobson et. al. Approach: In each use case, 1 Identify the participating objects (Classes) Use Case Analysis 23 / 25
  • 48. Identifying Classes and Objects Use Case Analysis A behaviourally related sequence of transactions performed by an actor in a dialogue with the system to provide some measurable value to the actor. –Jacobson et. al. Approach: In each use case, 1 Identify the participating objects (Classes) 2 Identify the responsibilities of each object (Responsibilities) Use Case Analysis 23 / 25
  • 49. Identifying Classes and Objects Use Case Analysis A behaviourally related sequence of transactions performed by an actor in a dialogue with the system to provide some measurable value to the actor. –Jacobson et. al. Approach: In each use case, 1 Identify the participating objects (Classes) 2 Identify the responsibilities of each object (Responsibilities) 3 Identify the collaborations / relations between objects (Collaborators) Use Case Analysis 23 / 25
  • 50. Identifying Classes and Objects Use Case Analysis A behaviourally related sequence of transactions performed by an actor in a dialogue with the system to provide some measurable value to the actor. –Jacobson et. al. Approach: In each use case, 1 Identify the participating objects (Classes) 2 Identify the responsibilities of each object (Responsibilities) 3 Identify the collaborations / relations between objects (Collaborators) Use case analysis serves as basis of system tests. Use Case Analysis 23 / 25
  • 51. Identifying Classes and Objects Fair Comparison 24 / 25
  • 52. Identifying Classes and Objects Acknowledgements CRC diagrams http://agilemodeling.com/artifacts/crcModel.htm domain-analysis.jpg http://www.cs.sjsu.edu/faculty/pearce/pop/chp1/chapter1_files/image008.gif assessment.png http://www.behaviorbabe.com/assessments.htm DFDExample.png http://upload.wikimedia.org/wikipedia/commons/c/c8/DataFlowDiagram_Example.png CFDExample.png http://upload.wikimedia.org/wikipedia/commons/e/e3/Performance_seeking_control_flow_diagram.jpg controlFlow.png http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc00120.1653/ doc/html/rad1232636366142.html 25 / 25