SlideShare ist ein Scribd-Unternehmen logo
1 von 12
CCRRCC CCaarrddss 
((ccllaassss--rreessppoonnssiibbiilliittyy-- 
ccoollllaabboorraattoorr)) 
PPrreeeettii MMiisshhrraa 
CCoouurrssee IInnssttrruuccttoorr
CRC Cards 
• introduced in 1989 by Kent Beck and Ward 
Cunningham 
• designed to teach object oriented 
programming at Tektronix 
• a CRC card is an index card in a group 
setting used to represent: 
– a class of objects 
– their behavior 
– their interactions
CRC Card format
CRC definitions 
• Name 
• The name, located at the top of the card, describes the 
class that the CRC card represents. 
• Responsibility 
• Responsibilities are represented along the left side of the 
card. Each distinct responsibility is on its own row. 
• Collaborators 
• Some responsibilities will collaborate with one or more 
other classes to fulfill one or more Scenarios. Collaborators 
are listed on the right hand side of the CRC card, next to 
the responsibilities that they are helping to realize.
SSoo hhooww ddoo yyoouu ccrreeaattee CCRRCC 
mmooddeellss?? IItteerraattiivveellyy ppeerrffoorrmm 
tthhee ffoolllloowwiinngg sstteeppss::
1. Find Classes 
• Find classes. 
• Finding classes is fundamentally an analysis task because it deals with 
identifying the building blocks for your application. 
• A good rule of thumb is that you should look for the three-to-five main 
classes right away, such as Student, Seminar, and Professor
2.Find Responsibility 
• Find responsibilities. 
• You should ask yourself what a class does as well as what information 
you wish to maintain about it. 
• You will often identify a responsibility for a class to fulfill a 
collaboration with another class.
3. Define Collaborators 
• Define collaborators. 
• A class often does not have sufficient information to fulfill its 
responsibilities. Therefore, it must collaborate (work) with other 
classes to get the job done. 
• Collaboration will be in one of two forms: a request for information or a 
request to perform a task. 
• To identify the collaborators of a class for each responsibility ask 
yourself "does the class have the ability to fulfill this responsibility?". 
If not then look for a class that either has the ability to fulfill the 
missing functionality or the class which should fulfill it. In doing so 
you'll often discover the need for new responsibilities in other classes 
and maybe even the need for a new class or two.
4.Move the cards around 
• Move the cards around. 
• To improve everyone's understanding of the system, the cards should 
be placed on the table in an intelligent manner. 
• Two cards that collaborate with one another should be placed close 
together on the table, whereas two cards that don't collaborate should 
be placed far apart. 
• Furthermore, the more two cards collaborate, the closer they should 
be on the desk. 
• By having cards that collaborate with one another close together, it's 
easier to understand the relationships between classes.
Advantages 
• portable: cards can be used anywhere, even away 
from the computer or office 
• anthropomorphic: no computer program can 
capture the essence of the interactions forced 
by passing the cards 
• level of involvement felt by each team member 
increases 
• useful throughout the life cycle
More advantages 
• provides a basis for more formal analysis and 
design methodologies 
• serves as input to a formal method (i.e., a starting 
point) 
• ease the transition from process orientation to 
object orientation - most formal methods are 
overwhelming 
• gives a general bound on the size of a class - a card
Crc cards

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction to object-oriented analysis and design (OOA/D)
Introduction to object-oriented analysis and design (OOA/D)Introduction to object-oriented analysis and design (OOA/D)
Introduction to object-oriented analysis and design (OOA/D)Ahmed Farag
 
Unit 4 designing classes
Unit 4  designing classesUnit 4  designing classes
Unit 4 designing classesgopal10scs185
 
Introduction to Rational Rose
Introduction to Rational RoseIntroduction to Rational Rose
Introduction to Rational RoseMunaam Munawar
 
Object diagram
Object diagramObject diagram
Object diagramPreeti Mishra
 
09 package diagram
09 package diagram09 package diagram
09 package diagramBaskarkncet
 
