Programowanie Zespołowe



Podobne dokumenty
Programowanie zespołowe

System kontroli wersji SVN

Zobacz to na własne oczy. Przyszłość już tu jest dzięki rozwiązaniu Cisco TelePresence.

Wdrożenie modułu płatności eservice dla systemu Virtuemart 2.0.x

Chmura obliczeniowa. do przechowywania plików online. Anna Walkowiak CEN Koszalin

Szczegółowe zasady obliczania wysokości. i pobierania opłat giełdowych. (tekst jednolity)

Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące.

TAJEMNICA BANKOWA I OCHRONA DANYCH OSOBOWYCH W PRAKTYCE BANKOWEJ

Numer obszaru: 13. Jak pracować z uczniem uzdolnionym informatycznie? Od grafiki i multimediów do poważnych algorytmów w środowisku Logomocja-Imagine

Regulamin uczestnictwa w kursach internetowych dla nauczycieli. Definicje:

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla uŝytkowników modułu wyszukiwania danych Warszawa 2007

Platforma do obsługi zdalnej edukacji

Poniżej instrukcja użytkowania platformy

Działalność gospodarcza i działalność statutowa odpłatna organizacji pozarządowych. Tadeusz Durczok, 8 grudnia 2008

Zdalne odnawianie certyfikatów do SWI

Warunki Oferty PrOmOcyjnej usługi z ulgą

Jak usprawnić procesy controllingowe w Firmie? Jak nadać im szerszy kontekst? Nowe zastosowania naszych rozwiązań na przykładach.

Pierwsze kroki. Krok 1. Uzupełnienie danych własnej firmy

Audyt SEO. Elementy oraz proces przygotowania audytu. strona

epuap Ogólna instrukcja organizacyjna kroków dla realizacji integracji

Ewidencja abonentów. Kalkulacja opłat

PROGRAM ZAPEWNIENIA I POPRAWY JAKOŚCI AUDYTU WEWNĘTRZNEGO

SZCZEGÓŁY OFERTY DLA SZKÓŁ i AKADEMII SPORTOWYCH

Zaznaczając checkbox zapamiętaj program zapamięta twoje dane logowania. Wybierz cmentarz z dostępnych na rozwijalnej liście.

Numer obszaru: 8 E-learning w szkole - wykorzystanie platform edukacyjnych w pracy szkoły

System wymiany informacji Wyzwania związane z obsługą klienta masowego. Michał Słoniewicz Departament Jakości Danych

Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych ul. Koszykowa 75, Warszawa

newss.pl Ultraszybki internet nowej generacji - UPC Fiber Power

Rozwijanie kompetencji nauczycieli i uczniów z zakresu stosowania TIK. Wykorzystanie e-podręczników i e-zasobów w nauczaniu i w uczeniu się

Strategia rozwoju kariery zawodowej - Twój scenariusz (program nagrania).

Usługa Powszechna. Janusz Górski Michał Piątkowski Polska Telefonia Cyfrowa

Uchwała Nr XXII / 242 / 04 Rady Miejskiej Turku z dnia 21 grudnia 2004 roku

Microsoft Management Console

Modem Thomson SpeedTouch 330

linkprog programator USB

POWIATOWY URZĄD PRACY

Szczegółowy Opis Przedmiotu Zamówienia

Bolączki międzynarodowego systemu - jak z tego korzystać?

IBM Global Financing Jak sfinansować projekt IT?

Stacjonarne Wszystkie Katedra Inżynierii Produkcji dr Sławomir Luściński. Kierunkowy Nieobowiązkowy Polski Semestr trzeci. Semestr zimowy Brak Tak

Regulamin świetlicy i stołówki szkolnej w Zespole Szkół w Gostyni. Przepisy wstępne & 1

Polityka prywatności strony internetowej wcrims.pl

Pracownia budowy pojazdów samochodowych.

Sieć komputerowa grupa komputerów lub innych urządzeo połączonych ze sobą w celu wymiany danych lub współdzielenia różnych zasobów, na przykład:

