Paquete (UML)

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 15 de septiembre de 2018; las comprobaciones requieren 2 ediciones .

Un paquete ( eng.  paquete ) en el lenguaje de modelado UML  es la principal entidad de agrupación que organiza decisiones de diseño específicas dentro del marco del modelo UML utilizado. El paquete UML está diseñado para agrupar una gran cantidad de entidades estructurales, de comportamiento y de otro tipo en un todo único; se muestra como una carpeta estilizada con un marcador, que puede tener su propio nombre [1] [2]

El paquete UML está representado por una imagen rectangular grande con una pestaña en la esquina superior izquierda; dentro del rectángulo, puede colocar el contenido de este paquete [3] . La dependencia entre paquetes se expresa mediante el diagrama de paquetes , que lleva información sobre la gestión del modelo y es en realidad una especie de diagrama de clases [4] .

Descripción

La introducción de paquetes UML le permite distribuir varios elementos individuales del proyecto que se está creando en bloques que son convenientes para escalar, que luego pueden manipularse como una especie de unidades independientes. Por regla general, los paquetes se utilizan para almacenar elementos de modelo de nivel superior: clases y sus relaciones, gráficos de casos de uso , máquinas de estado , etc. [5] Los elementos del paquete pueden tener una visibilidad diferente desde el exterior, es decir, algunas funcionalidades del paquete pueden ser encapsulado desde el punto de vista del usuario externo. En este sentido, un paquete funciona como un espacio de nombres separado , cuyos miembros pueden ser públicos o privados [6] . Un paquete bien estructurado debe combinar elementos relacionados semántica y funcionalmente que tienden a evolucionar conjuntamente durante el desarrollo [2] .

La especificación UML no impone restricciones estrictas sobre cómo se empaqueta un modelo, hay muchas formas de organizar por funcionalidad, tipo de modelo o cualquier otro atributo. También se permite el anidamiento jerárquico de algunos paquetes UML en otros [7] [8] , mientras que el paquete anidado tiene acceso completo al contenido de su contenedor y se considera parte de él [6] . Cuando se utiliza el anidamiento, el modelo debe tener un paquete raíz inicial [7] , generalmente solo uno [9] . Para simplificar las notaciones de texto, también es posible importar elementos visibles de un paquete a otro y complementar los espacios de nombres locales con ellos; sin embargo, el elemento importado se vuelve visible con el nombre que se le asignó durante la importación [10] .

El nombre del paquete debe distinguirlo de otros paquetes, por regla general se presenta como una cadena de texto que contiene letras del alfabeto latino , números y algunos signos de puntuación. El especificador se utiliza para separar los nombres de anidamiento jerárquico de paquetes ::. Dentro de un paquete contenedor, el nombre del subpaquete elegido debe ser único [11] .

Notas

  1. Butch, Rambeau, Jacobson, 2006 , Bloques de construcción UML, p. 37-38.
  2. 1 2 Butch, Rambeau, Jacobson, 2006 , Paquetes, p. 178.
  3. Butch, Jacobson, Rambo, 2006 , paquete (paquete), p. 519.
  4. Booch, Jacobson, Rambeau, 2006 , Representando el control del modelo, p. 62.
  5. Booch, Jacobson, Rambeau, 2006 , Paquetes, p. 122.
  6. 1 2 Booch, Jacobson, Rambeau, 2006 , Visibilidad, p. 123.
  7. 1 2 Booch, Jacobson, Rambeau, 2006 , Representando el control del modelo, p. 61.
  8. Booch, Jacobson, Rambeau, 2006 , Paquetes, p. 121.
  9. Butch, Jacobson, Rambo, 2006 , paquete (paquete), p. 518.
  10. Booch, Jacobson, Rambeau, 2006 , Importación, p. 123.
  11. Booch, Rambeau, Jacobson, 2006 , Nombres, p. 180.

Literatura