Przygotowanie platformy projektowo-programowej



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

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

System kontroli wersji SVN

Tworzenie oprogramowania

Załącznik 1 instrukcje instalacji

Ćwiczenia 9: Zarządzanie konfiguracją Zadania:

Systemy zarządzania wersjami

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Programowanie I

Przegląd i ewaluacja narzędzi do szybkiego tworzenia interfejsu użytkownika (RAD).

Załącznik 1 instrukcje instalacji

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

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

Niezbędne narzędzia. Przed rozpoczęciem pracy z PHP należy zainstalować odpowiednie narzędzia: środowisko PHP serwer WWW serwer baz danych MySQL

ActiveXperts SMS Messaging Server

GIT. System Kontroli wersji GIT. Rafał Kalinowski

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8.

Co zostanie wypisane na ekranie? (1)

CVS system kontroli wersji

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

Wykład I. Wprowadzenie do baz danych

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

Aplikacja serwerowa Platformy Prezentacyjnej Opis produktu

Szczegółowa specyfikacja funkcjonalności zamawianego oprogramowania.

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

System Kancelaris. Zdalny dostęp do danych

Ekspert MS SQL Server Oferta nr 00/08

MAMP: Można to pobrać i zainstalować z XAMPP: Można go pobrać i zainstalować z

Inżynieria oprogramowania- Grupa dra inż. Leszka Grocholskiego II UWr 2009/2010. Aleksandra Kloc, Adam Grycner, Mateusz Łyczek. Wasza-fota.

Tomasz Grześ. Systemy zarządzania treścią

Oracle Designer. Oracle Designer jest jednym z głównych komponentów pakietu Oracle Developer Suite. Oracle Designer wspiera :

Poziomy wymagań Konieczny K Podstawowy- P Rozszerzający- R Dopełniający- D Uczeń: - zna rodzaje sieci - zna topologie sieciowe sieci

Specyfikacja implementacyjna aplikacji serwerowej

Partnerzy: Laboratorium 15

SVN. 10 października Instalacja. Wchodzimy na stronę i pobieramy aplikację. Rysunek 1: Instalacja - krok 1

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja autoryzowanego użytkownika)

Zadanie nr 4.5: Oprogramowanie bazodanowe. Lp. Zwartość karty Opis 1 Specyfikacja techniczna / funkcjonalna przedmiotu zamówienia

UML w Visual Studio. Michał Ciećwierz

Dokumentacja aplikacji Szachy online

Usługi sieciowe systemu Linux

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

Czym jest jpalio? jpalio jpalio jpalio jpalio jpalio jpalio jpalio jpalio

Konspekt pracy inżynierskiej

GIT. Rozproszony system kontroli wersji

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

Programowanie proceduralne w języku C++ Podstawy

PROGRAM PRAKTYKI ZAWODOWEJ. Technikum Zawód: technik informatyk

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

DSL w środowisku Eclipse. Grzegorz Białek Architekt techniczny, Sygnity S.A.

Tworzenie i obsługa wirtualnego laboratorium komputerowego

Assembla.com zajęcia 1

Podstawy programowania III WYKŁAD 4

Król Łukasz Nr albumu:

PRZEWODNIK PO PRZEDMIOCIE

Podstawy programowania. Wprowadzenie

Informatyczne fundamenty

PHP: bazy danych, SQL, AJAX i JSON

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi

PROGRAM MICROSOFT DEVELOPER NETWORK ACADEMIC ALLIANCE MSDN AA

Wstęp do Informatyki. Klasyfikacja oprogramowania

Instalacja Wirtualnego Serwera Egzaminacyjnego

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

KS-ZSA. Korporacyjne grupy towarowe

Instrukcja Instalacji. Instalacja lokalna

Program szkolenia KURS SPD i PD Administrator szkolnej pracowni internetowej Kurs MD1 Kurs MD2 Kurs MD3 (dla szkół ponadgimnazjalnych)

Dokument Detaliczny Projektu

Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Instytut Fizyki

Archiwizacja baz MSSQL /BKP_SQL/ opis oprogramowania

Autor: Bączkowski Karol Promotor: dr inż. Paweł FIGAT

