Modelado de datos con UML: Agregación y Composición
el
Obtener enlace
Facebook
X
Pinterest
Correo electrónico
Otras aplicaciones
La agregación es una asociación binaria que añade un matiz semántico de relación parte-todo (o de componente-contenedor).
Se dibuja un diamante blanco en la clase que actúa de contenedor.
Los componentes no están ligados al ciclo de vida del
contenedor. Es decir, si el contenedor se destruye, sus componentes no
lo hacen.
Un componente puede estar relacionado en varios contenedores.
En este ejemplo, una colección (contenedor) es un agregado de novelas y
una novela (componente) puede pertenecer a varias colecciones. Si una
colección se elimina, las novelas permanecen en el sistema.
La composición es un refinamiento de la agregación que añade más restricciones:
Se dibuja un diamante de color en la clase que actúa de contenedor.
Los componentes no pueden existir sin su contenedor.
Una instancia de componente siempre tiene que estar asociada a un
contenedor.
Los componentes sólo están ligados a un contenedor en
concreto. Es decir, la multiplicidad del contenedor es siempre 1 (al ser
implícita, es opcional escribir el 1 del lado del contenedor)
Los componentes están ligados enteramente al ciclo de
vida del contenedor. Es decir, si el contenedor se destruye, sus
componentes también. Pero si un componente se destruye, el contenedor no
lo hace.
En este ejemplo, un barco (contenedor) tiene un conjunto de mástiles
(componentes). No se concibe un mástil si no está dentro de un barco
(¿has visto navegar mástiles por los mares?). Si eliminamos el barco,
los mástiles se eliminan con él.
Comentarios
Publicar un comentario