Карточки «класс-ответственность-сотрудничество » ( CRC ) — это инструмент мозгового штурма , используемый при проектировании объектно-ориентированного программного обеспечения. Первоначально они были предложены Уордом Каннингемом и Кентом Беком в качестве учебного пособия [1] , но также популярны среди опытных дизайнеров [2] и рекомендуются практиками экстремального программирования . [3] Автор Мартин Фаулер написал, что карточки CRC могут быть разумным средством, с помощью которого можно быстро разработать несколько альтернативных взаимодействий, поскольку они позволяют избежать большого количества рисования и стирания. Сеансы с карточками CRC могут сопровождаться созданием диаграмм последовательности для фиксации идентифицированных взаимодействий.
Карты CRC часто используются на этапе проектирования систем и разработки программного обеспечения для преобразования описаний вариантов использования в диаграммы классов, что обеспечивает более плавный переход с большим обзором и позволяет разработчикам реализовывать решения с низкой степенью привязки и высокой степенью связности.
Карточки CRC обычно создаются из карточек-указателей . Участники мозгового штурма пишут одну карточку CRC для каждого соответствующего класса /объекта своего дизайна. Карточка разделена на три области: [1] [2]
Использование небольших карточек минимизирует сложность дизайна, снижает ответственность классов и позволяет дизайнерам сосредоточиться на сути классов, не вникая в детали реализации. Поскольку карточки портативны, их можно легко разложить на столе и переставлять, обсуждая дизайн.
Создание карточек CRC обычно начинается с написания сценария, который определяет основных действующих лиц и действия. В сценарии существительные должны стать классами, глаголы — обязанностями, а соавторы — другими карточками, с которыми карточка будет взаимодействовать.