Płace Optivum. 1. Zainstalować serwer SQL (Microsoft SQL Server 2008 R2) oraz program Płace Optivum.

Instrukcja użytkownika Platforma transakcyjna mforex Trader dla systemu MacOS

Rok szkolny 2015/16 Sylwester Gieszczyk. Wymagania edukacyjne w technikum. ADMINISTROWANIE BAZAMI DANYCH kl. 4c

Skanowanie podsieci oraz wykrywanie terminali ABA-X3

G DATA TechPaper Aktualizacja rozwiązań G DATA Business do wersji 14.2

Programowanie Komponentowe WebAPI

SUBVERSION TOMASZ ŁUKASZUK

Projektowanie baz danych za pomocą narzędzi CASE

Ełk, dn r. DOMSET Marcin Brochacki. ul. Wojska Polskiego 43 lok. 3, Ełk. Nip ZAPYTANIE OFERTOWE

Serwery LDAP w środowisku produktów w Oracle

Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki. Paweł Parys. Nr albumu: Aukcjomat

Zapytanie ofertowe nr 2/IAP/2013 ( dotyczy modułu nr 2/IAP )

SVN sojusz, partnerstwo, współpraca

INŻYNIERIA OPROGRAMOWANIA

Współpraca z platformą Emp@tia. dokumentacja techniczna

Instalacja i opis podstawowych funkcji programu Dev-C++

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami

Jednolite zarządzanie użytkownikami systemów Windows i Linux

Xopero Backup Build your private cloud backup environment. Rozpoczęcie pracy

Wprowadzenie do systemu wersjonowania svn

KARTA KURSU. Administracja serwerami WWW

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Technologie informacyjne - wykład 12 -

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

REFERAT O PRACY DYPLOMOWEJ

DHL CAS ORACLE Wymagania oraz instalacja

Transkrypt:

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 środowiska programistyczne UML jako przykład narzędzia do projektowania systemów

Wprowadzenie do Systemów Kontroli Wersji Systemy kontroli wersji ułatwiają grupową pracę wielu programistów nad jednym projektem Pozwalają one na współbieżną współpracę poprzez sieć wielu osób nad tym samym kodem źródłowym Najbardziej popularnym systemem kontroli wersji jest CVS Ze względu na kilka wad systemu CVS powstał system Subversion, nazywany również SVN, który wypiera (wyparł) CVS

Wprowadzenie do Systemów Kontroli Wersji Wszędzie tam, gdzie nad jednym projektem pracuje wiele osób, zastosowanie znajduje system kontroli wersji System, zainstalowany na serwerze, przechowuje pliki projektu Programista, który chce wykonać poprawki lub zmiany w kodzie źródłowym, pobiera aktualny kod projektu z serwera Po dokonaniu zmian w plikach, kod projektu jest przesyłany przez programistę ponownie na serwer Oprogramowanie kontroli wersji scala pliki przesłane przez programistę z kodem

Wprowadzenie do Systemów Kontroli Wersji Proces scalania jest niemal całkowicie automatyczny Nawet, jeśli wielu programistów wykonało zmiany w projekcie i przesłało nowe wersje kodu na serwer w tym samym czasie, oprogramowanie kontroli wersji poprawnie scali wszystkie dokonane zmiany: być może w wielu plikach naraz, być może w niektórych plikach w wielu miejscach Jedynie wykluczające się wzajemnie zmiany dotyczące dokładnie tego samego miejsca w jednym pliku nie mogą być rozstrzygnięte automatycznie Wówczas potrzebna jest ingerencja jednego z programistów, który musi ręcznie wybrać jedną wersję wprowadzonych modyfikacji

Wprowadzenie do Systemów Kontroli Wersji Naturalnie, takie kolizje w rzeczywistości są dość rzadkie (pod warunkiem, że poszczególni developerzy mają ściśle określone zadania) Opisany model pracy jest określany jako kopiuj-modyfikuj-scal (copy-modify-merge) W modelu tym, poza specjalnymi przypadkami, nie występują blokady, co znaczy że żaden z plików projektu nie jest zablokowany Programista może pobrać kod całego projektu, i pracować nad dowolnym plikiem w dowolnej chwili Nie ma wymogu oczekiwania na zakończenie pracy poszczególnych osób w zespole (wykonania uaktualnienia) - programiści są wzajemnie niezależni

