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.
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
- 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.
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.
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.
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.
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.
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.
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!