CSC/ECE 517 Fall 2011/ch4 4i aa: Difference between revisions
Line 2: | Line 2: | ||
__TOC__ | __TOC__ | ||
== Introduction == | == Introduction == | ||
"CRC cards were invented to document collaborative design decisions."[1] | |||
In software design CRC cards is a way to: | In software design CRC cards is a way to: | ||
*Discover classes | *Discover classes | ||
*Determine the responsibilities of each class | *Determine the responsibilities of each class | ||
*Describe the relationships among the classes | *Describe the relationships among the classes | ||
The information for each class is written on a separate card. | The information for each class is written on a separate card. | ||
[[File:CRCCardSample1.gif]] [[File:CRCCardSample2.gif]] [1] | [[File:CRCCardSample1.gif]] [[File:CRCCardSample2.gif]] [1] | ||
"The class name of an object creates a vocabulary for discussing a design. Responsibilities identify problems to be solved. Collaborators are objects which will send or be sent messages in the course of satisfying responsibilities." [1] | "The class name of an object creates a vocabulary for discussing a design. Responsibilities identify problems to be solved. Collaborators are objects which will send or be sent messages in the course of satisfying responsibilities." [1] | ||
Beck and Cunningham use 4 x 6 inches index cards because they are "cheap, portable, readily available, and familiar." [1] | |||
== Tools == | == Tools == |
Revision as of 15:54, 16 October 2011
CRC Card Tools
Introduction
"CRC cards were invented to document collaborative design decisions."[1]
In software design CRC cards is a way to:
- Discover classes
- Determine the responsibilities of each class
- Describe the relationships among the classes
The information for each class is written on a separate card.
"The class name of an object creates a vocabulary for discussing a design. Responsibilities identify problems to be solved. Collaborators are objects which will send or be sent messages in the course of satisfying responsibilities." [1]
Beck and Cunningham use 4 x 6 inches index cards because they are "cheap, portable, readily available, and familiar." [1]
Tools
Stickies
QuickCRC
Visual Paradigm for UML
Conclusion
"Because the designs are so much more concrete, and the logical relationship between objects explicit, it is easier to understand, evaluate, and modify a design.
We were surprised at the value of physically moving the cards around. When learners pick up an object they seem to more readily identify with it, and are prepared to deal with the remainder of the design from its perspective. It is the value of this physical interaction that has led us to resist a computerization of the cards.
The need to retain the value of physical interaction points to the need for a new kind of user interface and programming environment as far beyond what we have today as our current systems are beyond the tool-oriented environments of the past." [1 Beck/Cunningham]
References
[1] Beck/Cunningham
[2] CRC Cards: An Agile Thinking Tool
[4] Hot Draw
[5] HyperCard
[6] HyperCard Group
[7] SuperCard
[8] MetaCard
[9] MetaCard Group
[10] Revolution
[11] PhytonCard
[12] FreeCard
[13] FreeCard Group
Aldo [14] Visual Paradigm for UML
Aldo [15] QuickCRC
[17] CRC Card Editor
Aldo [18] Stickies on Mac