CRC Cards는 객체지향소프트웨어 설계에서 사용되는 브레인스토밍 툴
CRC는 Class-Responsibility-Collaborator (객체-책임-공동작업자)의 약자이다
Class -
Responsibility - 어떤 일을 해야하는지 적는 곳
Collaborator - Collaboration을 해야 하는 일을 같이 하는 다른 클래스를 적는 곳
일반적으로 디자인을 시작할 때 어떤 객체가 필요하고 그들이 어떻게 상호 연계할지 여부를 결정하는데 사용된다.
CRC Card의 형태
앞면에는 Class의 Name, Id, Type을 작성, Class가 어떤 일을 하는지를 쓰는 description과 어떤 use case와 관련된 일인지 use case의 번호를 작성
뒷면에는 attribute와 그것의 type, 다른 클래스들 간에 어떠한 관계가 있는지 작성
클래스 다이어그램은 CRC Card와 비슷하지만
코딩에 바로 쓰일 수 있는 명칭들과, 변수, 매개변수들이 포함되어있다는 차이가 있다