Subversion cechy systemu Subversion może być postrzegany jako serwer plików wzbogacony o dodatkową funkcjonalność W wirtualnym systemie plików udostępnianym przez serwer wszystkie zmiany, a więc zawartość, nazwy, atrybuty oraz położenie plików i katalogów podlegają śledzeniu i mogą być wycofywane System rejestruje zmiany dotyczące nie tylko zawartości, ale także wszystkich innych cech plików Foldery podlegają rejestracji w taki sam sposób jak pliki Śledzeniu podlegają także operacje na plikach i folderach: tworzenie, kopiowanie, przesuwanie, usuwanie, zmiana nazwy

Subversion cechy systemu Zatwierdzenie poprawek przez programistę jest operacją atomową, tzn. odbędzie się ona w całości lub nie odbędzie się wcale (bez względu na to ilu plików dotyczy) Subversion został zaimplementowany m.in. w postaci modułu serwera Apache, dzięki czemu dostęp do repozytoriów może wykorzystywać SSL, kompresję danych i wszelkie inne udogodnienia oferowane przez Apache'a System pozwala na rejestrację wersji zarówno plików tekstowych jak i binarnych

SVN słownik repozytorium (repository): zestaw plików i folderów zarządzanych i udostępnianych przez serwer SVN System SVN jest serwerem plików, który nadaje całemu repozytorium dodatkowy wymiar: numer rewizji W każdej chwili użytkownicy mogą uzyskać dostęp do całego repozytorium (czyli drzewa katalogów i plików) w stanie z zadanej rewizji Numer rewizji dotyczy całego repozytorium i jest zwiększany po każdym przesłaniu plików na serwer (czyli po wykonaniu operacji commit)

SVN słownik repozytorium (repository): Podstawowy proces wykorzystywania SVN-a: Użytkownik najpierw pobiera z serwera aktualną kopię plików Kopia lokalna jest nazywana kopią roboczą Następnie użytkownik dowolnie modyfikuje swoją własną kopię roboczą Na zakończenie, zmieniona kopia robocza jest przesyłana przez użytkownika na serwer i scalana z plikami zawartymi na serwerze

SVN słownik kopia robocza (working copy): Komplet plików tworzących projekt przekopiowany z serwera SVN na dysk lokalny Kopia robocza jest w 100% prywatną własnością: oprogramowanie SVN nigdy samowolnie nie dokona w niej żadnych zmian Do utworzenia kopii roboczej służy polecenie checkout zaś do przesłania kopii roboczej na serwer polecenie commit Po przesłaniu na serwer, kopia robocza może być usunięta (nie ma to wpływu na zawartość serwera)

SVN słownik rewizja (revision) Stan systemu plików przechowywanych przez serwer SVN po wykonaniu zadanej liczby zmian Operacja commit przesyłająca kopię roboczą na serwer zwiększa numer rewizji Bez względu na liczbę zmienionych plików, jedna operacja commit zwiększa numer rewizji dokładnie o jeden w stosunku do aktualnego numeru rewizji na serwerze SVN Numery rewizji dotyczą całego drzewa plików i katalogów przechowywanego przez SVN, a nie poszczególnych plików

SVN słownik kolizja (collision): Sytuacja, w której dwie osoby wykonały wykluczające się zmiany w jednym z plików Serwer SVN nie może w takiej sytuacji automatycznie rozstrzygnąć, która wersja pliku ma być traktowana jako bieżąca Decyzję o tym, który plik ma być aktualny, podejmuje człowiek, po ręcznej analizie plików

Subversion Oprogramowanie Subversion składa się z klienta oraz serwera: VISUALSVN SERVER: Serwer SVN dla systemu Windows TortoiseSVN: graficzny klient SVN dla systemu Windws

VISUALSVN SERVER Po zainstalowaniu należy stworzyć użytkowników, którzy w oparciu o login i hasło - będę mieć dostęp do SVN:

VISUALSVN SERVER W następnej kolejności należy stworzyć repozytorium, czyli miejsce w którym będą przechowywane kopie robocze

