Compartir a través de


Administrar modelos y gráficos con control de versiones

En Visual Studio Ultimate, puede incluir en control de versiones de Team Foundation los archivos del proyecto de modelado y del diagrama, los archivos de documentos gráficos (.dgml) y los archivos de consulta del Explorador de arquitectura (.dgql). Para obtener más información, vea Agregar archivos al servidor.

Debe tenerse especial cuidado cuando varios usuarios trabajan en el mismo proyecto de modelado.

Importante

Para obtener sugerencias sobre cómo organizar los modelos en un proyecto grande o mediano, vea Estructurar soluciones de modelado.

Archivos de un proyecto de modelado

Varios usuarios pueden trabajar a la vez en un proyecto de modelado, siempre y cuando lo hagan en archivos diferentes.

Para evitar o resolver conflictos entre los cambios realizados por diferentes usuarios, es importante entender cómo se almacena el modelo en archivos.

  • Cada paquete se guarda en un archivo .uml diferente, que se guarda en la carpeta de proyecto ModelDefinition. El modelo también tiene un archivo .uml. Si uno de estos archivos se elimina o daña, se perderá el paquete o modelo correspondiente.

  • Cada diagrama se guarda en dos archivos. Por ejemplo, un diagrama de clases se compone de:

    • DiagramName.classdiagram : si se elimina o daña este archivo, se perderá el diagrama, pero las clases y asociaciones que se mostraban en él permanecerá en el modelo y podrán verse en el Explorador de modelos UML.

    • DiagramName.classdiagram.layout: si se elimina este archivo, las formas seguirán apareciendo en el diagrama, pero se perderán sus tamaños y posiciones. Cada archivo de diseño depende de un archivo de diagrama. Para verlo, haga clic en el botón [+] situado junto al archivo del diagrama en el Explorador de soluciones.

Nota

Es importante mantener la coherencia entre los archivos.Por ejemplo, si utiliza un control de código fuente para revertir los cambios en un archivo .uml, debería revertir los cambios correspondientes en los archivos .*diagram y .layout simultáneamente.Los elementos representados en archivo .*diagram se perderán si tampoco se representan en un archivo .uml.

Trabajar en proyectos de modelado compartidos

Para minimizar los conflictos que pueden producirse al trabajar simultáneamente en distintos elementos de un proyecto:

  • Estructure el proyecto de modelado en paquetes que representen distintas áreas de trabajo. Incluya todo el modelo en los paquetes, en lugar de dejarlo en el modelo raíz. Para obtener más información, vea Definir espacios de nombres y paquetes.

  • No es conveniente que varios usuarios trabajen en el mismo paquete o diagrama al mismo tiempo.

  • Si está utilizando perfiles, asegúrese de que todos tienen instalados los mismos perfiles. Vea Personalizar el modelo con perfiles y estereotipos.

  • Para asegurarse de que solamente modifica el paquete en el que está trabajando:

    • Establezca la propiedad LinkedPackage de un diagrama de clases, componentes o casos de uso de UML.

    • En el Explorador de modelos UML, arrastre una actividad o interacción al paquete tan pronto como la haya creado. Este elemento aparecerá en el Explorador de modelos UML cuando cree el primer nodo del diagrama de actividades o secuencia.

  • Para que le resulte más fácil hacer un seguimiento de los paquetes, cambie el nombre de los archivos de los paquetes para que reflejen los nombres de los paquetes reales.

  • En control de versiones de Team Foundation, ejecute siempre las operaciones Proteger y Obtener la última versión en todo el proyecto de modelado, pero nunca en archivos individuales.

  • Ejecute siempre una operación Get inmediatamente antes de proteger el proyecto de modelado.

  • Cierre siempre todos los diagramas antes de ejecutar una operación Get.

    Nota

    Si un archivo está abierto cuando ejecuta una operación Get y la operación produce cambios locales, se le pedirá que recargue el archivo.En este caso, haga clic en No y, a continuación, recargue el proyecto completo.En el Explorador de soluciones, haga clic con el botón secundario del mouse en el nodo del proyecto de modelado, haga clic en Descargar el proyecto y, a continuación, haga clic en Volver a cargar el proyecto.

Cambios que requieren acceso exclusivo al modelo

Antes de realizar los siguientes tipos de cambios, asegúrese de que mantiene un bloqueo de desprotección en todo el proyecto.

  • Cambios de nombre o eliminación de elementos a los que se hace referencia en otros paquetes.

  • Cambios de las propiedades de las relaciones que cruzan los límites del paquete.

  • Para obtener información acerca de los bloqueos de desprotección, vea Desproteger y editar archivos.

Para mover un archivo de diagrama dentro o fuera de una carpeta de proyecto

  1. Inicie el símbolo del sistema para desarrolladores para Visual Studio.

  2. Utilice tf rename para mover el archivo de diagrama y su archivo .layout:

    tf rename sourcePath targetPath

  3. En el Explorador de soluciones, haga clic con el botón secundario del mouse en el archivo y, a continuación, haga clic en Excluir del proyecto.

  4. Agregue el archivo a la carpeta de destino.

    En el Explorador de soluciones, haga clic con el botón secundario del mouse en el proyecto o la carpeta de destino, elija Agregar y, a continuación, haga clic en Elemento existente. En el cuadro de diálogo, seleccione el archivo de diagrama y, a continuación, haga clic en Agregar. El archivo de diseño se agregará automáticamente.

    Nota

    No puede mover el archivo a un proyecto diferente.

Combinar cambios en diagramas y archivos del modelo

Una vez que varios usuarios han trabajado simultáneamente en un modelo, control de versiones de Team Foundation le pedirá que combine los cambios de los archivos del modelo. Si al trabajar en proyectos distintos se siguen las indicaciones descritas en las secciones anteriores, no será necesario llevar a cabo la mayor parte de las combinaciones. Generalmente, los conflictos restantes podrán combinarse automáticamente sin ningún riesgo. Los tipos de cambios que se indican a continuación no deberían presentar dificultades:

  • Tipos de líneas de vida. Cuando agrega una línea de vida a una interacción (diagrama de secuencia), su tipo se almacena en el modelo raíz, a menos que haya creado la línea de vida a partir de un tipo existente.

  • Las actividades e interacciones nuevas se almacenan inicialmente en el modelo raíz.

  • Agregación de elementos y relaciones.

  • Cambios de nombre o eliminación de elementos a los que exclusivamente se hace referencia en su propio paquete.

Vea también

Conceptos

Modelar la aplicación

Otros recursos

Compartir modelos y exportar diagramas