Introduction to Design Pattern
Introduction to Design  PatternIntroduction to Design  Pattern
Introduction to Design PatternSanae BEKKAR
 
CS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSCS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSKathirvel Ayyaswamy
 
Unified process model
Unified process modelUnified process model
Unified process modelRyndaMaala
 
Collaboration diagram- UML diagram
Collaboration diagram- UML diagram Collaboration diagram- UML diagram
Collaboration diagram- UML diagram Ramakant Soni
 
CS8592 Object Oriented Analysis & Design - UNIT III
CS8592 Object Oriented Analysis & Design - UNIT III CS8592 Object Oriented Analysis & Design - UNIT III
CS8592 Object Oriented Analysis & Design - UNIT III pkaviya
 
Identifying classes and objects ooad
Identifying classes and objects ooadIdentifying classes and objects ooad
Identifying classes and objects ooadMelba Rosalind
 
Design pattern & categories
Design pattern & categoriesDesign pattern & categories
Design pattern & categoriesHimanshu
 
CS8592-OOAD Lecture Notes Unit-2
CS8592-OOAD Lecture Notes Unit-2CS8592-OOAD Lecture Notes Unit-2
CS8592-OOAD Lecture Notes Unit-2Gobinath Subramaniam
 

Was ist angesagt? (20)

Introduction to object-oriented analysis and design (OOA/D)
Introduction to object-oriented analysis and design (OOA/D)Introduction to object-oriented analysis and design (OOA/D)
Introduction to object-oriented analysis and design (OOA/D)
 
Unit 2
Unit 2Unit 2
Unit 2
 
Unit 4 designing classes
Unit 4  designing classesUnit 4  designing classes
Unit 4 designing classes
 
Query processing
Query processingQuery processing
Query processing
 
Unit 5
Unit 5Unit 5
Unit 5
 
Introduction to Rational Rose
Introduction to Rational RoseIntroduction to Rational Rose
Introduction to Rational Rose
 
RMMM Plan
RMMM PlanRMMM Plan
RMMM Plan
 
Object diagram
Object diagramObject diagram
Object diagram
 
09 package diagram
09 package diagram09 package diagram
09 package diagram
 
Compiler Design Unit 1
Compiler Design Unit 1Compiler Design Unit 1
Compiler Design Unit 1
 
Introduction to Design Pattern
Introduction to Design  PatternIntroduction to Design  Pattern
Introduction to Design Pattern
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
CS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSCS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMS
 
Unified process model
Unified process modelUnified process model
Unified process model
 
Collaboration diagram- UML diagram
Collaboration diagram- UML diagram Collaboration diagram- UML diagram
Collaboration diagram- UML diagram
 
CS8592 Object Oriented Analysis & Design - UNIT III
CS8592 Object Oriented Analysis & Design - UNIT III CS8592 Object Oriented Analysis & Design - UNIT III
CS8592 Object Oriented Analysis & Design - UNIT III
 
Identifying classes and objects ooad
Identifying classes and objects ooadIdentifying classes and objects ooad
Identifying classes and objects ooad
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Design pattern & categories
Design pattern & categoriesDesign pattern & categories
Design pattern & categories
 
CS8592-OOAD Lecture Notes Unit-2
CS8592-OOAD Lecture Notes Unit-2CS8592-OOAD Lecture Notes Unit-2
CS8592-OOAD Lecture Notes Unit-2
 

Andere mochten auch

Tarjetas CRC
Tarjetas CRCTarjetas CRC
Tarjetas CRCJorge Reyes
 
Lecture note05 slides
Lecture note05 slidesLecture note05 slides
Lecture note05 slidesSten99String
 
Exam system
Exam systemExam system
Exam systemArun Verma
 
Lectura 3 Modelo De Analisis
Lectura 3   Modelo De AnalisisLectura 3   Modelo De Analisis
Lectura 3 Modelo De Analisisguest0a6e49
 
Online examination system Documentation
Online examination system DocumentationOnline examination system Documentation
Online examination system DocumentationLehlohonoloMakoti
 
