Zasady skutecznego działania Specyfikacja wymagań Kontrola jakości artefaktów

Wielkość: px
Rozpocząć pokaz od strony:

Download "Zasady skutecznego działania Specyfikacja wymagań Kontrola jakości artefaktów"

Transkrypt

1 Zarządzanie konfiguracją oprogramowania Autor: Łukasz Olek Witam Państwa serdecznie na wykładzie poświęconym zarządzaniu konfiguracją oprogramowania. 1

2 Plan wykładów Zasady skutecznego działania Specyfikacja wymagań Kontrola jakości artefaktów Język UML, cz. I Język UML, cz. II Metody formalne Wzorce projektowe Zarządzanie konfiguracją Wprowadzenie do testowania Automatyzacja wykonywania testów Programowanie Ekstremalne Ewolucja oprogramowania i refaktoryzacja Zarządzanie konfiguracją oprogramowania (2) Jest to ósmy wykład z cyklu. Dowiedzieliśmy się już o takich zagadnieniach jak przygotowywanie specyfikacji wymagań, projektowaniu w języku UML, poznaliśmy wzorce projektowe Obecny wykład pomoże zrozumieć metody zapanowania nad tymi wszystkimi artefaktami i ich zmianami, jakie mają miejsce w projektach informatycznych. Zarządzanie konfiguracją oprogramowania to zestaw czynności pozwalających kontrolować zmiany. Robione to jest poprzez identyfikację elementów, które mogą się zmieniać, ustalenie relacji pomiędzy nimi, określenie mechanizmów zarządzania wersjami. Dla osób, które do tej pory pracowały jedynie w pojedynkę, takie rzeczy mogą się wydawać abstrakcyjne. Dlatego aby wytłumaczyć ideę zarządzania konfiguracją oraz pokazać szereg problemów, jakie pojawiają się w przypadku pracy wielu osób, nad wieloma programami, dla wielu klientów 2

3 Wprowadzenie - problemy Różnorodność artefaktów specyfikacja wymagań kod źródłowy testy jednostkowe prototyp projekt Zarządzanie konfiguracją oprogramowania (3) Pierwszy problem to różnorodność artefaktów, nad którymi trzeba zapanować podczas trwania projektów informatycznych. Są to różnego rodzaju dokumenty, specyfikacja wymagań, prototyp, pomiary, projekt architektury (np. UML), a wreszcie kod i przypadki testowe. Każdy z tych artefaktów jest innego typu: np. kod i skrypty testowe są zapisane w plikach tekstowych, dokumenty będą pamiętane jako pliki binarne. Prototyp może być zrobiony w formie prezentacji PowerPointa, itp. 3

4 Wprowadzenie - problemy Równoległa, wspólna praca nad fragmentami kodu Zarządzanie konfiguracją oprogramowania (4) Załóżmy, że nad pewnymi artefaktami (np. moduł kodu) pracuje wiele osób jednocześnie. Na diagramie mamy przykład, w którym nad programem (pakiet OpenOffice) pracują 3 osoby. Każda z nich rozwija samodzielnie swój moduł, lecz pewne elementy są wspólne (moduł ten został nazwany OpenOffice Core). Podczas pracy nad poszczególnymi modułami często zachodzi potrzeba zmiany modułu Core. Wtedy dochodzi do jednoczesnej pracy kilku osób nad tym samym artefaktem. Tak więc drugim problemem jest równoległa praca wielu osób - system zarządzania konfiguracją musi wiedzieć, w jaki sposób pobrać zmiany od poszczególnych programistów, następnie je scalić w jedno, a spójną wersję rozpropagować dalej do pozostałych osób. 4

5 Wprowadzenie - problemy Wiele wersji artefaktów: identyfikacja, przechowywanie Zarządzanie konfiguracją oprogramowania (5) Każdy artefakt może ulegać ewolucji. Np. specyfikacja wymagań, lub projekt architektury zmienia się w zależności od aktualnej wiedzy analityka lub architekta. Aby komunikacja w zespole i pomiędzy zespołem a klientem przebiegała bezproblemowo, musimy mieć możliwość: -identyfikacji wersji artefaktów - musimy wiedzieć, że konkretnego dnia klient dostał specyfikację wymagań w określonej wersji. Jeżeli w przyszłości pojawią się jakieś pytania/wątpliwości będzie możliwość sprawdzenia, jak wyglądała tamta wersja -pokazywania zmian pomiędzy wersjami artefaktów - przykładowo jeżeli po przeglądzie specyfikacji wymagań w wersji 1.0 poprawimy wszystkie zauważone błędy i damy klientowi wersję 2.0 do przeglądu, to chcemy zaoszczędzić klientowi czasu i zaznaczyć tylko te fragmenty, które się zmieniły. Warto zauważyć, że zmiany wersji poszczególnych artefaktów nie są synchroniczne, czyli np. specyfikacja wymagań może powstać w wersji 2.0 pewnego dnia, natomiast projekt architektury w wersji 2.0 powstanie dopiero tydzień później. 5

6 Wprowadzenie - problemy Wersje artefaktów, a wersje produktu Zarządzanie konfiguracją oprogramowania (6) Podobnie zmieniają się wersje różnych modułów oprogramowania (czy też plików źródłowych). Firma programistyczna musi wiedzieć, co znajduje się w określonej wersji produktu. Jest to konieczne w momencie kiedy zadzwoni do nas klient z problemem. W tej sytuacji musimy potrafić jednoznacznie powiedzieć, które wersje plików źródłowych wchodzą w skład jego produktu. Jeżeli tego nie wiemy, to w jakiej wersji kodu zaczniemy szukać błędu zgłoszonego przez niego? Czyli wymagamy od systemu zarządzania konfiguracją, aby zapamiętał, że przykładowo OpenOffice w wersji 1.0 składał się z modułów: Spell Checker 1.1, Printing 1.2 oraz Document Layout

7 Wprowadzenie - problemy Analizowanie historii: Kto? Kiedy? Jaka zmiana? Zarządzanie konfiguracją oprogramowania (7) Aby zapanować nad dużym zespołem programistycznym, musimy mieć możliwość śledzenia wszystkich zmian w artefaktach projektu, czyli musimy posiadać informację kto, kiedy i jaką zmianę wprowadził. Jest to potrzebne w wielu sytuacjach: -ukarania pracownika lub testera za jego błędy -sprawdzenia - która osoba odpowiada za dany fragment kodu - aby zgłosić się do niego z uwagami lub pytaniami -analizowania produktywności w oparciu o liczbę linii kodu napisanych przez konkretnego programistę (nie jest to najlepsza miara produktywności) 7

8 Wprowadzenie - problemy Praca nad nową wersją systemu i poprawianie błędów w starej Zarządzanie konfiguracją oprogramowania (8) Problem pojawia się również w momencie kiedy jedną wersję systemu (np. OpenOffice 1.0) udostępnimy użytkownikom i zaczniemy pracować nad nową wersją (czyli zaczniemy dodawać nową funkcjonalność, która na początku nie będzie jeszcze stabilna). Co w momencie kiedy użytkownicy zauważą błędy? Powinniśmy je jak najszybciej poprawić i udostępnić nowe wydanie wersji OpenOffice 1.0 (może ona być oznaczona np ), lecz nie chcemy włączać tam nowych funkcji, które są przeznaczane dla wersji 2.0 i nie są jeszcze stabilne. Czyli system zarządzania konfiguracją musi dawać możliwość równoległej pracy nad różnymi wersjami produktu - chcemy mieć możliwość pracy nad nową wersją, ale również możliwość poprawienia drobnego błędu w starej wersji. 8

9 Wprowadzenie Narzędzia wspomagające zarządzanie konfiguracją oprogramowania: CVS, Subversion, SourceSafe Procedury: kodowania wydawania nowej wersji poprawiania defektów łączenia różnych zmian Zarządzanie konfiguracją oprogramowania (9) Jest wiele narzędzi, które wspomagają zarządzanie konfiguracją oprogramowania, darmowe np. CVS, Subversion, czy komercyjne np. Microsoft SourceSafe. Każde z tych narzędzi działa na podobnej zasadzie - za pomocą odpowiednich komend umożliwiają wprowadzanie zmian do centralnego repozytorium, pamiętają zmiany artefaktów, umożliwiają synchronizowanie wersji różnych osób, oraz tworzenie rozgałęzień i łączenie gałęzi. Samo narzędzie jednak nie wystarcza. W każdej firmie potrzebny jest zestaw procedur, które instruują w jaki sposób korzystać z tego narzędzia, czyli w jaki sposób należy wprowadzać zmiany w kodzie, wydawać nową wersję, poprawiać defekty w udostępnionych wersjach, czy też łączyć zmiany z różnych wersji. 9

