( rednio) zaawansowane programowanie w C++ (ZPR)

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

Download "( rednio) zaawansowane programowanie w C++ (ZPR)"

Transkrypt

1 ( rednio) zaawansowane programowanie w C++ (ZPR) Wykªad 8 - tworzenie oprogramowania, testowanie Robert Nowak 2015Z ( rednio) zaawansowane programowanie w C++ (ZPR) 1/35

2 Podsumowanie kolokwium Frekwencja: 89% ±rednia punktów zad1 54% sprytne wska¹niki, zale»no± cykliczna zad2 84% wyj tki zad3 42% dziedziczenie wielobazowe pyt1 100% czytelno± kodu pyt2 97% komentarze zad4 35% komenda zad5 77% wizytator ±rednia punktów: 15.3 (61%) ( rednio) zaawansowane programowanie w C++ (ZPR) 2/35

3 Metodologie lekkie (agile) ( rednio) zaawansowane programowanie w C++ (ZPR) 3/35

4 Pewne fakty zwi zane z tworzeniem oprogramowania Najcz stsze przyczyny niepowodzenia projektu (przedstawione na wykªadzie 1): niestabilne wymagania optymistyczna estymacja kosztów (gªównie czasu) realizacji projektów R. Glass, Frequently Forgotten Facts about Software Engineering, 2001 Sterowanie projektem: koszt czas jako± zakres ( rednio) zaawansowane programowanie w C++ (ZPR) 4/35

5 Model wodospadowy Wodospadowy (tradycyjny) model tworzenia oprogramowania: 1. analiza 2. projektowanie Koszt 3. implementacja 4. testowanie 5. wdro»enie 6. piel gnacja Wady: du»e ryzyko niepowodzenia projektu dªugi czas sprz»enia zwrotnego Przyczyny: Czas wykªadniczy (wzgl dem czasu) wzrost kosztów zmian w projekcie. ( rednio) zaawansowane programowanie w C++ (ZPR) 5/35

6 Metodologie lekkie (extreme programming, SCRUM) Mo»liwo±ci uzyskania innej krzywej kosztu zmian w czasie: prostota projektu automatyczne testy nastawienie na ci gªe zmiany w projekcie polepszenie komunikacji Wªa±ciwo±ci: krótki czas sprz»enia zwrotnego Koszt mniejsze ryzyko niepowodzenia projektu Czas ( rednio) zaawansowane programowanie w C++ (ZPR) 6/35

7 Cykl tworzenia oprogramowania - SCRUM ( rednio) zaawansowane programowanie w C++ (ZPR) 7/35

8 Zmniejszenie kosztów zmian - dziaªaj cy prototyp Utrzymywanie dziaªaj cej wersji przez caªy czas trwania projektu. testowanie automatyczne: jednostkowe podczas implementacji - zapewnienie pokrycie kodu testami je»eli znajdzie si bª d, to nale»y napisa test, który go wychwyci funkcjonalne ci gªa integracja ( rednio) zaawansowane programowanie w C++ (ZPR) 8/35

9 Zmniejszanie kosztów zmian - kod ¹ródªowy Kody ¹ródªowe dobrej jako±ci przez caªy czas trwania projektu. zmiana struktury programu bez zmiany funkcjonalno±ci (refactoring) wzorce projektowe Komentarze - poprawiaj czytelno± kodu. Komentarz mówi DLACZEGO, kod mówi JAK. nale»y opisywa odpowiedzialno± moduªów (plików), klas, metod ka»dy byt powinien mie pojedyncz odpowiedzialno± nale»y opisywa niebanalne algorytmy dokumentacja projektowa cz sto powinna by generowana z kodu ( rednio) zaawansowane programowanie w C++ (ZPR) 9/35

10 Zmniejszanie kosztów zmian - zarz dzanie denicja tego co to znaczy,»e zadanie zostaªo wykonane (projekt, implementacja, testy jednostkowe, testy funkcjonalne, wdro»enie) jawne sterowanie projektem jawna lista zada«kolektywne prawo do zmian kodu (narz dzia zarz dzaj ce wersjami) kolektywne szacowanie zªo»ono±ci zada«nastawienie na zmiany planowanie czasu pracy dyskusja z u»ytkownikiem lub wªa±cicielem biznesowym podsumowania, wyci ganie wniosków ( rednio) zaawansowane programowanie w C++ (ZPR) 10/35

11 Zmniejszanie kosztów zmian - wsparcie odbiorcy oprogramowania Zaanga»owanie odbiorcy oprogramowania: pozwala unikn tworzenia rozwi za«, które nie b d u»ywane dostarcza dodatkow kontrol poprawno±ci Aby zrozumie najwa»niejsze wymagania, programi±ci powinni pracowa w organizacji, która zleciªa utworzenie oprogramowania, jako u»ytkownik aplikacji, przez 1-2 tygodnie. a a Hunt, Thomas, The Pragmatic Programmer, Addison-Wesley, 2000 ( rednio) zaawansowane programowanie w C++ (ZPR) 11/35

12 PRINCE2 - projekty w sterowalnym ±rodowisku zarz dzanie strategiczne: odpowiedzialne za sukces projektu, m.in. ci gªa zasadno± biznesowa zarz dzanie operacyjne: delegowanie zada«, monitorowanie, alokacja zasobów ( rednio) zaawansowane programowanie w C++ (ZPR) 12/35

13 ( rednio) zaawansowane programowanie w C++ (ZPR) 13/35

14 Testowanie moduªów: zagadnienia ogólne Rola Testowania: klient upewnia si,»e projekt dziaªa zgodnie z zaªo»eniami programista upewnia si,»e kod dziaªa tak jak on zakªada implementacja testów: jedna z pocz tkowych faz implementacji nowej klasy czy biblioteki pisanie testów powinno by proste wiele maªych testów (test-case), które mo»na grupowa (test-suits) mo»liwo± wyboru ilo±ci wy±wietlanej informacji w razie niepowodzenia testu mo»liwo± ±ledzenia post pu przy du»ych i zªo»onych testach biblioteki: boost::test, cppunit, inne ( rednio) zaawansowane programowanie w C++ (ZPR) 14/35

15 Miara jako±ci testów pokrycie kodu testami testowanie mutacyjne TODO: biblioteki ( rednio) zaawansowane programowanie w C++ (ZPR) 15/35

