CRC-карты
CRC или Class-Responsibility-Collaboration-карты используются для командного проектирования системы.
CRC-карты позволяют всей команде участвовать в проектировании системы. Чем больше людей вносит свой вклад, тем больше вероятность возникновения хороших идей.
CRC-карты не являются полноценной документацией, детально описывающей систему. Они необходимы для верхнеуровневого описания проекта и делают его реализацию более очевидной для команды. Более подробная документация при необходимости может быть составлена отдельно.
Процесс проектирования
Отдельные CRC-карточки используются для описания объектов системы:
- сверху записывается название объекта;
- в левой части перечисляется обязанности объекта;
- в правой части перечисляются связи с другими объектами.
Процесс проектирования с использованием CRC-карт — это не написание отчётной документации. Зачастую участникам достаточно нескольких карточек, не заполненных полностью, для понимания процесса и архитектуры.
Во время встречи один из участников описывает систему вслух, перечисляя объекты и их взаимодействие. В ходе обсуждений выявляются слабые места и проблемы, для решения которых могут быть быстро предложены и смоделированы альтернативные решения.