CRC Cards (class-responsibility-collaborator)
CRC Cards introduced in 1989 by Kent Beck and Ward Cunningham designed to teach object oriented programming at Tektronix a CRC card is an index card in a group setting used to represent: a class of objects their behavior their interactions CRC Cards
CRC Card format CRC Cards
CRC definitions responsibility: knowledge class maintains or service class provides collaborator: a class whose knowledge or services are needed to fulfill a responsibility CRC Cards
Methodology involves a creative exchange: physical simulation of the workings of the system participants “become” one or more objects during walk-throughs of typical scenarios classes are discovered and converted into cards responsibilities are assigned collaborators for each responsibility are identified CRC Cards
Advantages portable: cards can be used anywhere, even away from the computer or office anthropomorphic: no computer program can capture the essence of the interactions forced by passing the cards level of involvement felt by each team member increases useful throughout the life cycle CRC Cards
More advantages provides a basis for more formal analysis and design methodologies serves as input to a formal method (i.e., a starting point) ease the transition from process orientation to object orientation - most formal methods are overwhelming gives a general bound on the size of a class - a card CRC Cards
Exercise create CRC cards for a library CRC Cards