16 Tworzenie testów - poziomy boost/test/test_tools.hpp - dostarcza zestawu makrodenicji poziom informacja licznik bª dów wykonywanie testu WARN ostrze»enie bez zmian kontynuowane CHECK bª d zwi kszany kontynuowane REQUIRE bª d krytyczny zwi kszany przerywane zazwyczaj nale»y u»ywa CHECK (tak jak asercji) WARN gdy mniej istotne ni» poprawno± (np. wydajno± ) REQUIRE gdy kontynuacja testu nie ma sensu int* ptr = 0L; BOOST_WARN( sizeof(short) == sizeof(int) ); //ostrze»enie BOOST_CHECK( silnia(1) == 1 ); BOOST_REQUIRE( ptr!= 0L ); BOOST_CHECK( *ptr == 2 ); //Ta linia nigdy si nie wykona ( rednio) zaawansowane programowanie w C++ (ZPR) 16/35

17 Tworzenie testów - warunki liczbowe BITWISE_EQUAL(a,b) zgodno± poszczególnych bitów EQUAL(a,b) równo± (woªany operator==) SMALL(val,ɛ) dla zmiennopozycyjnych, warto± bezwzgl dna mniejsza ni» ɛ CLOSE(a,b,ɛ) dla zmiennopozycyjnych, warto±ci bezwzgl dna ró»nicy nie wi ksza ni» ɛ% int a = 1, b = 2; //przykªady testów double x = 1.0, y = 1.001; BOOST_CHECK_BITWISE_EQUAL(0x27, 0x17); //ró»nica na 4 oraz 5 bicie BOOST_CHECK_EQUAL(a,b); BOOST_CHECK_SMALL( x - y, 0.001); // x - y <= BOOST_WARN_CLOSE(x, y, 0.1); // (x-y)/x <= oraz (x - y)/y <= ( rednio) zaawansowane programowanie w C++ (ZPR) 17/35

