Przegląd interfejsu Visual Studio 2010 i innych narzędzi ułatwiających pracę zespołową przy produkcji oprogramowania – cz. 1 

Udostępnij na: Facebook

Autor: Grzegorz Rycaj

Opublikowano: 2011-04-06

Team Foundation Server jest systemem umożliwiającym swobodną i komfortową współpracę wielu członkom zespołu. Razem z TFS, bez dodatkowych opłat, zyskujemy możliwość dostępu z wykorzystaniem następujących produktów (i ich unikalnych cech) i kanałów:

  • Rodzina produktów Visual Studio.
  • Aplikacje pakietu Office (Excel i Project).
  • Microsoft SharePoint (zarówno w wersji Windows Sharepoint Services/Sharepoint Foundation, jak i w ich “pełnych” odpowiednikach).
  • Rodzina produktów Expression.
  • TFS Web Access (dostęp za pośrednictwem przeglądarki).
  • Środowisko programistyczne Eclipse.

Jak widać, lista potencjalnych sposobów pracy z TFS jest całkiem imponująca. Uwagę zwraca obecność środowiska Eclipse – nie tylko zespoły wytwarzające oprogramowanie w technologiach Microsoftu mogą czerpać korzyści z Team Foundation Servera. Co więcej, jak się dalszej części niniejszego artykułu przekonamy, dołożono wszelkich starań, aby niezależnie od wyboru aplikacji użytkownik nie musiał poznawać zupełnie nowego interfejsu – np. wtyczka do Eclipse pracuje prawie identycznie jak ta do Visual Studio.

Dodatkowo istnieje możliwość zainstalowania specjalnej wtyczki (TFS Power Tools), działającej w formie rozszerzenia systemowego integrującego się z windowsowym Explorerem.

Nasz przegląd zaczniemy od podstawowego narzędzia pracy programistów, projektantów oprogramowania i testerów, czyli Visual Studio.

Rodzina produktów Visual Studio

Najważniejszym panelem (widokiem), od którego zaczynamy pracę z Team Foundation Serverem przy użyciu Visual Studio, jest Team Explorer. W wersji Visual Studio 2008 należy go ręcznie doinstalować (jest to dodatek darmowy), w wersji 2010 jest już instalowany automatycznie jako część środowiska.

Rys. 1. Team Explorer.

Powyżej, na rysunku 1, pokazano właśnie widok Team Explorer, podłączony do serwera o nazwie „zorba”. W drzewie prezentowane są projekty, które użytkownik wybrał do pracy.

Rozpoczynanie pracy

Aby rozpocząć pracę z serwerem TFS, należy kliknąć w pierwszą od prawej ikonkę (Connect to team project), a w nowo otwartym oknie wejść w zarządzanie serwerami (przycisk Servers) – wyświetli się panel, przedstawiony na rysunku 2. Mamy tu możliwość zdefiniowania serwerów, z którymi potencjalnie chcemy pracować. Co ważne – na danym komputerze lista TFS-ów jest współdzielona pomiędzy aplikacjami, co oznacza, że po jednokrotnym dodaniu danego serwera, będzie on potem wyświetlany również w innych aplikacjach poza Visual Studio.

Rys. 2. Zarządzanie podłączeniami do TFS.

Definiowanie nowego serwera polega na podaniu nazwy lub adresu URL serwera, portu, na którym nasłuchuje, i protokołu (http/https), z wykorzystaniem którego odbywa się komunikacja. Pomyślne skonfigurowanie połączenia z serwerem powinno skutkować wyświetleniem listy wszystkich projektów, do których ma uprawnienie użytkownik (rysunek 3).

Rys. 3. Lista projektów na TFS.

Utworzenie nowego projektu na TFS (w ramach którego mamy do dyspozycji funkcjonalności omówione poniżej) polega na przejściu przez krótkiego wizarda dostępnego z poziomu menu
File->New->Team Project. W kolejnych krokach jesteśmy pytani o nazwę projektu, szablon, według którego powinien zostać utworzony (prezentowane tu przykłady opierają się na szablonie MSF For Agile Software Development v5), i inne ustawienia związane z projektem, np. utworzenie strony w ramach SharePointa.

Rys. 4. Tworzenie nowego projektu w TFS.

Team Explorer jest miejscem wejściowym do pracy z projektami w TFS. Po rozwinięciu drzewa dla jednego z projektów widok powinien być podobny do poniższego:

Mamy tu możliwość pracy z jednostkami roboczymi (ang. Work Items – zostaną szczegółowo omówione w jednym z kolejnych artykułów niniejszego cyklu), Buildami czy też z Repozytorium kodu.

Jednostki robocze

Praca z jednostkami roboczymi jest jednym z tych elementów, które są możliwe przy wykorzystaniu praktycznie dowolnej aplikacji klienckiej. Co więcej, wyszukiwanie, przeglądanie i zarządzanie nimi odbywa się wszędzie w analogiczny lub nawet identyczny sposób, jak to ma miejsce w przypadku Visual Studio.

Do przeszukania listy wpisanych w systemie jednostek roboczych możemy wybrać jedno z predefiniowanych w ramach wybranego szablonu procesu zapytań (przewidziane są takie zapytania, jak: „Aktywne błędy”, „Moje zadania”, „Otwarte zagrożenia” itd.). Istnieje również możliwość stworzenia samodzielnie swojego zapytania. Aby to zrealizować, wystarczy kliknąć prawym przyciskiem myszy na węźle „Work Items” i wybrać pozycję New Query.

