Conocimiento

La comparación entre UML Asociación, Agregación y Composición

Conoce todo sobre la Asociación, Agregación y Composición

Los diagramas UML son una forma práctica de entender y relacionar las entidades estructurales o de agrupación. Un buen conocimiento de todos los tecnicismos y una profunda comprensión de los conceptos de relación lógica son importantes para ejecutar la programación orientada a objetos.

UML ayuda a descubrir cómo se asocian una o más cosas entre sí. El tipo de relación más común es la Asociación. Veámosla en detalle.

¿Qué es una Relación de Asociación?

En lenguaje llano, las relaciones de asociación se definen como la relación entre dos unidades separadas. Se busca el punto en común entre las entidades y se establecen vínculos entre ellas. La asociación permite realizar conexiones lógicas a través de una referencia continua.

Las asociaciones se representan en un diagrama UML mediante una única línea sólida que conecta clases iguales o diferentes. La asociación puede mostrarse entre uno a uno, uno a varios, varios a varios entre múltiples clases. Dado que las relaciones de asociación marcan un vínculo de comunicación entre dos entidades, no deben ser ambiguas y deben etiquetarse claramente. El etiquetado va seguido de una pequeña punta de flecha para una mejor comprensión de la relación.

Como se ve en la imagen de ejemplo siguiente, la relación de asociación se representa entre un banco y su empleado. Las múltiples líneas sólidas se originan en la clase principal, es decir: banco, este diagrama muestra una relación de asociación de uno a varios.

relación entre banco y empleados

Generalización VS Asociación

Como su nombre indica la generalización es una forma de clasificar objetos similares de forma más generalizada. Las entidades muestran una relación padre-hijo entre una entidad general y otra única, siendo esta última una forma especializada de la clase general. En comparación, la asociación vincula entidades diferentes y representa cómo una clase utiliza la funcionalidad del otro objeto vinculado.

La generalización representa el 'tipo-de' mientras que la asociación ayuda a mostrar la relación tiene-una relación. Esto significa que la generalización está vinculada a la visualización de las herencias, mientras que la asociación muestra la vinculación basada en los puntos comunes.

EdrawMax

Software de Diagramas Todo en Uno
Admite más de 280 tipos de diagramas
Plantillas & Símbolos masivos
Importar & Exportar archivos de Visio®
Compatible con Windows, Mac, Linux, Web
Comparte tus diseños en cualquier momento y en lugar

Tipos de Relaciones de Asociación

En función de la vinculación, la asociación se divide a su vez en cuatro tipos principales. Se clasifican como sigue:

1. Multiplicidad

La asociación de multiplicidad se refiere a los casos en que una clase vinculada aparece varias veces. En lugar de replantear la entidad, especificamos las instancias máximas y mínimas a las que puede estar vinculada. Por lo tanto, en tales relaciones, marcamos un asterisco con la línea de asociación. El asterisco representa un máximo intermedio.

La imagen siguiente ayuda a comprender cómo puede expresarse la multiplicidad en diferentes circunstancias.

multiplicidad

Fuente: www.cems.uwe.ac.uk/

2. Asociación Dirigida

Como su nombre indica, la asociación dirigida se refiere a la dirección del flujo de comunicación dentro de una relación de asociación. Por defecto, las relaciones de asociación son accesibles bilateralmente; sin embargo, la asociación dirigida ayuda a dirigir el flujo en una sola dirección. La asociación dirigida se representa mediante la presencia de una línea sólida con una punta de flecha.

Aquí se muestra una asociación unidireccional entre un servidor y el cliente. La dirección de la flecha muestra que un servidor puede procesar las peticiones de un cliente.

asociación dirigida

3. Asociación Reflexiva

La asociación reflexiva se describe como la relación entre las instancias de una misma clase. Dicha asociación se clasifica a su vez en dos tipos: Asociación Reflexiva Simétrica y Asimétrica. No se le asigna un símbolo específico; sin embargo, la relación apunta a la misma clase.

Asociación Reflexiva

Agregación VS Composición

