Para um melhor entendimento deste Artigo veja o Índice (UML)
Neste artigo irei abordar os tipos de relacionamento que a UML tem.
Os relacionamentos ou associações definem as dependências e ligações entre as classes, objetos, pacotes, tabelas, entre outros que iremos ver no decorrer do artigo.
Vamos à eles:
Associação
É uma conexão entre as classes , tabelas e objetos. Um relacionamento.
Em UML uma associação representa um relacionamento que descreve as ligações entre os objetos ligados.
Uma associação deve ter sempre duas pontas, onde uma é o objeto de início e a outra o objeto final.
Uma associação pode representar a multiplicidade entre os objetos. Podemos ter as seguintes representações de multiplicidade:
0 (zero)
1 (um)
0…1 (zero ou um)
0…* (zero ou mais)
1…* (um para muitos)
* (muitos)
Por exemplo, podemos pegar uma Nota Fiscal e seus Itens.

Uma nota fiscal, vários itens.
As associações podem ser:
- Normais:
- Recursiva:
- Indica que uma classe pode conectar-se a ela mesma. Por exemplo. Pegamos o objeto Pessoa. Ele é um objeto que pode ser um Pai, um Filho, um Fornecedor, um Cliente, um Usuário. Mas todos estes são “Pessoas”.
Um outro exemplo pode ser um plano de contas, onde podemos ter:
Fornecedor
|----> Água;
|----> Luz;
Receitas
|----> Vendas
|----> Serviços
Despesas
|----> Financeiras
|----> Funcionários
Neste caso podemos estar colocando todos dentro do mesmo objeto e definir o “pai” como o nível superior de cada conta.
- Em alguns momentos precisamos representar que um objeto pode participar apenas de um tipo em determinado momento.
- Uma associação exclusiva é representada por um linha tracejada entre as associações, entre elas existe a especificação {ou}.
- Abaixo um exemplo. A pessoa não pode ser Jurídica e Física ao mesmo tempo.

Agregação
A agregação é um tipo de associação onde o todo está relacionado com suas partes. É representada com o símbolo de um diamante junto a classe agregadora.
Composição
A composição é muito semelhante a agregação, o objeto “Parte” pode pertencer somente ao objeto “Todo” e normalmente o objeto “Todo” vive e morre com suas “Partes”.
É representada pelo símbolo de um diamante preto na classe agregadora.
Generalização
Generalização é a capacidade de identificar as similaridades entre várias classes, com isso criamos um supertipo que encapsula todas as funcionalidades comuns as demais classes filhas.
Podemos usar a generalização para agrupar os nossos objetos em um tipo comum.
Especialização
A especialização cria uma classe herdada da generalização onde refina o processo definido na classe pai. Como o próprio nome diz, especializa a classe pai para um tipo específico.
Usando a mesma imagem acima da generalização, podemos identificar quem é a generalização “subindo” e quem é a especialização “descendo”.
Realização
A realização é um relacionamento entre os itens que implementa o comportamento especificado por outro.
Um exemplo disso seria as classes abstratas e as interfaces que definem que o objeto “filho” deverá realizar alguma método, propriedade no momento da herança.
Dependência
Este é simples
é um item (objeto) que depende de outro.
Com isto finalizamos este tópico, mas ainda temos muita coisa para ver.
Eu recomendo a leitura de alguns artigos sobre Programação Orientada à Objetos para fixar a idéia e ver a aplicação do que foi aprendido.
É isso ai pessoal ![]()
Até o próximo
♦ Marcelo






















'


3 Trackbacks / Pingbacks for this entry
[...] que irão compor o sistema, as classes podem se relacionar de várias maneiras entre elas. (leia Tipos de Relacionamentos para se familiarizar com os [...]
[...] 1. Relacionamentos [...]
[...] Tipos de Relacionamento [...]