diagrama de classes análise orientado aos objetos prof. wolley w. silva
TRANSCRIPT
Diagrama de ClassesAnálise Orientado aos Objetos
Prof. Wolley W. Silva
Agenda
• Entender e Aplicar os relacionamentos entre classes:– Generalização (Herança)– Dependência– Todo-Parte• Agregação • Composição
– Classes Associativas
Diagrama de Classes UML
• O mesmo diagrama UML pode ser usado em múltiplas respectivas:– Visualizar um Modelo de Domínio– Diagrama de classe de Projeto
• Visualizar um Modelo Análise ou Domínio
Diagrama de Classes UML
Diagrama de Classes UML
• Diagrama de classe de Projeto
• Modos de mostrar atributos em um relacionamento de Associação– Notação de linha de associação– Ambas juntas
Diagrama de Classes UML
• Modos de mostrar atributos UML– Notação de linha de associação– Ambas juntas
Diagrama de Classes UML
Classes de um sistema PDV
Diagrama de Classes UML
Registradora tem Três Atributos1. Id2. vendaCorrentes3. localização
• Resultado das associações em Código
Diagrama de Classes UML
• Resultado de uma associação 1..* no código
Diagrama de Classes UML
• Declaração de Operações (Métodos)– Um dos compartimentos da caixa de classe UML
mostra a assinatura das operações.
Diagrama de Classes UML
visibilidade nome (lista-de-parametros): tipo-de-retorno
Generalização
Compartilhamento de características entre classes com base em um relacionamento hierárquico.
• Representado com uma linha sólida e uma seta triangular grande da subclasse para a superclasse.
Generalização
• Cada instância de uma subclasse é também uma instancia indireta de sua superclasse.
• Uma subclasse possui (herda) as características e os comportamentos de sua superclasse.
Generalização
Generalização
É umaÉ uma
Dependência entre Classes
• Um objeto utiliza recursos (atributos ou métodos) de outro objeto para executar o seu comportamento.
• uma modificação no objeto fornecedor pode afetar o comportamento e outros objetos.
Dependência entre Classes
Dependência entre Classes• Representada por uma linha tracejada, com uma seta
partindo do cliente para o fornecedor.• Método saque depende de um objeto da classe Contas
Dependência entre Classes
• Método ligar da classe ControleUniversal depende de um objeto da classe da classe AparelhoEletronico
Todo-Parte
• Informações de um objeto (todo) são completadas por informações contidas em outros objetos (parte) de outra classe.
• Agregação – Uma floresta é um agregado de árvores
• Composição– Uma pessoa e composta por cabeça, perna, braço
• Agregação
Todo-Parte
• Composição
Agregação
• As três características mais importantes da agregação todo-parte são:– O objeto todo (agregado) pode potencialmente
existir sem os seus objetos parte (constituintes).– Um objeto todo (agregado) pode estar associado
com vários objetos parte (constituintes). – A agregação tende a ter suas partes semelhantes.
Agregação• As partes da agregação podem fazer outras
coisas em outras partes da aplicação, eles podem ser referenciados por outros.
Composição
• As três características mais importantes da composição são;– O objeto todo (composto) não pode existir sem os
seus componentes.– Cada objeto parte (componente) pode estar
associado somente a um objeto todo (composto).– O objeto todo (composto) é formado por objetos
parte não semelhante.
Composição
• Não faz sentido existirem itens de nota fiscal sem existir uma nota fiscal onde tais itens estariam contidos.
Classes Associativas
• Uma classe associativa permite tratar uma associação em si como uma classe e modelá-la com atributos e operações.
• É 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
Classes Associativas
Exercícios
• Objetivo: Identificas as classes do domínio descrito. Definir os relacionamentos de associação (agregação, composição) com as multiplicidades e herança.
Modelo de Domínio