Seguimos en este mar virtual de información con una nueva entrada sobre la vista estática, ¿y qué tenemos hoy en el menú?. ¡Relaciones!. ¡Pero no os asustéis ni pongáis caras raras!, no son ese tipo de relación que tanto le gusta al periodismo rosa si no de esas que le gustan a UML para indicar cómo de bien se llevan los clasificadores. Así que sin más demora, ¡empecemos!.
2. Relaciones
Permiten interrelacionar dos o más clases o , dicho de otro modo, cómo se comunican entre sí las clases. Hay varios tipos de relaciones que vienen indicadas en la tabla siguiente:
Asociación
Describe conexiones discretas entre instancias del sistema como los objetos en la que se permiten repeticiones informándonos de esta manera sobre las relaciones de los objetos del sistema. Hay que tener en cuenta los siguientes puntos sobre la asociación:
- Un sólo objeto puede autoasociarse (muy útil para representar las paginaciones).
- Cada asociación con una clase se denomina extremo de la asociación y pueden tener nombres de rol y visibilidad. Su propiedad más importante es la multiplicidad.
- Existen los siguientes tipos de asociación:
- Clase de asociación: Son aquellas que poseen atributos teniendo doble naturaleza, es asociación y clase a la vez. Un ejemplo de ello son las relaciones de muchos a muchos que necesitan una (o clase) intermedia para poder realizarse.
- Asociación calificada: Es un valor que selecciona un único objeto de un conjunto de objetos a través de una asociación. Ejemplos de ello son tablas de búsquedas y vectores.
- Su significado en los distintos niveles de significación son:
- Análisis: Son las relaciones lógicas entre objetos. En esta fase pueden indicarse restricciones, propiedades como la ordenación y la visibilidad.
- Diseño: Indican las decisiones de diseño sobre la estructura de datos así como la separación entre las responsabilidades.
- Implementación: Se pueden implementar como punteros (ficheros) o tablas de objetos (bases de datos).
- Existen diferentes tipos de asociación:
- Agregación y composición: Ambas representa una relación todo-parte aunque la composición es más fuerte que la agregación. Veámoslo:
- Agregación: Los objetos relacionados no tienen ningún tipo de interdependencia para existir.
- Composición: La existencia del objeto relacionado depende del que lo relaciona para existir.
- Enlaces: Es una lista ordenada de referencias a objetos, cada una de las cuales debe ser una instancia de la clase correspondiente en la asociación o una instancia de un descendiente de la clase. Conceptualmente es distinta de las clases que relaciona.
- Bidireccionalidad: Antes de explicar que es la bidireccionalidad tenemos que saber que los extremos de una asociación pueden distinguirse uno de otro por lo que podemos relacionar objetos de la misma clase aunque no son intercambiables. Su significado es que cualquier relación lógica tiene una inversa.
Veámoslo con un ejemplo:
Fuente: Universidad de Chile |
¡Gracias por leerme!.
No hay comentarios:
Publicar un comentario