Получите все материалы с наших курсов — бесплатно
Что Такое CRC - Карты 🗾: Определения и Практика Использования
Что Такое CRC - Карты 🗾: Определения и Практика Использования
Что Такое CRC - Карты 🗾: Определения и Практика Использования
Ответим в течение 30 минут — contact@leadstartup.ru
+7 495 150 42 63 — с 8:00 до 21:00 МСК

Что такое CRC - карты 🗾: определения, форма и практика использования

4 950 рублей
Скидка -80% (ранний доступ)
127 тренингов
25 курсов
Пожизненный доступ
Сгенерите максимум клевых гипотез и обкатаете их на канвасе и живой аудитории

CRC — карта: метод мозгового штурма, предназначенный для проектирования объектно–ориентированного программного обеспечения и предназначены для упрощения первого этапа проектирования и анализа задач.

9 отзывов, в среднем 4 из 5

Что такое CRC - карты?

CRC — карты предназначены для упрощения первого этапа проектирования и анализ задач объектно–ориентированного программного обеспечения. Их составление представляет процесс мозгового штурма в целях определения классов и их взаимодействия для концентрирования разработчиков на первостепенных задачах и во избежание излишнего внимания к прочим задачам.

Что представляют CRC - карты?

CRC — карты — это маленькая бумажная карточка, которая в своей структуре имеет следующие поля: верхнее – название класса, левое нижнее – ответственность, правое нижнее – связи класса.

Как применяют CRC - карты?

Применение метода CRC – карт представляет собой игровой процесс, роли классов в которой распределяются между разработчиками. Команда собирается для проработки различных сценариев с помощью карт.

Определение и предназначение CRC – карт

Проектирование объектно–ориентированного программного обеспечения (ООП) – непростая задача. Помочь справится с ней на ранних этапах помогают CRC – карты. В настоящей статье мы разберемся, что они представляют собой и как действуют.

CRC — карты

CRC – карты (аббр. с англ. «Class – Responsibility – Collaboration» — Класс–Обязанность–Связь) были изобретены Уордом Каннингемом и Кентом Беком в конце 80-х годов прошлого столетия.

Как уже понятно из начала статьи, CRC карты предназначены для упрощения первого этапа проектирования и анализ задач ООП.

Их составление представляет процесс мозгового штурма, проводимый в целях определения классов и их взаимодействия для концентрирования разработчиков на первостепенных задачах и во избежание излишнего внимания к прочим задачам.

CRC – карты отражают взаимодействие классов между собой через канал сообщений, а также иерархичность классов.

Использование данных карт является очень эффективным методом, соответствующим качественному стилю работы с ОПП. Благодаря этим картам можно произвести анализ взаимодействия объектов, то есть программы. Это важно, так как зачастую происходит уход в сторону исследования данных.

Получите доступ к нашему Google–диску
Скачать модель

Форма и структура CRC – карт

CRC — карты

CRC – карта – это реальная бумажная карточка небольшого размера. Обычно используют формат бумаги 3х5, или разделяют альбомный лист на четыре части. По необходимости, используют цветовое наполнение.

CRC – карта в своей структуре имеет следующие поля: верхнее – название класса, левое нижнее – ответственность, правое нижнее – связи класса.

 разработка ООП

Подробнее разберемся с содержанием информации в них.

Верхнее поле – название класса (Class). Эти данные берутся из технического задания или иного документа с задачами. На каждый элемент заводится класс. Именно он и выносится в шапку CRC — карты.

Нижнее левое поле – ответственность (Responsibility). Это информация о том, за что отвечает класс. Здесь парой слов описывается функция объекта, или операция, которую он выполняет, объем информации объекта, а также здесь могут быть указаны решения, принимаемые объектом. Зачастую, после анализа ответственностей, они перераспределяются между классами. По итогу обработки они становятся методами класса.

Существует облегчающее негласное правило: существительным тех. задания дают параметр класса, а глаголам – ответственности, но не всегда.

Нижнее правое поле – связи (Collaboration). Это поле отражает функционал класса при его взаимодействии с другими классами. В итоге карточки должны образовать целостную модель взаимодействия.

Использование CRC – карт

CRC — карты

Применение метода CRC – карт представляет собой игровой процесс, роли классов в которой распределяются между разработчиками. Команда собирается для проработки различных сценариев с помощью карт. Происходит это посредствам передачи карт друг другу в виде сообщений. Сценарии могут быть подготовлены заранее, однако в процессе игры зачастую выявляются совершенно неожиданные варианты. Очень сложно описать эту технологию методологически, но в процессе она незамысловата и максимально легка.

Одним из самых важных моментов является распределение ответственности (нижнее левое поле — Responsibility). Нужно разумно описать обязанности объекта, что поможет сформировать иерархическую структуру модели. Важность проработки ответственностей заключается в возможности абстрагироваться от мысли о классе, как о хранителе данных. Они создают понимание о функционале класса на каждом уровне иерархии. Помимо указанного ранее, ответственность также может распределяться по операциям, атрибутам п пр.

Обычно опытные разработчики советуют не создавать длинных списков очень низких ответственностей, так как это, в конечном счете, сбивает с основной мысли и может привести к необоснованному разделению классов. Рекомендуют лаконично, в паре слов излагать суть ответственности и переносить их в другие уровни иерархии при необходимости.

При проработке связей необходимо также быть максимально внимательными, так как должны быть учтены все возможные случаи взаимодействия объектов друг с другом. Без этого модель может быть незавершенной.

На основании совокупности карт, сложенных в модель, в конечном итоге строятся CRC–диаграммы. Обычно, по итогу проработки иерархии с помощью CRC – карт выработанная модель передается на UML моделирование, где происходит детализация анализа и задач. Есть случаи, когда стадии составления CRC – диаграммы уже достаточно.

Итак, мы рассмотрели основу проектирования ООП с помощью CRC – карт. В заключении отметим, что популярность метода CRC – обусловлена тем, что они создают живое обсуждение проекта. Остальные методы несут большие временные и трудозатраты: исправление одним разработчиком, согласование с другим, рассмотрение вариантов, повторное исправление и так очень–очень долго и малоэффективно. А живое общение устраняет этот недостаток. Используя CRC — карты, разработчики уже заранее моделируют такое взаимодействие и избегают лишних проволочек.

CRC карты

Ближайшие тренинги
Онлайн
Практика в Miro
Q&A сесия
Objectives & Key Results / Introduction
4 августа
с 18:00 до 20:00 по Москве
Онлайн
Амбициозные цели и ключевые результаты отличаются от KPI, поэтому нужно понять как использовать этот инструмент в имя цели продукта.
Scrum / Принципы и ценности
12 августа
с 18:00 до 20:00 по Москве
Онлайн
Скрам тоже имеет свои принципы и ценности, поэтому важно в них разобраться и найти элементы из вашей практики.
Курсы
Онлайн
Поддержка менторов
Доступ в чат и видео–ответы
Обучение с ПК, Android или IPhone — в удобном приложении