10 Plan wykładu Wprowadzenie Operacje systemu CVS: pobieranie artefaktów wysyłanie zmian aktualizacja nadawanie etykiet rozgałęzianie/łączenie gałęzi Struktura plików projektu Wzorce zarządzania konfiguracją Zarządzanie konfiguracją oprogramowania (10) Po tym krótkim wprowadzeniu zostanie przedstawiony najpopularniejszy system zarządzania konfiguracją oprogramowania: CVS. Po kolei zostaną omówione podstawowe operacje na repozytorium. Następnie zostanie przedstawiona przykładowa struktura plików projektu, pozwalająca uniknąć bałaganu (przydatne zwłaszcza początkującym osobom przystępującym do pracy grupowej). Samo przedstawienie operacji to jeszcze za mało - użytkownik musi wiedzieć, w jaki sposób wykorzystać te operacje do osiągnięcia zamierzonych celów. Dlatego na końcu zostaną przedstawione wybrane wzorce zarządzania konfiguracją. 10

11 System CVS Centralny serwer Pracownicy komunikują się za jego pośrednictwem Zarządzanie konfiguracją oprogramowania (11) CVS działa w architekturze klient-serwer. Centralne repozytorium projektu znajduje się na serwerze, a wszyscy członkowie zespołu rozprowadzają swoje zmiany jedynie poprzez repozytorium. Nie ma zatem potrzeby przenoszenia artefaktów pomiędzy osobami w postaci dyskietek, płyt, i, itp. 11

12 Lokalna przestrzeń robocza Lokalna (prywatna) kopia wybranych elementów repozytorium Zmiany wprowadzane lokalnie - synchronizowane na żądanie Zarządzanie konfiguracją oprogramowania (12) Każdy użytkownik repozytorium posiada na swoim komputerze prywatną kopię elementów z repozytorium, na których pracuje. Kopia taka nazywana jest lokalną przestrzenią roboczą i stanowi zbiór plików i folderów pobranych z repozytorium. Wszelkie prace odbywają się najpierw lokalnie i są wysyłane na żądanie do repozytorium. Dopiero w momencie, kiedy zmiany się tam znajdą są one widoczne dla pozostałych osób. 12

13 Plan wykładu Wprowadzenie Operacje systemu CVS: pobieranie artefaktów wysyłanie zmian aktualizacja nadawanie etykiet rozgałęzianie/łączenie gałęzi Struktura plików projektu Wzorce zarządzania konfiguracją Zarządzanie konfiguracją oprogramowania (13) Zacznijmy od poznania sposobu pracy z repozytorium CVS, czyli poszczególnych komend, jakie możemy wykonać. Pierwsza czynność programisty, to pobieranie artefaktów. 13

14 Początkowe pobieranie artefaktów pobieranie artefaktów (ang. checkout) Zarządzanie konfiguracją oprogramowania (14) Zanim programista ma możliwość współpracy z repozytorium musi utworzyć na swoim komputerze przestrzeń roboczą i pobrać do niej wybrane artefakty z repozytorium. Czyni to raz, np. na początku prac implementacyjnych. Wcześniej ktoś musi umieścić tam pewien szkielet plików i folderów, ale o tym później. Do pobierania artefaktów służy komenda checkout. Jako parametr tej komendy podajemy nazwę modułu, który chcemy pobrać, czyli nazwę jednego z katalogów przechowywanych w repozytorium (w szczególności może to być zawartość całego repozytorium oznaczana przez. ) 14

15 Plan wykładu Wprowadzenie Operacje systemu CVS: pobieranie artefaktów wysyłanie zmian aktualizacja nadawanie etykiet rozgałęzianie/łączenie gałęzi Struktura plików projektu Wzorce zarządzania konfiguracją Zarządzanie konfiguracją oprogramowania (15) Codzienna praca nad artefaktami sprowadza się do wprowadzania zmian w lokalnej wersji roboczej oraz synchronizowania ich z repozytorium (wysyłanie zmian lokalnych na serwer i pobieranie zmian z serwera poprzez aktualizację) 15

16 Cykl aktualizacji/wysyłanie zmian aktualizacja/wysyłanie zmian (ang. update/commit) Zarządzanie konfiguracją oprogramowania (16) Cykl synchronizacji z repozytorium najlepiej przedstawić na diagramie. Pobieranie zmian z serwera i wprowadzanie do lokalnej przestrzeni roboczej robione jest przez polecenie update. Natomiast w drugą stronę - wysłanie lokalnych zmian do repozytorium wykonuje się dzięki poleceniu commit. Ze zmianami wysyłanymi do repozytorium (polecenie commit ) można skojarzyć komentarz. Nadawanie komentarzy jest dobrą praktyką, gdyż ułatwia innym osobom z zespołu szybkie zorientowanie się w dużej liczbie zmian. Komendy update i commit można wykonać na określonych fragmentach projektu: na wybranym pliku, całym katalogu, lub całym projekcie - w zależności od potrzeby. Zaleca się, aby taki cykl synchronizacji powtarzany był jak najczęściej - co najmniej raz dziennie. Po przyjściu do pracy programista powinien wykonać komendę update, aby ściągnąć bieżące zmiany, a następnie przed wyjściem z pracy wykonać commit. 16

17 Linia rozwoju artefaktu Zarządzanie konfiguracją oprogramowania (17) Serwer pamięta historię wszystkich zmian wszystkich artefaktów. Powiedzmy, że przechowujemy plik Program.java. Repozytorium będzie pamiętać każdą wersję tego pliku (a dokładniej - różnice pomiędzy tymi wersjami), jak również datę każdej operacji i osobę, która dokonała zmiany. Każda wersja jest oznaczona numerem. W CVSie są to numery 1.1, 1.2, 1.3, itd. Numeracja jest inna jeżeli nie pracujemy na głównej gałęzi, ale więcej informacji o tym będzie za chwilę. 17

18 Równoległe uaktualnianie artefaktów? Zarządzanie konfiguracją oprogramowania (18) Do tej pory wszystko wydaje się proste. Pobieramy pliki, pracujemy na nich, a następnie wysyłamy i pobieramy zmiany. Zadanie repozytorium CVS wydaje się dużo trudniejsze, jeżeli dopuścimy możliwość równoległej pracy wielu osób. Każda z tych osób może pracować jednocześnie na tym samym pliku, nawet zmieniać te same fragmenty pliku. Spróbujmy przyjrzeć się jak działają operacje update/commit, aby zrozumieć, jak CVS zachowa się w takich sytuacjach. 18

19 Równoległe uaktualnianie artefaktów Zarządzanie konfiguracją oprogramowania (19) Najlepiej prześledzić to na przykładzie. Na slajdzie widać 4 główne części: -po prawej stronie mamy repozytorium CVS, z zaznaczonym plikiem klasy Program.java, oraz numerem jego najnowszej wersji -po lewej stronie widzimy przestrzenie robocze 2 programistów: Adama i Kazia. Na początku przestrzenie te są puste, gdyż nie zaczęli oni pracy z repozytorium -na dole slajdu znajduje się oś czasu, na której zaznaczone są poszczególne wersje pliku Program.java - zgodnie z tym co jest przechowywane w repozytorium. Oboje zaczynając pracę nad plikiem Program.java, muszą stworzyć sobie jego kopię lokalną (polecenie checkout ). Równie dobrze mogliby wykonać to polecenie na całym katalogu, lub projekcie, ale dla prostoty tego przykładu ograniczymy się jedynie do jednego pliku. 19

20 Równoległe uaktualnianie artefaktów Zarządzanie konfiguracją oprogramowania (20) W rezultacie każdy z nich otrzymuje plik Program.java w najnowszej wersji (1.1). Jest to zaznaczone w ich lokalnych przestrzeniach roboczych - tam też widać wersję pliku lokalnego. Następnie zarówno Adam jak i Kaziu wprowadzają swoje zmiany do pliku Program.java. Na diagramie oznaczyłem zmienione pliki symbolem gwiazdki przy ich nazwie. 20

21 Równoległe uaktualnianie artefaktów Zarządzanie konfiguracją oprogramowania (21) Adam próbuje wykonać polecenie commit - udaje się to bez problemu. Serwer przechowuje jego zmiany, jednocześnie nadając nową wersję plikowi Program.java (1.2) - widać to na dolnej osi. Równocześnie CVS zaznacza, że w przestrzeni roboczej również mamy już wersję 1.2. Znika również gwiazdka przy nazwie pliku, co oznacza, że nie mamy już żadnych zmian lokalnych, które by nie były na serwerze. Przychodzi kolej na Kazia. On również chce zapisać swoje zmiany w repozytorium i próbuje wykonać operację commit. 21