VISUALSVN SERVER Z utworzonym repozytorium można powiązać użytkowników, nadając im indywidualne prawa dostępu:

TortoiseSVN TortoiseSVN: graficzny klient SVN dla systemu Windows W celu skorzystania z klienta SVN, w pierwszej kolejności należy powiązać folder użytkownika z repozytorium:

TortoiseSVN W celu skorzystania z klienta SVN, w pierwszej kolejności należy powiązać folder użytkownika z repozytorium:

TortoiseSVN Po wykonaniu polecania SVN checkout zostanie pobrana zawartość repozytorium W następnej kolejności można dodawać nowe pliki/foldery do repozytorium:

TortoiseSVN Aby synchronizować repozytorium z lokalną wersją należy użyć 1 z 2 komend: SVN Update której zadaniem jest pobranie najnowszej wersji np..pliku z repozytorium SVN Commit której zadaniem jest wysłanie nowej/zmodyfikowanej wersji np.. pliku

TortoiseSVN W trakcie wysyłania użytkownik zostanie poproszony o podanie komentarza:

TortoiseSVN Użytkownicy mają dostęp do wszystkich wcześniej wysłanych wersji:

Zintegrowane środowiska programistyczne Zintegrowane środowisko programistyczne (Integrated Development Environment, IDE) jest to aplikacja lub zespół aplikacji, środowisk służących do tworzenia, modyfikowania, testowania i konserwacji oprogramowania Przykłady: Edytor tekstowy, np: vim, gedit, kwrite NetBeans Eclipse Visual Studio Dev-C++

NetBeans NetBeans projekt otwartego oprogramowania mający za zadanie dostarczanie efektywnych narzędzi programowania głównie w języku Java Dodatkowo, NetBeans zapewnia wsparcie dla PHP, C/C++, i HTML5 Dwa najważniejsze elementy wchodzące w skład NetBeans-a to: NetBeans IDE zintegrowane środowisko programistyczne, którego głównym celem jest przyspieszenie budowy aplikacji, w tym również usług sieciowych oraz aplikacji mobilnych NetBeans Platform gotowa platforma służąca za fundament rozwoju aplikacji Java Swing. Dzięki użyciu gotowej bazy i udostępnianych przez NetBeans Platform gotowych do użycia usług okna, menu, zarządzanie i przechowywanie konfiguracji, dostęp do plików można znacząco skrócić proces budowy aplikacji http://www.oracle.com/technetwork/java/javase/downloads/jdk-7-netbeans-download-432126.html

NetBeans moduł C/C++ Moduł Netbeans dla C/C++ wymaga wcześniejszego zainstalowania kompilatorów dla C/C++, debuggera gdb, jak również zapewnienia wsparcia dla make utility Dla systemów rodziny Linux może zostać wykorzystany szeroko znany GNU Compiler Collection, natomiast dla rodziny systemów Windows można wykorzystać jeden z następujących narzędzi: Cygwin Compilers and Tools MinGW Compilers and Tools https://netbeans.org/community/releases/72/cpp-setup-instructions.html#downloading

NetBeans praca zdalna NetBeans pozwala na pracę zdalną, np.: Kod tworzony/rozwijany może być na lokalnym komputerze lub serwerze Kod może być kompilowany na serwerze lub lokalnie Program może zostać uruchomiony na serwerze lub na lokalnym komputerze Wykorzystywane są do tego standardowe protokoły komunikacyjne: ssh, sshfs lub ftp, sftp

NetBeans - Subversion NetBeans zapewnia integrację klienta SVN W rezultacie usprawnia to proces rozwoju danego oprogramowania dla grup roboczo-projektowych, poprzez równoległą pracę z użyciem wspólnego repozytorium Funkcjonalność ta pozwala na wykonywanie zadań wersjonowanych bezpośrednio z IDE systemu projektu https://netbeans.org/kb/docs/ide/subversion.html

Narzędzia do modelowania w UML Narzędzia do modelowania w UML (Unified Modeling Language ujednoliconym języku modelowania) oprogramowanie, które pozwala tworzyć modele pomocne przy programowaniu Format otwarty UML język formalny wykorzystywany do modelowania różnego rodzaju systemów Służy do modelowania dziedziny problemu - w przypadku stosowania go do analizy oraz do modelowania rzeczywistości, która ma dopiero powstać - tworzy się w nim głównie modele systemów informatycznych.