18 Tworzenie testów - wyj tki NO_THROW( stat ) THROW(stat, except) EXCEPTION(stat, except, p) nie powinno generowa wyj tków rzuca wyj tkiem danego typu spodziewane gen. wyj tku, który speªnia predykat struct MyException : public std::exception {//przykªadowy wyj tek int i_; MyException(int i) : i_(i) {} }; void f() { throw MyException(1); } //testowany kod //przykªadowy warunek dla wyj tku bool iscritical(const MyException& ex) { return ex.i_ == 2; } BOOST_CHECK_NO_THROW( f() ); //nie powinno rzuca wyj tków BOOST_REQUIRE_THROW( f(), std::exception );//spodziewany wyj tek //spodziewany wyj tek odp. typu oraz speªniaj cy warunek BOOST_CHECK_EXCEPTION( f(), MyException, iscritical ); ( rednio) zaawansowane programowanie w C++ (ZPR) 18/35

19 Generowane wiadomo±ci warning in <nazwa>: condition <opis> is not satised error in <nazwa>: test <opis> failed fatal error in <nazwa>: critical test <opis> failed MESSAGE( p, msg ) je»eli warunek faªszywy to generuje wiadomo± 'msg' int i = 1; BOOST_CHECK_MESSAGE(i == 2,"mialo byc i == 2, a jest i == " << i); //BOOST_ERROR( msg ) = BOOST_CHECK_MESSAGE( false, msg ) BOOST_ERROR("nie powinien sie tutaj znalezc"); //BOOST_FAIL( msg ) = BOOST_REQUIRE_MESSAGE( false, msg ) BOOST_FAIL("dalsze wykonywanie testu nie ma sensu"); ( rednio) zaawansowane programowanie w C++ (ZPR) 19/35

20 Test - obiekt klasy test_case #define BOOST_TEST_CASE( fun ) \ make_test_case(callback0<>(fun),boost_test_stringize(fun)) void test_1 () { //tutaj co± testuje } BOOST_TEST_CASE( &test_1 );//tworzy obiekt typu test_case BOOST_AUTO_TEST_CASE( nazwa ){ //tworzy obiekt typu test_case //tutaj co± testuje } ( rednio) zaawansowane programowanie w C++ (ZPR) 20/35

21 Organizacja testów - zbiór testów (test_suite) //Reprezentuje zbiór testów (wzorzec kompozytu) class test_suite : public test_case { public: void add( test_case* tc, //Metoda dodaje nowy test do zbioru unit_test_counter expected_failures = 0, int timeout = 0 ); //np. do wykrywania p tli niesk. /*... */ }; //Makrodefinicja tworz ca test_suite BOOST_TEST_SUITE( nazwa ); //Przykªad u»ycia test_suite* init_unit_test_suite( int, char* [] ) { //Zamiast main test_suite* test= BOOST_TEST_SUITE("nazwa"); test->add(boost_test_case(&test1)); test->add(boost_test_case(&test2)); return test; } ( rednio) zaawansowane programowanie w C++ (ZPR) 21/35

22 Zarz dzanie testami - Unit Test Framework linia komend zmienne ±rodowiskowe (np. BOOST_TEST_LOG_LEVEL ) kod testów (klasa unit_test_log, singleton) nazwa opcje opis build_info yes no platforma, itp. log_level all... warning error... ilo± wy±w. komunikatów nothing report_level no conrm short detailed wielko± komunikatu output_format HRF XML HRF: dla czªowieka show_progress yes no pokazuje post p random testy losowo mytest --build_info=yes --log_level=all --report_level=detailed mytest --show_progres=yes --log_level=nothing ( rednio) zaawansowane programowanie w C++ (ZPR) 22/35

23 boost/test/minimal.hpp nie potrzebuje biblioteki binarnej boost_unit_test_framework dostarcza BOOST_CHECK(p) BOOST_REQUIRE(p) BOOST_ERROR(msg) BOOST_FAIL(msg) //Przykªad u»ycia #include <boost/test/minimal.hpp> int test_main(int, char* [] ) { //tak musi si nazywa gªówna funkcja BOOST_CHECK(1 == 2 ); BOOST_ERROR("blad"); BOOST_FAIL("blad krytyczny"); return 0; } ( rednio) zaawansowane programowanie w C++ (ZPR) 23/35

24 Opis narz dzia SCons opis projektu to skrypt Pythona bardzo ªatwo rozszerzalny automatyczna analiza zale»no±ci wsparcie dla: C++, Java, Fortran, Yacc, Lex, Qt, LaTeX, Subversion, msvc (zast puje.vcproj,.sln) i in. Linux, AIX, Windows NT, Mac OS X, Solaris i in. wsparcie dla kompilacji równolegªej detekcja zmiany zawarto±ci plików przy u»yciu sygnatury MD5 (lub tradycyjnie timestamps) ( rednio) zaawansowane programowanie w C++ (ZPR) 24/35

25 SCons - tworzenie aplikacji # plik SConstruct Program(source=['calc.cpp', 'main.cpp'], target = prog) Windows (Visual Studio Command Prompt): cl /Fo calc.obj /c calc.cpp /nologo cl /Fo main.obj /c main.cpp /nologo link /nologo /OUT:prog.exe calc.obj main.obj Linux (gnu g++): g++ -o calc.o -c calc.cpp g++ -o main.o -c main.cpp g++ -o prog calc.o main.o ( rednio) zaawansowane programowanie w C++ (ZPR) 25/35

26 SCons - tworzenie biblioteki # plik SConstruct SharedLibrary(source=['x.cpp', y.cpp'], target = bib) Windows (Visual Studio Command Prompt): cl /Fo x.obj /c x.cpp /nologo cl /Fo y.obj /c y.cpp /nologo link /nologo /dll /out:bib.dll /implib:bib.lib x.obj y.obj Linux (gnu g++): g++ -o x.os -c -fpic x.cpp g++ -o y.os -c -fpic y.cpp g++ -o libbib.so -shared x.os y.os ( rednio) zaawansowane programowanie w C++ (ZPR) 26/35

27 System zarz dzania wersjami, repozytorium serwer plików, przechowuje kolejne wersje plików i katalogów, umo»liwia wycofywanie zmian i prac grupow ( rednio) zaawansowane programowanie w C++ (ZPR) 27/35

28 Repozytorium - blokowanie ( rednio) zaawansowane programowanie w C++ (ZPR) 28/35

29 Repozytorium - rozstrzyganie koniktów ( rednio) zaawansowane programowanie w C++ (ZPR) 29/35

30 Repozytorium - serwer lokalny i zdalny (publikowanie) local push server update plik pull plik commit A plik ( rednio) zaawansowane programowanie w C++ (ZPR) 30/35

31 Debugger program sªu» cy do uruchamiania innych programów zatrzymywania dziaªania badanego programu w okre±lonym miejscu wykonywanie pojedynczych instrukcji wy±wietlanie zawarto±ci zmiennych Przykªady: GNU debugger (gdb), Microsoft Visual Studio, inne ( rednio) zaawansowane programowanie w C++ (ZPR) 31/35

32 Narz dzie do wysyªania komunikatów (Boost.Log) badaniu stanu aplikacji cz sto jedyny dost pny mechanizm do ±ledzenia bª dów (gdy nie ma mo»liwo±ci u»ycia debuggera) #include <boost/log/trivial.hpp> int main(int, char*[]) { BOOST_LOG_TRIVIAL(debug) << "A debug severity message"; BOOST_LOG_TRIVIAL(info) << "An informational severity message"; BOOST_LOG_TRIVIAL(warning) << "A warning severity message"; BOOST_LOG_TRIVIAL(error) << "An error severity message"; return 0; } obserwatorzy: konsola, plik, NT Event Loggers, UNIX Syslog alternatywne rozwi zania: pahteios, glog, log4cxx, log4cpp ( rednio) zaawansowane programowanie w C++ (ZPR) 32/35

33 Przykªad ±rodowiska do tworzenia aplikacji - bioweb lighttpd fcgi kompilacja: SCons testowanie jednostkowe: Boost.Test, testunit, junit testowanie funkcjonalne: Splinter generowanie dokumentacji: doxygen ( rednio) zaawansowane programowanie w C++ (ZPR) 33/35

34 Ci gªa integracja (Continuos integration) - jenkins obserwacja zmian w repozytorium, uruchamianie budowania, testów jednostkowych, testów funkcjonalnych wiele obsªugiwanych repozytoriów narz dzia do budowania dla ró»nych ±rodowisk rozbudowany zbiór wtyczek, mechanizmy uªatwiaj ce ich instalacj interfejs u»ytkownika - przegl darka www ( rednio) zaawansowane programowanie w C++ (ZPR) 34/35

35 Dodatkowa lektura ( R. Nowak, Badanie pokrycia kodu c++ testami jednostkowymi, Programista, no. 6, pp , Dzi kuj ( rednio) zaawansowane programowanie w C++ (ZPR) 35/35

( rednio) zaawansowane programowanie w C++ (ZPR)

( rednio) zaawansowane programowanie w C++ (ZPR) ( rednio) zaawansowane programowanie w C++ (ZPR) Wykªad 13 - tworzenie oprogramowania, testowanie, powtórzenie Robert Nowak 2015L ( rednio) zaawansowane programowanie w C++ (ZPR) 1/45 Metodologie lekkie

Bardziej szczegółowo

Zaawansowane programowanie w C++ (PCP)

Zaawansowane programowanie w C++ (PCP) Wykład 7 - sprytne wskaźniki. 20 kwietnia 2007 Potrzeba współdzielenia kodu źródłowego Pojęcia niezależne od typu: kolekcje (np. listy) algorytmy (np. znajdowania największego elementu) Szablony mechanizm

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

System kontroli wersji SVN

System kontroli wersji SVN System kontroli wersji SVN Co to jest system kontroli wersji Wszędzie tam, gdzie nad jednym projektem pracuje wiele osób, zastosowanie znajduje system kontroli wersji. System, zainstalowany na serwerze,

Bardziej szczegółowo

Spis treści 1. Wstęp 2. Projektowanie systemów informatycznych

Spis treści 1. Wstęp 2. Projektowanie systemów informatycznych Spis treści 1. Wstęp... 9 1.1. Inżynieria oprogramowania jako proces... 10 1.1.1. Algorytm... 11 1.2. Programowanie w językach wysokiego poziomu... 11 1.3. Obiektowe podejście do programowania... 12 1.3.1.

Bardziej szczegółowo

Zaawansowane programowanie w C++ (PCP)

Zaawansowane programowanie w C++ (PCP) Zaawansowane programowanie w C++ (PCP) Wykład 4 - wzorce projektowe. dr inż. Robert Nowak - p. 1/18 Powtórzenie klasy autonomiczne tworzenie nowych typów: dziedziczenie i agregacja dziedziczenie: przedefiniowywanie

Bardziej szczegółowo

Praca Dyplomowa Magisterska

Praca Dyplomowa Magisterska Internetowa Platform Edukacyjna w Technologii ZOPE Autor: Promotor: Dr in». Adam Doma«ski Politechnika l ska Wydziaª Automatyki, Elektroniki i Informatyki Kierunek Informatyka 22 wrze±nia 2009 Dlaczego

Bardziej szczegółowo

Programowanie poprzez testy z wykorzystaniem JUnit

Programowanie poprzez testy z wykorzystaniem JUnit Programowanie poprzez testy z wykorzystaniem JUnit Programowanie ekstremalne (XP) XP zaproponowano w 1999 (K. Beck: Extreme Programming Explained ) XP dedykowane jest do projektów: O małym lub średnim

Bardziej szczegółowo

Spis treści. Wprowadzenie 15

Spis treści. Wprowadzenie 15 Spis treści Wprowadzenie 15 1. Mechanizmy języka C++ 19 1.1. Struktura programu jednostki translacji.................. 21 1.1.1. Składnia tekstu źródłowego...................... 22 1.1.2. Preprocesor...

Bardziej szczegółowo

Wzorce projektowe strukturalne cz. 1

Wzorce projektowe strukturalne cz. 1 Wzorce projektowe strukturalne cz. 1 Krzysztof Ciebiera 19 pa¹dziernika 2005 1 1 Wst p 1.1 Podstawowe wzorce Podstawowe wzorce Podstawowe informacje Singleton gwarantuje,»e klasa ma jeden egzemplarz. Adapter

Bardziej szczegółowo

Szablony funkcji i szablony klas

Szablony funkcji i szablony klas Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2011 Bogdan Kreczmer Niniejszy dokument

Bardziej szczegółowo

(Średnio)zaawansowane programowanie w C++

(Średnio)zaawansowane programowanie w C++ (Średnio)zaawansowane programowanie w C++ Wykład 1 - wstęp Robert Nowak 2019L (Średnio)zaawansowane programowanie w C++ 1/36 Programowanie Programowanie umiejętność zapisu algorytmów w danym języku programowania

Bardziej szczegółowo

Modelowanie numeryczne w fizyce atmosfery Ćwiczenia 3

Modelowanie numeryczne w fizyce atmosfery Ćwiczenia 3 Modelowanie numeryczne w fizyce atmosfery Sylwester Arabas (ćwiczenia do wykładu dr. hab. inż. Lecha Łobockiego) Instytut Geofizyki, Wydział Fizyki Uniwersytetu Warszawskiego 3. listopada 2011 r. Schemat

Bardziej szczegółowo

( rednio)zaawansowane programowanie w C++

( rednio)zaawansowane programowanie w C++ ( rednio)zaawansowane programowanie w C++ Wykªad 1 - wst p Robert Nowak 2015Z ( rednio)zaawansowane programowanie w C++ 1/36 Programowanie Programowanie umiej tno± zapisu algorytmów w danym j zyku programowania

Bardziej szczegółowo

Uniwersytet Rzeszowski

Uniwersytet Rzeszowski Uniwersytet Rzeszowski Interdyscyplinarne Centrum Modelowania Komputerowego Inżynieria oprogramowania Część 1: Tworzenie dokumentacji projektowej Opracował: dr inż. Przemysław Pardel v2.01 2014 1. Dokumentacja

Bardziej szczegółowo

WYKORZYSTANIE JĘZYKA GROOVY W TESTACH JEDNOSTKOWYCH, INTEGRACYJNYCH I AUTOMATYCZNYCH. Mirosław Gołda, Programista Java

WYKORZYSTANIE JĘZYKA GROOVY W TESTACH JEDNOSTKOWYCH, INTEGRACYJNYCH I AUTOMATYCZNYCH. Mirosław Gołda, Programista Java WYKORZYSTANIE JĘZYKA GROOVY W TESTACH JEDNOSTKOWYCH, INTEGRACYJNYCH I AUTOMATYCZNYCH Mirosław Gołda, Programista Java Agenda Kilka słów o języku Groovy Wpięcie Grooviego w projekt Springowy Testy jednostkowe

Bardziej szczegółowo

Podstawy programowania. Wprowadzenie

Podstawy programowania. Wprowadzenie Podstawy programowania Wprowadzenie Proces tworzenia programu Sformułowanie problemu funkcje programu zakres i postać danych postać i dokładność wyników Wybór / opracowanie metody rozwiązania znaleźć matematyczne

Bardziej szczegółowo

Podstawy programowania w Qt4

Podstawy programowania w Qt4 Podstawy programowania w Qt4 Rafał Rawicki 21 kwietnia 2007 Co to jest Qt? Zestaw bibliotek dla języka C++ oraz narzędzia roszerzające jego możliwości Ponad 400 klas Introspekcja oraz mechanizm sygnałów

Bardziej szczegółowo

Dobre praktyki w zakresie zarządzania ładem architektury korporacyjnej

Dobre praktyki w zakresie zarządzania ładem architektury korporacyjnej Dobre praktyki w zakresie zarządzania ładem architektury korporacyjnej Dr hab. Andrzej Sobczak, prof. SGH, Kierownik Zakładu Systemów Informacyjnych, Katedra Informatyki Gospodarczej SGH Gospodarczej SGH

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

INFORMATOR TECHNICZNY WONDERWARE

INFORMATOR TECHNICZNY WONDERWARE Informator techniczny nr 95 04-06-2007 INFORMATOR TECHNICZNY WONDERWARE Synchronizacja czasu systemowego na zdalnych komputerach względem czasu systemowego na komputerze z serwerem Wonderware Historian

Bardziej szczegółowo

Programowanie w Ruby

Programowanie w Ruby Programowanie w Ruby Wykład 13 Marcin Młotkowski 16 stycznia 2013 Plan wykładu Testowanie aplikacji w Ruby on Rails Testowanie modeli Testy funkcjonalne: testowanie kontrolerów Testy integracyjne Testowanie

Bardziej szczegółowo

Wartości domyślne, szablony funkcji i klas

Wartości domyślne, szablony funkcji i klas Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2012 Bogdan Kreczmer Niniejszy dokument

Bardziej szczegółowo

Narzędzia podnoszące jakość procesu wytwarzania i wdrażania

Narzędzia podnoszące jakość procesu wytwarzania i wdrażania Program szkolenia: Narzędzia podnoszące jakość procesu wytwarzania i wdrażania Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Narzędzia podnoszące jakość procesu wytwarzania i

Bardziej szczegółowo

Testowanie aplikacji. Kurs języka Ruby

Testowanie aplikacji. Kurs języka Ruby Testowanie aplikacji Kurs języka Ruby Rodzaje testów Testy jednostkowe Testy funkcjonalne Testy integracyjne Testy jednostkowe (unit tests) Testy sprawdzające pojedyncze funkcjonalności (metodę, funkcję

Bardziej szczegółowo

Oprogramowanie i wykorzystanie stacji roboczych. Wykład 4

Oprogramowanie i wykorzystanie stacji roboczych. Wykład 4 Wykład 4 p. 1/1 Oprogramowanie i wykorzystanie stacji roboczych Wykład 4 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Obsługa sieci Wykład

Bardziej szczegółowo

Elementy i funkcjonalno

Elementy i funkcjonalno Konsola operatora Konsola operatora zapewnia dost p do najwa niejszych informacji o po czeniu i aktualnym statusie abonentów, dzi ki czemu u atwia przekazywanie po cze. Konsola przewy sza swoimi mo liwo

Bardziej szczegółowo

Wprowadzenie do środowiska Qt Creator

Wprowadzenie do środowiska Qt Creator 1.Instalacja środowiska Qt Creator Qt Creator jest wygodnym środowiskiem programistycznym przeznaczonym do tworzenia projektów, czyli aplikacji zarówno konsolowych, jak i okienkowych z wykorzystaniem biblioteki

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

Szablony funkcji i klas (templates)

Szablony funkcji i klas (templates) Instrukcja laboratoryjna nr 3 Programowanie w języku C 2 (C++ poziom zaawansowany) Szablony funkcji i klas (templates) dr inż. Jacek Wilk-Jakubowski mgr inż. Maciej Lasota dr inż. Tomasz Kaczmarek Wstęp

Bardziej szczegółowo

Obsługa wyjątków. Język C++ WW12

Obsługa wyjątków. Język C++ WW12 Obsługa wyjątków Pozwala zarządzać błędami wykonania w uporządkowany sposób. Umożliwia automatyczne wywołanie części kodu, funkcji, metod klas, który trzeba wykonać przy powstaniu błędów. try //blok try

Bardziej szczegółowo

Zaawansowane programowanie w C++

Zaawansowane programowanie w C++ Zaawansowane programowanie w C++ Micha l Tanaś, PhD Adam Mickiewicz University, Faculty of Physics http://www.amu.edu.pl/~mtanas Michal.Tanas@amu.edu.pl Wykonanie klasycznego programu System operacyjny

Bardziej szczegółowo

Git, Bitbucket, IntelliJ IDEA

Git, Bitbucket, IntelliJ IDEA Państwowa Wyższa Szkoła Zawodowa w Tarnowie Zakład Informatyki Narzędzia i środowiska programistyczne Laboratorium 3 Git, Bitbucket, IntelliJ IDEA Prowadzący: Kierunek: Semestr: Rok: Informatyka Zimowy

Bardziej szczegółowo

Automatyzacja testowania oprogramowania. Automatyzacja testowania oprogramowania 1/36

Automatyzacja testowania oprogramowania. Automatyzacja testowania oprogramowania 1/36 Automatyzacja testowania oprogramowania Automatyzacja testowania oprogramowania 1/36 Automatyzacja testowania oprogramowania 2/36 Potrzeba szybkich rozwiązań Testowanie oprogramowania powinno być: efektywne

Bardziej szczegółowo

Aplikacje internetowe oparte na kluczowych technologiach Java Enterprise(Servlet,JSP,JDBC, )

Aplikacje internetowe oparte na kluczowych technologiach Java Enterprise(Servlet,JSP,JDBC, ) Kod szkolenia: Tytuł szkolenia: JEE/JSP Aplikacje internetowe oparte na kluczowych technologiach Java Enterprise(Servlet,JSP,JDBC, ) Dni: 5 Opis: Adresaci szkolenia: Szkolenie adresowane jest do programistów

Bardziej szczegółowo

Programowanie MorphX Ax

Programowanie MorphX Ax Administrowanie Czym jest system ERP? do systemu Dynamics Ax Obsługa systemu Dynamics Ax Wyszukiwanie informacji, filtrowanie, sortowanie rekordów IntelliMorph : ukrywanie i pokazywanie ukrytych kolumn

Bardziej szczegółowo

1.Wstęp. 2.Generowanie systemu w EDK

1.Wstęp. 2.Generowanie systemu w EDK 1.Wstęp Celem niniejszego ćwiczenia jest zapoznanie z możliwościami debuggowania kodu na platformie MicroBlaze oraz zapoznanie ze środowiskiem wspomagającym prace programisty Xilinx Platform SDK (Eclipse).

Bardziej szczegółowo

LABARATORIUM 9 TESTY JEDNOSTKOWE JUNIT 3.8

LABARATORIUM 9 TESTY JEDNOSTKOWE JUNIT 3.8 Inżynieria Oprogramowania 2013/14 LABARATORIUM 9 TESTY JEDNOSTKOWE JUNIT 3.8 Hierarchia klas: TestCase klasa testująca, będąca klasą bazową dla wszystkich przypadków testowych. Zawiera przypadki testowe

Bardziej szczegółowo

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

Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące. Programowanie II prowadzący: Adam Dudek Lista nr 8 Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące. Jest to najważniejsza cecha świadcząca o sile programowania

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

Ciągłe dostarczanie oprogramowania : kompletny przewodnik / Eberhard Wolff. Gliwice, cop Spis treści

Ciągłe dostarczanie oprogramowania : kompletny przewodnik / Eberhard Wolff. Gliwice, cop Spis treści Ciągłe dostarczanie oprogramowania : kompletny przewodnik / Eberhard Wolff. Gliwice, cop. 2018 Spis treści Podziękowania 13 O autorze 14 Wprowadzenie 15 Część I. Podstawy 21 Rozdział 1. Ciągłe dostarczanie

Bardziej szczegółowo

Testy automatyczne. Korzystające z junit

Testy automatyczne. Korzystające z junit Testy automatyczne Korzystające z junit Cytaty Kiedy zawiesza się program konkurencji, to jest awaria. Kiedy zawiesza się własny program, to jest drobiazg. Często po awarii pojawia się komunikat typu ID

Bardziej szczegółowo

Microsoft Management Console

Microsoft Management Console Microsoft Management Console Konsola zarządzania jest narzędziem pozwalającym w prosty sposób konfigurować i kontrolować pracę praktycznie wszystkich mechanizmów i usług dostępnych w sieci Microsoft. Co

Bardziej szczegółowo

Zaawansowane programowanie w C++ (PCP)

Zaawansowane programowanie w C++ (PCP) Zaawansowane programowanie w C++ (PCP) Wykład 1 - sprawy organizacyjne i wprowadzenie. dr inż. Robert Nowak - p. 1/27 Cel i zakres przedmiotu Umiejętność programowania to umiejętność rozwiazania problemów

Bardziej szczegółowo

Zaawansowane programowanie w języku C++

Zaawansowane programowanie w języku C++ Kod szkolenia: Tytuł szkolenia: C/ADV Zaawansowane programowanie w języku C++ Dni: 3 Opis: Uczestnicy szkolenia zapoznają się z metodami wytwarzania oprogramowania z użyciem zaawansowanych mechanizmów

Bardziej szczegółowo

Projekt: Mikro zaprogramowane na sukces!

Projekt: Mikro zaprogramowane na sukces! Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Projekt: Mikro zaprogramowane na sukces! Opis autoryzowanych szkoleń Microsoft planowanych do realizacji w ramach

Bardziej szczegółowo

szkolenia pod drzewem Wybrane Techniki XP bnd 2008 Tomasz Włodarek. Materiał udostępniany na podstawie licencji Creative Commons (by-nc-nd) 1.00.

szkolenia pod drzewem Wybrane Techniki XP bnd 2008 Tomasz Włodarek. Materiał udostępniany na podstawie licencji Creative Commons (by-nc-nd) 1.00. szkolenia pod drzewem Wybrane Techniki XP 1.00.00 bnd Wybrane techniki XP współwłasność kodu źródłowego (collective code ownership) częsta/ciągła integracja (continuous integration) programowanie w parach

Bardziej szczegółowo

Zaawansowane programowanie w C++ (PCP)

Zaawansowane programowanie w C++ (PCP) Zaawansowane programowanie w C++ (PCP) Wykład 3 - polimorfizm. dr inż. Robert Nowak - p. 1/14 Powtórzenie Powtórzenie: klasy autonomiczne: konstruktor, konstruktor kopiujacy, operator przypisania, destruktor

Bardziej szczegółowo

Typy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1

Typy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1 Typy złożone Struktury, pola bitowe i unie. Programowanie Proceduralne 1 Typy podstawowe Typy całkowite: char short int long Typy zmiennopozycyjne float double Modyfikatory : unsigned, signed Typ wskaźnikowy

Bardziej szczegółowo

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

Język JAVA podstawy. wykład 1, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 1, część 1 1 Język JAVA podstawy Język Java to jeden z najbardziej popularnych obiektowych języków programowania. Należy do grupy języków programowania bazujących na C i C++.

Bardziej szczegółowo

PROGRAMOWANIE OBIEKTOWE W C++ - cz 1. Definicja klasy, składniki klasy, prawa dost pu, definiowanie funkcji składowych, konstruktory i destruktory.

PROGRAMOWANIE OBIEKTOWE W C++ - cz 1. Definicja klasy, składniki klasy, prawa dost pu, definiowanie funkcji składowych, konstruktory i destruktory. PROGRAMOWANIE OBIEKTOWE W C++ - cz 1 Definicja klasy, składniki klasy, prawa dost pu, definiowanie funkcji składowych, konstruktory i destruktory. Program komputerowy opisuje w pewien sposób rzeczywisto.

Bardziej szczegółowo

Gospodarowanie mieniem Województwa

Gospodarowanie mieniem Województwa Projekt pn. Budowa zintegrowanego systemu informatycznego do zarządzania nieruchomościami Województwa Małopolskiego i wojewódzkich jednostek organizacyjnych 1/13 Gospodarowanie mieniem Województwa Zgodnie

Bardziej szczegółowo

Podczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.

Podczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej. Polimorfizm jest filarem programowania obiektowego, nie tylko jeżeli chodzi o język C++. Daje on programiście dużą elastyczność podczas pisania programu. Polimorfizm jest ściśle związany z metodami wirtualnymi.

Bardziej szczegółowo

Wprowadzenie. Programowanie Obiektowe Mateusz Cicheński

Wprowadzenie. Programowanie Obiektowe Mateusz Cicheński Wprowadzenie Programowanie Obiektowe Mateusz Cicheński Paradygmaty programowania C++ Krótki przykład Kompilacja i linkowanie Makefile Przydatne flagi kompilatora Zaliczenie przedmiotu Harmonogram roku

Bardziej szczegółowo

O autorze... 9 Wprowadzenie... 11

O autorze... 9 Wprowadzenie... 11 Spis tre ci O autorze... 9 Wprowadzenie... 11 Rozdzia 1. Sterownik przemys owy... 15 Sterownik S7-1200... 15 Budowa zewn trzna... 16 Budowa wewn trzna... 19 Cykl programu oraz tryby pracy... 21 Zestaw

Bardziej szczegółowo

Acceptance Test Driven Development wspierane przez narzędzie ROBOT Framework. Edyta Tomalik Grzegorz Ziemiecki

Acceptance Test Driven Development wspierane przez narzędzie ROBOT Framework. Edyta Tomalik Grzegorz Ziemiecki Acceptance Test Driven Development wspierane przez narzędzie ROBOT Framework Edyta Tomalik Grzegorz Ziemiecki 1 Nokia Siemens Networks 2013 Tradycyjne podejście analityk programista tester implementacja

Bardziej szczegółowo

Programowanie zespołowe

Programowanie zespołowe Programowanie zespołowe Laboratorium 3 - podstawy testów jednostkowych mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 7 marca 2017 1 / 22 mgr inż. Krzysztof Szwarc Programowanie zespołowe

Bardziej szczegółowo

Wykład VII. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wykład VII. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej Wykład VII - semestr III Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Wytwarzanie oprogramowania Model tworzenia oprogramowania

Bardziej szczegółowo

12) Wadą modelu kaskadowego jest: Zagadnienia obowiązujące na egzaminie z inżynierii oprogramowania: 13) Wadą modelu opartego na prototypowaniu jest:

12) Wadą modelu kaskadowego jest: Zagadnienia obowiązujące na egzaminie z inżynierii oprogramowania: 13) Wadą modelu opartego na prototypowaniu jest: Zagadnienia obowiązujące na egzaminie z inżynierii oprogramowania: 1) Oprogramowanie to: 2) Produkty oprogramowania w inżynierii oprogramowania można podzielić na: 3) W procesie wytwarzania oprogramowania