Ejemplo diagramas uml manzanas
Ejemplo diagramas uml manzanasEjemplo diagramas uml manzanas
Ejemplo diagramas uml manzanassonygodoyhortua
 
online examination management final presentation
online examination management final presentationonline examination management final presentation
online examination management final presentationluckymoni76
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelmohamed khalaf alla mohamedain
 
Library Management System
Library Management SystemLibrary Management System
Library Management SystemAnit Thapaliya
 
MetodologĂ­a xp
MetodologĂ­a xpMetodologĂ­a xp
MetodologĂ­a xpPiskamen
 
Online Quiz System Project PPT
Online Quiz System Project PPTOnline Quiz System Project PPT
Online Quiz System Project PPTShanthan Reddy
 
Collaboration Diagram
Collaboration DiagramCollaboration Diagram
Collaboration Diagramfahad_uaar
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysisMahesh Bhalerao
 
Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema Lis Pater
 
Ejemplo Proyecto utilizando Uml
Ejemplo Proyecto utilizando UmlEjemplo Proyecto utilizando Uml
Ejemplo Proyecto utilizando UmlAndrĂŠs Cruz
 
Requirements engineering process in software engineering
Requirements engineering process in software engineeringRequirements engineering process in software engineering
Requirements engineering process in software engineeringPreeti Mishra
 

Andere mochten auch (20)

TARJETAS CRC
TARJETAS CRCTARJETAS CRC
TARJETAS CRC
 
Tarjetas crc
Tarjetas crcTarjetas crc
Tarjetas crc
 
Tarjetas CRC
Tarjetas CRCTarjetas CRC
Tarjetas CRC
 
Crc use case_uml
Crc use case_umlCrc use case_uml
Crc use case_uml
 
Lecture note05 slides
Lecture note05 slidesLecture note05 slides
Lecture note05 slides
 
Exam system
Exam systemExam system
Exam system
 
Lectura 3 Modelo De Analisis
Lectura 3   Modelo De AnalisisLectura 3   Modelo De Analisis
Lectura 3 Modelo De Analisis
 
Online examination system Documentation
Online examination system DocumentationOnline examination system Documentation
Online examination system Documentation
 
Ejemplo diagramas uml manzanas
Ejemplo diagramas uml manzanasEjemplo diagramas uml manzanas
Ejemplo diagramas uml manzanas
 
online examination management final presentation
online examination management final presentationonline examination management final presentation
online examination management final presentation
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
 
Online examination system
Online examination systemOnline examination system
Online examination system
 
Library Management System
Library Management SystemLibrary Management System
Library Management System
 
MetodologĂ­a xp
MetodologĂ­a xpMetodologĂ­a xp
MetodologĂ­a xp
 
Online Quiz System Project PPT
Online Quiz System Project PPTOnline Quiz System Project PPT
Online Quiz System Project PPT
 
Collaboration Diagram
Collaboration DiagramCollaboration Diagram
Collaboration Diagram
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
 
Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema
 
Ejemplo Proyecto utilizando Uml
Ejemplo Proyecto utilizando UmlEjemplo Proyecto utilizando Uml
Ejemplo Proyecto utilizando Uml
 
Requirements engineering process in software engineering
Requirements engineering process in software engineeringRequirements engineering process in software engineering
Requirements engineering process in software engineering
 

Ähnlich wie Crc cards

Webinar Slides
Webinar SlidesWebinar Slides
Webinar Slidesjwalts
 
Concept map workshop AEME 2014
Concept map workshop AEME 2014Concept map workshop AEME 2014
Concept map workshop AEME 2014drmukhtiarbaig
 
knowledge transfer and sharing
knowledge transfer and sharingknowledge transfer and sharing
knowledge transfer and sharingEndalkachewYazie1
 
Card Sorting- Information Architecture Technique
Card Sorting- Information Architecture TechniqueCard Sorting- Information Architecture Technique
Card Sorting- Information Architecture TechniqueJainan Sankalia
 
Development of a simulated internet for education (andrew smith)
Development of a simulated internet for education (andrew smith)Development of a simulated internet for education (andrew smith)
Development of a simulated internet for education (andrew smith)Andrew Smith
 
