Altova UModel 2024

UModel también ofrece una función para combinar varios proyectos de UModel editados por programadores diferentes. Esta función se conoce como fusión de proyectos a tres bandas.

 

La fusión de proyectos a tres bandas sirve para combinar proyectos de UModel de nivel superior, es decir, proyectos principales que pueden contener subproyectos. La fusión a tres bandas no funciona con archivos independientes si estos tienen referencias sin resolver a otros archivos.

 

Cuando se combinan proyectos principales, los subproyectos editables que contienen también se combinan automáticamente. Esto significa que no hace falta combinar los subproyectos por separado. Para ver un ejemplo consulte el apartado Ejemplo de fusión manual a tres bandas. Debe tener en cuenta algunos aspectos:

 

el proceso de combinación se puede deshacer entero paso a paso con el botón Deshacer de la barra de herramientas o con Ctrl+Z.

si hace clic en una entrada de la ventana Mensajes, el elemento de modelado correspondiente aparece resaltado en la Estructura del modelo.

el proyecto principal combinado conserva el mismo nombre de archivo que el del archivo que eligió como destino de la combinación.

 

¿Qué efectos tiene la fusión de proyectos a tres bandas?

Es importante tener en cuenta que cuando decimos "proyecto original", nos referimos al archivo de proyecto que eligió como destino de la combinación y que abrió primero al principio del proceso.

 

Elementos de modelado nuevos:

si el segundo proyecto tiene elementos que no existen en el proyecto original, estos elementos se añaden al proyecto de destino.

si el proyecto original tiene elementos que no existen en el segundo proyecto, estos elementos se conservan en el proyecto de destino.

 

Elementos de modelado eliminados:

si en el segundo proyecto se han eliminado elementos que todavía existen en el proyecto original, estos elementos se eliminan en el proyecto de destino.

si en el proyecto original se han eliminado elementos que todavía existen en el segundo proyecto, estos elementos siguen estando eliminados en el proyecto de destino.

 

Diferencias entre los mismos elementos de modelado:

si una propiedad (p. ej. el nivel de acceso de una clase) se modifica en el proyecto original o en el segundo proyecto, el modelo de destino incluye el valor más reciente.

si una propiedad (p. ej. el nivel de acceso de una clase) se modifica tanto en el archivo original como en el segundo archivo, el modelo de destino toma el valor del segundo archivo (y aparece una advertencia en la ventana Mensajes).

 

Elementos con una posición distinta:

si un elemento se mueve en el proyecto original o en el segundo proyecto, en el modelo de destino también cambia la posición de ese elemento.

si un elemento se mueve (a un elemento primario distinto) tanto en el proyecto original como en el segundo proyecto, aparece un aviso para que seleccione manualmente el elemento primario en que se debe insertar el elemento en el modelo de destino.

 

Diferencias entre diagramas:

UModel primero comprueba si hay diferencias entre los diagramas de los dos modelos.

si hay diferencias, el diagrama nuevo o distinto se añade al modelo de destino (con un sufijo numérico tipo actividad1, etc.) y el diagrama original se conserva.

si no hay diferencias, no se realizan cambios y se ignoran los diagramas que sean idénticos. Después puede eliminar los diagramas que quiera.

 

Sistemas de control de versiones para fusiones a tres bandas

Si trabaja en un sistema en el que se reservan y liberan archivos (check-in/check-out), UModel genera automáticamente archivos de tipo "ancestro común" (también llamados copias instantáneas de volumen o instantáneas) que después se usan para la fusión a tres bandas. Con ellos se consigue una combinación mucho más precisa que con el método de fusión a dos bandas.

 

La fusión a tres bandas automática de UModel no funciona con todos los sistemas de control de versiones, pero en esos casos siempre puede usar la fusión a tres bandas manual.

 

los sistemas de control de versiones que combinan archivos automáticamente sin la intervención del usuario no suelen ser compatibles con la fusión a tres bandas automática de UModel.

los sistemas de control de versiones que piden que el usuario elija entre Reemplazar o Combinar cuando cambia un archivo del proyecto suelen ser compatibles con la fusión a 3 bandas automática de UModel. Después de que el control de versiones reemplace el archivo, seleccione el comando Reemplazar para activar el aviso de UModel que permite realizar una fusión a 3 bandas. Para reservar/liberar archivos es necesario usar UModel.

puede poner bajo control de versiones tanto el proyecto principal como sus subproyectos. Si cambia datos en un subproyecto un aviso automático le pedirá que libere el subproyecto.

cada acción de reservar/liberar crea un archivo antecesor común o instantánea que se utiliza después durante el proceso de fusión a 3 bandas.

 

Nota: los archivos de instantánea solo se crean y emplean de forma automática con la versión independiente de UModel (es decir, esta función no está disponible en el complemento de UModel para Eclipse o Visual Studio).

 

Ejemplo

Imagine que Usuario A edita un archivo de proyecto de UModel y cambia el nombre de una clase en el diagrama BankView Main. Ahora imagine que Usuario B abre el mismo archivo de proyecto y cambia el nivel de acceso de esa misma clase.

 

Como UModel genera una instantánea para cada usuario, el historial de edición de instantáneas permite combinar los diferentes cambios ocurridos en el proyecto. En este caso, en el proyecto de destino la clase tendrá el nuevo nombre como el nuevo nivel de acceso.

© 2017-2023 Altova GmbH