22 Równoległe uaktualnianie artefaktów up-to-date check failed! Zarządzanie konfiguracją oprogramowania (22) Niestety, serwer CVS wykrywa, że Kaziu pracował na starszej wersji pliku. Miał on w swojej przestrzeni roboczej wersję 1.1, podczas gdy na serwerze była już wersja 1.2. CVS protestuje komunikatem up-to-date check failed, co oznacza w wolnym tłumaczeniu: masz nieaktualną przestrzeń roboczą 22

23 Równoległe uaktualnianie artefaktów Zarządzanie konfiguracją oprogramowania (23) W takich sytuacjach należy najpierw pobrać najnowsze zmiany z CVSa i uaktualnić lokalny plik do nowej wersji komendą update. Update pobiera z CVSa zmiany pomiędzy wersją 1.1, a 1.2 i wprowadza je do lokalnej przestrzeni roboczej Kazia, lecz nadal zachowuje jego własne zmiany - co jest zaznaczona gwiazdką. 23

24 Równoległe uaktualnianie artefaktów Zarządzanie konfiguracją oprogramowania (24) Dopiero teraz Kaziu może wykonać komendę commit, która tym razem się powiedzie. Skutkuje to zapamiętaniem zmian Kazia przez repozytorium i nadanie nowej wersji (1.3). 24

25 Równoległe uaktualnianie artefaktów Jak CVS wykonuje komendę update? zmiany po stronie lokalnej przestrzeni roboczej zmiany w repozytorium *? Zarządzanie konfiguracją oprogramowania (25) Powstaje pytanie - jak CVS radzi sobie z wykonaniem komendy update w momencie kiedy występują zmiany zarówno po stronie serwera, jak i lokalnie? Musi on w jakiś sprytny sposób połączyć 2 różne pliki w jedno. Sposób jest dosyć prosty - CVS próbuje scalić zmiany. 25

26 Równoległe wprowadzanie zmian Zmiany lokalne i z repozytorium nie nakładają się: Zmiany są łączone Zmiany Zmiany z lokalne repozytorium Zarządzanie konfiguracją oprogramowania (26) Każdy plik tekstowy jest postrzegany przez CVS jako zbiór linii. Jeżeli linie zmienione lokalnie oraz w repozytorium stanowią rozłączne obszary, wtedy nic nie stoi na przeszkodzie, aby CVS automatycznie scaliło zmiany. W wyniku powstaje plik, który zawiera zarówno zmiany lokalne, jak i globalne. 26

27 Równoległe wprowadzanie zmian Zmiany lokalne i z repozytorium nakładają się: Konflikt! Zmiany Zmiany z lokalne repozytorium Użytkownik sam wybiera właściwą wersję Zarządzanie konfiguracją oprogramowania (27) Sytuacja się komplikuje, jeżeli zmienione linie lokalne i zdalne nakładają się. Wtedy CVS nie jest w stanie ich automatycznie połączyć - prosi o pomoc użytkownika. Wtedy w pliku wynikowym przechowywane są obie wersje i są one oznaczane jako tzw. konflikt. W takiej sytuacji użytkownik musi samodzielnie wybrać właściwą wersję. 27

28 Rozwiązywanie konfliktu int main(int argc, char **argv) { if (nerr == 0) gencode(); else fprintf(stderr, "No code generated.\n"); <<<<<<< driver.c exit(nerr == 0? EXIT_SUCCESS : EXIT_FAILURE); ======= exit(!!nerr); >>>>>>> 1.6 } Wersja z repozytorium Twoja wersja Zarządzanie konfiguracją oprogramowania (28) CVS oznacza konflikt w następujący sposób. Po wykonaniu komendy update prowadzącej do konfliktu w pliku wynikowym mamy dwa bloki tekstu: -jeden zaczyna się znakami <<<<<<< nazwa_pliku, a kończy ======= - to jest wersja zmian z lokalnej przestrzeni roboczej -drugi zaczyna się ========, a kończy >>>>>>> numer_wersji - taki blok oznacza zmiany z repozytorium (podany numer wersji oznacza wersję pliku, z której zmiana pochodzi) Zadaniem użytkownika w tej sytuacji jest wybór odpowiedniej wersji (czasem to będzie jakieś połączenie obu wersji), oraz usunięcie wszelkich znaków specjalnych oznaczających konflikt, a zostawienie jedynie poprawnej części pliku. 28

29 Narzędzia pomagające rozwiązywać konflikty Zarządzanie konfiguracją oprogramowania (29) Współczesne narzędzia wspomagające rozwój oprogramowania (np. IBM Eclipse) często ukrywają przed użytkownikiem symbole oznaczające konflikt, prezentując konflikty w formie graficznej. Dzięki temu można w prosty sposób porównać dwie wersje i stworzyć jedną wersję spójną. 29

30 Plan wykładu Wprowadzenie Operacje systemu CVS: pobieranie artefaktów wysyłanie zmian aktualizacja nadawanie etykiet rozgałęzianie/łączenie gałęzi Struktura plików projektu Wzorce zarządzania konfiguracją Zarządzanie konfiguracją oprogramowania (30) Kolejna operacja, to nadawanie etykiet wersjom plików będących w repozytorium CVS. 30

31 Nadawanie etykiet Pozwala posługiwać się nazwami, zamiast numerami wersji: oznaczanie wydań (np.: R_1.0, R_2.0) oznaczanie kodu w przypadku większych zmian Zarządzanie konfiguracją oprogramowania (31) Posługiwanie się numerami wersji plików w wielu sytuacjach byłoby kłopotliwe, tym bardziej jeżeli musielibyśmy zapamiętać różne wersje wielu plików. Jest to ważne np. do oznaczania zestawów plików, które wchodzą w skład pewnego wydania oprogramowania. Również w przypadku wprowadzania większych zmian do wielu plików na raz - dobrze jest pamiętać wersje tych plików, aby w razie czego mieć możliwość cofnięcia zmian. Z tego powodu systemy do zarządzania konfiguracją oprogramowania (również CVS) pozwalają posługiwać się etykietami, zamiast numerami. Etykiety są przydzielane świadomie przez programistę, wtedy kiedy uważa on to za stosowne (np. w sytuacjach wspomnianych wcześniej). Są one pamiętane przez repozytorium i za ich pomocą można pobrać określoną wersję plików, które nas interesują. 31

32 Plan wykładu Wprowadzenie Operacje systemu CVS: pobieranie artefaktów wysyłanie zmian aktualizacja nadawanie etykiet rozgałęzianie/łączenie gałęzi Struktura plików projektu Wzorce zarządzania konfiguracją Zarządzanie konfiguracją oprogramowania (32) Ostatnie 2, ale jedne z najważniejszych operacji w przypadku dużego zespołu pracującego nad produktem regularnie wydawanym do klientów, to możliwość rozgałęziania i łączenia gałęzi. 32

33 Rozgałęzianie/łączenie gałęzi Rozdzielenie pracy nad pewną częścią kodu: rozwój nowych funkcji/poprawki do starej wersji dłuższe eksperymenty na kodzie Zarządzanie konfiguracją oprogramowania (33) CVS umożliwia tworzenie rozgałęzień poprzez komendę branch i łączenia poprzez merge. Daje to możliwość wyłączenia fragmentu kodu z głównej linii rozwoju, osobnego operowania na tej wydzielonej gałęzi, a następnie scalenia zmian z główną gałęzią. Dobrze przedstawia to diagram ze slajdu. W CVS-ie każda gałąź ma swoją nazwę (np. V_1_0), oraz numer złożony z numeru pliku podstawowego (np. 1.2), oraz numeru parzystego oznaczającego numer gałęzi (2, 4, 6, ). W rezultacie otrzymujemy jako numer gałęzi z przykładowego diagramu. Kolejne numery wersji plików z gałęzi, mają na początku numer, oraz kolejno 1,2,3, na końcu. Po wykonaniu niezbędnych zmian na gałęzi i przetestowaniu ich mamy możliwość scalenia tych zmian z bazowym kodem poprzez wykonanie komendy merge. 33

34 Plan wykładu Wprowadzenie Operacje systemu CVS: pobieranie artefaktów wysyłanie zmian aktualizacja nadawanie etykiet rozgałęzianie/łączenie gałęzi Struktura plików projektu Wzorce zarządzania konfiguracją Zarządzanie konfiguracją oprogramowania (34) 34

35 Struktura plików projektu Różnorodność artefaktów: kod źródłowy skompilowany kod testy jednostkowe dokumenty projekt UML dodatkowe biblioteki grafika Jak to ogarnąć? Zarządzanie konfiguracją oprogramowania (35) Jak było wspomniane na początku - w każdym projekcie mamy wielką różnorodność artefaktów, które przechowujemy w repozytorium. Początkowi programiści mają problem z odpowiednim rozmieszczeniem tych artefaktów. Jeżeli zastanawiasz się nad tym, w jaki sposób to zrobić, najlepiej przejrzeć struktury plików kilku przykładowych projektów Open-Source. 35