La Agregación y la Composición son dos subconjuntos de la asociación; sin embargo, la composición es un subconjunto más de la relación de agregación. En palabras sencillas, la agregación puede definirse como la situación en la que los objetos de una clase pueden acceder a las entidades de otra clase. Mientras que la composición representa una relación bilateral y el objeto forma parte de un solo compuesto a la vez.

Agregaciones Representadas en un Diagrama UML

Agregación es una asociación en la que las entidades se configuran juntas para crear un objeto más complejo. A través de ella se describe un grupo de objetos y su vinculación común. Define un único punto de control, denominado agregado, y el grupo de objetos que representa el conjunto.

En un diagrama UML, los datos fluyen desde el agregado (clase padre) hacia el conjunto (clase hija) con una forma de diamante (sin rellenar) cerca de la primera clase. El clasificador de piezas, o las entidades de ensamblaje, pueden estar vinculadas a más de un agregado y existir de forma independiente.

Agregaciones Representadas en un Diagrama UML

Este ejemplo muestra que el coche siempre necesita una rueda y un motor para funcionar correctamente, mientras que el motor y la rueda no siempre necesitan un coche. Pueden utilizarse con un autobús, una bicicleta, máquinas, un cortacésped y mucho más. Del mismo modo, el motor es necesario para una inspección de motores, pero el motor puede existir como entidad independiente y estar asociado a otros vehículos también.

Composiciones Representadas en un Diagrama UML

Las composiciones son también un tipo de asociación que representa una relación bidireccional y altamente dependiente entre dos clases diferentes. Si la composición se elimina, las otras entidades vinculadas con ella también se eliminan.

Representa la dependencia entre el padre y el hijo. En un diagrama UML, dibuja una línea entre la clase padre y la clase hija con una forma de diamante rellena cerca de la clase padre.

Composiciones Representadas en un Diagrama UML

Como se ilustra en este ejemplo, una persona tiene piernas, un corazón y un cerebro. Si el punto central de este diagrama, la persona, se hiere y muere, todas las entidades compuestas también serán descartadas. A diferencia de la agregación, las entidades no pueden existir de forma independiente y son una "parte de" la persona.

Agregación Composición
Un subconjunto de la asociación Un subconjunto de la agregación.
Un tipo de asociación débil. Un tipo de asociación fuerte
Los objetos enlazados son independientes entre sí. Los objetos enlazados son altamente dependientes entre sí.
Se representa con una línea sólida y una punta de flecha vacía. Representado por una línea sólida con una punta de flecha rellena.
La agregación se define como una relación " tiene-un ". La composición se define como una relación "parte-de".

¿Es Mejor la Composición que la Agregación?

La composición es más fuerte que la agregación. Una relación entre dos objetos se denomina asociación, y ambos términos son un subtipo de ésta.

Asociación, Agregación y Composición

Si dos objetos existen independientemente el uno del otro y no implican ninguna propiedad del otro, se denominan asociación de agregación. Sin embargo, si dos objetos de un sistema deben coexistir y depender el uno del otro, se etiquetan como composición. Este tipo de asociación se denomina "fuerte", ya que cuando el objeto propietario se destruye, también lo hacen los objetos vinculados. Por el contrario, la agregación representa una asociación débil porque la vida del objeto contenido no depende del objeto contenedor.

Utilizar EdrawMax para la Creación de Diagramas UML

Asociación es el tipo de relación de enlace más básico y a la vez más importante que permite conectar los objetos de un sistema. Es esencial que diferenciemos entre sus dos tipos, agregación y composición, para una implementación sin errores y la creación de sus diagramas UML.

La creación de los diagramas UML de asociación es superfácil si se dispone de un programa fácil de usar y con abundantes herramientas como EdrawMax. Con una amplia gama de herramientas de edición, una biblioteca altamente personalizable y múltiples opciones de plantillas, crear un buen UML en unos pocos clics es cosa de cinco dedos. Tanto si eres un principiante como si eres un experto en tecnología, entender y manejar el programa es superfácil. Descárgalo para empezar a crear los diagramas más significativos e innovadores en un abrir y cerrar de ojos.

EdrawMax

Artículos Relacionados