Asociación UML vs. Agregación vs. Composición [EJEMPLO]

Las relaciones en el diagrama UML se utilizan para representar una conexión entre varias cosas. Una relación es una conexión entre elementos estructurales, de comportamiento o de agrupación en el lenguaje de modelado unificado.

Following son los diferentes tipos de relaciones estándar en UML,

  • Asociación
  • Dependencia
  • Generalización
  • Realización

Aparte de estos, UML permite el uso de agregación y una relación de composición.

Asociación UML

Es una relación estructural que representa que los objetos pueden conectarse o asociarse con otro objeto dentro del sistema. seguirwing Se pueden aplicar restricciones a la relación de asociación UML.

  • {implícito} – Las restricciones implícitas especifican que la relación no es manifiesta; se basa en un concepto.
  • {ordenado} – Las restricciones ordenadas especifican que el conjunto de objetos en un extremo de una asociación se encuentran de una manera específica.
  • {cambiable} – La restricción modificable especifica que la conexión entre varios objetos en el sistema se puede agregar, eliminar y modificar según el requisito.
  • {agregarSolo} – Especifica que las nuevas conexiones se pueden agregar desde un objeto que se encuentra al otro extremo de una asociación.
  • {congelado} – Especifica que cuando se inserta un enlace entre dos objetos, no se puede modificar mientras la restricción congelada esté activa en el enlace o conexión dado.

También podemos crear una clase que tenga propiedades de Asociación UML; se llama clase de asociación.

Asociación reflexiva

La asociación reflexiva es un subtipo de relación de asociación en UML. En una asociación reflexiva, las instancias de la misma clase pueden estar relacionadas entre sí. También se dice que una instancia de una clase es un objeto.

La asociación reflexiva establece que un vínculo o una conexión puede estar presente dentro de los objetos de la misma clase.

Ejemplo:

Consideremos un ejemplo de una clase de fruta.

La clase de frutas tiene dos instancias, como mango y manzana. La asociación reflexiva establece que puede estar presente un vínculo entre el mango y la manzana, ya que son instancias de la misma clase, como la fruta.

Asociación reflexiva
Asociación reflexiva

Asociación Dirigida

Como sugiere el nombre, la asociación dirigida está relacionada con la dirección del flujo dentro de las clases de asociación.

En una asociación dirigida, el flujo está dirigido. La asociación de una clase a otra fluye en una sola dirección.

Se indica mediante una línea continua con una punta de flecha.

Ejemplo de asociación UML:

Se puede decir que existe una relación de asociación dirigida entre un servidor y un cliente.

Un servidor puede procesar las solicitudes de un cliente. Este flujo es unidireccional y fluye únicamente del servidor al cliente. Por lo tanto, puede estar presente una relación de asociación dirigida dentro de los servidores y clientes de un sistema.

Asociación Dirigida

Asociación Dirigida

Composición UML

no es un estandar Relación UML, pero todavía se utiliza en diversas aplicaciones.

La agregación compuesta es un subtipo de relación de agregación con características como:

  • Es una asociación bidireccional entre los objetos.
  • Es una relación todo/parte.
  • Si se elimina un compuesto, se eliminan todas las demás partes asociadas con él.

La agregación compuesta se describe como una asociación binaria decorada con un diamante negro relleno en el extremo agregado (entero).

Composición UML

La carpeta puede contener muchos archivos, mientras que cada archivo tiene exactamente una carpeta principal. Si se elimina una carpeta, también se eliminan todos los archivos que contiene.

En una agregación compuesta, un objeto puede ser parte de un solo compuesto a la vez.

Ejemplo de composición UML:

Por ejemplo, en una ventanawing sistema, un Marco pertenece precisamente a una Ventana. En una agregación compuesta, todo el sistema es responsable de la disposición de sus partes, lo que significa que el compuesto debe gestionar la creación y destrucción de sus partes.

Composición UML

Composición

Agregación UML

Una agregación es un subtipo de relación de asociación en UML. Agregación y composición son ambos tipos de relaciones de asociación en UML. Una relación de agregación se puede describir en palabras simples como "un objeto de una clase puede poseer o acceder a los objetos de otra clase".

En una relación de agregación, el objeto dependiente permanece en el alcance de una relación incluso cuando se destruye el objeto de origen.

Ejemplo de agregación UML:

Consideremos un ejemplo de un automóvil y una rueda.

Un coche necesita una rueda para funcionar correctamente, pero una rueda no siempre necesita un coche. También se puede utilizar con la bicicleta, la bicicleta o cualquier otro vehículo, pero no con un automóvil en particular. Aquí, el objeto rueda tiene significado incluso sin el objeto automóvil. Este tipo de relación se denomina relación de agregación UML.

Relación de agregación UML

Agregación

Asociación vs. Agregación vs. Composición

Asociación Agregación Composición
La relación de asociación se indica mediante una flecha. La relación de agregación se denota mediante una línea recta con una punta de flecha vacía en un extremo. La relación de composición se denota mediante una línea recta con una punta de flecha rellena en cualquiera de los extremos.
Puede existir asociación entre dos o más clases en UML. La agregación es parte de una relación de asociación. La composición es parte de una relación de asociación.
Puede haber una asociación uno uno, uno-muchos, muchos uno y muchos-muchos entre las clases de asociación. La agregación se considera un tipo débil de asociación. La composición se considera un tipo de asociación fuerte.
En una relación de asociación, uno o más objetos pueden asociarse entre sí. En una relación de agregación, los objetos que están asociados entre sí pueden permanecer en el alcance de un sistema sin los demás. En una relación de composición, los objetos que están asociados entre sí no pueden permanecer en el ámbito unos sin otros.
Los objetos están vinculados entre sí. Los objetos vinculados no dependen del otro objeto. Los objetos dependen en gran medida unos de otros.
En la Asociación UML, eliminar un elemento puede afectar o no a otro elemento asociado. En UML Aggregation, eliminar un elemento no afecta a otro elemento asociado. En UML Composition, eliminar un elemento afecta a otro elemento asociado.
Ejemplo:
Un profesor está asociado con varios estudiantes.
Or
un maestro proporciona instrucciones a los estudiantes.
Ejemplo:
Un coche necesita una rueda, pero no siempre necesita la misma rueda. Un coche también puede funcionar adecuadamente con otra rueda.
Ejemplo:
Se coloca un archivo dentro de la carpeta. Si se elimina la carpeta, también se elimina el archivo asociado con esa carpeta determinada.

Resumen

  • Una relación es una conexión entre cosas.
  • Asociación, dependencia, generalización y realización son varias. relaciones proporcionadas por UML.
  • Además de las relaciones estándar, dentro de UML se utilizan composición y agregación.
  • La agregación y la composición son ambos tipos de relaciones de asociación en UML.
  • La composición UML es una relación bidireccional que también se denomina relación binaria.

Consulte nuestro artículo sobre las mejores herramientas UML: - Haga clic aquí