Wsparcie w realizacji projektów. Podział projektów. Potrzeby, a rodzaje programów

Testowanie i wdrażanie oprogramowania Emulator systemu bankowego

elektroniczna Platforma Usług Administracji Publicznej

RAPORT Z EWALUACJI WEWNĘTRZNEJ. w Poradni Psychologiczno-Pedagogicznej w Bełżycach. w roku szkolnym 2013/2014

Gospodarowanie mieniem Województwa

Usługa Ognivo. Elektronizacja zajęć i Centralna informacja. Maja Markiewicz dyrektor Linii biznesowej usługi Ognivo. Warszawa, 9 grudzień 2015

Kancelaris - Zmiany w wersji 2.50

U M O W A. zwanym w dalszej części umowy Wykonawcą

emszmal 3: Automatyczne księgowanie przelewów w menedżerze sprzedaży BaseLinker (plugin dostępny w wersji ecommerce)

Zapytanie ofertowe M.M. Druk Serwis Sp. z o.o.

Wydział Zarządzania. Poziom i forma studiów. Ścieżka dyplomowania: Kod przedmiotu: Punkty ECTS 1) W - 15 C- 15 L- 0 P- 0 Ps- 0 S- 0

System Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy

emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce)

UMOWA ABONENCKA NR. 1 Główne zobowiązania stron umowy. Świadczone usługi telekomunikacyjne. Elementy składające się na opłatę abonamentową

Wyzwania bezpieczeństwa nowoczesnych platform nauczania zdalnego

Parowanie urządzeń Bluetooth. Instrukcja obsługi

Projekt Schematom STOP! Wspólne działania instytucji pomocy społecznej i instytucji rynku pracy pilotaż

Umowa nr.. /. Klient. *Niepotrzebne skreślić

CHEVROLET MYLINK. Krótki przewodnik

Nowe funkcjonalności

Szczegółowe wyjaśnienia dotyczące definicji MŚP i związanych z nią dylematów

Bilans członkostwa Polski w Unii Europejskiej ZAMOŚĆ 11 lipca 2014 r.

ROLA E-LEARNINGU W WYRÓWNYWANIU SZANS EDUKACYJNYCH OSÓB NIEPEŁNOSPRAWNYCH

UMOWA Nr. , z siedzibą, NIP, REGON., na podstawie, zwanym dalej Wykonawcą,

V. Wymagania dla wsparcia projektu oraz nadzoru eksploatacyjnego... 6

Instrukcja użytkownika systemu MOBEVO

Zmiany przepisów ustawy -Karta Nauczyciela. Warszawa, kwiecień 2013

W dobie postępującej digitalizacji zasobów oraz zwiększającej się liczby dostawców i wydawców

SpedCust 5 instrukcja instalacji

Objaśnienia do Wieloletniej Prognozy Finansowej na lata

ASYSTENT OSOBISTY OSOBY NIEPEŁNOSPRAWNEJ URZĄD MIASTA SZCZECIN

Administrator Konta - osoba wskazana Usługodawcy przez Usługobiorcę, uprawniona w imieniu Usługobiorcy do korzystania z Panelu Monitorującego.

GŁÓWNY URZĄD STATYSTYCZNY Departament Przedsiębiorstw. Grupy przedsiębiorstw w Polsce w 2008 r.

Technologie internetowe Internet technologies Forma studiów: Stacjonarne Poziom kwalifikacji: I stopnia. Liczba godzin/tydzień: 2W, 2L

Systemy mikroprocesorowe - projekt

Zarząd Dróg Wojewódzkich. Wytyczne Techniczne. Zbigniew Tabor Kraków,

Projekt edukacyjny z informatyki

1. PODMIOTEM ŚWIADCZĄCYM USŁUGI DROGĄ ELEKTRONICZNĄ JEST 1) SALESBEE TECHNOLOGIES SP. Z O.O. Z SIEDZIBĄ W KRAKOWIE, UL.

Pokonać Ransomware. Grzegorz Ciołek Systems Engineer

