El diagrama de paquetes es uno de los diagramas estructurales comprendidos en UML 2.5, por lo que, como tal, representa de forma estática los componentes del sistema de información que está siendo modelado. Es utilizado para definir los distintos paquetes a nivel lógico que forman parte de la aplicación y la dependencia entre ellos. Es principalmente utilizado por desarrolladores y analistas.
Es importante destacar que este diagrama es utilizado en los sistemas de información con programación orientada a objetos. El objetivo principal del diseño debe maximizar la cohesión y minimizar el acoplamiento.
En sí el diagrama es muy sencillo, dependiendo su complicación del detalle con el que se quieran tratar los elementos que mostrará, que puede llegar a ser muy específico.
Elementos de un diagrama de paquetes
El diagrama de paquetes está constituido por dos elementos: Los paquetes y las dependencias.
Paquete
Es el elemento clave del diagrama y que da el nombre al mismo. Un paquete es un conjunto de elementos. En concreto puede ser un conjunto de clases, casos de uso, componentes u otros paquetes. No obstante, lo más común es que incluya otros paquetes.
Lo ideal es que este conjunto de elementos tenga una función diferenciada del resto de elementos. De esta forma, además de maximizar la cohesión, se dará la máxima claridad al diagrama y, por tanto, al Sistema de Información. Es también importante identificar con nombres representativos de estas funciones a los distintos paquetes. Por supuesto, hay que tener en cuenta el nivel de granularidad del diagrama.
Se representa con un símbolo simulando una carpeta, con el nombre en la parte superior:

Como ejemplo, un paquete que contiene otros paquetes tendría la siguiente representación:

En este caso sería un paquete denominado «Capa de presentación» que contiene los paquetes «Interfaz web», «Interfaz móvil» e «Interfaz admin». En este caso el contenido son otros paquetes, pero podría ser, como ya hemos dicho, otro diagrama.
Por ejemplo, es muy común un paquete que contiene un diagrama de clases.
Dependencia entre paquetes
Una dependencia entre paquetes representan que un paquete necesita de los elementos de otro paquete para poder funcionar con normalidad.
Se representa con una flecha discontinua que va desde el paquete que requiere la función hasta el paquete que ofrece esa función.

En esta imagen se dice que el Paquete Origen depende del Paquete Destino para dar su servicio.
Un ejemplo de relación de dependencia que aparece en la realidad un gran número de ocasiones es el siguiente.

Este diagrama, típico de arquitecturas de aplicaciones en tres capas tiene 3 paquetes: Capa de Lógica de Negocio, Capa de Presentación y la Base de datos. Estos dos últimos paquetes (presentación y bbdd) dependen para su funcionamiento de la lógica de negocio.
Ejemplo de un diagrama de paquetes
A continuación se muestra, a modo de ejemplo, un diagrama de paquetes de una aplicación:
La aplicación, que tiene como finalidad la recepción y gestión de quejas y sugerencias, estaría compuesta por los siguientes paquetes:
- Capa de presentación. Incluye a su vez los paquetes Interfaz de Usuario e Interfaz Admin
- Capa de Lógica de Negocio, con los siguientes paquetes:
- Subsistema de recepción de dudas y sugerencias.
- Subsistema de asignación de responsable.
- Subsistema de creación de informes.
- Gestor documental.
- Subsistema de gestión de usuarios.
- Envío de notificaciones.
- Base de datos.
- CRM.
- DataWarehouse.

Como puedes observar, cada uno de los subpaquetes podría expandirse en otros paquetes, hasta llegar al punto de tener unos paquetes primitivos que no pueden volver a explotarse.
¿Quieres colaborar con esta web? ¡Envíanos tus diagramas UML a la dirección aportaciones@diagramasuml.com para que sirvan de ejemplo a otras personas!
También puedes contactar con nosotros a través de la Página de contacto.
¿Quieres conocer como se hacen más diagramas de UML? Visita nuestra página principal donde tenemos un listado completo.