Associação UML vs Agregação vs Composição

Conheça tudo sobre Associação, Agregação e Composição

Diagramas UML são uma maneira prática de entender e ligar entre as entidades estruturais ou de agrupamento. Um bom conhecimento de todos os aspectos técnicos e uma compreensão completa dos conceitos de relacionamento lógico são importantes para a execução de uma programação orientada a objetos.

A UML ajuda a descobrir como uma ou mais coisas estão associadas umas às outras. O tipo mais comum de relacionamento é a Associação. Vamos ver isso em detalhes.

O Que é uma Relação de Associação?

Na linguagem dos leigos, relações de associação são definidas como a relação entre duas unidades separadas. A uniformidade é pesquisada entre as entidades e são feitas ligações entre elas. A associação permite a criação de conexões lógicas através de uma referência contínua.

As associações são representadas em um diagrama UML por uma única linha sólida conectando as mesmas ou diferentes classes. A associação pode ser mostrada entre classes um-para-um, um-para-muitos, muitos-para-muitos. Uma vez que as relações de associação marcam uma ligação de comunicação entre duas entidades, estas não devem ser ambíguas e claramente rotuladas. A rotulagem é seguida de uma pequena ponta para uma melhor compreensão da relação.

Como se vê na imagem de exemplo abaixo da relação de associação está representada entre um banco e o seu empregado. Várias linhas sólidas se originam da classe principal, por exemplo: o banco, este diagrama mostra uma relação de associação um-para-muitos.

relação entre banco e funcionários

Generalização vs Associação

Como o nome sugere, generalização é uma forma de classificar objetos similares de uma maneira mais generalizada. As entidades mostram uma relação de pai e filho entre uma entidade geral e uma entidade única, sendo esta última uma forma especializada de classe geral. Em comparação, a associação liga diferentes entidades e representa como uma classe usa a funcionalidade do outro objeto vinculado.

A generalização representa as relações "meio-que", enquanto a associação ajuda a mostrar a relação de "tem-um". Isto significa que a generalização está associada à exibição das heranças, enquanto a associação mostra a ligação baseada em comuns.

EdrawMax

Software de diagrama tudo-em-um
Crie mais de 280 tipos de diagramas sem esforço
Comece a diagramar facilmente com vários modelos e símbolos
  • Compatibilidade de arquivo superior: Importar e exportar desenhos para vários formatos de arquivo, como Visio
  • Suporta multiplataforma (Windows, Mac, Linux, Web)

Tipos de Relações de Associação

Dependendo da vinculação, a associação é ainda mais dividida em quatro tipos principais. É classificado como abaixo:

1. Multiplicidade

Associação de multiplicidade refere-se a casos quando uma classe vinculada aparece várias vezes. Em vez de reafirmarmos a entidade, especificamos os casos máximos e mínimos a que ela pode estar ligada. Portanto, nessas relações, assinalamos um asterisco com a linha de associação. O asterisco representa um máximo intermediário.

A imagem abaixo ajuda a entender como a multiplicidade pode ser expressa em diferentes circunstâncias.

multiplicidade

Fonte: www.cems.uwe.ac.uk

2. Associação Direcionada

Como o nome indicado, a associação direcionada refere-se à direcção do fluxo de comunicação no âmbito de uma relação de associação. Por padrão, as relações de associação são navegáveis bilateralmente; no entanto, a associação direccionada ajuda a direcionar o fluxo apenas em uma direção. A associação direcionada é representada pela presença de uma linha sólida com uma ponta.

Aqui, uma associação unidirecional é mostrada entre um servidor e o cliente. A direção da seta mostra que o servidor pode processar as solicitações de um cliente.

associação direcionada

3. Associação Reflexiva

A associação reflexiva é descrita como a relação entre os casos da mesma classe. Essa associação é também classificada em dois tipos: Reflexo de Associação Simétrico e Assimétrico. Não lhe foi atribuído qualquer símbolo específico; no entanto, os pontos de relação remontam à mesma classe.

Associação Reflexiva

Agregação vs Composição