w sprawie zorganizowania i finansowania prac interwencyjnych

PRZEDMIOTOWY SYSTEM OCENIANIA Z PODSTAW PSYCHOLOGII W KLASIE DRUGIEJ. Ocenianie wewnątrzszkolne na przedmiocie podstawy psychologii ma na celu:

PKN ORLEN S.A. Elektroniczny słownik lub tłumacz multijęzyczny. Zapytanie ofertowe. Dotyczy: Wersja: 1.0 Data: r.

Zaloguj się do Moje GS1. wprowadź dane o swoich lokalizacjach w mniej niż 5 minut!

UKŁAD ROZRUCHU SILNIKÓW SPALINOWYCH

REGULAMIN ZWROTU KOSZTÓW DOJAZDU

Sieci komputerowe cel

Regulamin organizacyjny pracowni terapii zajęciowej prowadzonej w ramach działań Spółdzielni Socjalnej Pracownia Radości Kukułka w Nowej Soli

Rzecznik Praw Ucznia - mgr inż. Beata Kosmalska

Uchwała Nr. Rady Gminy Nadarzyn. z dnia.

Instrukcja postępowania w celu podłączenia do PLI CBD z uwzględnieniem modernizacji systemu w ramach projektu PLI CBD2

Stypendia USOS Stan na semestr zimowy 2013/14

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

Automatyczne przetwarzanie recenzji konsumenckich dla oceny użyteczności produktów i usług

Charakterystyka systemów plików

PFR Wstępnie wypełnione zeznanie podatkowe. PIT-37 i PIT-38 za rok 2015

Transkrypt:

Programowanie Zespołowe Systemy kontroli wersji dr Rafał Skinderowicz mgr inż. Michał Maliszewski

Systemy kontroli wersji Śledzenie zmian, np.: w kodzie źródłowym Łączenie zmian dokonanych w plikach Ułatwienie współpracy wielu osób nad tymi samymi danymi Synchronizacja w czasie Architektura modułowa

Rodzaje systemów kontroli wersji Ze względu na architekturę: Lokalne zapisują dane jedynie na lokalnym komputerze (np. RCS) Scentralizowane oparte o architekturę klient-serwer (np. SVN) Rozproszone oparte o architekturę P2P (np. Git, Mercurial)

SVN vs Git Dwa najpopularniejsze systemy kontroli wersji. SVN System scentralizowany Globalne repozytorium danych Prosty w obsłudze Stały dostęp do centralnego repozytorium Wsparcie dla wszystkich platform oraz IDE Powolny Brak restrykcji Intuicyjna numeracja rewizji Operacje na fragmentach repozytorium (checkout) Git System rozproszony Lokalne oraz globalne repozytorium Skomplikowany w obsłudze Nie wymaga stałego dostępu do głównego repozytorium Słabe wsparcie platformy Windows Szybki* Numeracja rewizji poprzez SHA-1 Operacje na całym repozytorium (checkout) Mniejszy rozmiar repozytorium Łatwiejsze łączenie gałęzi (merge)

GitHub Największa społeczność programistów tworzących otwarte oprogramowanie Wykorzystuje system kontroli wersji Git Darmowy hosting programów typu open source Płatne prywatne repozytoria

Repozytorium Przechowuje dane dotyczące pojedynczego projektu W zależności od systemu kontroli wersji może, lecz nie musi zawierać pod-wariantów projektu (trunk, branches, tags) Zawiera wszystkie składowe projektu (elementy potrzebne do jego inicjalizacji) Nie zawiera skompilowanego kodu źródłowego (zazwyczaj) Nie zawiera danych pobieranych z innych źródeł (np. artifactory)

Branches Przechowują inne wersje repozytoriów (eksperymenty, wsparcie dla innych platform, wyspecjalizowane wersje dla klientów itp.) W przypadku poprawy błędów konieczność zmiany w wielu miejscach Podstawowe narzędzie w produkcji oprogramowania w przypadku Gita Rozwój fragmentów systemu tzw. wysokiego ryzyka Możliwość połączenia z głównym repozytorium (!)

