Guida al tool: Impostazione del controllo versione utilizzando Rational Rose RealTime con Rational ClearCase
Questa guida al tool illustra come impostare il controllo versione utilizzando Rational Rose RealTime con Rational ClearCase.
Strumento: Rational Rose RealTime
Relazioni
Descrizione principale

Panoramica

Rational ClearCase utilizza un modello di visualizzazione combinato con un file system virtuale che consentono di specificare la sequenza di versioni di file con cui si vuole lavorare. Rational Rose RealTime vede questi file nella vista corrente come se forrero archiviati in un file system normale (non-ClearCase). Specifica la serie di file che compone il modello, e ClearCase fornisce le versioni di questi file determinata dalla specifica di configurazione della vista.

icona del libro Per informazioni dettagliate sull'utilizzo di Rose RealTime con ClearCase, consultare il documento relativo alla Guida allo sviluppo del team, Rational Rose RealTime.

Prima di utilizzare ClearCase, è necessario impostare le stazioni di lavoro su cui verrà utilizzato.

Prerequisito: Impostazione di ClearCase

Consigli generali

Se si utilizza Microsoft Windows NT, non accedere le viste tramite il punto di mount MVFS o dall'unità M:. Utilizzare le viste da unità esplicite quali X:, Y:, o Z:. Ciò elimina le dipendenze dei nomi delle viste.

Integrazione UCM

L'integrazione UCM consente di assegnare attività a revisioni dall'interno della serie di tool, se si lavora con UCM VOB. In aggiunta si potrà ridefinire, distribuire ed avviare l'Explorer di progetto da Rose RealTime.

Viste istantanee

Con ClearCase, si potrà avviare un'aggiornamento della vista istantanea da Rose RealTime. La vista istantanea contiene la struttura directory ed i file sorgenti.

Si potrà utilizzare la vista istantanea se si verifica una delle seguenti condizioni:

  • Il proprio computer non supporta viste dinamiche.
  • Si vogliono ottimizzare le prestazioni di build per raggiungere le velocità native.
  • Si vuole lavorare con i file sorgenti sotto il controllo di ClearCase quando si è scollegati dalla rete che ospita il VOB, o connessi alla rete in modo intermittente.
  • Si vuole accedere una vista da un computer non ClearCase.
  • Il progetto non utilizza il controllo del build e la risoluzione del build di ClearCase.
Impostazione di lavoro Rational ClearCase

tutte le stazioni di lavoro che accederanno un VOB o una vista, devono essere impostate per l'uso di ClearCase. Per Windows NT/2000 si considerano anche le stazioni di lavoro utilizzate per lo sviluppo. In UNIX, si considerano anche le macchine che fungono da server della vista.

Inoltre tutte le macchine che fungono da server della vista delle viste ClearCase utilizzate da RealTime, devono essere impostate per ClearCase. Se si utilizza ClearCase MultiSite, sarà necessario effettuare tale operazione in tutti i siti dove i VOB contenenti gli elementi di Rose sono replicati. Si potrà determinare le macchine che fungono da server della vista digitando il seguente comando in un finestra comandi:

 cleartool lsview

La seconda voce in ciascuna riga di output indica il nome della macchina su cui è in esecuzione il server della vista. Ad esempio se la riga seguente è l'output del comando lsview:

 myview mymachinevwsmyview.vws

"mymachine" è il nome della macchina dove è presente il server della vista per myview.

icona del libro Per ulteriori dettagli, consultare il proprio amministratore ClearCase o le informazioni contenute nei tool di controllo di origine in Guide to Team Development, Rational Rose RealTime.

Impostazione iniziale

I passi che seguono sono validi se si lavorerà su un modello che è già sotto controllo origine in un VOB. Per ulteriori informazioni, consultare le informazioni di amministrazione del controllo origine in Guide to Team Development, Rational Rose RealTime.

  1. Creare la vista integratore in modo che le specifiche di configurazione appaiano come segue:
 
element * CHECKEDOUT
element * /main/LATEST
  1. Creare le etichette del progetto in modo da definire diverse sequenze. Esempi significativi di etichette sono:
  • TC_BASELINE_0 - per rappresentare lo stato iniziale del progetto.
  • TC_BUILDFILES - per indicare quali versioni degli elementi includere nel successivo build automatizzato
  • TC_LATEST_STABLE - per identificare la sequenza stabile più recente nel ramo di integrazione
  1. Creare la sequenza iniziale ed applicare l'etichetta al VOB. Un esempio di sequenza iniziale è:
 
