logo

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

Nos diagramas UML, os relacionamentos são usados ​​para vincular diversas coisas. É uma conexão entre coisas estruturais, comportamentais ou de agrupamento. A seguir estão os relacionamentos UML padrão listados abaixo:

  • Associação
  • Dependência
  • Generalização
  • Realização

Associação

O relacionamento de associação é um relacionamento estrutural no qual diferentes objetos estão vinculados dentro do sistema. Ele exibe uma relação binária entre os objetos que representam uma atividade. Ele retrata a relação entre objetos, como um professor, que pode ser associado a vários professores.

É representada por uma linha entre as classes seguida de uma seta que navega na direção, e quando a seta está nos dois lados é chamada de associação bidirecional. Podemos especificar a multiplicidade de uma associação adicionando os adornos na linha que denotará a associação.

Exemplo:

1) Um único professor tem vários alunos.

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

2) Um único aluno pode associar-se a muitos professores.

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

A composição e agregação são dois subconjuntos de associação. Em ambos os casos, o objeto de uma classe pertence ao objeto de outra classe; a única diferença é que na composição, o filho não existe independentemente de seu pai, enquanto na agregação, o filho não depende de seu pai, ou seja, é autônomo. Uma agregação é uma forma especial de associação e a composição é uma forma especial de agregação.

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

Agregação

Agregação é um subconjunto de associação, é uma coleção de coisas diferentes. Representa um relacionamento. É mais específico do que uma associação. Descreve um relacionamento parte do todo ou parte do relacionamento. É uma associação binária, ou seja, envolve apenas duas classes. É um tipo de relacionamento em que a criança é independente dos pais.

Por exemplo:

Aqui estamos considerando um exemplo de carro e uma roda. Um carro não pode se mover sem roda. Mas a roda pode ser usada de forma independente com a bicicleta, scooter, bicicleta ou qualquer outro veículo. O objeto roda pode existir sem o objeto carro, o que prova ser um relacionamento de agregação.

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

Composição

A composição faz parte da agregação e retrata a relação todo-parte. Ele retrata a dependência entre um composto (pai) e suas partes (filhos), o que significa que se o composto for descartado, suas partes também serão excluídas. Existe entre objetos semelhantes.

amisha patel

Como você pode ver no exemplo abaixo, o relacionamento de associação de composição conecta a classe Person com a classe Brain, a classe Heart e a classe Legs. Se a pessoa for destruída, o cérebro, o coração e as pernas também serão descartados.

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

Associação vs. Agregação vs. Composição

Associação Agregação Composição
O relacionamento de associação é representado por uma seta. O relacionamento de agregação é representado por uma linha reta com um losango vazio em uma extremidade. A relação de composição é representada por uma linha reta com um losango preto em uma das extremidades.
Na UML, pode existir entre duas ou mais classes. Faz parte da relação de associação. Faz parte do relacionamento de agregação.
Ele incorpora associação um para um, um para muitos, muitos para um e muitos para muitos entre as classes. Exibe uma espécie de relacionamento fraco. Exibe um tipo forte de relacionamento.
Ele pode associar mais um objeto. Num relacionamento de agregação, os objetos associados existem de forma independente dentro do escopo do sistema. Num relacionamento de composição, os objetos associados não podem existir independentemente dentro do escopo do sistema.
Neste, os objetos são interligados. Neste, os objetos vinculados são independentes uns dos outros. Aqui os objetos vinculados dependem uns dos outros.
Pode ou não afetar o outro elemento associado se um elemento for excluído. A exclusão de um elemento no relacionamento de agregação não afeta outros elementos associados. Afeta o outro elemento se um de seus elementos associados for excluído.
Exemplo: Um tutor pode associar-se a vários alunos ou um aluno pode associar-se a vários professores. Exemplo: Um carro precisa de uma roda para funcionar corretamente, mas pode não precisar da mesma roda. Também pode funcionar com outra roda. Exemplo: Se um arquivo for colocado em uma pasta e essa pasta for excluída. O arquivo que reside nessa pasta também será excluído no momento da exclusão da pasta.