Gestione di modelli e grafici nel controllo della versione
In Visual Studio Ultimate è possibile posizionare i file di diagramma e di progetto di modello, i file di documenti grafici (.dgml) e i file di query di Esplora architettura (.dgql) in Controllo della versione di Team Foundation. Per ulteriori informazioni, vedere Aggiungere file al server.
È richiesta particolare attenzione quando diversi utenti lavorano sullo stesso progetto di modello.
Importante
Per suggerimenti sull'organizzazione di modelli in progetti medi i grandi, vedere Strutturazione delle soluzioni di modellazione.
File in un progetto di modello
Più utenti possono lavorare contemporaneamente su un progetto di modello, purché lavorino su file diversi.
Per evitare o risolvere i conflitti tra le modifiche apportate da diversi utenti, è importante comprendere il modo in cui il modello viene archiviato nei file.
Ogni pacchetto viene archiviato in un file .uml separato, memorizzato nella cartella del progetto ModelDefinition. Anche il modello dispone di un file .uml. Se uno di questi file viene eliminato o danneggiato, il pacchetto corrispondente o il modello andrà perso.
Ogni diagramma viene archiviato in due file. Ad esempio, un diagramma classi contiene:
DiagramName.classdiagram : se questo file viene eliminato o danneggiato, il diagramma andrà perso, ma le classi e le associazioni in esso contenute rimarranno nel modello e potranno essere visualizzate in Esplora modelli UML.
DiagramName.classdiagram.layout: se questo file viene eliminato, le forme rimarranno nel diagramma, ma andranno perse le relative dimensioni e posizioni. Ogni file di layout è sussidiario a un file di diagramma. Per visualizzarlo, fare clic su [+] accanto al file di diagramma in Esplora soluzioni.
Nota
È importante mantenere la coerenza tra i file.Ad esempio, se si utilizza il controllo del codice sorgente per annullare le modifiche in un file di .uml, è necessario annullare le modifiche corrispondenti nei file .*diagram e .layout contemporaneamente.Gli elementi rappresentati in un file .*diagram andranno persi se non vengono rappresentati in un file .uml.
Utilizzo di progetti di modello condivisi
Per ridurre i conflitti che possono sorgere per il lavoro simultaneo svolto su diverse parti di un progetto:
Dividere il progetto di modello in pacchetti che rappresentano diverse aree di lavoro. Spostare l'intero modello nei pacchetti, anziché lasciarlo nel modello radice. Per ulteriori informazioni, vedere Definizione di pacchetti e spazi dei nomi.
Utenti diversi non devono lavorare contemporaneamente sullo stesso pacchetto o sullo stesso diagramma.
Se si utilizzano i profili, verificare che tutti abbiano installato gli stessi profili. Vedere Personalizzazione del modello con profili e stereotipi.
Per assicurarsi che un utente modifichi solo il pacchetto sul quale sta lavorando:
Impostare la proprietà LinkedPackage di un diagramma caso di utilizzo, classi o dei componenti UML.
In Esplora modelli UML trascinare un'attività o un'interazione nel pacchetto appena creato. Questo elemento verrà visualizzato in Esplora modelli UML quando si crea il primo nodo nel diagramma di sequenza o di attività.
Per tenere traccia dei pacchetti, rinominare i file dei pacchetti in modo da riflettere i nomi dei pacchetti effettivi.
In Controllo della versione di Team Foundation eseguire sempre le operazioni Archivia e Leggi ultima versione nel progetto di modello completo, mai sui singoli file.
Eseguire sempre un'operazione Leggi immediatamente prima di archiviare il progetto di modello.
Chiudere sempre chiudere tutti i diagrammi prima di eseguire un'operazione Leggi.
Nota
Se un file è aperto quando si esegue un'operazione Leggi e l'operazione comporta modifiche locali, verrà richiesto di ricaricare il file.In tal caso, fare clic su No, quindi ricaricare il progetto completo.In Esplora soluzioni fare clic con il pulsante destro del mouse sul nodo di progetto di modello, scegliere Scarica progetto, quindi fare clic su Ricarica progetto.
Modifiche che richiedono l'accesso esclusivo al modello
Prima di effettuare i seguenti tipi di modifiche, verificare che si disponga di un blocco di estrazione per l'intero progetto.
Ridenominazione o eliminazione di elementi ai cui viene fatto riferimento da altri pacchetti.
Modifica delle proprietà di relazioni che intersecano i limiti del pacchetto.
Per ulteriori informazioni sui blocchi di estrazione, vedere Estrarre e modificare i file.
Per spostare un file di diagramma all'interno o all'esterno di una cartella del progetto
Avviare Prompt dei comandi per gli sviluppatori per Visual Studio.
Utilizzare tf rename per spostare il file di diagramma e il relativo file .layout:
tf rename sourcePath targetPath
In Esplora soluzioni fare clic con il pulsante destro del mouse sul file, quindi scegliere Escludi dal progetto.
Aggiungere il file alla cartella di destinazione.
In Esplora soluzioni fare clic con il pulsante destro del mouse sulla cartella di destinazione o sul progetto, scegliere Aggiungi, quindi fare clic su Elemento esistente. Nella finestra di dialogo selezionare il file di diagramma, quindi fare clic su Aggiungi. Il file di layout verrà aggiunto automaticamente.
Nota
Non è possibile spostare il file in un progetto diverso.
Unione delle modifiche in diagrammi e file di modello
Quando più utenti lavorano contemporaneamente su un modello, in Controllo della versione di Team Foundation verrà richiesto di unire le modifiche nei file di modello. Se si lavora su progetti separati come descritto nelle sezioni precedenti si eviterà la maggior parte delle unioni. In genere, i restanti conflitti possono essere uniti automaticamente senza problemi. I seguenti tipi di modifiche non dovrebbero comportare alcuna difficoltà:
Tipi di linee di vita. Quando si aggiunge una linea di vita a un'interazione (diagramma di sequenza), il relativo tipo viene archiviato nel modello radice, a meno che la linea di vita non sia stata creata da un tipo esistente.
Nuove attività e interazioni che vengono archiviate inizialmente nel modello radice.
Aggiunta di elementi e relazioni.
Ridenominazione o eliminazione di elementi ai cui viene fatto riferimento solo all'interno dei pacchetti stessi.
Vedere anche
Concetti
Modellazione dell'applicazione