Карточка классовой ответственности и сотрудничества
классовой ответственности ( CRC ) Карты — это инструмент мозгового штурма , используемый при разработке объектно-ориентированного программного обеспечения. Первоначально они были предложены Уордом Каннингемом и Кентом Беком в качестве учебного пособия. [1] но также популярны среди опытных дизайнеров [2] и рекомендовано экстремальными практиками программирования . [3] Автор Мартин Фаулер написал, что карты CRC могут быть разумным средством, с помощью которого можно быстро разработать множество альтернативных взаимодействий, поскольку они позволяют избежать большого количества рисования и стирания. Сеансы карточек CRC могут сопровождаться созданием диаграмм последовательности для фиксации выявленных взаимодействий.
Карты CRC часто используются на этапе проектирования системы и разработки программного обеспечения для преобразования описаний вариантов использования в диаграммы классов, что обеспечивает более плавный переход с более широким обзором и позволяет разработчикам реализовывать решения с низкой привязкой и высокой связностью.
Карточки CRC обычно создаются из учетных карточек . Участники мозгового штурма напишут одну карту CRC для каждого соответствующего класса /объекта своего проекта. Карта разделена на три области: [1] [2]
- В верхней части карточки указано название класса.
- Слева обязанности класса.
- Справа коллаборационисты (другие классы), с которыми класс взаимодействует для выполнения своих обязанностей.
Использование небольших карточек сводит к минимуму сложность проекта, снижает ответственность класса и позволяет дизайнерам сосредоточиться на основных моментах занятий, не изучая детали реализации. Поскольку карточки портативны, их можно легко разложить на столе и переставлять во время обсуждения дизайна.
Создание карточек CRC
[ редактировать ]Создание карточек CRC обычно начинается с написания сценария, в котором определяются основные действующие лица и действия. По сценарию существительные должны стать классами, глаголы — обязанностями, а сотрудники — другими картами, с которыми карта будет взаимодействовать.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Jump up to: а б Бек, Кент; Каннингем, Уорд (1986). «Лаборатория обучения объектно-ориентированному мышлению». Уведомления SIGPLAN . 24 (10): 1–6. дои : 10.1145/74878.74879 .
- ^ Jump up to: а б Мартин Фаулер, UML Distilled , глава 4
- ^ Краткое введение на сайте Extremeprogramming.org.
Внешние ссылки
[ редактировать ]- Лаборатория обучения объектно-ориентированному мышлению». Статья Кента Бека и Уорда Каннингема «
- CRC-описание HotDraw
- Краткое введение на сайте Extremeprogramming.org.
- Простой онлайн-редактор CRC