Narzędzia do modelowania w UML UML jest głównie używany wraz z jego reprezentacją graficzną - jego elementom przypisane są symbole, które wiązane są ze sobą na diagramach Można wyróżnić aż 14 diagramów głównych oraz 3 abstrakcyjne (struktur, zachowań i interakcji) Przykładowe diagramy: Przypadków użycia: przedstawia interakcję pomiędzy aktorem (użytkownikiem systemu), który inicjuje zdarzenie oraz samym systemem jako sekwencję prostych kroków

Narzędzia do modelowania w UML Przykładowe diagramy: Sekwencji: opisują interakcje pomiędzy częściami systemu w postaci sekwencji komunikatów wymienianych między nimi Klas: to statyczny diagram strukturalny, przedstawiający strukturę systemu w modelach obiektowych przez ilustrację struktury klas i zależności między nimi Komunikacji kooperacji: Diagram komunikacji jest jednym z diagramów interakcji. Diagram komunikacji przedstawia sposób wymiany komunikatów pomiędzy obiektami uczestniczącymi w interakcji.

Diagram przypadków użycia

Diagram Sekwencji

Diagram Komunikacji

Serwer www - Apache Apache - otwarty serwer HTTP dostępny dla wielu systemów operacyjnych W połączeniu z interpreterem języka skryptowego PHP i bazą danych MySQL, Apache stanowi jedno z najczęściej spotykanych środowisk w firmach oferujących miejsce na serwerach sieciowych Cechuje go wielowątkowość, skalowalność, bezpieczeństwo, itd...

PHP PHP jest językiem skryptowym służącym do rozszerzania możliwości stron internetowych Składnia PHP jest bardzo podobna do popularnych języków programowania C/C++, lecz jest bardzo uproszczona programista PHP zazwyczaj nie musi przejmować się poprawnością typów zmiennych, przydzielaniem dla nich pamięci itp. PHP umożliwia współpracę z wieloma rodzajami źródeł danych, takich jak systemy zarządzania bazami danych, pliki tekstowe, dokumenty XML oraz serwisy WWW

Baza danych: MySQL MySQL jest wolnodostępnym systemem zarządzania relacyjnymi bazami danych MySQL rozwijany jest przez firmę Oracle MySQL to najchętniej używana baza danych z otwartym dostępem do kodu źródłowego Jest wykorzystywana do tworzenia niedrogich, skutecznych i skalowalnych wbudowanych aplikacji bazodanowych w sieci

phpmyadmin phpmyadmin narzędzie służące do łatwego zarządzania bazą danych MySQL napisane w języku PHP Oprogramowanie wydawane jest na licencji GNU General Public License i umożliwia między innymi tworzenie/usuwanie baz danych, dodawanie/kasowanie relacji oraz edycję ich struktury i zawartości Wszystkie operacje mogą być wykonywane z poziomu przeglądarki internetowej, w graficznym środowisku, bez konieczności pracy z domyślnym interfejsem tekstowym

WorkBeanch MySQL Workbench jest zunifikowanym wizualnym narzędziem dla twórców baz danych, programistów i administratorów baz danych MySQL Workbench umożliwia modelowania baz danych oraz zapewnia kompleksowe narzędzia administracyjne dla konfiguracji serwera, administracji użytkowników, tworzenia kopii zapasowych itd.. MySQL Workbench jest dostępny dla różnych systemów operacyjnych rodziny Windows, Linux i Mac OS X MySQL Workbench dostarcza wizualne narzędzia do tworzenia, realizacji i optymalizacji zapytań SQL

Instalacja serwera Apache, PHP, MySQL Alache: http://httpd.apache.org/download.cgi php: http://windows.php.net/download/ MySQL: http://dev.mysql.com/downloads/mysql/ phpmyadmin: http://www.phpmyadmin.net/home_page/downloads.php przykładowy przewodnik: http://www.tworzenieinternetowychstron.cba.pl/porady/instal acja-serwera-apache-php-i-mysql.html