Branches

Commit Zapisanie w repozytorium zmian nosi nazwę commit Każdy commit powinien posiadać informacje na temat wprowadzonych zmian Commity tworzą historię repozytorium W zależności od systemu kontroli wersji commity mogą trafiać bezpośrednio do głównego repozytorium, lub do lokalnych/pośrednich repozytoriów (np.: w celu dokonania Code Review) Niektóre systemy kontroli wersji pozwalają na cofanie commitów z repozytorium (!)

Revert Większość systemów kontroli wersji zezwala na cofnięcie dokonanych w repozytorium zmian Prawie zawsze przyjmują one formę nowego commita

Update/Synchronize Aktualizacja repozytorium zapisanego lokalnie odbywa się poprzez mechanizm aktualizacji/synchronizacji Systemy kontroli wersji dopuszczają aktualizację do najnowszej wersji poszczególnych plików lub do wybranej rewizji Przed wykonaniem kolejnego commitu zaleca się zaktualizowanie lokalnej wersji repozytorium w celu rozwiązania ewentualnych konfliktów między wersjami plików

Merge Operacja łączenia różnych wersji repozytorium lub pojedynczych plików O merge zazwyczaj mówi się w kontekście rozwiązywania konfliktów (tzw. Merge conflict), operacji która wymaga uwagi programisty/autora i wybrania właściwego sposobu połączenia pliku (manualnie)

Zadanie 1 Zarejestruj się w serwisie GitHub (https://github.com) Zainstaluj aplikację GitHub (https://desktop.github.com) Połącz swoje konto GitHub z aplikacją GitHub Desktop Wykonaj dołączony do aplikacji tutorial

Zadanie 2 Grupy 5-6 osobowe Utwórzcie repozytorium testowe Dodajcie wszystkim osobom z zespołu prawo odczytu/zapisu (poprzez stronę https://github.com) Spróbujcie dodać lub zmodyfikować kilka plików a następnie dołączyć je do głównej gałęzi repozytorium Każda osoba musi wykonać co najmniej jednego commita

Projekt zaliczeniowy Zostaliście poproszeni o stworzenie systemu dla jednego z kin w Katowicach. System będzie używany do rezerwacji biletów przez Internet. Utwórzcie repozytorium na platformie GitHub Dołączcie wszystkie osoby z zespołu do repozytorium Stwórzcie początkowy Product Backlog Wybierzcie technologie (najlepiej z zakresu OOP) Ustalcie priorytety dla stworzonych US Oszacujcie stopień trudności US Wykonajcie pierwsze planowanie

Projekt zaliczeniowy c.d. Wybierzcie zadania do Sprint Backlogu (1 iteracja) Wykorzystajcie Sprint Planning i Sprint Review do poprawy jakości waszej pracy Stwórzcie własne DoD Stwórzcie kryteria akceptacji dla poszczególnych US Postarajcie się komunikować bezpośrednio również poza zajęciami w celu realizacji projektu Przetestujcie swoje rozwiązania Część modułów może zostać zamockowana (np.: moduł płatności)

Projekt zaliczeniowy c.d. Rozdzielcie zadania Wykonajcie projekt przy pomocy metodyk zwinnych (Scrum + Kanban) Rolę Product Ownera na potrzeby projektów pełni dr Rafał Skinderowicz Rolę Scrum Mastera na potrzeby projektów pełni mgr inż. Michał Maliszewski Wykorzystajcie wiedzę zdobytą na zajęciach do realizacji projektu Projekt obejmuje pracę na zajęciach oraz pracę własną zespołu

Projekt zaliczeniowy c.d. Pod koniec każdych zajęć dostarczajcie działające oprogramowanie Linki do repozytoriów powinny być dostępne dla prowadzących zajęcia Nie bójcie się pytać Na każdych zajęciach organizujcie Daily Scrum Deadline ostatnie zajęcia w semestrze

Powodzenia

Dziękuję za uwagę