Subscribe by Email

Sunday, June 3, 2012

What is meant by CRC cards? How they are used in extreme programming?

In its full form the CRC cards are known as “class responsibility collaboration cards” and have been considered to be a brain storming tool in the field of designing of the object oriented software. 
The concept of the class responsibility collaboration i.e. the CRC cards was introduced by the two people: Kent Beck and Ward Cunningham. 

What is written on index cards used in CRC cards?

- These cards find their typical use in the determination of the classes that are needed and also regarding their interaction among themselves. 
- The creation of a typical CRC card is regulated by the use of index cards on which the following 5 basic things are written:
  1. The name of the class.
  2. If applicable its super classes and sub classes.
  3. The responsibilities of the class.
  4. The name of the other classes involved in the collaboration for the fulfilment of the responsibilities.
  5. The name of the author.

What kind of CRC card should be used?

- To keep the complexity levels of the program design at minimum it is recommended that a small card is used. 
- Such a card helps the designer to focus up on the essential requirements of the class and thus preventing the designer from falling unnecessarily in to the details of it. 
- Also, the designer is prevented from getting in to the inner workings at one time when so much of detail holds the chances of becoming probable counter- productive thing. 
- The class responsibility collaborative cards are a means for forcing the designer to keep the class refrained from too many responsibilities.
- Since the cards have the property of portability, hence it becomes easy to lay them out on a table and re arrange them according to the designs discussed by the team members with the other people. 

Method for determining type of card

- A method for determining the types of the cards required is recently becoming very common. 
- The method consists of determining what all cards should be created by reading all the specifications regarding the program that is being designed.
- It also takes in to consideration of each noun as a class and on the other hand each verb as a responsibility of the class or the noun to which it rightly belongs. 
- To be more precise, you will find that the existence of the nouns or the verbs does not calls for a class or responsibility in the program, though it is still considered to be a good point to start with. 

Below we have given an example of the class- responsibility collaboration card’s format so that it becomes easy for you to understand how actually it displays the information:

- Name of the class: super class
- Sub classes: (lists the name of the classes that are derived from this class)
- Responsibilities: list all the responsibilities of the classes and description of the methods being used.
- Collaborations: this lists the relationship of the class to the other classes.

Use of CRC cards in Extreme Programming

- The CRC cards have played a great role in helping the developers design the software system or application as a team. 
- The best thing with the use of the CRC cards is that they allow the developers to break away from the usual monotonous procedure and follow new routines.
With the help of the CRC cards the entire project team is able to give the individual contribution in the development of the software project.
- This further leads to the incorporation of more individual and creative ideas in to the design of the system.
- For every object there is an individual CRC card. 

No comments:

Facebook activity