Escolar Documentos
Profissional Documentos
Cultura Documentos
Diagrama
de Classes
Introdução
Exemplos:
ler_temperatura( ) : numérico
calcula_area(lado: inteiro, altura: inteiro) : inteiro
valor_padrao( ): inteiro
Responsabilidade de classe
Sensor de Temperatura
reiniciar
iniciar_alarme
avaliar_temperatura
- Monitorar temperatura
- Disparar alarme quando a temperatura
atingir valores inadequados
Relacionamentos entre classes
trabalha-para
Funcionário Empresa
0..* 1
Associação
• Multiplicidade
– (1-1): cliente tem sempre 1 (e somente 1) conta
CLIENTE CONTA
1
– (0-1): cliente pode ter 1 (e no máximo 1) conta
CLIENTE CONTA
0..1
– (1-N): cliente tem sempre 1 conta, podendo ter mais
CLIENTE CONTA
1..*
– (0-N): cliente pode ter 1 conta, podendo ter mais
CLIENTE CONTA
*
Associação
• Papel (opcional)
Funcionário Empresa
1..* trabalha-para *
nome nome
cartTrab empregado empregador endereço
datNasc
Esposa Casamento
Pessoa
nome
datNasc
Marido
Associação
• Navegação
– por definição, a navegação entre classes associadas é
bidirecional
– por conveniência, a navegação pode ser restringida a uma
única direção
Usuário 1 * Senha
proprietário
• Agregação é transitiva
– Se A faz parte de B, e B faz parte de C, então A faz parte de C.
• Agregação é não-simétrica
– Se A faz parte de B, então B não faz parte de A.
Agregação
Exemplo:
Microcomputador
0..1
Monitor Gabinete Teclado Mouse
0..1 1..*
• Agregação simples
– A existência de um objeto componente não depende da
existência do objeto agregado;
– Um objeto componente pode ser compartilhado com outro
objeto agregado.
EquipeProjeto
1..*
Multiplicidade da
extremidade do composto
1..* pode ser maior que 1
AnalistaSistemas
Agregação
• Agregação de composição
– Quando o todo é criado, as suas partes com multiplicidade não
fixa podem ser criadas posteriormente;
– Quando uma parte é criada, a sua existência deve ser
coincidente com a existência do todo, a não ser que seja
explicitamente removida antes da eliminação do todo;
– Quando o todo é eliminado, as suas partes também devem ser
eliminadas. Empresa
– Exemplo:
1 Multiplicidade da
extremidade do composto
1..*
deve ser igual a 1
Departamento
Generalização
Pessoa
nome
endereço
sexo
data_nascim
idade
Candidato Eleitor
numCandidato num_titulo
Generalização - Especialização
• Processo de generalização:
• Processo de especialização:
– Definir uma ou mais subclasses a partir de uma classe
existente.
– Adicionar propriedades e associações específicas de cada nova
subclasse.
– Associações comuns ficam ligadas à superclasse.
– Pode existir mais de um tipo de especialização com base em
diferentes características.
• cada hierarquia de generalização/especialização deve abranger
uma única característica.
Processo de Generalização
Veículo
Proprietário 1..*
numChassi 1..*
nome placa Fabricante
anoFabric nome
ender
paísOrigem
CgcCpf