Bardziej szczegółowo

Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4

Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4 Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Agnieszka Holka Nr albumu: 187396 Praca magisterska na kierunku Informatyka

Bardziej szczegółowo

Rok akademicki: 2012/2013 Kod: ZIE-1-306-s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Rok akademicki: 2012/2013 Kod: ZIE-1-306-s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: - Nazwa modułu: Programowanie obiektowe Rok akademicki: 2012/2013 Kod: ZIE-1-306-s Punkty ECTS: 3 Wydział: Zarządzania Kierunek: Informatyka i Ekonometria Specjalność: - Poziom studiów: Studia I stopnia

Bardziej szczegółowo

Projekt ATENA - system wspomagaj cy zarz dzanie szkoª lub zespoªem szkóª przedlicealnych

Projekt ATENA - system wspomagaj cy zarz dzanie szkoª lub zespoªem szkóª przedlicealnych Projekt ATENA - system wspomagaj cy zarz dzanie szkoª lub zespoªem szkóª przedlicealnych Robert Boczek Dawid Ciepli«ski Paweª Bara 19 marca 2009 Outline Technologia w trzech etapach JAVA Oracle Java Server

Bardziej szczegółowo

Laboratorium Podstawy Przetwarzania Rozproszonego SPRAWOZDANIE z zadania SERWIS KOMPUTEROWY