[x:dev]cleartool mklabel -recurse TC_BASELINE_0 dev
  1. Creare la maschera della vista dello sviluppatore per assicurare che tutte le specifiche di configurazione siano distribuite da una base comune. Ciò consente di ottenere un accesso congruente e controllato al modello, e facilita l'uso delle sequenze e dei rami privati.

    Vi sono due funzioni principali che verranno eseguite dagli sviluppatori; visualizzazione e sviluppo. Ciascuna richiede specifiche di configurazione differenti.

icona del libro Per informazioni sulle regole delle maschere, consultare le informazioni di impostazione iniziali in Guide to Team Development, Rational Rose RealTime.

Modalità d'uso del tool

Per utilizzare ClearCase di Rose RealTime, procedere come segue:

  1. Controllare gli elementi del modello appropriati come unità
  2. Creare un'area di lavoro locale
  3. Salvare il modello nell'area di lavoro
  4. Configurare le opzioni di controllo origine dello spazio di lavoro.
  5. Aggiungere il modello al controllo origine
  6. Rendere disponibile lo spazio di lavoro predefinito a tutti i membri del progetto
  7. Utilizzare le maschere della vista
  8. Entità ClearCase
  9. Automatizzare i build
  10. Processo dello sviluppatore
  11. Processo di integrazione

1. Controllo degli elementi del modello appropriati come unità

Determinare il livello di granularità richiesto per il progetto e per l'ambiente del team al punto attuale di sviluppo. Fare ciò in collaborazione con l'architetto del progetto.

2. Creazione dell'area di lavoro locale

Sarà necessario stabilire un'area di lavoro locale per salvare i modelli in ClearCase. Ciascuno sviluppatore che accede i file Rose RealTime in VOB deve utilizzare la propria vista dedicata.

3. Salvataggio di un modello nell'area di lavoro

Prima di inserire il modello nel controllo origine, deve essere salvato nell'area di lavoro locale. Salvarlo nella directory associata con il proprio repository del controllo origine.

4. Configurazione delle opzioni di controllo origine dello spazio di lavoro.

Per abilitare il controllo origine, definire le impostazioni appropriate descritte nei fondamenti del controllo origine in Guide to Team Development, Rational Rose RealTime.

5. Aggiunta del modello al controllo origine

Il modo più semplice per aggiungere tutte le unità al controllo origine è quello di utilizzare il tool Inoltra tutte le modifiche al controllo origine. Consultare le informazioni del controllo origine in Guide to Team Development, Rational Rose RealTime per ulteriori dettagli.

6. Rendere disponibile lo spazio di lavoro predefinito a tutti i membri del progetto

Il file dello spazio di lavoro (.rtwks) contiene informazioni comuni a tutti gli utenti che lavorano sul progetto. Le impostazioni verranno modificate molto raramente, se mai lo saranno, dopo l'impostazione iniziale. Tutti gli sviluppatori del progetto dovranno utilizzare copie identiche del file dello spazio di lavoro. Per tale ragione, si potrà inserire questo file sotto il controllo origine così da avere disponibile una versione comune a tutti gli utenti del progetto. Rational Rose RealTime non fornisce supporto esplicito per eseguire il check in o il check out di questo file.

Dopo che il gestore del controllo origine ha aggiunto il modello, lo spazio di lavoro deve essere aggiunto manualmente utilizzando i tool di controllo origine. Gli utenti dovranno quindi recuperare lo spazio di lavoro come parte del proprio aggiornamento iniziale dell'area di lavoro. Ciò assicura che tutti gli utenti del team utilizzano le stesse impostazioni del controllo origine del progetto.

7. Utilizzo delle maschere della vista

Le maschere della vista sono utilizzate per assicurare che gli sviluppatori utilizzino una base comune per le specifiche di configurazione della vista e per rendere più semplice il lavoro nei rami privati. Una maschera della vista specifica il ramo di integrazione da cui lavorare, e comprende una maschera di specifiche della configurazione che può essere riempita con ulteriori regole.

