de_DEen_USes_ESfr_FRhi_INid_IDjapl_PLpt_PTru_RUvizh_CN

Baseado nos princípios fundamentais da análise orientada a objetos (OO), este guia descreve o processo de modelagem CRC. A modelagem CRC é uma metodologia altamente eficaz e de baixa tecnologia projetada para eliminar a lacuna de comunicação entre desenvolvedores e usuários, garantindo que os requisitos de negócios sejam identificados e compreendidos com precisão antes da escrita do código.


1. Conceitos Principais: A Anatomia de um Cartão CRC

A modelagem CRC depende de cartões de índice padrão divididos em três seções distintas. Cada seção representa um conceito central no design orientado a objetos.

A CRC Card by Visual Paradigm

A. Classe (Parte Superior do Cartão)

Uma classe representa uma coleção de objetos semelhantes. Um objeto pode ser uma pessoa, lugar, coisa, evento, conceito, tela ou relatório relevante para o sistema.

  • Regra de Nomeação: Use uma ou duas palavras no singular (por exemplo, Cliente, não Clientes).

  • Exemplo: Em um sistema de envio/estoque, as classes incluem Item de EstoquePedidoItem do PedidoCliente, e Endereço de Superfície.

B. Responsabilidade (Coluna Esquerda)

Uma responsabilidade é qualquer coisa que uma classe sabe ou faz.

  • O que ele sabe (Dados/Attributos): Exemplo: Um Cliente a classe sabe seu nome, número do cliente e número de telefone.

  • O que ele faz (Comportamentos/Métodos): Exemplo: Um Cliente a classe pode pedir produtos, cancelar pedidos e efetuar pagamentos.

C. Colaborador (Coluna da Direita)

A colaboração ocorre quando uma classe precisa de informações ou assistência de outra classe para cumprir uma responsabilidade.

  • Exemplo: Um Pedido um objeto tem a responsabilidade de “calcular o total”. No entanto, ele não sabe o preço dos itens nem a quantidade pedida. Portanto, ele deve colaborar com Item do Pedido (que sabe a quantidade) e Item do Estoque (que sabe o preço) para calcular o total final.


2. A Equipe de Modelagem CRC

Uma sessão CRC bem-sucedida exige papéis específicos para garantir que o processo ocorra de forma suave e capture com precisão a lógica de negócios.

  1. Especialistas em Domínio de Negócios (EDNs): Os usuários reais do sistema (normalmente 4 a 5 funcionários de linha de frente). Eles possuem o conhecimento do dia a dia dos negócios. Observação: Executivos geralmente não são ideais para CRC; eles são mais adequados para Casos de Uso de alto nível.

  2. Facilitador: Conduz a sessão, explica a técnica, faz perguntas pertinentes, garante que os cartões sejam preenchidos corretamente e conduz os testes de cenários.

  3. Escritor(es): 1 ou 2 pessoas que sentam nas partes de trás/laterais. Elas não participam ativamente da modelagem, mas registram a lógica e as regras detalhadas do negócio que não cabem nas pequenas fichas.

  4. Observadores: Estagiários ou partes interessadas que sentam nas partes de trás e observam sem participar.


3. O Processo de Modelagem CRC de 6 Etapas

6-step CRC Modeling Process

Etapa 1: Montar a Equipe

Reúna 4 a 5 BDEs de linha de frente, um facilitador e 1 a 2 redatores. Garanta o apoio da gestão para que os participantes possam dedicar o tempo necessário.

Etapa 2: Organizar a Sala

  • Superfícies para escrever: Quadros de papel ou quadros brancos para brainstorming e prototipagem.

  • Mesa de modelagem: Uma mesa grande e central para os BDEs colocarem e moverem as fichas.

  • Estações de redação: Mesas colocadas fora do caminho, mas com vista clara.

  • Fornecimentos: Fichas, marcadores e uma bola macia e esponjosa (utilizada posteriormente para testes de cenários).

Etapa 3: Brainstorm

Gere ideias sem avaliá-las. O facilitador faz perguntas abertas para entender as necessidades do negócio.

  • Perguntas Exemplo: “Para quem é este sistema?”, “Que necessidades do negócio ele atende?”, “Como podemos fazer isso mais rápido/melhor/barato?”, “Há tarefas triviais que podemos automatizar?”

Etapa 4: Explicar a Técnica

O facilitador gasta 10 a 15 minutos explicando os conceitos CRC, exibindo prominentemente as definições na parede e orientando a equipe na criação de algumas fichas exemplo.

Etapa 5: Modelagem CRC Iterativa

Os BDEs ficam em pé ou sentam-se ao redor da mesa e constroem o modelo de forma iterativa:

  • Encontrar Classes: Siga o dinheiro, procure por relatórios/telas e identifique imediatamente as 3 a 5 classes principais.

  • Encontrar Responsabilidades: Pergunte o que a classe sabe e faz.

  • Definir Colaboradores:Identifique quem detém as informações ausentes necessárias para cumprir uma responsabilidade.

  • Organize os Cartões: Passo Crucial.Cartões que colaboram frequentemente são colocados próximos uns dos outros na mesa. Cartões “ocupados” vão para o centro. Mover os cartões fisicamente ajuda a equipe a visualizar relações e associações.

