...

Relacionamentos do Diagrama de Classes

by user

on
Category: Documents
2

views

Report

Comments

Transcript

Relacionamentos do Diagrama de Classes
DCC / ICEx / UFMG
Relacionamentos do
Diagrama de Classes
Eduardo Figueiredo
http://www.dcc.ufmg.br/~figueiredo
Relacionamentos

Classes possuem relacionamentos
entre elas (para comunicação)



Compartilham informações
Colaboram umas com as outras
Principais tipos de relacionamentos




Associação
Agregação / Composição
Herança
Dependência
Associações

Descreve um vínculo entre duas
classes


Chamado Associação Binária
Determina que as instâncias de uma
classe estão de alguma forma
ligadas às instâncias da outra classe
Multiplicidade
0..*
No máximo um. Indica que os objetos da
classe associada não precisam
obrigatoriamente estar relacionados.
Um e somente um. Indica que apenas um
objeto da classe se relaciona com os objetos
da outra classe.
Muitos. Indica que podem haver muitos objetos
da classe envolvidos no relacionamento
1..*
Um ou muitos. Indica que há pelo menos um
objeto envolvido no relacionamento.
3..5
Valores específicos.
0..1
1..1
Representação de Associação
Cliente
registro
DVD
0..1
<<locados>>
0..*
titulo
Agregação



Tipo especial de associação
Demonstra que as informações de um
objeto precisam ser complementadas
por um objeto de outra classe
Associação Todo-Parte
objeto-todo
 objeto-parte

Representação de Agregação

Um losango na extremidade da classe
que contém os objetos-todo
Time
nome
Pessoa
nome
email
Composição



Uma variação do tipo agregação
Representa um vínculo mais forte
entre objetos-todo e objetos-parte
Objetos-parte têm que pertencer ao
objeto-todo
O todo não existe (ou não faz sentido)
sem as partes
 Ou, as partes não existem sem o todo

Representação da Composição

Um losango preenchido

Da mesma forma que na Agregação,
deve ficar ao lado do objeto-todo
Time
nome
Jogador
posicao
Especialização / Generalização

Identificar super-classe (geral) e subclasses (especializadas)



Semântica “é um”
Tudo que a classe geral pode fazer,
as classes específicas também podem
Atributos e métodos definidos na
classe-mãe são herdados pelas
classes-filhas
Especialização / Generalização
Pessoa
nome
email
Professor
Aluno
matricula
Especializações de Funcionário
Vantagens da Herança



O gráfico de herança é uma fonte de
conhecimento sobre o domínio do
sistema
É um mecanismo de abstração usado
para classificar entidades
Mecanismo de reuso em vários níveis

Como projeto e programação
Problemas com Herança

Classes de objetos não são autocontidas


Não podem ser compreendidas sem
referência às suas super-classes
Reusar gráficos da fase de análise
pode ser ineficiente

Os gráficos de herança na análise,
projeto e implementação têm diferentes
funções (devem ser refinados)
Dependência

Tipo menos comum de
relacionamento

Identifica uma ligação fraca entre
objetos de duas classes
Dependência


Representado por uma reta tracejada
entre duas classes
Uma seta na extremidade indica o
dependente
Funcionario
DVD
titulo
locar()
Dependência


Representado por uma reta tracejada
entre duas classes
Uma seta na extremidade indica o
dependente
Funcionario
DVD
titulo
locar()
locar(Funcionario func)
Bibliografia

G. Booch, J. Rumbaugh, I. Jacobson.
UML, Guia do Usuário. 2ª Ed., Editora
Campus, 2005.


Capítulos 4, 8 e 9
M. Fowler. UML Essencial, 2a Edição.
Bookmann, 2000.

Capítulos 4 e 6
Fly UP