icona del libro Consultare le informazioni di sviluppo parallelo di Rational ClearCase in Guide to Team Development, Rational Rose RealTime per ulteriori dettagli.

8. Entità ClearCase

Le viste, le maschere delle viste e le etichette possono essere create per facilitare le funzioni di Rational ClearCase. Consultare le informazioni di sviluppo parallelo di Rational ClearCase in Guide to Team Development, Rational Rose RealTime per ulteriori dettagli.

9. Automatizzazione dei build

Per permettere la scelta selettiva delle versioni dei file da inserire nel build, il compilatore seleziona tutte le versioni etichettate con TC_BUILDFILES. Ciò consente una flessibilità nella modifica delle versioni esatte da inserire nel build se necessario. Ad esempio, se la versione più recente di un file contiene codice che non viene compilato si potrà prendere la sua versione con etichetta precedente.

Le seguenti operazioni vengono eseguite in un build:

  1. Etichettature dei file del build.
  2. Esecuzione del build.
  3. Quando il build termina con esito positivo:
    • Creazione di una etichetta di sequenza nuova da applicare alle versioni del file di build.
    • Applicazione di TC_LATEST_STABLE alle versioni dei file di build.
    • Rendere disponibile la nuova sequenza agli sviluppatori.

10. Processo dello sviluppatore

Ciascuna attività di sviluppo viene completata da un singolo sviluppatore e viene eseguita in un ramo privato specifico per questa attività. Ogni sviluppatore necessita della propria vista privata. La vista si basa sul punto di ramificazione del ramo di integrazione identificato da un'etichetta di build.

E' necessario scegliere un nome di ramo univoco che identifichi il lavoro eseguito, quale:

 paulz_timing

Le regole di specifica di configurazione della vista vengono impostate per eseguire il check out e l'assegnazione al ramo dal punto di ramificazione nel ramo privato in modo automatico. Allo stesso modo i nuovi elementi creati durante l'attività di sviluppo sono immediatamente assegnati al ramo privato.

Poiché il ramo non è visibile ad altri sviluppatori, gli utenti potranno eseguire il check in di modifiche incrementali nel ramo. Quando lo sviluppatore crede che le modifiche siano completate e pronte per l'integrazione, informa l'integratore.

Posizionando i rami privati dello sviluppatore fuori dalle etichette corrispondenti alle versioni utilizzate da build automatizzati, ciascuno sviluppatore sarà in grado di riutilizzare buona parte dei risultati del build sotto forma di oggetti derivati inseriti. Ciò riduce in modo significativo la quantità di compilazioni richieste per ciascuno sviluppatore quando vengono effettuate delle modifiche.

11. Processo di integrazione

ciascuna attività di sviluppo deve essere fusa in un ramo di integrazione. ClearCase ha diversi tool disponibili per eseguire tale fusione. Il comando cleartool findmerge può essere utilizzato per fondere tutte le modifiche da un ramo ad un altro. Dalla vista dell'integratore si potrà utilizzare il seguente comando:

 cleartool findmerge dev -all -fversion .../paulz_timing/LATEST -merge

In alternativa, gli utenti di Windows NT potranno utilizzare ClearCase Merge Manager per eseguire la stessa operazione.

Entrambi i metodi fonderanno le versioni delle directory ed utilizzeranno Rose RealTime Model Integrator per fondere i file di modello. Dopo l'esecuzione dell'operazione l'integratore deve caricare il modello in Rose RealTime e verificare che non siano avvenuti errori. Se il modello si carica in modo corretto, si dovrà eseguire il check in delle modifiche utilizzando la voce di menu Tool -> Controllo origine -> Inoltra le modifiche al controllo origine.

Per integrare una serie di attività di sviluppo:

  1. Caricare il modello dalla vista dell'integratore.
  2. Eseguire la fusione come riportato in precedenza.
  3. Utilizzare Tool -> Controllo origine -> Sincronizza intero modello. Ciò ricaricherà tutti i file modificati durante la fusione.
  4. Assicurarsi che le differenze di fusione siano valide.
  5. Utilizzare Tool -> Controllo origine -> Inoltra le modifiche al controllo origine per accettare le modifiche ed inserirle nel controllo origine.
  6. Ripetere i passi dal 2 al 5 per ciascuna attività da integrare.