Estructuración de los elementos de modelado
Introducción
UML describe los empaquetados gracias a un diagrama específico. Un empaquetado es una agrupación de elementos de modelado: clases, componentes, casos de uso, otros empaquetados, etc.
Los empaquetados de UML resultan útiles durante el modelado de sistemas importantes para reagrupar los diferentes elementos. La agrupación estructura de ese modo el modelado.
Los empaquetados y el diagrama de empaquetado
Los empaquetados se representan con una carpeta (ver figura 7.1) y constituyen un conjunto de elementos de modelado UML.
Figura 7.1 - Representación gráfica de un empaquetado
Ejemplo
La figura 7.2 muestra el empaquetado que representa los diferentes elementos de modelado de un criadero de caballos.
Figura 7.2 - Ejemplo de empaquetado
El contenido de un empaquetado se describe mediante un diagrama de empaquetado que representa los diferentes elementos del mismo con su propia representación gráfica. Estos elementos pueden ser clases, componentes, casos de uso, otros empaquetados, etc.
Los elementos de un empaquetado pueden incluirse directamente dentro de la carpeta que lo representa.
Ejemplo
El contenido del empaquetado Criadero de caballos se ilustra a través de su diagrama. Éste consta de tres empaquetados que contienen casos de uso y clases (ver figura 7.3).
Figura 7.3 - Diagrama de empaquetado que representa un criadero de caballos
Los elementos incluidos en el empaquetado pueden ser accesibles en el exterior o estar encapsulados dentro del mismo. Por defecto, los elementos son accesibles en el exterior.
La encapsulación se representa mediante un signo más o un signo menos delante del nombre del elemento. El signo más significa que no hay encapsulación y que el elemento es visible fuera del empaquetado. El signo menos significa que...
Las relaciones de importación y de acceso entre empaquetados
Para que un empaquetado pueda utilizar los elementos de otro, existen dos tipos de relación:
-
La relación de importación consiste en llevar un elemento del empaquetado de origen al empaquetado de destino. El elemento forma parte entonces de los elementos visibles del empaquetado de destino;
-
La relación de acceso consiste en acceder a un elemento del empaquetado de origen desde el empaquetado de destino. El elemento no forma parte entonces de los elementos visibles del empaquetado de destino.
Sólo es posible importar o acceder a un elemento si éste está definido como visible en el empaquetado de origen.
Ambas relaciones pueden aplicarse también a los empaquetados completos: importan o acceden a todos los elementos del empaquetado de origen definidos como visibles.
Ambas son relaciones de dependencia, especializadas con ayuda de los estereotipos «import» o «access».
Ejemplo
En el empaquetado Criadero de caballos, los empaquetados Compra de caballos y Venta de caballos importan la clase Caballo. El resultado habría sido el mismo si ambos empaquetados hubieran importado el empaquetado Gestión de los caballos, ya que la clase Caballo es la única pública.
La figura 7.5 muestra las dos relaciones de importación.
Figura 7.5 - Relaciones de importación entre empaquetados
La relación de fusión entre dos empaquetados
La relación de fusión entre dos empaquetados se ilustra en la figura 7.6. La existencia de esta relación genera la fusión del contenido no privado del empaquetado de destino en el contenido del empaquetado de origen.
Figura 7.6 - Relación de fusión entre dos empaquetados
Las reglas generales que gobiernan la fusión entre un empaquetado de origen y un empaquetado de destino son las siguientes:
1. |
La relación de fusión se transforma en una relación de importación conservando la misma orientación. Los elementos públicos del empaquetado de destino se importan en el empaquetado de origen. |
2. |
Para cada elemento del empaquetado de destino que puede especializarse (como las clases, los casos de uso, etc.) y para el que no existe ningún elemento con el mismo nombre en el empaquetado de origen, se crean un nuevo elemento con el mismo nombre en este empaquetado. A continuación, se introduce una relación de especialización desde todos los elementos del empaquetado de origen hacia los elementos del empaquetado de destino que poseen el mismo nombre. Todas las propiedades heredadas de esta manera en los elementos del empaquetado de origen se redefinen. Estas propiedades redefinidas pertenecen, por consiguiente, a los elementos del empaquetado de origen. |
3. |
Las relaciones de especialización existentes... |
Los empaquetados template
En el capítulo Modelado de objetos, hemos introducido la noción de clase template. Esta constituye un modelo genérico para las demás clases. La genericidad se confiere mediante uno o varios parámetros.
Ocurre lo mismo con los empaquetados. UML ofrece la posibilidad de elaborar un empaquetado template dotado de parámetros y, a continuación, fijar su valor en la relación de enlace.
Ejemplo
La figura 7.9 ilustra un ejemplo de empaquetado template. Los parámetros son las dos clases del empaquetado, el atributo característica y el tipo T. Las clases son de tipo Class, la clase del metamodelo de UML que describe las clases. El atributo característica es de tipo Property, la clase que describe los atributos. Las instancias de la clase Type son por lo general todas las clases y todos los tipos estándar.
Este empaquetado describe de manera genérica la asociación entre uno o varios propietarios y su(s) propiedad(es), teniendo en cuenta las divisiones. La característica de la propiedad se introduce, pero su nombre y su tipo son genéricos.
Figura 7.9 - Ejemplo de empaquetado template
La figura 7.10 ilustra el primer ejemplo de enlace de este empaquetado template. Está vinculado con el template de gestión de una caballeriza. Una caballeriza posee caballos de carrera, lo que explica el enlace entre Propietario y Caballeriza y el enlace...
Conclusión
Los empaquetados son útiles para estructurar el modelado de un sistema de información importante. Los empaquetados sistema contienen empaquetados de mayor nivel que, a su vez, albergan otros empaquetados y así sucesivamente hasta llegar a los elementos básicos del modelado, como las clases o los casos de uso.
La relación de fusión y los empaquetados template son elementos potentes para estructurar el modelado de un sistema de información.