Sensemaking workshop
Sensemaking workshopSensemaking workshop
Sensemaking workshopVladimir Tomberg
 
Unit 1 Slideshow
Unit 1 SlideshowUnit 1 Slideshow
Unit 1 Slideshowjwalts
 
4C13 J.15 Larson "Twitter based discourse community"
4C13 J.15 Larson "Twitter based discourse community"4C13 J.15 Larson "Twitter based discourse community"
4C13 J.15 Larson "Twitter based discourse community"rhetoricked
 
What Counts as Learning: Open Digital Badges for New Opportunities
What Counts as Learning: Open Digital Badges for New OpportunitiesWhat Counts as Learning: Open Digital Badges for New Opportunities
What Counts as Learning: Open Digital Badges for New OpportunitiesSheryl Grant
 
03 Job Analysis Editor (Chemistry)
03 Job Analysis  Editor (Chemistry)03 Job Analysis  Editor (Chemistry)
03 Job Analysis Editor (Chemistry)Mak Kenneth
 
Unit 1 Webinar Slides
Unit 1 Webinar SlidesUnit 1 Webinar Slides
Unit 1 Webinar Slidesjwalts
 
Unit 1 Webinar Slides
Unit 1 Webinar Slides Unit 1 Webinar Slides
Unit 1 Webinar Slides jwalts
 
Bonner Fall Directors 2016 - Idea Lab - Envisioning Future
Bonner Fall Directors 2016 - Idea Lab - Envisioning FutureBonner Fall Directors 2016 - Idea Lab - Envisioning Future
Bonner Fall Directors 2016 - Idea Lab - Envisioning FutureBonner Foundation
 
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
 
Mgt tools and planning prof. moyani
Mgt tools and planning prof. moyaniMgt tools and planning prof. moyani
Mgt tools and planning prof. moyaniJose Mendez
 

Ähnlich wie Crc cards (20)

Webinar Slides
Webinar SlidesWebinar Slides
Webinar Slides
 
Concept map workshop AEME 2014
Concept map workshop AEME 2014Concept map workshop AEME 2014
Concept map workshop AEME 2014
 
knowledge transfer and sharing
knowledge transfer and sharingknowledge transfer and sharing
knowledge transfer and sharing
 
Card Sorting- Information Architecture Technique
Card Sorting- Information Architecture TechniqueCard Sorting- Information Architecture Technique
Card Sorting- Information Architecture Technique
 
Development of a simulated internet for education (andrew smith)
Development of a simulated internet for education (andrew smith)Development of a simulated internet for education (andrew smith)
Development of a simulated internet for education (andrew smith)
 
Sensemaking workshop
Sensemaking workshopSensemaking workshop
Sensemaking workshop
 
Chapter3 id ed01
Chapter3 id ed01Chapter3 id ed01
Chapter3 id ed01
 
Psy2013
Psy2013Psy2013
Psy2013
 
Inclusive design (oe global action lab)
Inclusive design (oe global action lab)Inclusive design (oe global action lab)
Inclusive design (oe global action lab)
 
Unit 1 Slideshow
Unit 1 SlideshowUnit 1 Slideshow
Unit 1 Slideshow
 
4C13 J.15 Larson "Twitter based discourse community"
4C13 J.15 Larson "Twitter based discourse community"4C13 J.15 Larson "Twitter based discourse community"
4C13 J.15 Larson "Twitter based discourse community"
 
What Counts as Learning: Open Digital Badges for New Opportunities
What Counts as Learning: Open Digital Badges for New OpportunitiesWhat Counts as Learning: Open Digital Badges for New Opportunities
What Counts as Learning: Open Digital Badges for New Opportunities
 
03 Job Analysis Editor (Chemistry)
03 Job Analysis  Editor (Chemistry)03 Job Analysis  Editor (Chemistry)
03 Job Analysis Editor (Chemistry)
 
Unit 1 Webinar Slides
Unit 1 Webinar SlidesUnit 1 Webinar Slides
Unit 1 Webinar Slides
 
