How to use CRC Cards for Class Design?



How to use CRC Cards for Class Design?..

Answer / guest

Class Responsibility Collaborator (CRC cards) are a
brainstorming tool used in the design of object-oriented
software. They were proposed by Ward Cunningham and Kent
Beck. [1] They are typically used when first determining
which classes are needed and how they will interact.

CRC cards are usually created from index cards on which are
written:

The class name
Its Super and Sub classes (if applicable)
The responsibilities of the class.
The names of other classes with which the class will
collaborate to fulfill its responsibilities.
Author
Using a small card keeps the complexity of the design at a
minimum. It focuses the designer on the essentials of the
class and prevents him from getting into its details and
inner workings at a time when such detail is probably
counter-productive. It also forces the designer to refrain
from giving the class too many responsibilities. Because
the cards are portable, they can easily be laid out on a
table and re-arranged while discussing a design with other
people.

A common method to determine what cards should be created
is to read a specification for the program being designed
and consider if each noun should be a class and if each
verb should be a responsibility of the noun or class to
which it belongs. Naturally, the existence of a noun or
verb does not require a class or responsibility in the
program, but it is considered a good starting point.

Is This Answer Correct ?    3 Yes 3 No

Post New Answer

More UML Interview Questions

Is Visio a UML tool?

0 Answers  


What is modeling? What are the advantages of creating a model?

0 Answers  


What is class diagram?

0 Answers  


How to identify the actors in a ucd?

0 Answers  


What do you understand by sdlc and name its processes?

0 Answers  






In the unified process, during which phases is requirement analysis mainly carried out?

4 Answers   Oracle,


What is the difference between a component and an object?

2 Answers  


How to resolve many to many relationship?

2 Answers   TATA,


What is the importance of modeling in UML?

0 Answers  


What is state machine diagram in UML?

0 Answers  


What is elaboration?

0 Answers  


Why is it required to have an abstraction layer in uml?

0 Answers  


Categories