Laboratorium Podstawy Przetwarzania Rozproszonego SPRAWOZDANIE z zadania SERWIS KOMPUTEROWY Laboratorium Podstawy Przetwarzania Rozproszonego SPRAWOZDANIE z zadania SERWIS KOMPUTEROWY Nazwisko Imię album termin zajęć Marek Lewandowski 59817 Maciej Mietliński 59832 poniedziałek 18:30 tydzień nieparzysty

Bardziej szczegółowo

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych: Egzaminy na plus Stres na minus! Zdawaj bezpłatne egzaminy Microsoft, Linux, C++ z nami i zadbaj o swoją karierę. Oferujemy Ci pierwsze certyfikaty zawodowe w Twojej przyszłej karierze, które idealnie

Bardziej szczegółowo

Testowanie. Ryszard Beczek & Piotr Miłkowski 1 04/11/07

Testowanie. Ryszard Beczek & Piotr Miłkowski 1 04/11/07 Testowanie Ryszard Beczek & Piotr Miłkowski 1 O czym to będzie? Trzy słowa o testowaniu TDD JUnit TestNG JMeter Yawet Squish/Java 2 Jak testujemy? Zwykle aplikacje testujemy ręcznie Testy przeprowadzamy

Bardziej szczegółowo

METODY PROGRAMOWANIA

