37
Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

Embed Size (px)

Citation preview

Page 1: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes

Projeto Orientada a ObjetosProf. Wolley W. Silva

Page 2: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

Paradigma: Orientação a Objetos

• Um paradigma pode ser entendido como um modelo interpretativo de certa realidade;

• Orienta a organização de ideias para o entendimento de uma realidade e o estabelecimento da melhor maneira de agir sobre ela.

Page 3: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

Conceitos da Orientada a Objetos.

ENCAPSULAMENTO HERANÇA POLIMORFISMO

ABSTRAÇÃO

OBJETO CLASSE

Page 4: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

Agenda

• As disciplinas de Análise e Projeto;• Identificar classes conceituais a partir da

descrição de um requisito (caso de uso);• Criar um modelo de Domínio inicial• Especificar Atributos e Associações.

Page 5: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

As disciplinas de Análise e ProjetoOrientada aos Objetos

Page 6: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

• AOO: enfatiza um investigação do problema e dos requisitos em vez de uma solução. Modelagem 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

Page 7: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

Análise e Design - Disciplina do RUP

Page 8: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

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

Page 9: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

Exemplo: Modelo de Domínio

Page 10: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

Representação UML

Conta

NúmeroSaldodataAbertura

CriarBloquearDesbloquearCreditarDebitar

Nome da classe

Lista de atributos

Lista de métodos

Page 11: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

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.

Page 12: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

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

Page 13: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

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

Page 14: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

Classe: Conta

Page 15: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

RELACIONAMENTO ENTRE CLASSES

• Classes possuem relacionamentos entre elas afim de:– Compartilham informações– Colaboram umas com as outras

Page 16: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

PRINCIPAIS TIPOS DE RELACIONAMENTOS

• Associação• Herança• Composição• Dependência

Page 17: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

Associações:

• No domínio de vendas, um cliente compra produtos

Page 18: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

Associações:

• No domínio bancário, uma conta-corrente possui um histórico de transações

Page 19: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

Associações

• Em um hotel, os hóspedes de um ocupam quartos

Page 20: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

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

Page 21: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

Multiplicidade

Page 22: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

IDENTIFICANDO CLASSES DE DOMÍNIO

Page 23: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

Estratégias

1. Usar uma lista de categoria2. Identificar substantivos ou frases nominais

Page 24: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

Lista de categoria

• Criar um lista de conceitos (objetos do domínio) candidatos a classes seguindo algumas categorias comuns:

Page 25: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

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

Page 26: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

Identificar substantivos ou frases nominais

• Os substantivos e as frases nominais nas descrições textuais de domínio são consideradas classes candidatas.

Page 27: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

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.

Page 28: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

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

Page 29: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

Exemplo: Transportadora de Cargas

Page 30: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

Classes Associativas

• Uma classe associativa permite tratar uma associação em si como uma classe e modelá-la com atributos e operações.

Page 31: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

• É uma classe que está ligada a uma associação, em vez de estar ligada a outras classes.

• É normalmente necessária quando duas ou mais classes estão associadas, e é necessário manter informações sobre esta associação.

Classes Associativas

Page 32: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

Classes Associativas

Page 33: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

Generalização

Compartilhamento de características entre classes com base em um relacionamento hierárquico.

Page 34: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

• Representado com uma linha sólida e uma seta triangular grande da subclasse para a superclasse.

Generalização

Page 35: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

• Cada instância de uma subclasse é também uma instancia indireta de sua superclasse.

• Uma subclasse herda os atributos e os métodos de sua superclasse.

Generalização

Page 36: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

Generalização

É umaÉ uma

Page 37: Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes Projeto Orientada a Objetos Prof. Wolley W. Silva

Exercícios

• Em Dupla• A partir da descrição dos requisitos, modelar

um diagrama de classe que representa as entidade/objetos do domínio.