Diagrama de Classes Análise Orientado aos Objetos Prof. Wolley W. Silva

Preview:

Citation preview

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

Recommended