Fot
FotFot
Fot
 
Unit 1 Webinar Slides
Unit 1 Webinar Slides Unit 1 Webinar Slides
Unit 1 Webinar Slides
 
Cai
CaiCai
Cai
 
Bonner Fall Directors 2016 - Idea Lab - Envisioning Future
Bonner Fall Directors 2016 - Idea Lab - Envisioning FutureBonner Fall Directors 2016 - Idea Lab - Envisioning Future
Bonner Fall Directors 2016 - Idea Lab - Envisioning Future
 
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
 
Mgt tools and planning prof. moyani
Mgt tools and planning prof. moyaniMgt tools and planning prof. moyani
Mgt tools and planning prof. moyani
 

Mehr von Preeti Mishra

Effective Ways to Conduct Programming labs
Effective Ways to Conduct Programming labsEffective Ways to Conduct Programming labs
Effective Ways to Conduct Programming labsPreeti Mishra
 
Component diagram
Component diagramComponent diagram
Component diagramPreeti Mishra
 
Sequence diagrams
Sequence diagramsSequence diagrams
Sequence diagramsPreeti Mishra
 
State chart diagram
State chart diagramState chart diagram
State chart diagramPreeti Mishra
 
Use case Diagram
Use case DiagramUse case Diagram
Use case DiagramPreeti Mishra
 
Unit 8 software quality and matrices
Unit 8 software quality and matricesUnit 8 software quality and matrices
Unit 8 software quality and matricesPreeti Mishra
 
Unit 5 design engineering ssad
Unit 5 design engineering ssadUnit 5 design engineering ssad
Unit 5 design engineering ssadPreeti Mishra
 
architectural design
 architectural design architectural design
architectural designPreeti Mishra
 
Oo concepts and class modeling
Oo concepts and class modelingOo concepts and class modeling
Oo concepts and class modelingPreeti Mishra
 
Unit 7 performing user interface design
Unit 7 performing user interface designUnit 7 performing user interface design
Unit 7 performing user interface designPreeti Mishra
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tacticsPreeti Mishra
 
requirements analysis and design
requirements analysis and designrequirements analysis and design
requirements analysis and designPreeti Mishra
 
Design process interaction design basics
Design process interaction design basicsDesign process interaction design basics
Design process interaction design basicsPreeti Mishra
 
Design process design rules
Design process  design rulesDesign process  design rules
Design process design rulesPreeti Mishra
 
Design process evaluating interactive_designs
Design process  evaluating interactive_designsDesign process  evaluating interactive_designs
Design process evaluating interactive_designsPreeti Mishra
 
Foundations understanding users and interactions
Foundations  understanding users and interactionsFoundations  understanding users and interactions
Foundations understanding users and interactionsPreeti Mishra
 
IntrIntroduction
IntrIntroductionIntrIntroduction
IntrIntroductionPreeti Mishra
 
Coupling coheshion tps
Coupling coheshion tpsCoupling coheshion tps
Coupling coheshion tpsPreeti Mishra
 

Mehr von Preeti Mishra (20)

Effective Ways to Conduct Programming labs
Effective Ways to Conduct Programming labsEffective Ways to Conduct Programming labs
Effective Ways to Conduct Programming labs
 
Uml intro
Uml introUml intro
Uml intro
 
Component diagram
Component diagramComponent diagram
Component diagram
 
Activity diag
Activity diagActivity diag
Activity diag
 
Sequence diagrams
Sequence diagramsSequence diagrams
Sequence diagrams
 
State chart diagram
State chart diagramState chart diagram
State chart diagram
 
Use case Diagram
Use case DiagramUse case Diagram
Use case Diagram
 
Unit 8 software quality and matrices
Unit 8 software quality and matricesUnit 8 software quality and matrices
Unit 8 software quality and matrices
 
Unit 5 design engineering ssad
Unit 5 design engineering ssadUnit 5 design engineering ssad
Unit 5 design engineering ssad
 
architectural design
 architectural design architectural design
architectural design
 
Oo concepts and class modeling
Oo concepts and class modelingOo concepts and class modeling
Oo concepts and class modeling
 
