Gerenciando modelos e gráficos com controle de versão
No Visual Studio Ultimate, você pode posicionar seu projeto de modelagem e arquivos de diagrama, arquivos de documento de gráfico (.dgml) e arquivos de consulta do Architecture Explorer (.dgql) em Controle de versão do Team Foundation. Para obter mais informações, consulte Adicionar arquivos ao servidor.
Cuidado específico é necessário quando vários usuários trabalham no mesmo projeto de modelagem.
Importante
Para obter sugestões sobre como organizar modelos em um projeto grande ou médio, consulte Soluções de modelagem da estruturação.
Arquivos em um projeto de modelagem
Mais de um usuário podem trabalhar em um projeto de modelagem ao mesmo tempo, desde que trabalhem em arquivos diferentes.
Para evitar ou resolver conflitos entre as alterações feitas por diferentes usuários, é importante compreender como o modelo é armazenado nos arquivos.
Cada pacote é armazenado em um arquivo .uml separado, que é mantido na pasta de projeto ModelDefinition . O modelo também tem um arquivo .uml. Se um desses arquivos for excluído ou corrompido, o pacote ou modelo correspondente será perdido.
Cada diagrama é armazenado em dois arquivos. Por exemplo, um diagrama de classe tem:
DiagramName.classdiagram - se este arquivo for excluído ou corrompido, o diagrama será perdido, mas as classes e as associações que ele mostrava ainda estarão no modelo e poderão ser vistos no Gerenciador de Modelo UML.
DiagramName.classdiagram.layout - se este arquivo for excluído, as formas ainda aparecerão no diagrama, mas perderão seus tamanhos e posições. Cada arquivo de layout é subsidiário a um arquivo de diagrama. Para ver, clique em [+] ao lado do arquivo de diagrama no Gerenciador de Soluções.
Dica
É importante manter a consistência entre os arquivos.Por exemplo, se você usar o controle de origem para reverter alterações em um arquivo .uml, deverá reverter as alterações correspondentes nos arquivos .*diagram e .layout ao mesmo tempo.Os elementos representados em um arquivo .*diagram serão perdidos se não forem também representados em um arquivo .uml.
Trabalhar em projetos compartilhados de modelagem
Para minimizar conflitos entre o trabalho simultâneo em diferentes partes de um projeto:
Divida seu projeto de modelagem em pacotes que representem diferentes áreas de trabalho. Mova o modelo inteiro nos pacotes, em vez de deixá-lo no modelo de raiz. Para obter mais informações, consulte Definindo pacotes e namespaces.
Diferentes usuários não devem trabalhar no mesmo pacote ou diagrama ao mesmo tempo.
Se você estiver usando perfis, verifique se todos instalaram os mesmos perfis. Consulte Personalizando o modelo com perfis e estereótipos.
Para ajudar a garantir que tenha alterado somente o pacote no qual está trabalhando:
Defina a propriedade LinkedPackage de uma classe, um componente ou um diagrama de caso de uso UML.
No Model Explorer do UML, arraste uma atividade ou interação para seu pacote assim que ele for criado. Este elemento será exibido no Explorador de Modelos UML quando você cria o primeiro nó no diagrama de atividade ou de sequência.
Para ajudar a acompanhar os pacotes, renomeie os arquivos do pacote para refletir os nomes reais de pacote.
No Controle de versão do Team Foundation, sempre execute as operações Fazer Check-in e Obter Última Versão no projeto de modelagem completo, nunca em arquivos individuais.
Execute sempre uma operação Get imediatamente antes de fazer o check-in no projeto de modelagem.
Sempre feche todos os diagramas antes de executar uma operação Get.
Dica
Se um arquivo estiver aberto quando você executar um Get, e se a operação resultar em alterações locais, então a recarga do arquivo será solicitada.Nesse caso, clique em Não e depois recarregue o projeto completo.No Gerenciador de Soluções, clique com o botão direito do mouse no nó de projeto de modelagem, clique em Descarregar Projeto e então clique em Recarregar Projeto.
Alterações que exigem acesso exclusivo ao modelo
Antes de fazer os seguintes tipos de alterações, certifique-se de ter um bloqueio de check-out em todo o projeto.
Renomear ou excluir elementos que são referenciados de outros pacotes.
Alterando propriedades de relacionamentos que cruzem limites de pacote.
Para aprender fazer o check-out de bloqueios, consulte Fazer check-out e editar arquivos.
Para mover um arquivo de diagrama para dentro ou fora de uma pasta de projeto
Início Prompt de comando do desenvolvedor do Visual Studio.
Use tf rename para mover o arquivo de diagrama e seu arquivo .layout:
tf rename sourcePath targetPath
No Gerenciador de Soluções, clique com o botão direito do mouse no arquivo e clique em Excluir do Projeto.
Adicione o arquivo à pasta de destino.
No Gerenciador de Soluções, clique com o botão direito do mouse na pasta de destino ou no projeto, aponte para Adicionar e clique em Item Existente. Na caixa de diálogo, selecione o arquivo de diagrama e então clique em Adicionar. O arquivo de layout será adicionado automaticamente.
Dica
Você não pode mover o arquivo a um projeto diferente.
Mesclando alterações em arquivos e diagramas de modelo
Após mais de um usuário ter trabalhado em um modelo simultaneamente, o Controle de versão do Team Foundation irá pedir para mesclar as alterações em arquivos de modelo. Trabalhar em projetos separados como descrito nas seções anteriores evitará a maioria das mesclagens. Normalmente, os conflitos restantes podem ser mesclados automaticamente com segurança. Os seguintes tipos de alterações não devem causar dificuldade:
Tipos de linhas da vida. Quando você adicionar uma corda de salvamento a uma interação (diagrama de sequência), o tipo é armazenado no modelo de raiz, a menos que você crie a corda de salvamento de um tipo existente.
As novas atividades e interações são inicialmente armazenadas no modelo raiz.
Adicionando e elementos e relações.
Renomear ou excluir elementos que são referenciados somente dentro do respectivo pacote.