Passo 6: Teste de Cenários de Caso de Uso (Exercício do “Lançamento da Bola”)

Este é um exercício de validação em que a equipe “representa” os fluxos de trabalho do sistema para garantir que o modelo esteja correto.

  1. Chame um Cenário:O facilitador descreve um caso de uso (por exemplo, “Cliente faz um pedido”) e lança a bola macia para o BDE que segura o cartão inicial de responsabilidade (por exemplo, Pedido).

  2. Determine a Responsabilidade:O grupo confirma que o cartão trata a tarefa. Caso contrário, atualizam ou criam um novo cartão.

  3. Descreva a Lógica:O BDE que segura a bola descreve, passo a passo, a lógica de negócios (código-pseudônimo) para o secretário.

  4. Colabore:Se o BDE precisar de informações de outra classe (por exemplo, Item de Estoque), eles lançam a bola para o BDE que segura esse cartão. Esse BDE então descreve sua parte da lógica.

  5. Passe a Bola de Volta:Uma vez que uma tarefa é concluída, a bola é lançada de volta para a pessoa anterior, retornando eventualmente ao facilitador para iniciar o próximo cenário.


4. Como o CRC se encaixa no SDLC

A modelagem CRC não existe em um vácuo; ela faz parte de um processo mais amplo de modelagem Orientada a Objetos que é serial no grande (passando dos requisitos para o design até o código) e iterativo no pequeno (saltando entre modelos).

  • Nível de Detalhe:O CRC está no meio. Você começa de forma simples com Casos de Uso e Protótipos de UI, passe para o detalhamento médio de Modelos CRC, e finalize com o detalhamento alto de Diagramas de Classes.

  • Entregáveis Impulsionam Entregáveis: Os diagramas de casos de uso são documentados por casos de uso, que são documentados por diagramas de sequência, que eventualmente geram o código-fonte. Os modelos CRC alimentam diretamente o diagrama de classes.


5. Melhores Práticas e Dicas para o Sucesso

  1. Envie uma Pauta: Distribua uma pauta alguns dias antes para que os BDEs possam se preparar.

  2. Exiba as Definições: Cole um layout grande de cartões CRC e suas definições na frente da sala.

  3. Use Terminologia do Domínio: Evite jargões técnicos; use exatamente as palavras que os BDEs usam em seus trabalhos diários.

  4. Mantenha o Baixo-Tecnologia: Ferramentas para CRC são opcionais. Cartões de índice são baratos, portáteis e altamente eficazes.

  5. Espere Prototipar: Esboçar telas e relatórios em quadros de flip-chart durante a sessão ajuda os usuários a visualizarem o sistema.

  6. Planeje para Vários Dias: Sistemas grandes exigem várias sessões. Isso é normal e necessário.

  7. Obtenha Apoio da Gestão: Garanta que a liderança entenda o valor da modelagem antes da codificação.

  8. Alvo para Equipes de Linha de Frente: O CRC é altamente detalhado e funciona melhor com usuários diários, e não com executivos de alto nível.


6. Vantagens e Desvantagens

As Vantagens

  • Especialistas fazem a análise: As pessoas que realmente fazem o trabalho constroem o modelo.

  • Alto Engajamento dos Usuários:A participação ativa aumenta a satisfação do usuário e o sentimento de posse.

  • Quebra barreiras: Usuários e desenvolvedores trabalham lado a lado.

  • Simples e não ameaçador: São apenas fichas. Os usuários não se sentem intimidados por ferramentas de software complexas, e não sentem que seus trabalhos estão sendo automatizados por uma “máquina”.

  • Barato e portátil: Custa alguns dólares e cabe em uma pasta.

  • Transição contínua: Combina perfeitamente com prototipagem e leva diretamente aos diagramas de classe formais.

As desvantagens

  • Ameaçador para alguns desenvolvedores: Alguns desenvolvedores acreditam erroneamente que seus conhecimentos técnicos superam o conhecimento dos usuários sobre negócios.

  • Agendamento é difícil: Reunir 4 a 5 usuários-chave na mesma sala ao mesmo tempo exige planejamento prévio.

  • As fichas são limitadas: Uma pilha de fichas não é um entregável formal aceitável para a maioria das organizações. O CRC deve ser complementado com casos de uso formais, protótipos e diagramas de classe.


Conclusão

O objetivo final do desenvolvimento de aplicativos é resolver problemas de negócios, e não satisfazer a curiosidade intelectual de um desenvolvedor com novas tecnologias. O modelo CRC força os desenvolvedores a trabalhar com usuários em vez de contra eles. Ao utilizar um ambiente de baixa tecnologia, altamente colaborativo, as equipes conseguem capturar, validar e refinar com precisão os requisitos de negócios antes de escrever uma única linha de código.