Rys. 5. Jednostki robocze – tworzenie własnego zapytania.

Nowo otwarte okno pozwoli nam na zdefiniowanie parametrów zapytania. Po jego uruchomieniu uzyskamy listę jednostek roboczych, spełniającą zadane kryteria. Własne zapytania można zapisywać do późniejszego ponownego użycia (analogicznego do omawianych powyżej predefiniowanych zapytań) – korzystając z polecenia „Save Query” w lewym górnym rogu okna.

Visual Studio pozwala nam również na tworzenie nowych jednostek roboczych. Lista dostępnych jednostek jest zależna od szablonu procesu, wybranego podczas tworzenia projektu. W przypadku MSF For Agile Software Development v5.0 będą to:

  • błąd (Bug),
  • zagrożenie (Issue),
  • tzw. dzielony krok (Shared step),
  • zadanie (Task),
  • przypadek testowy (Test Case),
  • scenariusz użycia (User Story).

Formularz zgłoszenia i edycji każdej z nich różni się od pozostałych, co wynika z różnych zastosowań. Temat ten zostanie szerzej poruszony w jednym z kolejnych artykułów niniejszego cyklu (omawiającym metodykę MSF/Scrum).

Repozytorium kodu

Aby rozpocząć pracę z repozytorium kodu, wystarczy w Team Explorerze dwukrotnie kliknąć na pozycji Source Control. W głównej części ekranu otworzy się widok Source Control Explorer, za pomocą którego mamy możliwość przeglądania projektów/katalogów/plików w naszym TFS (oczywiście z zachowaniem uprawnień przewidzianych przez administratora – tj. nie każdy musi widzieć wszystko).

Aby utworzyć nową solucję, nad którą będziemy pracować za pomocą TFS, wykonujemy kroki analogiczne do tych, gdy pracujemy bez udziału TFSa, tzn. z menu File wybieramy opcję New->Project/WebSite. Jedyna różnica polega na zaznaczeniu checkboxa „Add to source control”.

Codzienna lokalna praca z projektem nie różni się od standardowego sposobu pracy. Istotny natomiast jest moment umieszczania plików w repozytorium, jak również pobierania ich z niego.

Model współpracy z repozytorium zastosowany w TFS polega na przechowywaniu na dysku użytkownika lokalnej kopii plików i wymienianiu tylko wzajemnych różnic.

Nowo utworzoną solucję, którą podpięliśmy do repozytorium TFS, możemy w nim umieścić (check in) na kilka sposobów, z których poniżej opisane zostały dwa najpopularniejsze.
Pierwszym, chyba najwygodniejszym miejscem jest widok Solution Explorer. Klikamy prawym przyciskiem myszy na interesującej nas wysokości drzewa w solucji i wybieramy pozycję Check In.

Rys. 6. Umieszczanie zmian w repozytorium TFS.

Pojawia się nowe okno, w którym możemy zaznaczyć pliki do umieszczenia w repozytorium (domyślnie zaznaczone są pliki znajdujące się w drzewie solucji w miejscu kliknięcia lub w ramach wszystkich jego podgałęzi). Zmiany możemy opisać komentarzem i notatkami, możliwe jest też podpięcie zmian pod jednostkę roboczą (dzięki czemu można np. odnotować fakt, że konkretne zmiany rozwiązują  dany błąd). Ponadto TFS może wymusić spełnienie pewnych wymagań, jak np. „udany build przed check inem”, czy też „każdy check in musi być powiązany z jednostką roboczą”.

Drugim, podobnym sposobem umieszczenia dokonanych zmian w repozytorium jest skorzystanie z widoku Source Control Explorer. Odszukujemy w drzewie projektów i katalogów odpowiednie miejsce, klikamy prawym przyciskiem myszy i wybieramy opcję Check In. Pojawia się okienko, które znamy już z poziomu Solution Explorera.

Pobranie zmian z TFS jest operacją analogiczną do Check In. Po kliknięciu na odpowiedniej wysokości drzewa projektów należy wybrać opcję Get Latest Version lub Get Specific Version. Ta pierwsza pobiera po prostu najnowsze wersje plików z repozytorium. Druga pozwala wybrać konkretną wersję, którą chcemy mieć u siebie na dysku (niekoniecznie najnowszą, a np. wczorajszą).

Z pierwszej części niniejszego artykułu dowiedzieliśmy się, za pomocą jakich narzędzi możemy pracować z TFS. Wstępnie omówione też zostało podstawowe środowisko pracy programistów – Visual Studio. Wiemy już zatem, w jaki sposób utworzyć swój pierwszy projekt, jak dodać kod do repozytorium i pobrać najnowsze zmiany oraz w jaki sposób przeszukiwać jednostki robocze.

W kolejnych częściach artykułu pokazane zostaną pozostałe możliwości Visual Studio w kontekście współpracy z TFS, jak również przykłady zastosowania innych narzędzi dostępowych.
Na koniec pokazana zostanie część konfiguracyjna – nadawanie uprawnień czy też możliwości przystawki administracyjnej.