jueves, 6 de mayo de 2010

La agregación es una forma especial de asociación que modela una relación todo-parte entre un agregado (el todo) y sus partes. Es usada para modelar una relación de composición (o composicional) entre los elementos de un modelo (por lo que también se conoce como relación de composición, aunque una composición, como tal, tiene un significado distinto como reseñaré más adelante). Una Institución Educativa, por ejemplo, está compuesta de Profesores, Empleados y Auxiliares o Supernumerarios. Para modelar esto, el agregado (la Institución Educativa) tiene una asociación de agregación con sus partes constituyentes (Profesores, Empleados y Auxiliares). Ver figura 8.
Por su parte, una composición es una forma de agregación con un sentido de propiedad fuerte y un ciclo de vida coincidente de la parte con el agregado. En este caso, la multiplicidad del extremo agregado no puede exceder de uno, esto es, no puede ser compartida. Por ejemplo, un Automóvil está compuesto de una carrocería, cuatro llantas y un motor, y no es un Automóvil completo si falta alguna de las partes (un auto no arranca si el motor está dañado o no tiene motor del todo, o no tiene carrocería o le falta por lo menos una llanta; recíprocamente, una carrocería no constituye un auto por sí sola, ni las cuatro llantas, ni el motor).
La generalización, de otro lado, es una relación taxonómica entre un elemento más general y un elemento más específico. Este último es completamente consistente con el primero, el más general y puede contener información adicional. En programación (orientada a objetos), esta relación se conoce comúnmente como herencia. Esta relación también es usada para Paquetes, Casos de Uso y otros elementos

No hay comentarios:

Publicar un comentario