Zarządzanie konfiguracją Doskonalenie Procesów Programowych Wykład 6 Copyright, 2001 © Jerzy R. Nawrocki, Adam Czajka
Plan Wykładu Wprowadzenie Zarządzanie wersjami CVS Podsumowanie
Copyright, 2001 © Jerzy R. Nawrocki, Adam Czajka Wprowadzenie Zarządzanie konfiguracją to umiejętność identyfikowania zmian w oprogramowaniu budowanym przez zespół programistów oraz sprawowania nad nimi całkowitej kontroli. -- W. A. Babich86
Copyright, 2001 © Jerzy R. Nawrocki, Adam Czajka Wprowadzenie Wersja 1.0 Wersja 1.1 Wersja 2.0 sprzedaż Błąd w programie – konieczne są zmiany
Copyright, 2001 © Jerzy R. Nawrocki, Adam Czajka Wprowadzenie Wersja 1.0 Wersja 1.1 Wersja 2.0 sprzedaż Ale jak je przeprowadzić ????
Copyright, 2001 © Jerzy R. Nawrocki, Adam Czajka Wprowadzenie Wersja 1.0 Zmiany – programista 1 Konsolidacja Ale jak ??? Zmiany – programista 2
Copyright, 2001 © Jerzy R. Nawrocki, Adam Czajka Wprowadzenie Konieczne jest opracowanie specjalnych metod do zarządzania konfiguracją (tj. różnymi wersjami budowanego oprogramowania)
Copyright, 2001 © Jerzy R. Nawrocki, Adam Czajka Zarządzanie wersjami Elementy podlegające zmianom w projekcie : Programy (kod źródłowy i wynikowy) Dokumentacja (specyfikacja wymagań, opis modułów, instrukcja użytkownika,...) Dane (dane testowe)
Copyright, 2001 © Jerzy R. Nawrocki, Adam Czajka Zarządzanie wersjami Metody zarządzania zmianami : Manualna (zasada kopiuj i wklej) Zautomatyzowana (użycie oprogramowania do zarządzania zmianami, np. Source-Safe, CVS)
Copyright, 2001 © Jerzy R. Nawrocki, Adam Czajka Zarządzanie wersjami Wady metody manualnej : Duża zajętość miejsca na dysku przez wersje robocze Brak elastyczności Brak spójności Brak jednoznaczności Brak łatwego zarządzania zmianami
Copyright, 2001 © Jerzy R. Nawrocki, Adam Czajka Zarządzanie wersjami Wniosek : Konieczne jest użycie specjalnych narzędzi (programów) do zarządzania zmianami w budowanym oprogramowaniu
Copyright, 2001 © Jerzy R. Nawrocki, Adam Czajka CVS - wstęp – ang. Version Control System – ang. Version Control System Cechy programu : Praca w oparciu o centralne repozytorium Możliwość pracy przez sieć Automatyczne wykrywanie zmian w plikach i nadawanie im kolejnych numerów wersji
Copyright, 2001 © Jerzy R. Nawrocki, Adam Czajka CVS - wstęp – ang. Version Control System – ang. Version Control System Cechy programu : Wspomaga pracę nad zmianami w zespołach programistycznych Możliwość nieliniowego rozwoju budowanego oprogramowania Jest darmowy
Copyright, 2001 © Jerzy R. Nawrocki, Adam Czajka CVS - wstęp Typowy cykl pracy przy budowie oprogramowania przy użyciu CVS-a : Typowy cykl pracy przy budowie oprogramowania przy użyciu CVS-a : Założenie repozytorium dla projektu Dokonywanie zmian w plikach, rekompilacja, testowanie, itd... Generowanie nowej wersji projektu
Copyright, 2001 © Jerzy R. Nawrocki, Adam Czajka CVS Typowy cykl pracy przy budowie oprogramowania przy użyciu CVS-a : Typowy cykl pracy przy budowie oprogramowania przy użyciu CVS-a : Założenie repozytorium dla projektu Dokonywanie zmian w plikach, rekompilacja, testowanie, itd... Generowanie nowej wersji projektu
Copyright, 2001 © Jerzy R. Nawrocki, Adam Czajka CVS – polecenia systemu - zakładanie głównego repozytorium: cvs –d :local:c:\cvs init - budowa struktury katalogów dla projektu: mkdir projekt1 mkdir projekt1\dokumenty mkdir projekt1\testy
Copyright, 2001 © Jerzy R. Nawrocki, Adam Czajka CVS – polecenia systemu - zakładanie repozytorium dla projektu: cd projekt1 cvs import –m Nowy projekt projekt1 firma start
Copyright, 2001 © Jerzy R. Nawrocki, Adam Czajka CVS Typowy cykl pracy przy budowie oprogramowania przy użyciu CVS-a : Typowy cykl pracy przy budowie oprogramowania przy użyciu CVS-a : Założenie repozytorium dla projektu Dokonywanie zmian w plikach, rekompilacja, testowanie, itd... Generowanie nowej wersji projektu
Copyright, 2001 © Jerzy R. Nawrocki, Adam Czajka CVS – polecenia systemu - dodawanie plików do repozytorium : cvs add plik.c cvs commit –m Komentarz do pliku plik.c - usuwanie plików z repozytorium : cvs remove plik.c cvs commit
Copyright, 2001 © Jerzy R. Nawrocki, Adam Czajka CVS – polecenia systemu - pobieranie ostatniej wersji plików : cvs checkout projekt1 - zatwierdzanie nowej wersji pliku : cvs commit –m komentarz plik.c - zatwierdzanie nowej wersji projektu : cvs commit –m komentarz
Copyright, 2001 © Jerzy R. Nawrocki, Adam Czajka CVS – polecenia systemu - wymuszanie nowej wersji dla plików : cvs commit –r usuwanie wersji roboczej projektu : cd.. cvs release –d projekt1
Copyright, 2001 © Jerzy R. Nawrocki, Adam Czajka CVS Typowy cykl pracy przy budowie oprogramowania przy użyciu CVS-a : Typowy cykl pracy przy budowie oprogramowania przy użyciu CVS-a : Założenie repozytorium dla projektu Dokonywanie zmian w plikach, rekompilacja, testowanie, itd... Generowanie nowej wersji projektu
Copyright, 2001 © Jerzy R. Nawrocki, Adam Czajka CVS – polecenia systemu - ustawianie etykiety dla wersji projektu : cvs tag rev_1_1. - pobieranie określonej wersji projektu : cvs checkout -r rev_1_1 projekt1 - ustawianie etykiety dla wersji pliku : cvs tag rev_1_1 plik.c
Copyright, 2001 © Jerzy R. Nawrocki, Adam Czajka CVS – polecenia systemu - określanie rozgałęzienia w projekcie : cvs tag -b branch_1_1 - pobieranie plików rozgałęzienia z repozytorium : cvs checkout -r branch_1_1 projekt1
Copyright, 2001 © Jerzy R. Nawrocki, Adam Czajka CVS – polecenia systemu - łączenie rozgałęzień : cvs update -j branch_1_1 plik.c cvs update -j branch_1_1. UWAGA: Mogą pojawić się konflikty wersji !
Copyright, 2001 © Jerzy R. Nawrocki, Adam Czajka CVS – rozgałęzienia
Copyright, 2001 © Jerzy R. Nawrocki, Adam Czajka CVS – rozgałęzienia
Copyright, 2001 © Jerzy R. Nawrocki, Adam Czajka CVS – rozgałęzienia Dopiero po usunięciu konfliktów (ręczna edycja plików) można zatwierdzić nową wersję projektu: cvs commit –m Nowa wersja
Copyright, 2001 © Jerzy R. Nawrocki, Adam Czajka CVS - podsumowanie cvs checkout
Copyright, 2001 © Jerzy R. Nawrocki, Adam Czajka CVS - podsumowanie zmiany w plikach
Copyright, 2001 © Jerzy R. Nawrocki, Adam Czajka CVS - podsumowanie cvs commit
Copyright, 2001 © Jerzy R. Nawrocki, Adam Czajka CVS – nakładki Aby ułatwić pracę początkującym użytkownikom z programem CVS powstały różne nakładki, np. WinCVS
Copyright, 2001 © Jerzy R. Nawrocki, Adam Czajka WinCVS
WinCVS
CVS - źródła
Copyright, 2001 © Jerzy R. Nawrocki, Adam Czajka Podsumowanie Wprowadzenie do problemu Zarządzanie wersjami CVS Podsumowanie
Copyright, 2001 © Jerzy R. Nawrocki, Adam Czajka Ocena wykładu 1. Ogólne wrażenie? (1 - 6) 2. Za szybko, czy za wolno? 3. Czy dowiedziałeś(-aś) się czegoś ciekawego? 4. Co można zmienić na lepsze i w jaki sposób?