Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Prof. Wolley W. Silva
Agenda As disciplinas de Análise e Projeto – RUP; Identificar classes conceituais a partir da descrição de um requisito (caso de uso); Criar um modelo de Domínio inicial (Diagrama de Classe) Modelar Atributos e associações.
As disciplinas de A/POO AOO: enfatiza um investigação do problema e dos requisitos em vez de uma solução. Investigação dos objetos de domínio. POO: enfatiza uma solução conceitual que satisfaça os requisitos e não uma implementação. Projetos podem ser implementados e a implementação(o códigos) expressa o verdadeiro e completo projeto realizado.
As disciplinas de Análise e Projeto Orientada aos Objetos Estas disciplinas abordam as fases de Análise e Projeto de sistemas orientados a objetos.
Análise e Design - Disciplina do RUP
Modelo de Domínio Um modelo de domínio é um representação visual de classes conceituais, ou objetos do mundo real, em um domínio. Exemplo de Domínios: Clinica Médica Biblioteca Loja vitual
Exemplo: Modelo de Domínio
Representação UML Nome da classe Lista de atributos Lista de métodos Conta Número Saldo dataAbertura Criar Bloquear Desbloquear Creditar Debitar Lista de atributos Lista de métodos
Atributos Permite a identificação de cada objeto de uma classe; Os valores dos atributos podem variar de instância para instância; Atributos devem identificar o tipo de dado a ser armazenado: Byte, boolean, int, double, char, String, etc.
Métodos Representam os comportamentos das instâncias (objetos) da classe; Outros diagramas permitem modelar o comportamento interno dos métodos Diagrama de Seqüência
Tipos de Visibilidade Pública (+) Protegida (#) Privada (-) – O atributo ou método pode ser utilizado por qualquer classe Protegida (#) Somente a classe ou sub-classes terão acesso Privada (-) – Somente a classe terá acesso
Classe: Conta
Relacionamento entre Classes Classes possuem relacionamentos entre elas afim de: Compartilham informações Colaboram umas com as outras
Principais tipos de relacionamentos Associação Herança Composição Dependência
Associações: No domínio de vendas, um cliente compra produtos
Associações: No domínio bancário, uma conta-corrente possui um histórico de transações
Associações Em um hotel, os hóspedes de um ocupam quartos
Multiplicidade Determina o numero máximo e mínimo de objetos envolvidos em cada extremidade da associação. Nome Simbologia Apenas Um 1 Zero ou Um 0..1 Zero ou Muitos 0..* Um ou Muitos 1..* Intervalo específico 1i..1s
Multiplicidade
Identificando Classes de Domínio
Estratégias Usar uma lista de categoria Identificar substantivos ou frases nominais
Lista de categoria Criar um lista de conceitos (objetos do domínio) candidatos a classes seguindo algumas categorias comuns:
Lista de categoria Categoria de Classes Conceituais Exemplos Transações de negócio Venda, Pagamento, Reserva Item de uma transação ItemDeVenda, ItemDePedido Produtos ou serviços relacionados a uma transação Produto, Refeição, Viagem, Filme Papéis de pessoas ou organizações relacionadas à uma transação (atores de um caso de uso) Caixa ou Funcionário, Cliente, Fornecedor Eventos com uma hora e local Vôo, Aula, Reunião, Entrega
Identificar substantivos ou frases nominais Os substantivos e as frases nominais nas descrições textuais de domínio são consideradas classes candidatas.
Exemplo: Transportadora de Cargas As solicitações de viagens são recebidas por um funcionário do escritório via internet ou por telefone. O cliente deverá fornecer: o tipo de carga, volume, peso, data desejada para o carregamento, origem e destino, além de seus dados como nome, endereço e telefone.
Exemplo: Transportadora de Cargas As solicitações de viagens são recebidas por um funcionário do escritório via internet ou por telefone. O cliente deverá fornecer: o tipo de carga, volume, peso, data desejada para o carregamento, origem e destino, além de seus dados como nome, endereço e telefone. Classes Atributos
Exemplo: Transportadora de Cargas
Exercícios Em Dupla A partir da descrição dos requisitos, modelar um diagrama de classe que representa as entidade/objetos do domínio.