36 Struktura plików projektu - Java bin doc design images lib src org.blabla.* tests skompilowany kod - tylko lokalnie! dokumentacja UML pliki graficzne wykorzystywane w kodzie dodatkowe biblioteki: *.jar kod źródłowy aplikacji, podział na pakiety kod źródłowy testów jednostkowych Zarządzanie konfiguracją oprogramowania (36) Dla języka Java, najczęstsza struktura plików projektu wygląda następująco: -katalog bin zawiera skompilowany kod - ten katalog przechowywany jest tylko lokalnie - nie powinniśmy go dodawać do CVS a, gdyż z łatwością można te pliki uzyskać na podstawie plików źródłowych, a umieszczenie ich w repozytorium skutkowałoby dużą ilością konfliktów -katalog doc - zawiera dokumenty projektu, lub dokumentację użytkownika -w katalogu lib umieszcza się biblioteki zewnętrzne, z których projekt korzysta (pliki *.jar) -w src znajdują się pliki źródłowe, uporządkowane w pakietach -katalog tests natomiast zawiera pliki źródłowe testów jednostkowych napisanych za pomocą JUnita - takie rozdzielenie jest o tyle korzystne, że w momencie budowania wersji dla klienta nie musimy zamieszczać tych plików w wydaniu. 36

37 Plan wykładu Wprowadzenie Operacje systemu CVS: pobieranie artefaktów wysyłanie zmian aktualizacja nadawanie etykiet rozgałęzianie/łączenie gałęzi Struktura plików projektu Wybrane wzorce zarządzania konfiguracją Zarządzanie konfiguracją oprogramowania (37) Znajomość samych operacji nie wystarcza jednak do rozwiązania wszystkich problemów, o których była mowa na początku wykładu. Jest z tym podobnie jak z językami programowania - znajomość konstrukcji języka nie jest wystarczająca do budowania dużych systemów informatycznych. Literatura udostępnia wiele dobrych praktyk i rad dotyczących posługiwaniem się repozytorium kodu. Część z nich wyodrębniono jako wzorce zarządzania konfiguracją. Wybrane wzorce zostaną przedstawione w dalszej części wykładu. 37

38 Wybrane wzorce zarządzania konfiguracją Główna linia Mainline Linia wydania Release Line Gałąź przed wydaniem Release-Prep Codeline Gałęzie dla zadań Branch per Task Zarządzanie konfiguracją oprogramowania (38) Cztery najważniejsze wzorce, to: -główna linia -linia wydania -gałąź przed wydaniem -gałęzie dla zadań Nazwy te w tej chwili mogą być dla Państwa niezrozumiałe, lecz za moment powinno być wszystko jasne. 38

39 Główna linia (ang. Mainline) Wiele gałęzi - drzewo może się rozrastać w nieskończoność Zarządzanie konfiguracją oprogramowania (39) Pierwszy wzorzec został nazwany główną linią. Repozytoria umożliwiają dzielenie artefaktów na wiele gałęzi. Jednak duża liczba tych gałęzi utrudnia panowanie nad repozytorium. Przy takiej strukturze repozytorium, jak na diagramie, programiści mieliby problemy z odnalezieniem właściwej gałęzi do pracy. Dodatkowo, po wydaniu nowej wersji produktu, musieliby pamiętać, aby przełączyć się do gałęzi z nową wersją. Dlatego nie jest pożądane, aby drzewo rozrastało się w głąb. 39

40 Główna linia (ang. Mainline) Zamiast tego: utrzymuj gałąź bazową Zarządzanie konfiguracją oprogramowania (40) Dużo lepszą praktyką jest utrzymywanie gałęzi bazowej, tzw. głównej linii. Główne prace implementacyjne powinny odbywać się właśnie tam. Jeżeli potrzebne jest rozgałęzienie i prowadzenie równoległych prac nad kawałkiem kodu (np. w momencie wydania nowej wersji), to wszystkie zmiany powinny docelowo być scalone z główną linią. Takie podejście pozwala zapanować nad rozrastaniem się drzewa gałęzi i odciąża wszystkich programistów od potrzeby pamiętania, w którym miejscu drzewa obecnie się znajdujemy. 40

41 Linia wydania (ang. Release Line) Linia reprezentująca logiczne grupowanie dostarczonej funkcjonalności Wybrana funkcjonalność Poprawki dla klienta wersji 1.0 Nowa funkcjonalność - niestabilna Zarządzanie konfiguracją oprogramowania (41) Kolejny wzorzec to linia wydania. Każdemu wydaniu systemu (np. nowa wersja oprogramowania) powinno towarzyszyć rozgałęzienie. Dzięki temu część funkcjonalności, która była zawarta w tym wydaniu jest oddzielona i można na niej prowadzić równolegle pracę. Jest to niezbędne jeżeli chcemy pozwolić na tworzenie nowej funkcjonalności (na początku niestabilnej) w głównej gałęzi, a jednocześnie poprawiać błędy w wydanej wersji systemu. Wtedy wszystkie błędy poprawiane są w gałęzi. W razie potrzeby można tą strukturę bardziej zagnieżdżać - czyli zrobić gałąź dla gałęzi - gdy przykładowo chcemy wydać wersję 1.1 oprogramowania, co jest pokazane na diagramie. 41

42 Gałąź przed wydaniem (ang. Release-Prep Codeline) Część osób wcześniej skończy pracę nad wersją Aby ich nie blokować do czasu wydania, stwórz gałąź przed wydaniem Zarządzanie konfiguracją oprogramowania (42) Następny wzorzec to gałąź przed wydaniem. Problem powstaje, kiedy większy zespół pracuje nad wydaniem. Jeżeli część z tych osób skończy pracę kilka dni wcześniej niż inni - wtedy chcieliby zapewne zacząć już pracę nad nowymi funkcjami, lecz nie mogą tego robić w głównej gałęzi - zakłóciliby pracę osób, które pracują nad wydaniem. W takiej sytuacji zalecane jest stworzenie dodatkowej gałęzi. Na tej gałęzi pracują osoby przygotowujące wydanie, natomiast pozostałe osoby mogą swobodnie pracować w głównej gałęzi. 42

43 Gałęzie dla zadań (ang. Branch per Task) Wiele zmian wprowadzanych w ramach dłuższego zadania może tymczasowo naruszyć spójność kodu Dla większych zadań twórz osobne gałęzie Zarządzanie konfiguracją oprogramowania (43) Ostatni wzorzec to: gałęzie dla zadań. Problem, z jakim można się często spotkać w praktyce to praca nad dłuższymi zadaniami, która mocno zaburza pozostały kod. Wykonywanie tych zadań na głównej gałęzi byłoby uciążliwe, gdyż w międzyczasie, przed ukończeniem tego zadania zdarza się, że jakiś fragment się nie kompiluje, lub nie działa tak jak powinien. W celu umożliwienia pracy nad takimi zadaniami należy dla każdego stworzyć osobną gałąź. Po skończeniu zadania i upewnieniu się, iż zmiany nie zaburzają istniejącego kodu można scalić je do głównej gałęzi. 43

44 Podsumowanie Odpowiednie zarządzanie konfiguracją jest niezbędne do efektywnej pracy zespołowej Komendy systemu CVS (checkout, update, commit) rozwiązywanie konfliktów Wybrane wzorce zarządzania konfiguracją Zarządzanie konfiguracją oprogramowania (44) Podsumowując: -podczas rozproszonej pracy wielu osób nad projektem informatycznym pojawia się wiele problemów związanych z zarządzaniem konfiguracją: problemy z rozprowadzeniem zmian, ze scaleniem zmian z różnych miejsc w jedno, z jednoczesną pracą wielu osób nad jednym plikiem. -można je rozwiązać stosując odpowiednie narzędzia zarządzania konfiguracją oprogramowania (np. repozytoria CVS) -użytkownik narzędzia musi znać podstawowe komendy systemu, umożliwiające współpracę z repozytorium (checkout, update, commit, branch, merge), oraz pewne procedury pozwalające na zapanowanie nad dużą liczbą zmian/wersji w projektach informatycznych. Są to wzorce zarządzania konfiguracją, z których część została przedstawiona w trakcie tego wykładu 44

