La agregación es un tipo de relación que comprende a las clases y sus diferentes componentes, constituyendo un todo.
La composición en cambio es un tipo de agregación, donde cada componente solo puede pertenecer a un todo.
Agregación
Como habíamos mencionado la agregación es un tipo de asociación, se caracteriza por ser una jerarquía dentro de la clase y está representada por un rombo vacío, de este rombo sale una línea que conecta a todos los componentes relacionados.
Veamos en la siguiente imagen un ejemplo de esto que acabamos de describir:
En este caso vemos la jerarquía de los elementos, en un todo tenemos al equipo de computo, de ahí sale un rombo y a través de una línea unimos los elementos, a su vez de gabinete sale un nuevo rombo y también de ratón, luego de estos tenemos respectivamente una línea que une a los siguientes elementos en el orden jerárquico.
Dentro de las agregaciones también podemos manejar restricciones, para ello debemos utilizar las llaves {} dentro la restricción, veamos el siguiente diagrama donde la restricción es una comida o una ensalada y luego los demás componentes:
Composiciones
Son un tipo de agregación, en este caso los elementos solo pueden pertenecer a un todo y lo representamos con un rombo relleno en vez de vacío como en la agregación.
Veamos en la siguiente imagen un ejemplo de composición:
Como vemos en este caso la superficie de la mesa y la pata pertenecen a un solo todo que es la mesa de café.
Contexto
Al hacer el modelado de un diagrama pudiera suceder un agrupamiento de clases con agregaciones o composiciones, en estos casos debemos tratar de centrar la atención en una asociación u la otra y para ello podemos utilizar el diagrama de contexto, funcionando este último como una especie de mapa con el cual podremos detallar las secciones correspondientes.
Veamos a continuación en el siguiente ejemplo como colocamos un diagrama de contexto dentro de otro diagrama:
Si vemos el detalle en la parte derecha nos podemos dar cuenta que es un todo, el cual a pesar que está dentro de otro todo, tiene su propio contexto interno, por lo que podremos ampliarlo y enfocarnos en él directamente o podemos alejarnos y ver el todo al cual pertenece.
Como notamos solamente al hacer el cambio del ámbito podemos detallar unas clases u otras, con lo que evitamos confusiones y aprovechamos de especificar de forma más directa nuestros diagramas.
Con esto finalizamos el tutorial en el cual aprendimos a realizar dos nuevos tipos de asociaciones y también como funcionan estas dentro de un diagrama más grande al utilizar el diagrama de contexto.