CSC/ECE 517 Fall 2010/ch1 2b dg: Difference between revisions
Dragon9786 (talk | contribs) |
Dragon9786 (talk | contribs) No edit summary |
||
Line 1: | Line 1: | ||
==Introduction== | ==Introduction== | ||
<b> CRC Cards </b> also known as [http://en.wikipedia.org/wiki/Class-responsibility-collaboration_card <b> Class-Responsibility-Collaboration <sup></sup></b>]cards are a brainstorming tool to enable collaboration across different teams or individuals in contribution to design, usually used in Object Oriented Software development. This was proposed by <b>Ward Cunningham</b> and <b>Kent Beck</b><sup>[http://c2.com/doc/oopsla89/paper.html]</sup>. The CRC card can be viewed as an index card, with the following details: | <b> CRC Cards </b> also known as [http://en.wikipedia.org/wiki/Class-responsibility-collaboration_card <b> Class-Responsibility-Collaboration <sup></sup></b>] cards are a brainstorming tool to enable collaboration across different teams or individuals in contribution to design, usually used in Object Oriented Software development. This was proposed by <b>Ward Cunningham</b> and <b>Kent Beck</b><sup>[http://c2.com/doc/oopsla89/paper.html]</sup>. The CRC card can be viewed as an index card, with the following details: | ||
[[Image:crc-card.gif|frame|right|CRC Card Structure]] | [[Image:crc-card.gif|frame|right|CRC Card Structure]] | ||
Revision as of 04:52, 22 September 2010
Introduction
CRC Cards also known as Class-Responsibility-Collaboration cards are a brainstorming tool to enable collaboration across different teams or individuals in contribution to design, usually used in Object Oriented Software development. This was proposed by Ward Cunningham and Kent Beck[1]. The CRC card can be viewed as an index card, with the following details:
- The Top of the card usually bears the name of the class.
- The Left side of the card has the responsibilities of the class.
- The Right side of the card has the collaborating classes corresponding to each of the responsibilities listed in the left side.
Thus in general, a CRC session can be viewed as the interaction between a set of collaborating classes for a particular Use case.
According to [2]A CRC session proceeds with someone simulating the system by talking about which objects send messages to other objects. By stepping through the process weaknesses and problems are easily uncovered. Design alternatives can be explored quickly by simulating the design being proposed.
A CRC Example
To better understand how the CRC cards work together, let us consider an example.
References
[1] A Laboratory For Teaching Object-Oriented Thinking: http://c2.com/doc/oopsla89/paper.html
[2] CRC Cards: http://www.extremeprogramming.org/rules/crccards.html
[3]
See Also
External Links
- A Laboratory For Teaching Object-Oriented Thinking by Ward Cunningham and Kent Beck