Cartões de Classe–Responsabilidade–Colaboração (CRC)
É uma técnica colaborativa usada em design de software orientado a objetos para identificar e definir
classes, suas responsabilidades e suas colaborações dentro de um sistema. Promove o trabalho em
equipe, incentiva a participação ativa e fornece uma representação visual da estrutura do sistema.
Usuário: representa um usuário com atributos como nome de usuário, e-mail e senha;
Para construir isso, envolve a criação de cartões físicos ou digitais para representar classes em um
sistema.
Cada cartão contém o nome da classe, suas responsabilidades e suas colaborações com outras
classes. A técnica é normalmente conduzida em um ambiente de grupo, em que os membros da
equipe participam ativamente do brainstorming e da definição das classes.
Veja os exemplos a seguir.
Sistema de Gestão de Bibliotecas
Classe: Livro
Responsabilidades:
• Armazenar informações sobre o livro (título, autor, data de publicação etc.);
• Gerenciar o status de disponibilidade do livro;
• Permitir devoluções e empréstimos de livros.
Colaborações:
• Colabora com a classe biblioteca, para atualizar o status de disponibilidade;
• Colabora com a classe mutuário, para lidar com operações de devolução e
empréstimo.
Classe: Biblioteca
Responsabilidades:
• Gerenciar o acervo de livros;
• Manter o status de disponibilidade dos livros;
• Fornecer funcionalidades de pesquisa e recuperação.
Colaborações:
• Colabora com a classe livro, para atualizar a disponibilidade e recuperar informações
do livro;
• Colabora com a classe do mutuário, para lidar com o empréstimo e a devolução de
livros.
Classe: Mutuário
Responsabilidades:
• Cadastrar as informações do mutuário (nome, contato etc.);
• Lidar com empréstimos e devoluções de livros.
Colaborações:
• Colabora com a classe Livro, para empréstimos e devolução de livros;
• Colabora com a classe Biblioteca, para recuperar a disponibilidade do livro e atualizar
o status do empréstimo.
A técnica estimula a participação ativa, promove a discussão e o compartilhamento de conhecimento
e fornece uma representação visual da estrutura do sistema. Os Cartões CRC servem como
referência durante as fases de projeto e implementação, garantindo entendimento claro das classes
e suas interações dentro da solução de software.