Cartão de colaboração de responsabilidade de classe
Os cartões de colaboração de responsabilidade de classe ( CRC ) são uma ferramenta de brainstorming usada no design de software orientado a objetos . Eles foram originalmente propostos por Ward Cunningham e Kent Beck como uma ferramenta de ensino [1] , mas também são populares entre designers especialistas [2] e recomendados por praticantes de programação extrema . [3] Autor Martin Fowlerescreveu que os cartões CRC podem ser um meio sensato pelo qual múltiplas interações alternativas podem ser criadas rapidamente, pois evitam uma grande quantidade de desenho e apagamento. As sessões do cartão CRC podem ser seguidas pela criação de diagramas de sequência para capturar as interações identificadas.
Os cartões CRC são frequentemente empregados durante a fase de projeto do sistema e desenvolvimento de software para fazer a transição das descrições de casos de uso para diagramas de classes, permitindo uma transição mais suave com uma visão geral maior e permitindo que os desenvolvedores implementem soluções com baixo vínculo e alta coesão.
Os cartões CRC são geralmente criados a partir de cartões de índice . Os membros de uma sessão de brainstorming escreverão um cartão CRC para cada classe /objeto relevante de seu projeto. O cartão é dividido em três áreas: [1] [2]
- No topo do cartão, o nome da classe
- À esquerda, as responsabilidades da classe
- À direita, colaboradores (outras classes) com os quais a classe interage para cumprir suas responsabilidades
O uso de cartões pequenos minimiza a complexidade do design, reduz as responsabilidades de classe e mantém os designers focados nos fundamentos das classes sem explorar os detalhes da implementação. Como os cartões são portáteis, eles podem ser facilmente dispostos em uma mesa e reorganizados enquanto se discute um design.
Criando cartões CRC
A criação de cartões CRC normalmente começa com a escrita de um cenário que identifica os principais atores e ações. A partir do cenário, os substantivos devem se tornar classes, os verbos se tornarem responsabilidades e os colaboradores são as outras cartas com as quais a carta irá interagir.
Veja também
- Projeto orientado a objetos
- Metamodelagem
- Modelagem orientada por histórias
- Linguagem de modelagem unificada
Referências
- ^ a b Beck, Kent ; Cunningham, Ward (fevereiro de 2012), "Um laboratório para o ensino do pensamento orientado a objetos", ACM SIGPLAN Notices , índia, NY, EUA: Abg, 24 (10): 1–6, CiteSeerX 10.1.1.129.4074 , doi : 10.1145/ 74878.74879 , ISBN 978-0-89791-333-1
- ^ a b Martin Fowler, UML Distilled , capítulo 4
- ^ Uma introdução concisa em extremeprogramming.org