Upload
internet
View
110
Download
2
Embed Size (px)
Citation preview
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.
• 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 A/POO
As disciplinas de Análise e ProjetoOrientada 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
Conta
NúmeroSaldodataAbertura
CriarBloquearDesbloquearCreditarDebitar
Nome da classe
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 (+)– 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
1. Usar uma lista de categoria2. Identificar substantivos ou frases nominais
Lista de categoria
• Criar um lista de conceitos (objetos do domínio) candidatos a classes seguindo algumas categorias comuns:
Categoria de Classes Conceituais
Exemplos
Transações de negócio Venda, Pagamento, ReservaItem de uma transação ItemDeVenda, ItemDePedidoProdutos 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
Lista de categoria
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.