Las relaciones en un diagrama UML se utilizan para ilustrar una conexión entre diferentes objetos. Una relación es una conexión entre cosas como elementos estructurales, de comportamiento o de agrupación en el lenguaje de modelado unificado.
Los siguientes 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 relaciones de agregación y composición.
A este respecto Lección tutorial de UML, aprenderás:
Asociación UML
Es una relación estructurada que muestra que los objetos pueden estar vinculados o conectados a otro objeto dentro del sistema. Las siguientes restricciones pueden aplicarse a las relaciones de Asociación UML.
- {implícito} – Las restricciones implícitas especifican que la relación no es explícita; se basa en un concepto.
- {ordenado} – Las restricciones de orden especifican que el conjunto de objetos está en un extremo de una asociación de una manera específica.
- {variable} – La restricción de variable especifica que la conexión entre diferentes objetos en el sistema se puede agregar, eliminar y modificar según sea necesario.
- {addOnly} – Especifica que los nuevos enlaces se pueden agregar a un objeto ubicado en el 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 de congelación esté activa en el enlace o enlace dado.
También podemos crear una clase que tenga propiedades de Asociación UML; se llama una clase de asociación.
Sociedad reflexiva
La asociación recurrente es un subtipo de relación de asociación en UML. En una asociación recurrente, los casos de la misma clase se pueden vincular entre sí. También se dice que un ejemplo de una clase es un ejemplo.
Una asociación reflexiva establece que un enlace o conexión puede estar presente dentro de artículos de la misma clase.
Ejemplo:
Consideremos un ejemplo de resultados de clase.
Hay dos casos en la clase de frutas, como el mango y la manzana. Una asociación recurrente dice que puede haber un vínculo entre un mango y una manzana porque son casos de la misma clase, como la fruta.
Liderada por la sociedad
Como su nombre lo indica, la asociación guiada está relacionada con la dirección del flujo dentro de las clases de asociación.
En una asociación guiada, el flujo está dirigido. La asociación fluye de una clase a otra en una dirección.
Se indica mediante una línea continua con una punta de flecha.
Ejemplo de asociación UML:
Puede decirse que una relación de asociación se guía entre un servidor y un cliente.
Un servidor puede procesar las solicitudes de los clientes. Este flujo es unidireccional, que fluye del servidor al cliente únicamente. Por lo tanto, las relaciones de asociación guiadas pueden estar presentes dentro de los servidores y clientes del sistema.
Composición UML
No es un estándar Relación UML, pero todavía se usa en varias aplicaciones.
La agregación compuesta es un subtipo de agregación relativo a las características:
- Es una asociación bidireccional entre cosas.
- Es una relación total / parcial.
- Si se destruye un compuesto, se eliminan todas las demás partes asociadas a él.
La agregación compuesta se describe como una asociación binaria decorada con diamante negro impregnado en el extremo agregado (completo).
La carpeta puede contener muchos archivos, aunque cada archivo tiene una sola carpeta principal. Si se elimina una carpeta, también se eliminan todos los archivos existentes.
En la agregación compuesta, un objeto puede ser parte de un compuesto a la vez.
Ejemplo de composición UML:
Por ejemplo, en un sistema eólico, un marco se aplica precisamente a una ventana. En la agregación compuesta, todo el sistema es responsable de la eliminación de sus partes, lo que significa que el compuesto debe gestionar la creación y destrucción de sus partes.
Agregación UML
La agregación es un subtipo de una relación de asociación en UML. Agregación y composición son los dos tipos de relaciones de asociación en UML. Una relación agregada se puede describir en palabras simples como «un objeto de una clase puede tener o acceder a los objetos de otra clase».
En una relación agregada, el objeto dependiente permanece dentro del alcance de la relación incluso cuando se elimina el objeto de origen.
Ejemplo de agregación UML:
Consideremos un ejemplo de un automóvil y una rueda.
Un automóvil necesita una rueda para que funcione correctamente, pero un automóvil no siempre tiene que tener una rueda. También se puede usar con la bicicleta, bicicleta o cualquier otro vehículo, pero no con un automóvil específico. Aquí, el objeto de la rueda tiene significado incluso sin el objeto del automóvil. Este tipo de relación se denomina relación agregada de UML.
Asociación vs.Agregación vs.Composición
Asociación | Agregación | Composición |
Una relación de asociación se indica con una flecha. | Una relación agregada se expresa mediante una línea recta con una punta de flecha vacía en un extremo. | Una relación compositiva se expresa mediante una línea recta con una punta de flecha rellena en cualquiera de los extremos. |
Puede haber una 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. |
La asociación de una persona, una persona, muchas y muchas más puede estar presente entre las clases de asociación. | La agregación se considera una forma débil de asociación. | La composición se considera una forma fuerte de asociación. |
En una relación de asociación, uno o más objetos pueden estar relacionados entre sí. | En una relación agregada, los objetos interconectados pueden permanecer dentro del alcance de un sistema sin los demás. | En una relación de composición, las cosas que están relacionadas entre sí no pueden permanecer en el alcance sin la otra. |
Las cosas están conectadas. | Los objetos conectados no dependen del otro objeto. | Las cosas son muy interdependientes. |
En la Asociación UML, la eliminación de un elemento puede afectar a otro elemento relacionado. | En la agregación UML, la eliminación de un elemento no afecta a otro elemento relacionado. | En Composición UML, eliminar un elemento afecta a otro aspecto relacionado. |
Ejemplo: Un maestro está involucrado con varios estudiantes. O un maestro da instrucciones a los estudiantes. | Ejemplo: un automóvil necesita una rueda, pero no siempre necesita la misma rueda. Un automóvil también puede funcionar adecuadamente con otra rueda. | Ejemplo: un archivo se coloca dentro de la carpeta. Si alguien elimina la carpeta, el archivo asociado con esa carpeta también se elimina. |
Resumen
- Una relación es una conexión entre cosas.
- Asociación, dependencia, generalización y realización son diferentes relaciones proporcionadas por UML.
- Aparte de las relaciones estándar, la composición y la agregación se utilizan dentro de UML.
- La agregación y la composición son los tipos de relaciones de asociación en UML.
- La composición UML es una relación bidireccional también conocida como relación binaria.