sexta-feira, 19 de fevereiro de 2010

Um Cartão de Classe (Cartão CRC)

Oi pessoal,

Segue um texto que eu utilizo no meu treinamento de Cartão CRC.


----- X -----

A única coisa que você precisa registrar em um cartão de classe quando você o define pela primeira vez é seu nome. Este é um pequeno, mas importante passo porque o nome que você dá a cada classe terá um efeito significativo no modo como as pessoas de negócios entenderão o funcionamento do modelo. O nome que você escolher deve transmitir clara e sucintamente, em termos de negócios e não técnicos, o que cada tipo de objeto representa no mundo real.


Figura 01 - Cartão de Classe

Definindo Responsabilidades
A primeira alternativa para definir objetos em termos de suas informações é defini-los de acordo com os papéis que desempenham no modelo. Esta é a essência de uma técnica conhecida como projeto dirigido por responsabilidade. Nesta abordagem, cada objeto é visto como uma entidade ativa dentro do modelo, executando responsabilidades específicas de modo a cumprir seu papel. Dependendo do objeto – como definido em sua classe – como ele usa variáveis na condução destas responsabilidades.

Uma boa maneira de quebrar antigos modos de pensar é encorajar os modeladores a personalizar objetos – pensar neles como seres vivos que são responsáveis por conduzir suas obrigações da maneira mais eficiente possível.

Devemos em primeiro lugar tentar distribuir as responsabilidades logicamente, no sentido de que você não deve pedir a um objeto que saiba ou faça algo fora de seu escopo normal. Por exemplo, seria razoável você esperar que um objeto Produto projete suas vendas futuras, mas não seria razoável fazê-lo projetar vendas de outros produtos.

O objeto Cliente deve ser responsável por saber o seu nome, endereço e informações para remessa, assim como por qualquer outra informação que possa ser solicitada por operações. Também decide que um Cliente deve saber seu saldo corrente e situação de pagamento de modo que a empresa possa ser cautelosa sobre uma possível extensão de crédito se um cliente estiver em débito.


Figura 02 - A Classe Cliente

Definindo Relacionamento
Cartões de Classe têm áreas para registrar informações sobre cada um dos três principais tipos de relacionamentos, como mostrado na figura a seguir. Para colaborações, coloque os nomes dos colaboradores – os objetos que são chamados para os serviços – na mesma linha das responsabilidades que eles apóiam. Para superclasse, simplesmente registre o nome da superclasse assim que ela for conhecida. Use o final do cartão para listar os componentes dos objetos compostos.


Figura 03 - Uma classe conhece seus relacionamentos


Figura 04 - Colaborações para determinar um preço total


Figura 05 - Esclarecendo itens de linha

Seguindo o cenário da Ordem de Venda
- Ordem de Venda, preencha o cabeçalho.
- Cliente, forneça endereço para envio (Ordem de Venda registra esta informação na área do cabeçalho).
- Ordem de Venda, adicione um item em linha (Ordem de Venda cria um novo Item em Linha e o adiciona a Itens de Linha).
- Item em Linha, aceite Produto (selecionado pelo usuário).
- Item em Linha, aceite quantidade (registrada pelo usuário).
- Produto, relate preço descontado pela quantidade.
- Ordem de Venda, preencha o rodapé.
- Cliente, relate seu desconto.
- Itens em Linha, preços totais estendidos (Ordem de Venda aplica desconto e adiciona frete).


Referencia Bibliográfica
Engenharia de Negócios com Tecnologia de Objetos
David A. Taylor


Abraço a todos,

Abu

Um comentário:

Anônimo disse...

Obrigado pela explicação Abu! Foi d e grande ajuda