El paquete es un mecanismo para organizar y administrar cada elemento del modelo en UML. Organiza elementos del modelo conceptualmente similares y relacionados (incluidos estáticos y dinámicos) en un paquete para formar módulos con varias funciones o propósitos y puede controlar la visibilidad de los elementos en el. paquete para facilitar que las personas comprendan mejor los sistemas complejos.
El diagrama de paquetes consta de las relaciones entre paquetes y muestra las dependencias entre los distintos módulos del sistema a través de la descripción de las relaciones entre paquetes.
Es similar a una carpeta en el sistema operativo, por lo tanto, también se representa en UML usando una notación de carpeta similar:
Cada paquete debe tener un nombre diferente al de otros paquetes dentro de la misma jerarquía. Los nombres de los paquetes vienen en dos formas:
1. Nombre sencillo
Un nombre simple contiene sólo la cadena de nombre del paquete, como en el siguiente ejemplo:
2. Nombre de la ruta
En muchos casos, el paquete contiene otros paquetes. Cuando se utiliza un paquete en el paquete externamente, puede utilizar el nombre de la ruta para indicar la ruta del paquete. La sintaxis básica es: nombre del paquete externo:: este nombre del paquete. La siguiente figura muestra que el paquete "Borrow" se encuentra en el paquete "SystemInterface":
El paquete es un mecanismo de agrupación, por lo que un paquete puede contener cualquier elemento en UML, como clases, casos de uso, interfaces, componentes, nodos, etc. También puede contener otros paquetes, diagramas de casos de uso, diagramas de colaboración, diagramas de secuencia, etc.
Hay tres tipos principales de visibilidad de elementos en los paquetes:
1. Público
Indicado agregando el símbolo "+" antes del elemento, el elemento será visible para todos los elementos introducidos en el paquete.
2. Privado
Indicado agregando un símbolo "-" antes de un elemento, el elemento solo puede ser visible para elementos en el mismo paquete.
3. protegido
Indicado agregando el símbolo "#" antes del elemento, el elemento será visible para los elementos del paquete que heredan el paquete.
La siguiente figura muestra tres formas de representar la visibilidad de los elementos en un paquete:
Contiene tres métodos de representación de visibilidad para elementos.
La visibilidad de las tres clases "clase A", "clase B" y "clase C" en la figura anterior es pública, privada y protegida respectivamente.
Las relaciones entre paquetes incluyen principalmente relaciones de dependencia y relaciones de generalización.
1. Dependencia
La relación de dependencia entre paquetes se refiere a la dependencia entre varios elementos en los dos paquetes. Las dependencias están representadas por flechas punteadas. Las flechas apuntan desde el paquete dependiente al paquete dependiente. La relación de dependencia entre paquetes puede ser generalización, implementación, importación, etc. La siguiente figura muestra la relación de dependencia entre los dos paquetes:
La dependencia de importación se refiere a permitir que los elementos de un paquete accedan a elementos de otro paquete. Esto se puede representar agregando el estereotipo <<importar>> en la flecha punteada. Las dependencias de importación no son transitivas.
2. Relación de generalización
La relación de generalización entre paquetes es similar a la relación de generalización entre clases. Esta relación de generalización entre paquetes significa que los paquetes especiales pueden reemplazar elementos en paquetes generales y agregar nuevos elementos. De hecho, la generalización entre paquetes también es una relación de dependencia.
La siguiente figura muestra algunos estereotipos de paquetes, representados por diferentes gráficos o notaciones:
Estereotipo del paquete
En la figura anterior, de arriba a abajo y de izquierda a derecha, representan el modelo de análisis empresarial, el sistema empresarial (sistema empresarial), el modelo de análisis de casos de uso empresarial (modelo de análisis de casos de uso empresarial) y el paquete de dominio (paquete de dominio). , capa (Capa) y subsistema (Subsistema). Puede seleccionar el estereotipo correspondiente del paquete según sea necesario y puede identificar rápidamente la función del paquete.
Se pueden seguir los siguientes principios en el modelado real:
1. Principio de equivalencia de reutilización
Intente colocar elementos de modelo reutilizables similares en un solo paquete. No mezcle elementos de modelo reutilizables y elementos de modelo no reutilizables en un solo paquete.
2. Principio de reutilización común
Coloque varios elementos del modelo que deben reutilizarse en la misma aplicación en el mismo paquete para reducir las dependencias entre paquetes y mejorar la independencia del paquete.
3. Principio de cierre común
Coloque los elementos del modelo que puedan modificarse y mantenerse al mismo tiempo en un paquete para facilitar el mantenimiento y las actualizaciones futuras.
4. Principio de dependencia no cíclica
La relación de dependencia entre paquetes no debe formar un ciclo: es decir, no debe tener el fenómeno de que A dependa de B y B dependa de A, o que varios paquetes formen una dependencia circular.
Estrictamente hablando, los diagramas de paquetes no son diagramas UML en el verdadero sentido, pero desempeñan un papel importante en la clasificación de elementos del modelo, la estructura del modelo y el espacio de nombres del programa. En el proceso de modelado real, puede utilizar los siguientes métodos para dibujar diagramas de paquetes:
1. Analizar los elementos del modelo del sistema e incorporar elementos del modelo conceptual o semánticamente similares en un paquete;
2. Marque la visibilidad de cada elemento del paquete;
3. Determinar las dependencias entre paquetes;
4. Dibuje el mapa del paquete y optimícelo.
En ProcessOn, puede crear un diagrama de paquete en un archivo de diagrama UML, o puede agregar los elementos gráficos involucrados en la producción del diagrama de paquete al diagrama de flujo para crear un diagrama de paquete.
1. Crea un paquete
Simplemente arrastre el elemento "paquete" en el gráfico general UML desde el área del componente gráfico en el lado izquierdo del editor al área en blanco en el lado derecho del editor para completar la creación del paquete.
Crear un paquete usando ProcessOn
2. Cambie el nombre del paquete
Haga clic en "Nombre del paquete" en el gráfico del paquete para cambiar el nombre del paquete.
3. Agregar elementos al paquete
Al dibujar, el usuario puede arrastrar directamente los gráficos desde el área del componente de gráficos en el lado izquierdo del editor al área en blanco del editor para completar la creación de los gráficos. Luego puede seleccionar el gráfico y configurar las propiedades relacionadas con el gráfico a través de la barra de herramientas en la parte superior del editor y el panel de herramientas a la derecha.
Agregar elementos al paquete
4. Agregar conexiones entre paquetes
El método para dibujar una conexión es usar la tecla de método abreviado "L", o arrastrar el elemento "línea recta" desde el gráfico básico en el área del componente gráfico a la izquierda al área en blanco del editor, o moverlo directamente. de un extremo de un gráfico a otro. Si desea agregar una relación de dependencia, seleccione "Paquete dependiente", haga clic en un extremo y mantenga presionado el botón izquierdo del mouse hasta el "Paquete dependiente", luego suelte el mouse para completar el establecimiento de una relación de dependencia.
Agregar enlaces entre paquetes
A continuación se proporcionan dos ejemplos de diagramas de paquetes para ilustrar el uso específico de los diagramas de paquetes.
El primer ejemplo refleja la organización de cada elemento del modelo en el proceso de modelado, utilizando paquetes para organizar varios modelos según las etapas de análisis y diseño del sistema.
La organización de cada elemento del modelo durante el proceso de modelado.
El segundo ejemplo describe la organización de elementos en el desarrollo de un sistema. La interfaz de usuario contiene varias interfaces de usuario utilizadas, BLL contiene varias clases o interfaces para el procesamiento de lógica de negocios, DAL contiene clases relacionadas de la capa de acceso a datos y Common almacena algunos componentes o clases compartidos por varios módulos del sistema.
Organización de diversos elementos en el desarrollo de sistemas.