45 Literatura Steve Berczuk, Brad Appleton: Software Configuration Management Patterns Zarządzanie konfiguracją oprogramowania (45) Osoby bardziej zainteresowane tą tematyką odsyłam do literatury. Na temat obsługi narzędzi do zarządzania konfiguracją (np. CVS) można poczytać w wielu miejscach w Internecie. Na slajdzie jest pokazany przykładowy adres. Bardzo dobrą pozycją opisującą różne niuanse zarządzania konfiguracją oraz szereg wzorców jest książka Software Configuration Management Patterns. 45

Ćwiczenia 9: Zarządzanie konfiguracją Zadania:

Ćwiczenia 9: Zarządzanie konfiguracją Zadania: Ćwiczenia 9: Zarządzanie konfiguracją Zadania: Konfiguracja repozytorium CVS: 1. Ściągnij i zainstaluj serwer CVS: CVSNT (www.cvsnt.org). 2. W konfiguracji repozytoriów (Panel Sterowania -> CVSNT) wybierz

Bardziej szczegółowo

Środowisko programisty. Środowisko programisty 1/35

Środowisko programisty. Środowisko programisty 1/35 Środowisko programisty Środowisko programisty 1/35 Środowisko programisty 2/35 Literatura 1. Butcher P., Debugowanie. Jak wyszukiwać i naprawiać błędy w kodzie oraz im zapobiegać, Helion, Gliwice 2010

Bardziej szczegółowo

Git rozproszony system kontroli wersji

Git rozproszony system kontroli wersji Git rozproszony system kontroli wersji Piotr Macuk Wstęp System kontroli wersji (ang. version control system, VCS) służy do śledzenia zmian projektu w czasie. Umożliwia współpracę wielu osób oraz ułatwia

Bardziej szczegółowo

1. System kontroli wersji. 1.1. Instalacja programu kontroli wersji CVS

1. System kontroli wersji. 1.1. Instalacja programu kontroli wersji CVS 1 1. System kontroli wersji Już przy tak małym projekcie niezbędnym okazało się wdrożenie systemu kontroli wersji, co umożliwiło grupową pracę uczestników projektu. CVS jest narzędziem pomagającym w organizacji

Bardziej szczegółowo

CVS system kontroli wersji

CVS system kontroli wersji CVS system kontroli wersji Agenda Podstawowe pojęcia Podstawowe polecenia Metody dostępu do repozytorium Konfiguracja i używanie aplikacji klienckich Konflikty i ich rozwiązywanie Dodatkowe możliwości

Bardziej szczegółowo

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie informatycznej. Zadaniem systemu jest rejestracja i przechowywanie

Bardziej szczegółowo

Programowanie I

