Ward Cunningham wanted to help programmers move to the new paradigm-- Object-Oriented Design. So he created CRC cards. His intention for inventing the CRC card technique was to come up with the essential units of abstraction for the object-oriented approach.
What he came up were three essential dimensions of an object-oriented model--classes, responsibilities, and collaborators.
CRC cards have become more popular in recent years. Since object- oriented technology has grown, so has the need for a simple method or way to help professionals make the transition from procedural programming to object-oriented programming. Also CRC cards can support the whole entire project life cycle.
One question that is asked. Why CRC cards? The fact is that the cards and the exercise are informal which provides a good working and learning environment.
The CDC card session gets the right people to participate in uncovering needs of the system. Also the physical nature of the cards emphasizes the division of responsibility across objects. The physical size of the cards provides markers or guidelines for the complexity of the classes. For example, if a developer needs more than one card, then maybe the class should be re-examined.
A CRC card is a 3"X5" or 4"X6" lined index card. The 4"X6" card allows the user to write larger and handle more information and detailed responsibilities.
The class name is written on top of the card. The next two lines are reserved for the listing of superclasses and subclasses. The body of the card is divided in half. The left column or half lists the responsibilities of the class and the right column or half lists the collaborators for each responsibility. See figure 1.1.
Figure 1.1