Unit 7 performing user interface design
Unit 7 performing user interface designUnit 7 performing user interface design
Unit 7 performing user interface design
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tactics
 
requirements analysis and design
requirements analysis and designrequirements analysis and design
requirements analysis and design
 
Design process interaction design basics
Design process interaction design basicsDesign process interaction design basics
Design process interaction design basics
 
Design process design rules
Design process  design rulesDesign process  design rules
Design process design rules
 
Design process evaluating interactive_designs
Design process  evaluating interactive_designsDesign process  evaluating interactive_designs
Design process evaluating interactive_designs
 
Foundations understanding users and interactions
Foundations  understanding users and interactionsFoundations  understanding users and interactions
Foundations understanding users and interactions
 
IntrIntroduction
IntrIntroductionIntrIntroduction
IntrIntroduction
 
Coupling coheshion tps
Coupling coheshion tpsCoupling coheshion tps
Coupling coheshion tps
 

KĂźrzlich hochgeladen

Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy LĂłpez
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 

KĂźrzlich hochgeladen (20)

Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 

Crc cards

  • 1. CCRRCC CCaarrddss ((ccllaassss--rreessppoonnssiibbiilliittyy-- ccoollllaabboorraattoorr)) PPrreeeettii MMiisshhrraa CCoouurrssee IInnssttrruuccttoorr
  • 2. CRC Cards • introduced in 1989 by Kent Beck and Ward Cunningham • designed to teach object oriented programming at Tektronix • a CRC card is an index card in a group setting used to represent: – a class of objects – their behavior – their interactions
  • 4. CRC definitions • Name • The name, located at the top of the card, describes the class that the CRC card represents. • Responsibility • Responsibilities are represented along the left side of the card. Each distinct responsibility is on its own row. • Collaborators • Some responsibilities will collaborate with one or more other classes to fulfill one or more Scenarios. Collaborators are listed on the right hand side of the CRC card, next to the responsibilities that they are helping to realize.
  • 5. SSoo hhooww ddoo yyoouu ccrreeaattee CCRRCC mmooddeellss?? IItteerraattiivveellyy ppeerrffoorrmm tthhee ffoolllloowwiinngg sstteeppss::
  • 6. 1. Find Classes • Find classes. • Finding classes is fundamentally an analysis task because it deals with identifying the building blocks for your application. • A good rule of thumb is that you should look for the three-to-five main classes right away, such as Student, Seminar, and Professor
  • 7. 2.Find Responsibility • Find responsibilities. • You should ask yourself what a class does as well as what information you wish to maintain about it. • You will often identify a responsibility for a class to fulfill a collaboration with another class.
  • 8. 3. Define Collaborators • Define collaborators. • A class often does not have sufficient information to fulfill its responsibilities. Therefore, it must collaborate (work) with other classes to get the job done. • Collaboration will be in one of two forms: a request for information or a request to perform a task. • To identify the collaborators of a class for each responsibility ask yourself "does the class have the ability to fulfill this responsibility?". If not then look for a class that either has the ability to fulfill the missing functionality or the class which should fulfill it. In doing so you'll often discover the need for new responsibilities in other classes and maybe even the need for a new class or two.
  • 9. 4.Move the cards around • Move the cards around. • To improve everyone's understanding of the system, the cards should be placed on the table in an intelligent manner. • Two cards that collaborate with one another should be placed close together on the table, whereas two cards that don't collaborate should be placed far apart. • Furthermore, the more two cards collaborate, the closer they should be on the desk. • By having cards that collaborate with one another close together, it's easier to understand the relationships between classes.
  • 10. Advantages • portable: cards can be used anywhere, even away from the computer or office • anthropomorphic: no computer program can capture the essence of the interactions forced by passing the cards • level of involvement felt by each team member increases • useful throughout the life cycle
  • 11. More advantages • provides a basis for more formal analysis and design methodologies • serves as input to a formal method (i.e., a starting point) • ease the transition from process orientation to object orientation - most formal methods are overwhelming • gives a general bound on the size of a class - a card