Programowanie I Programowanie I 29.05.2017 Co zostanie wypisane na ekranie? (1) class A { public: void wypisz(int n) { cout

Bardziej szczegółowo

Co zostanie wypisane na ekranie? (1)

Co zostanie wypisane na ekranie? (1) Wykład 11.05.2016 Co zostanie wypisane na ekranie? (1) class A { public: void wypisz(int n) { cout

Bardziej szczegółowo

Systemy zarządzania wersjami

Systemy zarządzania wersjami 24 października 2007 Po co? Dla kogo? Dlaczego? aby ułatwić kontrolę nad projektem aby panować nad wersjami aby móc śledzić zmiany dla każdego projektu, przy którym pracuje więcej niż jedna osoba dla ludzi

Bardziej szczegółowo

GIT. System Kontroli wersji GIT. Rafał Kalinowski

GIT. System Kontroli wersji GIT. Rafał Kalinowski GIT System Kontroli wersji GIT Rafał Kalinowski Agenda Czym jest GIT? Modele pracy Możliwości GIT a Kilka słów o terminologii Obiekty w GIT ie? Struktura zmian Operacje zdalne i lokalne Podstawowe operacje

Bardziej szczegółowo

System kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010

System kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010 System kontroli wersji - wprowadzenie Rzeszów,2 XII 2010 System kontroli wersji System kontroli wersji (ang. version/revision control system) służy do śledzenia zmian głównie w kodzie źródłowym oraz pomocy

Bardziej szczegółowo

System kontroli wersji git

System kontroli wersji git System kontroli wersji git Adam Prochownik 13 października 2016 Adam git 13 października 2016 1 / 26 Plan prezentacji 1 Wstęp Materiały Po co kontrola wersji? Dlaczego git? 2 Podstawowe operacje Konfiguracja

Bardziej szczegółowo

Programowanie zespołowe

Programowanie zespołowe Programowanie zespołowe Laboratorium 8 - wprowadzenie do systemów kontroli wersji i GitHuba mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 11 kwietnia 2017 1 / 25 mgr inż. Krzysztof Szwarc

Bardziej szczegółowo

Open Source w służbie developerom

Open Source w służbie developerom 5 grudnia 2011 Wstęp Plan prezentacji Agenda Dyskusja problemu Wstęp Plan prezentacji Agenda Dyskusja problemu Etapy Wstęp Plan prezentacji Agenda Dyskusja problemu Etapy Przykłady Wstęp Plan prezentacji

Bardziej szczegółowo

Systemy Kontroli Wersji

Systemy Kontroli Wersji Systemy Kontroli Wersji zarzadzanie źródłami Marcin Gryszkalis dagoon@math.uni.lodz.pl Wydział Matematyki Uniwersytetu Łódzkiego Łódź 2003 Systemy Kontroli Wersji p.1/39 VCS a SCM Systemy Kontroli Wersji

Bardziej szczegółowo

Programowanie zespołowe

Programowanie zespołowe Państwowa Wyższa Szkoła Zawodowa w Tarnowie Zakład Informatyki Laboratorium 6 Programowanie zespołowe Prowadzący: Kierunek: Semestr: Rok: Informatyka Zimowy 2 Programowanie zespołowe Wymagania wstępne

Bardziej szczegółowo

Assembla.com zajęcia 1

Assembla.com zajęcia 1 Assembla.com zajęcia 1 Autor: Marcin Gadamer System kontroli wersji System kontroli wersji (ang. version/revision control system) - oprogramowanie służące do śledzenia zmian głównie w kodzie źródłowym

Bardziej szczegółowo

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main. Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo

Bardziej szczegółowo

Wszystkie problemy leżą w testach. ForProgress spółka z ograniczoną odpowiedzialnością sp.k.

Wszystkie problemy leżą w testach. ForProgress spółka z ograniczoną odpowiedzialnością sp.k. Wszystkie problemy leżą w testach O czym będziemy rozmawiać Coś nie wyszło Jak wygląda proces wytwórczy Każdy widzi to inaczej Jakie wnioski wyciągamy z testów Analiza problemów Możliwe rozwiązania O czym

Bardziej szczegółowo

Program szkolenia: Continuous Integration i Git

Program szkolenia: Continuous Integration i Git Program szkolenia: Continuous Integration i Git Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Continuous Integration i Git tools-git-ci Narzędzia developerzy testerzy 2 dni 50%

Bardziej szczegółowo

System kontroli wersji, system zarządzania kodem źródłowym

System kontroli wersji, system zarządzania kodem źródłowym System kontroli wersji, system zarządzania kodem źródłowym (ang. version/revision control system) VCS albo RCS Source control or (source) code management (SCM) Teoria Co to jest? Po co nam taki system

Bardziej szczegółowo

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017 Wykład 12 7 czerwca 2017 Czym jest UML? UML składa się z dwóch podstawowych elementów: notacja: elementy graficzne, składnia języka modelowania, metamodel: definicje pojęć języka i powiazania pomiędzy

Bardziej szczegółowo

ZARZĄDZANIE DOKUMENTACJĄ. Tomasz Jarmuszczak PCC Polska

ZARZĄDZANIE DOKUMENTACJĄ. Tomasz Jarmuszczak PCC Polska ZARZĄDZANIE DOKUMENTACJĄ Tomasz Jarmuszczak PCC Polska Problemy z zarządzaniem dokumentacją Jak znaleźć potrzebny dokument? Gdzie znaleźć wcześniejszą wersję? Która wersja jest właściwa? Czy projekt został

Bardziej szczegółowo

Java pierwszy program w Eclipse «Grzegorz Góralski strona własna

Java pierwszy program w Eclipse «Grzegorz Góralski strona własna Strona 1 z 9 «Przykładowe zadania do cz. III ćwiczeń z genetyki Java pierwsze kroki w programowaniu (01)» Kategoria: java, Tagi: eclipse - java - programowanie. Autor: Grzegorz, napisał dnia: February

Bardziej szczegółowo

Partnerzy: Laboratorium 15

Partnerzy: Laboratorium 15 Laboratorium 15 System kontroli wersji. Mercurial wraz z Subversion, CVS czy też programem Git należy do grupy aplikacji określanych mianem systemów kontroli wersji. Umożliwiają one sprawną prace wielu

Bardziej szczegółowo

System kontroli wersji Git

System kontroli wersji Git System kontroli wersji Git dr inż. Sebastian Ernst Katedra Informatyki Stosowanej W prezentacji wykorzystano ilustracje z: Scott Chancon, Pro Git, http://git-scm.com/book Systemy kontroli wersji Rejestracja

Bardziej szczegółowo

Adam Wójs <adam[shift+2]wojs.pl> git --wprowadzenie

Adam Wójs <adam[shift+2]wojs.pl> git --wprowadzenie Adam Wójs git --wprowadzenie Życie programisty A) Rozwój projektu B) Naprawianie błędów C) Refaktoryzacja kodu Ekstremalny przykład Wersja jądra Lb-a programistów Lb-a linii kodu

Bardziej szczegółowo

Drupal i GIT. Schemat pracy.

Drupal i GIT. Schemat pracy. Drupal i GIT. Schemat pracy. Bartek Filipiuk. Crople.pl Wymagania: podstawowa wiedza z Linuxa posiadanie lokalnego środowiska do tworzenia stron w Drupalu podstawowa wiedza z Drupala Czego dowiesz się

Bardziej szczegółowo

Budowa aplikacji webowej w oparciu o Maven2 oraz przykłady testów jednostkowych. Wykonał Marcin Gadamer

Budowa aplikacji webowej w oparciu o Maven2 oraz przykłady testów jednostkowych. Wykonał Marcin Gadamer Budowa aplikacji webowej w oparciu o Maven2 oraz przykłady testów jednostkowych. Wykonał Marcin Gadamer Maven 2 podstawowe informacje Apache Maven jest narzędziem automatyzującym budowę oprogramowania

Bardziej szczegółowo

TECHNOLOGIE OBIEKTOWE WYKŁAD 2. Anna Mroczek

TECHNOLOGIE OBIEKTOWE WYKŁAD 2. Anna Mroczek TECHNOLOGIE OBIEKTOWE WYKŁAD 2 Anna Mroczek 2 Diagram czynności Czym jest diagram czynności? 3 Diagram czynności (tak jak to definiuje język UML), stanowi graficzną reprezentację przepływu kontroli. 4

Bardziej szczegółowo

Inżynieria oprogramowania II

Inżynieria oprogramowania II Wymagania funkcjonalne, przypadki użycia Inżynieria oprogramowania II Problem i cel Tworzenie projektów bez konkretnego celu nie jest dobre Praktycznie każdy projekt informatyczny powstaje z uwagi na jakiś

Bardziej szczegółowo

KOŁO NAUKOWE INFORMATYKÓW SYSTEMY KONTROLI WERSJI CZ.1 16 XII 2009 OPRACOWAŁ: PRZEMYSŁAW PARDEL

KOŁO NAUKOWE INFORMATYKÓW SYSTEMY KONTROLI WERSJI CZ.1 16 XII 2009 OPRACOWAŁ: PRZEMYSŁAW PARDEL KOŁO NAUKOWE INFORMATYKÓW SYSTEMY KONTROLI WERSJI CZ.1 16 XII 2009 OPRACOWAŁ: PRZEMYSŁAW PARDEL Katedra Informatyki, Uniwersytet Rzeszowski 2009 Agenda System kontroli wersji CVS SVN Praca z SVN i Visual

Bardziej szczegółowo

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Pracownia internetowa w każdej szkole (edycja Jesień 2007) Instrukcja numer D1/04_01/Z Pracownia internetowa w każdej szkole (edycja Jesień 2007) Opiekun pracowni internetowej cz. 1 (D1) Tworzenie kopii zapasowej ustawień systemowych serwera - Zadania do wykonania

Bardziej szczegółowo

Analiza i projektowanie aplikacji Java

Analiza i projektowanie aplikacji Java Analiza i projektowanie aplikacji Java Modele analityczne a projektowe Modele analityczne (konceptualne) pokazują dziedzinę problemu. Modele projektowe (fizyczne) pokazują system informatyczny. Utrzymanie

Bardziej szczegółowo

ponad 90 000 pracowników ponad 60 000 pracowników ponad 30 000 pracowników ponad 3 000 pracowników

ponad 90 000 pracowników ponad 60 000 pracowników ponad 30 000 pracowników ponad 3 000 pracowników ponad 90 000 pracowników ponad 60 000 pracowników ponad 30 000 pracowników ponad 3 000 pracowników finanse firmy Ventures Capital, a potem reklamy kwestie socjalne darmowe jedzenie, transport do pracy,

Bardziej szczegółowo

Projektowanie oprogramowania

Projektowanie oprogramowania Wrocław, 27.09.2010 1. Warunki wstępne Projektowanie oprogramowania Warunkiem uczestnictwa w zajęciach jest zaliczenie przedmiotu: Podstawy inżynierii oprogramowania (ćwiczenia) Zajęcia składają się z

Bardziej szczegółowo

git krótki przewodnik

git krótki przewodnik git krótki przewodnik Spis treści Podstawy pracy z systemem git (pojęcia)... 2 Instalacja klienta git Atlassian SourceTree... 2 Konfiguracja Atlassian SourceTree do współpracy z bitbucket.org... 3 Tworzenie

Bardziej szczegółowo

Zacznijmy więc pracę z repozytorium. Pierwsza konieczna rzecz do rozpoczęcia pracy z repozytorium, to zalogowanie się w serwisie:

Zacznijmy więc pracę z repozytorium. Pierwsza konieczna rzecz do rozpoczęcia pracy z repozytorium, to zalogowanie się w serwisie: Repozytorium służy do przechowywania plików powstających przy pracy nad projektami we w miarę usystematyzowany sposób. Sam mechanizm repozytorium jest zbliżony do działania systemu plików, czyli składa

Bardziej szczegółowo

Baza danych sql. 1. Wprowadzenie

Baza danych sql. 1. Wprowadzenie Baza danych sql 1. Wprowadzenie Do tej pory operowaliście na listach. W tej instrukcji pokazane zostanie jak stworzyć bazę danych. W zadaniu skorzystamy z edytora graficznego struktury bazy danych, który

Bardziej szczegółowo

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

Bardziej szczegółowo

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Część XXII C++ w Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Ćwiczenie 1 1. Utwórz nowy projekt w Dev C++ i zapisz go na

Bardziej szczegółowo

Firma Informatyczna ASDER. Prezentacja. Serwer danych lokalnych. Przemysław Kroczak ASDER 2012-08-06

Firma Informatyczna ASDER. Prezentacja. Serwer danych lokalnych. Przemysław Kroczak ASDER 2012-08-06 2012 Firma Informatyczna ASDER Prezentacja Serwer danych lokalnych Przemysław Kroczak ASDER 2012-08-06 Szanowni Państwo, W dzisiejszej coraz częściej trzeba współdzielić pliki między pracownikami/działami

Bardziej szczegółowo

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV Piotr Jarosik, Kamil Jaworski, Dominik Olędzki, Anna Stępień Dokumentacja wstępna TIN Rozproszone repozytorium oparte o WebDAV 1. Wstęp Celem projektu jest zaimplementowanie rozproszonego repozytorium

Bardziej szczegółowo

Projektowanie oprogramowania

Projektowanie oprogramowania Wrocław, 26.09.2012 1. Warunki wstępne Projektowanie oprogramowania Warunkiem uczestnictwa w zajęciach jest zaliczenie przedmiotu: Podstawy inżynierii oprogramowania (ćwiczenia). Zajęcia składają się z

Bardziej szczegółowo

Cel: Przypisujemy przyciskom określone funkcje panel górny (Panel1)

Cel: Przypisujemy przyciskom określone funkcje panel górny (Panel1) W odcinku III tworzyliśmy paski narzędzi. Umieszczaliśmy na panelach ikony, reprezentujące czynności (charakterystyczne dla edytorów tekstu). Musimy teraz przypisać każdemu przyciskowi jego czynność (wycinanie,

Bardziej szczegółowo

Synchronizator plików (SSC) - dokumentacja

Synchronizator plików (SSC) - dokumentacja SZARP http://www.szarp.org Synchronizator plików (SSC) - dokumentacja Wersja pliku: $Id: ssc.sgml 4420 2007-09-18 11:19:02Z schylek$ > 1. Witamy w programie SSC Synchronizator plików (SZARP Sync Client,

Bardziej szczegółowo

GIT. Rozproszony system kontroli wersji

GIT. Rozproszony system kontroli wersji GIT Rozproszony system kontroli wersji Co to jest system kontroli wersji? System kontroli wersji śledzi wszystkie zmiany dokonywane na pliku (lub plikach) i umożliwia przywołanie dowolnej wcześniejszej

Bardziej szczegółowo

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Bardziej szczegółowo

Bezpieczeństwo systemów komputerowych

Bezpieczeństwo systemów komputerowych Bezpieczeństwo systemów komputerowych Jak pisać poprawne programy? Aleksy Schubert (Marcin Peczarski) Instytut Informatyki Uniwersytetu Warszawskiego 6 listopada 2018 Na podstawie: David A. Wheeler Secure

Bardziej szczegółowo

Narzędzia CASE dla.net. Łukasz Popiel

Narzędzia CASE dla.net. Łukasz Popiel Narzędzia CASE dla.net Autor: Łukasz Popiel 2 Czym jest CASE? - definicja CASE (ang. Computer-Aided Software/Systems Engineering) g) oprogramowanie używane do komputerowego wspomagania projektowania oprogramowania

Bardziej szczegółowo

Nazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else.

Nazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else. Nazwa implementacji: Nauka języka Python wyrażenia warunkowe Autor: Piotr Fiorek Opis implementacji: Poznanie wyrażeń warunkowych if elif - else. Nasz kalkulator umie już liczyć, ale potrafi przeprowadzać

Bardziej szczegółowo

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych Wykład 2: Budowanie sieci lokalnych 1 Budowanie sieci lokalnych Technologie istotne z punktu widzenia konfiguracji i testowania poprawnego działania sieci lokalnej: Protokół ICMP i narzędzia go wykorzystujące

Bardziej szczegółowo

Język UML w modelowaniu systemów informatycznych

Język UML w modelowaniu systemów informatycznych Język UML w modelowaniu systemów informatycznych dr hab. Bożena Woźna-Szcześniak Akademia im. Jan Długosza bwozna@gmail.com Wykład 10 Diagramy wdrożenia I Diagramy wdrożenia - stosowane do modelowania

Bardziej szczegółowo

Serwer druku w Windows Server

Serwer druku w Windows Server Serwer druku w Windows Server Ostatnimi czasy coraz większą popularnością cieszą się drukarki sieciowe. Często w domach użytkownicy posiadają więcej niż jedno urządzenie podłączone do sieci, z którego

Bardziej szczegółowo

Git, Bitbucket. Narzędzia i środowiska programistyczne. Laboratorium 2. Prowadzący: Kierunek: Semestr: Rok: Tomasz Gądek Informatyka Zimowy 2

Git, Bitbucket. Narzędzia i środowiska programistyczne. Laboratorium 2. Prowadzący: Kierunek: Semestr: Rok: Tomasz Gądek Informatyka Zimowy 2 Państwowa Wyższa Szkoła Zawodowa w Tarnowie Zakład Informatyki Laboratorium 2 Git, Bitbucket Prowadzący: Kierunek: Semestr: Rok: Informatyka Zimowy 2 Technologie Technologie będące przedmiotem laboratorium:

Bardziej szczegółowo

AKADEMIA GÓRNICZO-HUTNICZA. Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki KATEDRA INFORMATYKI. SyncFile

AKADEMIA GÓRNICZO-HUTNICZA. Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki KATEDRA INFORMATYKI. SyncFile AKADEMIA GÓRNICZO-HUTNICZA Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki KATEDRA INFORMATYKI Document wizyjny dla projektu Wersja 0.1-5 z dnia 2006-11-14 Kierunek, rok studiów: Informatyka,

Bardziej szczegółowo

Przygotowanie platformy projektowo-programowej

Przygotowanie platformy projektowo-programowej Przygotowanie platformy projektowo-programowej Wydział Inżynierii Mechanicznej i Informatyki Instytut Informatyki Teoretycznej i Stosowanej dr inż. Łukasz Szustak Agenda System Kontroli Wersji (SVN) Zintegrowane

Bardziej szczegółowo

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Część XVIII C++ Funkcje Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Umiemy już podzielić nasz

Bardziej szczegółowo

1 Zrób to inaczej. 1.1 Przechowywanie plików Zapisanie i otwieranie pliku do OneDrive w aplikacji Office

1 Zrób to inaczej. 1.1 Przechowywanie plików Zapisanie i otwieranie pliku do OneDrive w aplikacji Office 1 Zrób to inaczej Zestaw scenariuszy dla wszystkich uczestników pilota, koncentrujących się na pracy indywidualnej i współpracy ad-hoc. Scenariusze mogą być używane indywidualnie przez każdego użytkownika

Bardziej szczegółowo

SVN sojusz, partnerstwo, współpraca

SVN sojusz, partnerstwo, współpraca SVN sojusz, partnerstwo, współpraca Bogusz Kowalski Wrocław, 16.03.2010 http://www.linuxacademy.pl 1 Coś o historii Zaczęło się od RCS w 1985... 1990 nadeszła era CVS... 2000 SVN 2 Po co system kontroli

Bardziej szczegółowo

Feature Driven Development

Feature Driven Development Feature Driven Development lekka metodyka tworzenia oprogramowania Kasprzyk Andrzej IS II Wstęp Feature Driven Development (FDD) to metodyka tworzenia oprogramowania, która wspomaga zarządzanie fazami

Bardziej szczegółowo

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Instalacja SQL Server Express. Logowanie na stronie Microsoftu Instalacja SQL Server Express Logowanie na stronie Microsoftu Wybór wersji do pobrania Pobieranie startuje, przechodzimy do strony z poradami. Wypakowujemy pobrany plik. Otwiera się okno instalacji. Wybieramy

Bardziej szczegółowo

Wzorce projektowe i refaktoryzacja

Wzorce projektowe i refaktoryzacja Wzorce projektowe i refaktoryzacja Paweł Kozioł p.koziol@students.mimuw.edu.pl 18.01.2005 Moja praca magisterska Narzędzie dla środowiska Eclipse wspierające stosowanie wzorców projektowych J2EE Prowadzący:

Bardziej szczegółowo

oprogramowania F-Secure

oprogramowania F-Secure 1 Procedura wygenerowania paczki instalacyjnej oprogramowania F-Secure Wznowienie oprogramowania F-Secure zaczyna działać automatycznie. Firma F-Secure nie udostępnia paczki instalacyjnej EXE lub MSI do

Bardziej szczegółowo

Egzamin / zaliczenie na ocenę*

Egzamin / zaliczenie na ocenę* WYDZIAŁ PODSTAWOWYCH PROBLEMÓW TECHNIKI Zał. nr 4 do ZW33/01 KARTA PRZEDMIOTU Nazwa w języku polskim : INŻYNIERIA OPROGRAMOWANIA Nazwa w języku angielskim: SOFTWARE ENGINEERING Kierunek studiów (jeśli

Bardziej szczegółowo

Wyrażenie wewnątrz nawiasów jest atomem (rozpatrujemy je jako całość).

Wyrażenie wewnątrz nawiasów jest atomem (rozpatrujemy je jako całość). Wyrażenia regularne pełnią istotną rolę w PHP. Umożliwiają one opisywanie i przetwarzanie długich ciągów znaków. Dzieje się to na zasadzie porównania danego ciągu znaków z określonym wzorem, ułożonym przez

Bardziej szczegółowo

REFERAT PRACY DYPLOMOWEJ

REFERAT PRACY DYPLOMOWEJ REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i implementacja środowiska do automatyzacji przeprowadzania testów aplikacji internetowych w oparciu o metodykę Behavior Driven Development. Autor: Stepowany

Bardziej szczegółowo

Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor

Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor Koszalin, 15.06.2012 r. Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor Zespół projektowy: Daniel Czyczyn-Egird Wojciech Gołuchowski Michał Durkowski Kamil Gawroński Prowadzący: Dr inż.

Bardziej szczegółowo

Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only. System Szablonów

Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only. System Szablonów System Szablonów System szablonów System szablonów to biblioteka, która pozwala oddzielić warstwę prezentacji od warstwy logicznej. Aplikacja WWW najpierw pobiera wszystkie dane, przetwarza je i umieszcza

Bardziej szczegółowo

Skrócona instrukcja korzystania z Platformy Zdalnej Edukacji w Gliwickiej Wyższej Szkole Przedsiębiorczości

Skrócona instrukcja korzystania z Platformy Zdalnej Edukacji w Gliwickiej Wyższej Szkole Przedsiębiorczości Skrócona instrukcja korzystania z Platformy Zdalnej Edukacji w Gliwickiej Wyższej Szkole Przedsiębiorczości Wstęp Platforma Zdalnej Edukacji Gliwickiej Wyższej Szkoły Przedsiębiorczości (dalej nazywana

Bardziej szczegółowo

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja

Bardziej szczegółowo

Continuous Integration z ClickOnce

Continuous Integration z ClickOnce Continuous Integration z ClickOnce To, że Continuous Integration (z ang. ciągła integracja) to proces polegający na stałym, możliwie częstym konsolidowaniu (kompilacji, testowaniu, publikacji) wyników

Bardziej szczegółowo

Projektowanie oprogramowania

Projektowanie oprogramowania Wrocław, 24.09.2018 1. Warunki wstępne Projektowanie oprogramowania Warunkiem uczestnictwa w zajęciach jest zaliczenie przedmiotu: Podstawy inżynierii oprogramowania (ćwiczenia) Zajęcia składają się z

Bardziej szczegółowo

Poradnik korzystania z usługi FTP

Poradnik korzystania z usługi FTP Poradnik korzystania z usługi FTP 1. Wstęp FTP (ang. File Transfer Protocol) to usługa pozwalająca na wymianę plików poprzez Internet w układzie klient-serwer. Po podłączeniu się do serwera za pomocą loginu

Bardziej szczegółowo

Git - podstawy. Błażej Kowalczyk. Koło Naukowe Robotyków KoNaR. 7 listopada 2014

Git - podstawy. Błażej Kowalczyk. Koło Naukowe Robotyków KoNaR. 7 listopada 2014 Git - podstawy Błażej Kowalczyk Koło Naukowe Robotyków KoNaR 7 listopada 2014 łażej Kowalczyk (Koło Naukowe Robotyków KoNaR) Git - podstawy 7 listopada 2014 1 / 18 Wstęp Kontrola wersji Po co nam kontrola

Bardziej szczegółowo

Ewolucyjna architektura

Ewolucyjna architektura Ewolucyjna architektura www.sxc.hu/photo/850368 Na początek Michał Bartyzel konsultant, trener BNS IT procesy zwinne i nie tylko architektura czysty kod software crafstmanship strategie skutecznych programistów

Bardziej szczegółowo

5.4. Efekty specjalne

5.4. Efekty specjalne 5.4. Efekty specjalne Przedstawiliśmy już sobie sporo kwestii związanych z dodawaniem, edytowaniem czy usuwaniem elementów, które możemy zamieścić w prezentacji. Ale pomyłką było by stwierdzenie, że więcej

Bardziej szczegółowo

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie:

Bardziej szczegółowo

Tworzenie prezentacji w MS PowerPoint

Tworzenie prezentacji w MS PowerPoint Tworzenie prezentacji w MS PowerPoint Program PowerPoint dostarczany jest w pakiecie Office i daje nam możliwość stworzenia prezentacji oraz uatrakcyjnienia materiału, który chcemy przedstawić. Prezentacje

Bardziej szczegółowo

Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton

Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton Dzisiejszy wykład Wzorce projektowe Visitor Client-Server Factory Singleton 1 Wzorzec projektowy Wzorzec nazwana generalizacja opisująca elementy i relacje rozwiązania powszechnie występującego problemu

Bardziej szczegółowo

Szczegółowa specyfikacja funkcjonalności zamawianego oprogramowania.

Szczegółowa specyfikacja funkcjonalności zamawianego oprogramowania. Szczegółowa specyfikacja funkcjonalności zamawianego oprogramowania. Założenia projektowe systemu NETDOC. część 1: założenia ogólne i funkcjonalność rdzenia systemu Założenia ogólne Celem projektu jest

Bardziej szczegółowo

Przejrzystość, intuicyjny charakter i łatwość oprogramowania sterowników FATEK.

Przejrzystość, intuicyjny charakter i łatwość oprogramowania sterowników FATEK. Darmowe oprogramowanie narzędziowe sterowników PLC FATEK. Przejrzystość, intuicyjny charakter i łatwość oprogramowania sterowników FATEK. WinProllader jest prostym interfejsem użytkownika służącym do programowania

Bardziej szczegółowo

Laboratorium Informatyka (I) AiR Ćwiczenia z debugowania

Laboratorium Informatyka (I) AiR Ćwiczenia z debugowania Laboratorium Informatyka (I) AiR Ćwiczenia z debugowania Krzysztof Kluza, Janusz Miller 1 Debugowanie Debugowanie, czy też po polsku odpluskiwanie, to proces polegający na kontrolowanym wykonaniu programu

Bardziej szczegółowo

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy

Bardziej szczegółowo

Diagramy czynności. Widok logiczny. Widok fizyczny

Diagramy czynności. Widok logiczny. Widok fizyczny Diagramy czynności System widoków 4+1 Kruchtena Widok logiczny Widok fizyczny Widok procesu Widok przypadków użycia Widok konstrukcji Diagramy czynności są jedynym diagramem w widoku procesu modelowanego

Bardziej szczegółowo

Sieci komputerowe i bazy danych

Sieci komputerowe i bazy danych Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Sieci komputerowe i bazy danych Sprawozdanie 5 Badanie protokołów pocztowych Szymon Dziewic Inżynieria Mechatroniczna Rok: III Grupa: L1 Zajęcia

Bardziej szczegółowo

Systemy kontroli wersji

Systemy kontroli wersji Systemy kontroli wersji Git Część II Gałęzie Aleksander Lamża ZKSB Instytut Informatyki Uniwersytet Śląski w Katowicach aleksander.lamza@us.edu.pl Zawartość Gałęzie Wstępne wymagania Wprowadzenie do systemów

Bardziej szczegółowo

System zarządzania wersjami I Subversion

System zarządzania wersjami I Subversion Subversion Na tych zajęciach poznamy reguły pracy z systemami zarządzania wersjami oraz przećwiczymy podstawowe, najczęściej wykonywane operacje w takich systemach. Bazować będziemy na systemie Subversion

Bardziej szczegółowo

Dokumentacja instalacji aktualizacji systemu GRANIT wydanej w postaci HotFix a

Dokumentacja instalacji aktualizacji systemu GRANIT wydanej w postaci HotFix a Dokumentacja instalacji aktualizacji systemu GRANIT wydanej w postaci HotFix a 1. Informacje wstępne...1 2. Sprawdzenie zainstalowanej wersji systemu GRANIT oraz pobieranie aktualizacji...1 3. Instalacja

Bardziej szczegółowo

Dokument Detaliczny Projektu

Dokument Detaliczny Projektu Dokument Detaliczny Projektu Dla Biblioteki miejskiej Wersja 1.0 Streszczenie Niniejszy dokument detaliczny projektu(ddp) przedstawia szczegóły pracy zespołu projektowego, nad stworzeniem aplikacji bazodanowej

Bardziej szczegółowo

Podstawy programowania

Podstawy programowania Podstawy programowania Część pierwsza Od języka symbolicznego do języka wysokiego poziomu Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót

Bardziej szczegółowo

OpenOfficePL. Zestaw szablonów magazynowych. Instrukcja obsługi

OpenOfficePL. Zestaw szablonów magazynowych. Instrukcja obsługi OpenOfficePL Zestaw szablonów magazynowych Instrukcja obsługi Spis treści : 1. Informacje ogólne 2. Instalacja zestawu a) konfiguracja połączenia z bazą danych b) import danych z poprzedniej wersji faktur

Bardziej szczegółowo

I. Raport wykonywalności projektu

I. Raport wykonywalności projektu Spis treści: " I. " Raport wykonywalności projektu..." str. 2 " II. " Glosariusz projektu... " str. 4 " III. " Diagramy relacji encja-związek..." str. 6 " IV. " Diagramy przepływu danych..." str. 7 " V.

Bardziej szczegółowo

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. 1. Przygotowanie środowiska programistycznego. Zajęcia będą

Bardziej szczegółowo

SYSTEMY INFORMATYCZNE ćwiczenia praktyczne

SYSTEMY INFORMATYCZNE ćwiczenia praktyczne SYSTEMY INFORMATYCZNE ćwiczenia praktyczne 12.03.2019 Piotr Łukasik p. 373 email: plukasik@agh.edu.pl / lukasik.pio@gmail.com www.lukasikpiotr.com Zakres tematyczny implementacji projektu informatycznego

Bardziej szczegółowo

Technologie informacyjne - wykład 12 -

Technologie informacyjne - wykład 12 - Zakład Fizyki Budowli i Komputerowych Metod Projektowania Instytut Budownictwa Wydział Budownictwa Lądowego i Wodnego Politechnika Wrocławska Technologie informacyjne - wykład 12 - Prowadzący: Dmochowski

Bardziej szczegółowo

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 1. Wprowadzenie do aplikacji internetowych

Bardziej szczegółowo

2.5 Dzielenie się wiedzą

2.5 Dzielenie się wiedzą 2.5 Dzielenie się wiedzą 2.5.1 Baza wiedzy zespołu Tworzenie bazy wiedzy w OneNote, zapoznanie się z przykładowymi bazami wiedzy, stworzenie struktury bazy wiedzy, zdefiniowanie własnych tagów, stworzenie

Bardziej szczegółowo