METODY PROGRAMOWANIA METODY PROGRAMOWANIA Testy jednostkowe 8 grudnia 2017 Krzysztof Pawłowski kpawlowski@pjwstk.edu.pl PO CO NAM TESTY? weryfikacja poprawności sprawdzanie regresji specyfikacja dokumentacja wymuszanie dobrego

Bardziej szczegółowo

Tworzenie oprogramowania

Tworzenie oprogramowania Tworzenie oprogramowania dr inż. Krzysztof Konopko e-mail: k.konopko@pb.edu.pl 1 Tworzenie oprogramowania dla systemów wbudowanych Program wykładu: Tworzenie aplikacji na systemie wbudowanym. Konfiguracja

Bardziej szczegółowo

Tworzenie natywnych aplikacji na urządzenia mobilne - PhoneGap Tomasz Margalski

Tworzenie natywnych aplikacji na urządzenia mobilne - PhoneGap Tomasz Margalski Tworzenie natywnych aplikacji na urządzenia mobilne - PhoneGap Tomasz Margalski Agenda Dlaczego PhoneGap i co to jest? Możliwości PhoneGap Jak pisać aplikacje z PhoneGap? Konfiguracja i przykład aplikacji

Bardziej szczegółowo

Problem Próby rozwiązania Maszyna stanów Inne zastosowania Podsumowanie. Maszyny stanów. Programowanie gier bez Unity, cz. 3.

