Cartões CRC – Classe Responsabilidade Colaboração Análise Orientado a Objetos Prof. Wolley W. Silva
Cartões CRC – Classe Responsabilidade Colaboração
Análise Orientado a ObjetosProf. Wolley W. Silva
Objetivo:
• Aplicar a técnica dos cartões CRC para atribuição de responsabilidades e relacionamentos de cada classe.
Sistemas Orientados a ObjetosAlan Kay formulou a chamada “Analogia biológica”
http://pt.wikipedia.org/wiki/Alan_Kay
• Objetos encapsulam tanto dados quanto comportamento.
• O comportamento de um objeto é definido de tal forma que ele possa cumprir com suas responsabilidades.
Sistemas Orientados a Objetos
•Titulo•Autor•ISBN
Cada
stra
r
Consultar
Atualizar
Livrotituloautorisbn
cadastrarconsultaratualizar
Responsabilidade
• Uma responsabilidade é uma obrigação que um objeto tem para com o sistema no qual ele está inserido.
• Através delas, um objeto colabora (ajuda) com outros para que os objetivos do sistema sejam alcançados.
• Há basicamente dois tipos de Responsabilidades:– Conhecer• O objeto conhece e gerencia os seus dados privados
encapsulados. • O objeto conhece objetos relacionados. • O objeto conhece coisas que ele pode derivar ou
calcular.– Fazer• O objeto executa um método próprio. • O objeto inicia ações em outros objetos. • O objeto controla e coordena atividades em outros
objetos.
Responsabilidade
Colaboração
• Se um objeto tem uma responsabilidade a qual não pode cumprir sozinho, ele deve requisitar colaborações de outros objetos.
Colaboração
Objetos
Colaboradores
O padrão de cooperação(comunicação) entre objetos
Responsabilidades
O que o objeto conhece+
O que o objeto faz
possuemrealizadas por
precisam de
Cartões CRC
• Técnica desenvolvida para ensinar a “pensar orientado a objetos”.
• Enfatiza as responsabilidades e colaborações de cada objeto.
http://www.ime.usp.br/~kon/MAC5714/aulas/Aula7.html
Ward Cunningham Kent Back
Modelo CRC• Composto de um conjunto de cartões com
o seguinte formato:
Classe:Responsabilidade Colaboração
Ex: CRC
Classe: Conta Corrente
Responsabilidade Colaboração
Saber o seu saldo Cliente
Saber seu cliente Histórico de Transações
Saber seu número
Manter histórico de transações
Realizar saques e depósitos
atributos
métodos
Classes associadas
Diagrama de Caso de UsoOficina Mecânica
Descrição UC05 – Compor Orçamento
• Através de terminal o mecânico seleciona um relato de problemas do veículo,
• O sistema disponibiliza a opção de compor um orçamento
• O mecânico adiciona os serviços que serão necessários como itens do orçamento
• Ao termino da elaboração, o sistema disponibiliza uma opção de salvar o orçamento
Classes Métodos
Classes do Domínio
Exemplo: CRC
Classe: Cliente ColaboraçãoNomeCPFEndereço Veículos VeiculoCadastrarConsultar por CPFAtualizarExcluir
Cartão CRC: Classe-Responsabilidade Colaboração
Classe: Problema Relatado ColaboraçãoDataCliente ClienteVeiculo VeiculoDescrição do problemaCadastrarConsultarAtualizarExcluir
Cartão CRC: Classe-Responsabilidade Colaboração
Classe: Veiculo ColaboraçãoMarcaModeloAno de FabricaçãoPlacaProprietário ClienteCadastrarConsultar AtualizarExcluir
Cartão CRC: Classe-Responsabilidade Colaboração
Cartão CRC: Classe-Responsabilidade Colaboração
Classe: Orçamento ColaboraçãoDataDados do Cliente ClienteProblema relatado Problema RelatadoVeiculo orçado VeiculoItens do Orçamento Item de OrçamentoValor totalAdicionar itemAprovar itensRemover itemCalcular totalSalvar
Cartão CRC: Classe-Responsabilidade Colaboração
Classe: Item de Orçamento ColaboraçãoDescrição do Serviço ServiçoQuantidadeSubtotalCalcular subtotal
Cartão CRC: Classe-Responsabilidade Colaboração
Classe: Serviço ColaboraçãoCódigoDescriçãoPreçoCadastrarConsultarAtualizarexcluir
Diagrama de Classe
Considerações• Uma classe não deve ter muitas responsabilidades,
deve-se distribuir a inteligência do sistema
• Agrupar as responsabilidades conceitualmente relacionadas – Considerar coesão
Referências
Cópia do artigo disponível no FTP
Referências
• Bezerra, E. Princípios de Análise e Projeto Orientados a Objetos com UML. Ed. Campus, Cap 5.
• Fowler, Martin. UML Essencial: Um guia para liguagem de padrão, 3° edição, pp. 76
• http://www.ime.usp.br/~kon/MAC5714/aulas/Aula7.html
Exercício: CRC – Classe Responsabilidade Colaboração
1. Selecionar um casos de uso.2. Para um cenários:
a) Identificar as classes candidatasb) Para cada classe candidata, criar um cartão
CRC (um cartão por integrante do grupo);c) A partir dos cartões modelar um diagrama de
classe