Agregação e Composição são dois subconjuntos de associação; no entanto, a composição é um outro subconjunto da relação de agregação. Em simples palavras, a agregação pode ser definida como quando os objetos de uma classe podem acessar as entidades de outra classe. Enquanto a composição representa uma relação bilateral e o objeto faz parte de apenas um composto de cada vez.

Agregações Reapresentadas em um Diagrama UML

A agregação é uma associação na qual as entidades são configuradas em conjunto para criar um objeto mais complexo. Um grupo de objetos e sua ligação comum são descritos através dele. Define um único ponto de controle, chamado agregado e o grupo de objetos que representam a assembleia.

Em um diagrama UML, os fluxos de dados da classe agregada (matriz) em direção à montagem (classe filha) com uma forma de diamante (não preenchida) perto da classe anterior. O classificador das partes, ou as entidades de montagem, podem ser ligadas a mais de um agregado e existem de forma independente.

Agregações Reapresentadas em um Diagrama UML

Este exemplo mostra que o carro sempre precisa de uma roda e de um motor para funcionar corretamente, enquanto o motor e a roda nem sempre precisam de um carro. Eles podem ser usados com um ônibus, uma bicicleta, máquinas, cortador de grama e muito mais. Da mesma forma, o motor é necessário para inspeção de um motor, mas o motor pode existir como entidade independente e estar associado a outros veículos.

Composições Representadas em um Diagrama UML

As composições são também um tipo de associação que representa uma relação de dois sentidos e altamente dependente entre duas classes diferentes. Se o composto for excluído, as outras entidades vinculadas a ele também serão excluídas.

Retrata a dependência entre o pai e o filho. Em um diagrama UML, desenhe uma linha entre os pais e a turma da criança com uma forma de diamante preenchida perto da turma da família.

Composições Representadas em um Diagrama UML

Como ilustrado neste exemplo, uma pessoa tem pernas, um coração e um cérebro. Se o ponto focal deste diagrama, a pessoa for machucada e morta, todas as entidades compostas também serão descartadas. Ao contrário da agregação, as entidades não podem existir independentemente e são uma 'parte de' a pessoa.

Agregação Composição
Um subconjunto de associação Um subconjunto de agregação.
Um tipo de associação fraco. Um tipo forte de associação
Objetos vinculados são independentes um do outro. Os objetos vinculados são altamente dependentes um do outro.
Representeado com uma linha sólida e uma ponta vazia. Reapresentado por uma linha sólida com uma ponta de seta cheia.
A agregação é definida como uma relação “tem-um”. A composição é definida como uma relação “parcial”.

A Composição é Melhor que a Agregação?

Composição é mais forte que agregação. Uma relação entre dois objetos é citada como uma associação e ambos os termos são um subtipo dele.

Associação, Agregação e Composição

Se dois objetos existem independentemente um do outro e não implicam qualquer propriedade de outro, são chamados de associação de agregação. No entanto, se dois objetos de um sistema precisam coexistir e dependem um do outro, eles são rotulados como composição. Essa associação é designada de "forte" desde que, quando o objeto dono é destruído, os objetos vinculados também o são. Pelo contrário, a agregação representa uma associação fraca, porque a vida do objeto contido não depende do objeto de contentor.

Use o EdrawMax para a Criação de Diagramas UML

Associação é o mais básica, mas ainda o tipo mais importante de relação de ligação que permite que você conecte objetos de um sistema. É essencial que façamos uma diferenciação entre os seus dois tipos, agregação e composição, para uma implementação sem erros e a criação dos seus diagramas UML.

Criar os diagramas UML para associação é super fácil se você tem um software abundante e fácil de usar como o EdrawMax. Com uma ampla gama de ferramentas de edição, uma biblioteca altamente personalizável e várias opções de modelos criando um bom UML em apenas alguns cliques. Se você é um novato ou experiente em tecnologia, compreender e lidar com o software é super fácil. Baixe para começar a criar os diagramas mais significativos e inovadores rapidamente!

EdrawMax

Artigos Relacionados