Problem Próby rozwiązania Maszyna stanów Inne zastosowania Podsumowanie. Maszyny stanów. Programowanie gier bez Unity, cz. 3. Maszyny stanów Programowanie gier bez Unity, cz. 3 Piotr Korgul Koło Naukowe Twórców Gier Polygon 3 grudnia 2014 r. Cykl Programowanie gier bez Unity 1 Jak zorganizować prace nad grą? 2 Jak działa gra?

Bardziej szczegółowo

Wykład I. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Wykład I. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik Wykład I I Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Zaliczenie przedmiotu Na laboratorium można zdobyć 100 punktów. Do zaliczenia niezbędne jest

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

Programowanie komputerowe. Zajęcia 7

Programowanie komputerowe. Zajęcia 7 Programowanie komputerowe Zajęcia 7 Klasy Klasy to typy danych, które pozwalają na zgromadzenie w jednej zmiennej (obiekcie) zarówno danych jak i operacji związanych z tymi danymi. Obiekt danej klasy może

Bardziej szczegółowo

Od wymagań do Javy w mgnieniu oka

Od wymagań do Javy w mgnieniu oka Od wymagań do Javy w mgnieniu oka Michał Śmiałek Politechnika Warszawska RE-Challenge, Warszawa, 15.05.2015 Prelegent Czym się zajmowałem (od ok. 1991 r.) Profesor (informatyka) Politechnika Warszawska;

Bardziej szczegółowo

Zaawansowane programowanie w języku C++ Funkcje uogólnione - wzorce

Zaawansowane programowanie w języku C++ Funkcje uogólnione - wzorce Zaawansowane programowanie w języku C++ Funkcje uogólnione - wzorce Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka

Bardziej szczegółowo

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

Technologie internetowe Internet technologies Forma studiów: Stacjonarne Poziom kwalifikacji: I stopnia. Liczba godzin/tydzień: 2W, 2L Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: moduł specjalności obowiązkowy: Sieci komputerowe Rodzaj zajęć: wykład, laboratorium Technologie internetowe Internet technologies Forma studiów:

Bardziej szczegółowo

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i Program szkolenia: Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Produktywne tworzenie aplikacji webowych z

Bardziej szczegółowo

WYMAGANIA EDUKACYJNE I KRYTERIA OCENIANIA Z PRZEDMIOTU PROGRAMOWANIE APLIKACJI INTERNETOWYCH

WYMAGANIA EDUKACYJNE I KRYTERIA OCENIANIA Z PRZEDMIOTU PROGRAMOWANIE APLIKACJI INTERNETOWYCH WYMAGANIA EDUKACYJNE I KRYTERIA OCENIANIA Z PRZEDMIOTU PROGRAMOWANIE APLIKACJI INTERNETOWYCH Klasa: 3TIR - Technik informatyk Program: 351203 Wymiar: 4 h tygodniowo Podręcznik: Kwalifikacja E.14 Programowanie

Bardziej szczegółowo

Zaawansowane programowanie w C++ (PCP)

