01.01.2015 Views

UML Weekend Crash Course™ - To Parent Directory

UML Weekend Crash Course™ - To Parent Directory

UML Weekend Crash Course™ - To Parent Directory

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

18<br />

Friday Evening<br />

CRC<br />

CRC stands for Class, Responsibilities, and Collaborators. The CRC methodology was originally<br />

developed as a learning tool during the time when object-oriented programming was new; a<br />

lot of procedural programmers needed help making the transition to OO thinking. The goal<br />

was to provide the simplest possible conceptual introduction to OO modeling.<br />

The heart of the method is the CRC card. A CRC card is a 3-x-5" or 4-x-6" lined index<br />

card. The physical nature of the cards emphasizes the division of responsibility across<br />

objects. The physical size of the cards also helps to establish limits for the size and complexity<br />

of the classes. The CRC card technique does not use the <strong>UML</strong>. Instead it is used to<br />

discover information about classes that is then placed into a <strong>UML</strong> Class diagram.<br />

Figure 2-2 is a sample blank CRC card. The class name is written at the top of the card.<br />

The next two lines are reserved for the listing of superclasses and subclasses. The body<br />

of the card is divided in half. The left column or half lists the responsibilities of the class<br />

and the right column or half lists the other objects that it works with, the collaborators,<br />

to fulfill each responsibility.<br />

class name<br />

subclasses:<br />

superclasses:<br />

Responsibilities<br />

Collaborators<br />

Figure 2-2 A CRC card sample<br />

The CRC process requires a team that includes people in two distinct roles: domain expert<br />

and object-oriented technology facilitator. The domain experts provide knowledge of the<br />

subject area, and the OO facilitator coaches the team through the development of the cards<br />

and the eventual model.<br />

The CRC process centers on working through scenarios. The process breaks down into four<br />

stages:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!