0% found this document useful (0 votes)
52 views2 pages

The CRC Card

The CRC card methodology is a useful way to analyze a system's structure and is well-suited for object-oriented design. It identifies classes, responsibilities, and collaborators. CRC cards encourage encapsulation of data and functions. The process involves developing initial class lists and responsibilities/collaborators, creating usage scenarios, walking through scenarios to refine information, and adding class relationships. CRC cards aid both technical and non-technical users in scoping a design.

Uploaded by

021 Kaviya P
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
52 views2 pages

The CRC Card

The CRC card methodology is a useful way to analyze a system's structure and is well-suited for object-oriented design. It identifies classes, responsibilities, and collaborators. CRC cards encourage encapsulation of data and functions. The process involves developing initial class lists and responsibilities/collaborators, creating usage scenarios, walking through scenarios to refine information, and adding class relationships. CRC cards aid both technical and non-technical users in scoping a design.

Uploaded by

021 Kaviya P
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

The CRC card

methodology is a well-known and useful way to help analyze a system’s structure. It


is particularly well suited to object-oriented design since it encourages the
encapsuation of data and functions. The acronym CRC stands for the following three major
items that the methodology tries to identify:
■ Classes defifine the logical groupings of data and functionality.
■ Responsibilities describe what the classes do.
■ Collaborators are the other classes with which a given class works.

advantages.

First, it is easy to get non computer people to create CRC cards. Getting the advice of domain experts
(automobile
designers for automotive electronics or human factors experts for PDA design, for
example) is very important in system design. The CRC card methodology is informal enough that it will not
intimidate non-computer specialists and will allow you
to capture their input.

It aids even computer specialists by encouraging them to work in a group and analyze scenarios.The
walkthrough process used with CRC cards is very useful in scoping out a design and determining what parts of a
system are poorly understood.

software engineering tools are available that automate the creation of CRC cards.

Steps:

1.Develop an initial list of classes: Write down the class name and perhaps
a few words on what it does. A class may represent a real-world object or an
architectural object. Identifying which category the class falls into (perhaps
by putting a star next to the name of a real-world object) is helpful. Each person can be responsible for handling
a part of the system, but team members
should talk during this process to be sure that no classes are missed and that
duplicate classes are not created.
2. Write an initial list of responsibilities and collaborators: The responsibilities list helps describe in a little
more detail what the class does. The collaborators list should be built from obvious relationships between
classes. Both the responsibilities and collaborators will be refined in the later
stages.

3. Create some usage scenarios: These scenarios describe what the system
does. Scenarios probably begin with some type of outside stimulus,which is
one important reason for identifying the relevant real-world objects.
4. Walk through the scenarios: This is the heart of the methodology. During
the walk-through, each person on the team represents one or more classes.
The scenario should be simulated by acting: people can call out what their
class is doing, ask other classes to perform operations, and so on. Moving
around, for example, to show the transfer of data, may help you visualize the
system’s operation. During the walk-through, all of the information created
so far is targeted for updating and refinement, including the classes, their
responsibilities and collaborators, and the usage scenarios. Classes may be
created, destroyed, or modified during this process. You will also probably
find many holes in the scenario itself.
5. Refifine the classes, responsibilities, and collaborators: Some of this will be
done during the course of the walkthrough, but making a second pass after
the scenarios is a good idea. The longer perspective will help you make more
global changes to the CRC cards.
6. Add class relationships: Once the CRC cards have been refined, subclass
and superclass relationships should become clearer and can be added to
the cards.

You might also like