Synchronizacja prac projektowych jest bardzo ważnym elementem cyklu życia projektu. Pozwala ona na uzyskanie większej produktywności, dzięki możliwości prowadzenia równoległych prac programistycznych oraz skróceniu czasu cyklu udostępniania uzyskanych efektów.
Jednym z narzędzi, z rodziny produktów IBM, realizujących synchronizację prac projektowych jest Rational ClearCase. Oprogramowanie to umożliwia zarządzanie cyklem życia projektu. Wbudowano w nie takie mechanizmy jak system kontroli wersji, automatyczne zarządzanie obszarami roboczymi, obsługa współbieżnych prac programistycznych, zarządzanie planami bazowymi oraz zarządzanie kompilacjami i wydaniami oprogramowania. Sprawia to, że Rational ClearCase oferuje pełną funkcjonalność niezbędną do tworzenia, aktualizowania, budowania i dostarczania aplikacji o newralgicznym znaczeniu dla działalności przedsiębiorstw, a także umożliwia ponowne wykorzystanie zasobów programistycznych oraz prawidłową konserwację oprogramowania.
W środowisku Rational Software Architect zostały zawarte mechanizmy współpracy z programem CVS (Concurrent Versions System). CVS jest najważniejszym systemem należącym do rodziny systemów kontroli wersji. Pracuje on w architekturze klient-serwer. Źródła są przechowywane przez serwer CVS w miejscu zwanym repozytorium. Dostęp do nich odbywa się za pomocą klienta CVS. Nie ma znaczenia czy repozytorium jest na maszynie lokalnej czy zdalnej.
Podstawową jednostką przetwarzania w systemie CVS jest plik. Katalog z plikami w kulturze CVS’a nazywany jest modułem. Każdy katalog czy podkatalog jest traktowany jako niezależny moduł. Zorientowanie na plik a nie projekt przez CVS’a bywa jednak częstą przyczyną nieporozumień u osób zaczynających z nim pracę.
Aby zaprezentować mechanizm porównywania i łączenia modeli w środowisku Rational Software Architect wykorzystany zostanie przykładowy projekt zawierający model bazowy i dwa modele zmodyfikowane.
Celem porównania trzech modeli należy po zaznaczeniu wszystkich trzech modeli w widoku Project Explorer w menu podręcznym, które pojawia się po wciśnięciu prawego przycisku myszy, wybrać opcję Compare with > Each other.
Na ekranie pojawi się okno prezentujące podsumowanie porównania tychże modeli. Zostało ono przedstawione na poniższym rysunku:
rys. 1 Porównywanie modeli
Można sprawdzić szczegóły porównania tychże modeli przeglądając zakładki Confilcts, Left Changes oraz Right Changes. Zawartości zakładek przedstawione zostały poniżej:
Rys. 2 Znalezione konflikty pomiędzy modelami
Wszystkie zmiany można analizować traktując jako bazę oba zmodyfikowane modele.
Rys. 3 Zmiany znalezione pomiędzy modelem bazowym a lewym ?modelem?
Rys. 4 Zmiany znalezione pomiędzy modelem bazowym a prawym ?modelem?
Po przyjrzeniu różnic pomiędzy modelami można zaakceptować lub odrzucić proponowane przez środowisko RSA zmiany dotyczące modelu bazowego.
Rys. 5 Akceptowanie zmian
Po rozpatrzeniu wszystkich zmian należyt zapisać model i zamknąć edytor porównania.
Podsumowując RSA poprzez mechanizmy CVS wspiera zarządzanie wersjami, ale wymaga to „niestety” żmudnego przeglądania wszystkich zmian i ręcznego ich zatwierdzania lub odrzucania.