Zaawansowane programowanie w C++ (PCP) Zaawansowane programowanie w C++ (PCP) Wykład 6 - szablony. dr inż. Robert Nowak - p. 1/15 Kolekcje i algorytmy» Deklaracja szablonu y Pojęcia niezależne od typu: kolekcje (np. listy) algorytmy (np. znajdowania

Bardziej szczegółowo

Zagadnienia. Inżynieria Oprogramowania

Zagadnienia. Inżynieria Oprogramowania Zagadnienia Co to jest extreme Programming (XP) Czym charakteryzują się tzw. lekkie metodyki zarządzania procesem produkcji oprogramowania Reguły i praktyki XP Dlaczego i kiedy można a w jakich przypadkach

Bardziej szczegółowo

Serwery. Autorzy: Karol Czosnowski Mateusz Kaźmierczak

Serwery. Autorzy: Karol Czosnowski Mateusz Kaźmierczak Serwery Autorzy: Karol Czosnowski Mateusz Kaźmierczak Czym jest XMPP? XMPP (Extensible Messaging and Presence Protocol), zbiór otwartych technologii do komunikacji, czatu wieloosobowego, rozmów wideo i

Bardziej szczegółowo

Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016

Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016 Wykład 9 28 kwiecień 2016 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa

Bardziej szczegółowo

Inżynieria oprogramowania (Software Engineering)

Inżynieria oprogramowania (Software Engineering) Inżynieria oprogramowania (Software Engineering) Wykład 2 Proces produkcji oprogramowania Proces produkcji oprogramowania (Software Process) Podstawowe założenia: Dobre procesy prowadzą do dobrego oprogramowania

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

Zaawansowane programowanie w C++ (PCP)

Zaawansowane programowanie w C++ (PCP) Wykład 10 - boost Thread. 8 czerwca 2007 Równoległość bardzo wolna reakcja człowieka wolne urządzenia wejścia - wyjścia (np. drukarki) bardzo szybkie procesory można przeprowadzać obliczenia podczas obsługi

Bardziej szczegółowo

Wprowadzenie do Behaviordriven

Wprowadzenie do Behaviordriven Wprowadzenie do Behaviordriven development Jakub Kosiński Email: ja@ghandal.net Czym jest BDD? praktyka, powstała na podstawie TDD, wykorzystywana w zwinnych metodykach stworzona przez Dana Northa w 2003

Bardziej szczegółowo

WYKŁAD 1 SYSTEMY CMS CZĘŚĆ 1

WYKŁAD 1 SYSTEMY CMS CZĘŚĆ 1 WYKŁAD 1 SYSTEMY CMS CZĘŚĆ 1 SYSTEM ZARZĄDZANIA TREŚCIĄ (Content Management System, CMS) System używany do zarządzania treścią strony internetowej. Z reguły składa się z dwóch elementów: aplikacji do zarządzania

Bardziej szczegółowo

Agile Project Management

Agile Project Management Charles G. Cobb, pmp Zrozumieć Agile Project Management Równowaga kontroli i elastyczności przekład: Witold Sikorski APN Promise Warszawa 2012 Spis treści Wstęp...vii Kto powinien przeczytać tę książkę?...

Bardziej szczegółowo

Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt

Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt 1. Wprowadzenie Wymagania wstępne: wykonanie ćwiczeń Adresacja IP oraz Implementacja aplikacji sieciowych z wykorzystaniem interfejsu gniazd

Bardziej szczegółowo

76.Struktura oprogramowania rozproszonego.

76.Struktura oprogramowania rozproszonego. 76.Struktura oprogramowania rozproszonego. NajwaŜniejsze aspekty obiektowego programowania rozproszonego to: Współdziałanie (interoperability) modułów programowych na róŝnych maszynach. Wielokrotne wykorzystanie

Bardziej szczegółowo

Zaawansowane aplikacje internetowe - laboratorium

Zaawansowane aplikacje internetowe - laboratorium Zaawansowane aplikacje internetowe - laboratorium Web Services (część 3). Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2005. Ponadto wymagany jest

Bardziej szczegółowo

SAP Screen Personas. Ma gorzata Sztokfisz, SAP Polska Tomasz Jag o, SAP Polska 24 Maja 2013

SAP Screen Personas. Ma gorzata Sztokfisz, SAP Polska Tomasz Jag o, SAP Polska 24 Maja 2013 SAP Screen Personas Ma gorzata Sztokfisz, SAP Polska Tomasz Jag o, SAP Polska 24 Maja 2013 Agenda Czym jest i do czego s y SAP Screen Personas? Mo liwo ci SAP Screen Personas Przyk ady wiczenia - tworzenie

Bardziej szczegółowo

Automatyczne tworzenie operatora = Integer2& operator=(const Integer& prawy) { zdefiniuje. Integer::operator=(ri);

Automatyczne tworzenie operatora = Integer2& operator=(const Integer& prawy) { zdefiniuje. Integer::operator=(ri); Przeciążanie operatorów [] Przykład: klasa reprezentująca typ tablicowy. Obiekt ma reprezentować tablicę, do której można się odwoływać intuicyjnie, np. Tab[i] Ma być też dostępnych kilka innych metod

Bardziej szczegółowo

TESTOWANIE OPROGRAMOWANIA

TESTOWANIE OPROGRAMOWANIA TESTOWANIE OPROGRAMOWANIA Uważaj na ten program ja tylko udowodniłem jego poprawność, nie testowałem go Donald Knuth Plan prezentacji 1. Testowanie wstęp 2. Refaktoryzacja 3. Pojęcia związane z testowaniem

Bardziej szczegółowo

Konfiguracja historii plików

Konfiguracja historii plików Wielu producentów oprogramowania oferuje zaawansowane rozwiązania do wykonywania kopii zapasowych plików użytkownika czy to na dyskach lokalnych czy w chmurze. Warto jednak zastanowić się czy instalacja

Bardziej szczegółowo

Programowanie funkcyjne. Wykªad 13

Programowanie funkcyjne. Wykªad 13 Programowanie funkcyjne. Wykªad 13 Siªa wyrazu rachunku lambda Zdzisªaw Spªawski Zdzisªaw Spªawski: Programowanie funkcyjne. Wykªad 13, Siªa wyrazu rachunku lambda 1 Wst p Warto±ci logiczne Liczby naturalne

Bardziej szczegółowo

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania

Bardziej szczegółowo

O PROJEKCIE I WNIOSKU DLA POCZĄTKUJĄCYCH I TYCH, KTÓRZY CHCĄ UPORZĄDKOWAĆ WIEDZĘ MARCIN DADEL

O PROJEKCIE I WNIOSKU DLA POCZĄTKUJĄCYCH I TYCH, KTÓRZY CHCĄ UPORZĄDKOWAĆ WIEDZĘ MARCIN DADEL O PROJEKCIE I WNIOSKU DLA POCZĄTKUJĄCYCH I TYCH, KTÓRZY CHCĄ UPORZĄDKOWAĆ WIEDZĘ MARCIN DADEL O PROJEKCIE I WNIOSKU DLA POCZĄTKUJĄCYCH I TYCH, KTÓRZY CHCĄ UPORZĄDKOWAĆ WIEDZĘ MARCIN DADEL Sieć SPLOT STOWARZYSZENIE

Bardziej szczegółowo

Programowanie w internecie nazwa przedmiotu SYLABUS A. Informacje ogólne

Programowanie w internecie nazwa przedmiotu SYLABUS A. Informacje ogólne Programowanie w internecie nazwa SYLABUS A. Informacje ogólne Elementy składowe sylabusu Nazwa jednostki prowadzącej studiów Poziom kształcenia Profil studiów Forma studiów Rodzaj Rok studiów /semestr

Bardziej szczegółowo

1. Wprowadzenie do C/C++

1. Wprowadzenie do C/C++ Podstawy Programowania - Roman Grundkiewicz - 013Z Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub

Bardziej szczegółowo