Inżynieria Oprogramowania
|
|
- Bartosz Michalik
- 6 lat temu
- Przeglądów:
Transkrypt
1 J.Nawrocki, M. Antczak, A. Hoffa, S. Wąsik Plik źródłowy: 08cw7-io.doc; Data: 2008/10/22 13:10:00 1. Diagramy przypadków użycia Ćwiczenie nr 7 Inżynieria Oprogramowania Wprowadzenie Pomiędzy przypadkami użycia mogą zachodzić następujące relacje: include oznacza, że dany przypadek użycia zawiera inny, extend oznacza, że dany przypadek użycia może być opcjonalnie wykonany w ramach innego. 2. Automatyzacja testów jednostkowych programów napisanych w języku C z wykorzystaniem narzędzia CUnit oraz generacja dokumentacji użytkowej na podstawie komentarzy zawartych w kodzie programu z wykorzystaniem narzędzia Doxygen. Naszym zadaniem jest napisanie prostego programu w języku C (kalkulator) realizującego proste funkcje dodawania i mnożenia liczb całkowitych oraz zaproponowanie i zaimplementowanie kilku przypadków testowych, wspomagających wykrywanie błędów w pisanym przez nas oprogramowaniu. W celu szybkiej konfiguracji środowiska uruchomieniowego należy pobrać pakiet CUnitPowerPack.zip, który zawiera środowisko programistyczne Dev-C++, bibliotekę CUnit, podręcznik wspomagający (krok po kroku) instalację i konfigurację powyższych narzędzi oraz projekt CUExample, który jest przykładową implementacją powyższego zadania i może być wykorzystywany w celu zrozumienia idei i implementacji testów jednostkowych. Przykładowy projekt CUExample, stworzony w środowisku Dev-C++, składa się z następujących plików: src/main.c #include "includes/calc.h" int main() int a,b; printf("define a:"); scanf("%d",&a); printf("define b:"); scanf("%d",&b); printf("\nadding result: %d",add(a,b)); printf("\nsubtracting result: %d",sub(a,b));
2 printf("\nmultiplying result: %d\n\n",mul(a,b)); system("pause"); return 0; src/calc/calc.c #include "../includes/calc.h" int add(int a, int b) return a+b; int sub(int a, int b) return a-b; int mul(int a, int b) return a*b; src/includes/calc.h /*! \file calc.h \brief Header file for calc module. #ifndef _CALC_H_ #define _CALC_H_ #include <stdio.h> #include <stdlib.h> /*! \fn int add(int a, int b); \brief Adding two values. \param a First value. \param b Second value. int add(int a, int b); /*! \fn int sub(int a, int b); \brief Subtracting two values. \param a First value. \param b Second value. int sub(int a, int b); /*! \fn int mul(int a, int b); \brief Multiplying two values. \param a First value. \param b Second value. int mul(int a, int b); #endif test/maintest.c #include <stdio.h> #include <string.h> #include "CUnit/Automated.h" #include "../src/includes/calc.h"
3 /* The suite initialization function. * Returns zero on success, non-zero otherwise. int init_suite(void) return 0; /* The suite cleanup function. * Returns zero on success, non-zero otherwise. int clean_suite(void) return 0; void test_calc_add_true(void) CU_ASSERT(3 == add(1,2)); void test_calc_add_false(void) CU_ASSERT(4!= add(1,2)); void test_calc_sub_true(void) CU_ASSERT(-1 == sub(1,2)); void test_calc_sub_false(void) CU_ASSERT(2!= sub(1,2)); void test_calc_mul_true(void) CU_ASSERT(2 == mul(1,2)); void test_calc_mul_false(void) CU_ASSERT(3!= mul(1,2)); /* The main() function for setting up and running the tests. * Returns a CUE_SUCCESS on successful running, another * CUnit error code on failure. int main() CU_pSuite pcalcsuite = NULL; /* initialize the CUnit test registry if (CUE_SUCCESS!= CU_initialize_registry()) return CU_get_error();
4 /* add a suite to the registry pcalcsuite = CU_add_suite("calc_suite", init_suite, clean_suite); if (NULL == pcalcsuite) CU_cleanup_registry(); return CU_get_error(); /* add the tests to the suite if ((NULL == CU_add_test(pCalcSuite, "calc_add_true", test_calc_add_true)) (NULL == CU_add_test(pCalcSuite, "calc_add_false", test_calc_add_false)) (NULL == CU_add_test(pCalcSuite, "calc_sub_true", test_calc_sub_true)) (NULL == CU_add_test(pCalcSuite, "calc_sub_false", test_calc_sub_false)) (NULL == CU_add_test(pCalcSuite, "calc_mul_true", test_calc_mul_true)) (NULL == CU_add_test(pCalcSuite, "calc_mul_false", test_calc_mul_false))) CU_cleanup_registry(); return CU_get_error(); /* Run all tests using the CUnit Automated interface CU_set_output_filename("CUExampleTests"); CU_list_tests_to_file(); CU_automated_run_tests(); CU_cleanup_registry(); return CU_get_error(); Zadania Zad. 1. Uzupełnij. W ogólności cykl życia przedsięwzięcia programistycznego składa się z następujących faz: a), b) (wykorzystanie języka ), c), d). Zad. 2. Uzupełnij. Proces zbierania i opracowywania wymagań: a) ma charakter, b) poprzedzony jest, c) składa się z następujących trzech faz: faza musi uwzględniać, że wymagania często pochodzą od wielu różnych osób i na dodatek należy uwzględniać ograniczenia wynikające np.: z różnych przepisów prawa, celem tej fazy jest wczesne (najmniej kosztowne) wykrywanie sprzeczności i wzajemnej niejednoznaczności współistniejących wymagań projektowanego systemu,
5 w celu usunięcia zauważonych w powyższej fazie sprzeczności między wymaganiami należy przeprowadzić negocjacje z wieloma zainteresowanymi osobami osiągnięcie kompromisu często jest trudnym problemem. Zad. 3. Uzupełnij. Wyróżniamy dwa podstawowe rodzaje wymagań: a) - opisują funkcje, jakie ma realizować system, b) - dotyczą takich aspektów, jak wydajność (np.: szybkość wykonania poszczególnych operacji), czy niezawodność. Zad. 4. Skompletuj specyfikację wymagań do obsługi internetowej księgarni korzystając z poniższych opowieści klienta: a) po złożeniu zamówienia przez klienta, dział zamówień pobiera książki z magazynu i przekazuje je do działu wysyłek, zajmującego się przygotowaniem paczki i wysłaniem pod wskazany adres. b) klient wybiera książki, a księgarnia informuje o ich cenie (po otrzymaniu informacji o wartości zamówienia klient może zrezygnować z pewnych książek lub z całego zamówienia). Księgarnia ustala z klientem adres, pod który zamówienie ma zostać wysłane, jak również sposób zapłaty. Jeżeli wybrano zapłatę kartą kredytową, a transakcja zapłaty się nie powiodła, to należy ponownie ustalić sposób zapłaty. Klient może zrezygnować z zakupów, jeżeli zapłata kartą kredytową będzie niemożliwa. c) (*) dział zamówień, po otrzymaniu zamówienia od klienta, przekazuje listę książek do magazynu. Jeżeli wszystkie książki są dostępne w magazynie, są one od razu zwracane do działu zamówień. Jeśli natomiast jakiejś pozycji brakuje, prowadzący magazyn odpowiedzialny za zamówienie danego egzemplarza u wydawcy. W takiej sytuacji magazyn informuje dział zamówień, o braku wszystkich książek, wraz z szacowanym terminem ich sprowadzenia. Może się również zdarzyć, że pewnych książek nie można już kupić (np.: nakład się wyczerpał), magazyn informuje wtedy dział zamówień o braku możliwości zrealizowania zamówienia. Magazyn jest również zobowiązany do sprawdzenia jakości książek otrzymanych z wydawnictwa: czy są wszystkie strony, czy okładka ani strony nie są pogniecione, itp. d) (*) księgarnia informuje o możliwościach dokonania zapłaty: przelewem, za pobraniem lub płatność kartą kredytową. Jeżeli klient wybierze płatność przelewem, jest informowany o numerze konta bankowego, wraz z dokładną sumą jaką należy wpłacić. Opcja za pobraniem nie wymaga dodatkowych kroków, natomiast w przypadku wybrania karty kredytowej, system próbuje wykonać transakcję na karcie (pobiera od klienta numery karty i hasło CVV, następnie kontaktuje się z Centrum Obsługi i dokonuje transakcji). Klient jest informowany, w przypadku wystąpienia błędu podczas tej operacji. Zad. 5. (*) Skompletuj specyfikację wymagań do obsługi bankomatu korzystając z poniższych opowieści klienta: a) przed rozpoczęciem korzystania z bankomatu klient musi zostać zautoryzowany. Następnie bankomat prezentuje klientowi możliwe opcje (tylko jeżeli autoryzacja się powiodła). Klient może podjąć decyzję o pobraniu gotówki lub sprawdzeniu salda. W przypadku sprawdzenia salda bankomat prezentuje stan konta. Po potwierdzeniu odczytania salda bankomat ponownie prezentuje klientowi dostępne opcje. b) autoryzacja klienta rozpoczyna się od wprowadzenia przez klienta karty do bankomatu. Bankomat prosi klienta o podanie PIN. Po podaniu PIN przez klienta bankomat sprawdza jego poprawność. Jeżeli PIN jest niepoprawny, to bankomat prosi klienta o ponowne podanie PIN. Jeżeli klient poda niepoprawny PIN trzy razy, to bankomat informuje klienta o zatrzymaniu karty, a autoryzacja kończy się niepowodzeniem. c) bankomat prezentuje klientowi domyślne kwoty do wypłacenia. Klient wybiera jedną z nich (opcjonalnie klient może sam określić kwotę do wypłaty). Następnie bankomat sprawdza, czy klient posiada wystarczającą ilość środków na koncie. Jeżeli wybrana przez klienta kwota przekracza saldo rachunku, to bankomat informuje klienta o stanie konta i prosi o
6 wybranie innej kwoty. Jeżeli wybrana przez klienta kwota nie przekracza stanu rachunku to bankomat wydaje klientowi kartę i pieniądze. Zad. 6. Uzupełnij. obejmuje wiele różnego typu diagramów, które pozwalają w sposób graficzny. Na wykładzie przedstawione zostały bardzo proste przykłady (modelowanie możliwych stanów projektowanego systemu), (modelowanie wymagań funkcjonalnych) i (ilustrowanie komunikacji między obiektami). Zad. 7. Uzupełnij specyfikację wymagań z zadania 4 o następujące diagramy: a) Diagram przypadków użycia b) Diagram sekwencji dla UC1 c) (*) Diagram sekwencji dla UC2 d) (*) Diagram sekwencji dla UC3 e) (*) Diagram sekwencji dla UC4 Zad. 8. (*) Uzupełnij specyfikację wymagań z zadania 5 o następujące diagramy: a) Diagram przypadków użycia b) Diagram sekwencji dla UC1 c) Diagram sekwencji dla UC2 d) Diagram sekwencji dla UC3 Zad. 9. Uzupełnij. Wyróżniamy dwie podstawowe postaci kontroli jakości: a) - można wykonywać tylko w odniesieniu do działającego systemu lub jego prototypu, b) - można je stosować zarówno do kodu, jak i do specyfikacji wymagań, gdyż ich istotą jest analiza artefaktów. Analiza ta może być przeprowadzona przez pojedynczą osobę (nazywamy to recenzją) lub też przez zespół osób (najpopularniejszym przykładem są inspekcje). Zad. 10. Uzupełnij. (np.: dobrze znane już sieci Petriego) mają ścisły związek z walidacją oprogramowania. Poprawność programów wykazywana jest na gruncie matematycznym, poprzez. Zad. 11. Uzupełnij. W celu dowodzenia poprawności funkcjonalnej określonej funkcji zapisanej w dowolnym języku programowania np.: C należy: a) związać z tą funkcją (precondition określa relację jakie muszą spełniać parametry wejściowe, aby mogło wystąpić poprawne wykonanie funkcji np.: /*** PRE **) i (postcondition określa relację, jaka ma być prawdziwa na końcu wykonania podprogramu np.: /*** POST **), b) dowieść, że jeżeli warunek wstępny jest spełniony to po wykonaniu mechanizmów zapisanych w podprogramie osiągniemy warunek końcowy. Dowodzenie poprawności programu zawierających pętle odbywa się (ang. invariant ). jest to zdanie, które jest prawdziwe za każdym razem, kiedy powtarzane jest wykonanie instrukcji zawartych w pętli. Dokładnie mówiąc, zdanie spełniające powyższą zależność powinno być prawdziwe
7 tuż przed pierwszym wykonaniem instrukcji zawartych w pętli, tuż przed drugim wykonaniem, przed trzecim itd. Zasadniczy problem polega na tym by znaleźć (wymyślić) takie zdanie, który zawsze będzie prawdzie i jednocześnie pomoże nam w udowodnieniu warunku końcowego POST. Powyższa metoda składa się z następujących etapów: poprawności odpowiednich niezmienników, w oparciu o zdefiniowane powyżej niezmienniki. Zad. 12. Udowodnij poprawność funkcji wyznaczającej n-ty wyraz ciągu Fibonacciego wykorzystując metodę niezmienników zaprezentowaną na wykładzie. Ciąg Fibonacciego jest zdefiniowany w następujący sposób: Badany program w języku C ma następującą postać: int Fib(int n) int k, f0, f1, f2; k = 0; f0 = 1; f1 = 1; while (k!= n) k = k + 1; f2 = f0 + f1; f0 = f1; f1 = f2; ; return f0; ; Zad. 13 (*) Udowodnij poprawność funkcji wyznaczającej wartość funkcji potęgowej a b dla a, b będących liczbami naturalnymi (0,1, 2,..) wykorzystując metodę niezmienników. Badany program w języku C ma następującą postać: Badany program w języku C ma następującą postać: int Pow(int a, int b) int result, k; k = 0; result = 1; while (k <= b) k = k + 1; result = result * a; ; return result; ; Zad. 14. Uzupełnij. (np.: CVS, SubVersion), chronią oprogramowanie przed chaotycznymi modyfikacjami i umożliwiają współbieżne modyfikowanie różnych składników oprogramowania w sposób kontrolowany. Zad. 15. Uzupełnij. Testowanie oprogramowania: a) jest to dla kombinacji w celu.
8 Im więcej błędów zostanie wykrytych tym jest, ale też tym gorzej to świadczy o. Pracochłonność testowania waha się od całkowitej pracochłonności w ogólnym przypadku do 70%-80% całkowitej pracochłonności w przypadku. Zad. 16. Uzupełnij. Wykonanie przypadku testowego można opisać przy pomocy następujących kroków: a) testowany system bądź jego fragment są ustawiane w stanie, b) podawane są do testowanej implementacji i wyroczni ( najczęściej wyjścia ustalane są przez ), c) jest porównywane z w celu ustalenia czy test ujawnił błąd. Zad. 17. Uzupełnij. opisywana jest jako prawdopodobieństwo znalezienia jeszcze nie wykrytego błędu. Zad. 18. Uzupełnij. to taki, który wykrywa jeszcze nie wykryty błąd. Zad. 19(*). Korzystając z przykładu umieszczonego we wprowadzeniu i przeanalizowanego na ćwiczeniach stwórz projekt, który będzie zawierał program (napisany w języku C patrz programowanie imperatywne) rozwiązujący równanie kwadratowe ax 2 + bx + c = 0 (uwzględnij wszystkie możliwe przypadki wartości współczynników a, b, c) oraz kilka (np.:3) krytycznych przypadków testowych.
Inżynieria Oprogramowania
J.Nawrocki, M. Antczak, G. Palik Plik źródłowy: 07cw8-io.doc; Data: 2007/9/26 17:14:00 A9/P9 1. Diagramy przypadków użycia Ćwiczenie nr 8 Inżynieria Oprogramowania Wprowadzenie Pomiędzy przypadkami użycia
Ćwiczenia 3: Specyfikacja wymagań Pytania:
Ćwiczenia 3: Specyfikacja wymagań Pytania: 1. Przygotuj przypadek użycia opisujący obsługę zamówienia w sklepie internetowym (krok po kroku). Zaczynamy od identyfikatora przypadku użycia (powiedzmy UC1),
SPECYFIKACJE WYMAGAŃ PRZYPADKI UŻYCIA (USE CASE)
SPECYFIKACJE WYMAGAŃ PRZYPADKI UŻYCIA (USE CASE) Na podstawie http://wazniak.mimuw.edu.pl/index.php?title=io-2-lab Prof. dr hab. Marek Wisła INTERNETOWA SPRZEDAŻ KSIĄŻEK Księgarnia internetowa Przygotuj
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:
Programowanie - wykład 4
Programowanie - wykład 4 Filip Sośnicki Wydział Fizyki Uniwersytet Warszawski 20.03.2019 Przypomnienie Prosty program liczący i wyświeltający wartość silni dla wprowadzonej z klawiatury liczby: 1 # include
Podstawy Informatyki. Algorytmy i ich poprawność
Podstawy Informatyki Algorytmy i ich poprawność Błędy Błędy: językowe logiczne Błędy językowe Związane ze składnią języka Wykrywane automatycznie przez kompilator lub interpreter Prosty sposób usuwania
WPROWADZENIE DO INFORMATYKI
J.NAWROCKI, M. ANTCZAK, H. ĆWIEK, W. FROHMBERG, A. HOFFA, M. KIERZYNKA, S. WĄSIK WPROWADZENIE DO INFORMATYKI PROGRAMOWANIE IMPERATYWNE ŚRODOWISKO URUCHOMIENIOWE I. INSTALACJA I KONFIGURACJA ECLIPSE CDT
Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik
Wykład VII Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Kompilacja Kompilator C program do tłumaczenia kodu źródłowego na język maszynowy. Preprocesor
Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java
Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java Cechy C++ Język ogólnego przeznaczenia Można programować obiektowo i strukturalnie Bardzo wysoka wydajność kodu wynikowego
INŻYNIERIA OPROGRAMOWANIA TESTY JEDNOSTKOWE DOKUMENTACJA TECHNICZNA
J.NAWROCKI, M. ANTCZAK, W. FROHMBERG, K. KOLANOWSKI, J. POCHMARA, S. WĄSIK, T. ŻOK INŻYNIERIA OPROGRAMOWANIA TESTY JEDNOSTKOWE DOKUMENTACJA TECHNICZNA UWAGA!!! Pobieramy z moodle a archiwum CuTestPowerPack.zip
Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1
Podstawy programowania, Poniedziałek 30.05.2016, 8-10 Projekt, część 1 1. Zadanie Projekt polega na stworzeniu logicznej gry komputerowej działającej w trybie tekstowym o nazwie Minefield. 2. Cele Celem
Zad. 5: Układ równań liniowych liczb zespolonych
Zad. 5: Układ równań liniowych liczb zespolonych 1 Cel ćwiczenia Wykształcenie zdolności abstrahowania operacji arytmetycznych od konkretnych typów. Unaocznienie problemów związanych z programowaniem uogólnionym
Zasady organizacji projektów informatycznych
Zasady organizacji projektów informatycznych Systemy informatyczne w zarządzaniu dr hab. inż. Joanna Józefowska, prof. PP Plan Definicja projektu informatycznego Fazy realizacji projektów informatycznych
#include <stdio.h> #include <stdlib.h> // standardowe biblioteki
Plik źródłowy: 07cw2-imperat.doc; Data: 2007-10-11 20:19:00 J.Nawrocki, M. Antczak, G. Palik, A.Widelska Ćwiczenie nr 2 Programowanie imperatywne Środowisko uruchomieniowe 1. Pobrać plik TC.zip (Turbo
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
1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Ćwiczenia nr 11. Translatory. Wprowadzenie teoretyczne
J.Nawrocki, M. Antczak, A. Hoffa, S. Wąsik Plik źródłowy: 08cw11-tr.doc; Data: 2009-01-15 09:47:00 Ćwiczenia nr 11 Translatory Wprowadzenie teoretyczne Wiele dokumentów wprowadzających do języków Lex oraz
emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce)
emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce) Zastosowanie Rozszerzenie to przeznaczone jest dla właścicieli sklepów internetowych opartych
Maciej Oleksy Zenon Matuszyk
Maciej Oleksy Zenon Matuszyk Jest to proces związany z wytwarzaniem oprogramowania. Jest on jednym z procesów kontroli jakości oprogramowania. Weryfikacja oprogramowania - testowanie zgodności systemu
Zadanie nr 3: Sprawdzanie testu z arytmetyki
Zadanie nr 3: Sprawdzanie testu z arytmetyki 1 Cel zadania Zadanie wymusza praktyczne przećwiczenia dostosowania formatu i formy wyświetlania informacji dla własnych typów danych. Ma ono pokazać potencjalne
Kontrola jakości artefaktów
Kontrola jakości artefaktów Artefakty produkty, wytwory rąk ludzkich: Dokumenty Specyfikacje Kod Jakość zgodność z wymaganiami (jawnymi i ukrytymi, z których istnienia klient nie zdaje sobie sprawy) Philip
Modelowanie przypadków użycia. Jarosław Kuchta Projektowanie Aplikacji Internetowych
Modelowanie przypadków użycia Jarosław Kuchta Podstawowe pojęcia Przypadek użycia jest formalnym środkiem dla przedstawienia funkcjonalności systemu informatycznego z punktu widzenia jego użytkowników.
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
PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6
PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6 TEMAT: Programowanie w języku C/C++: instrukcje iteracyjne for, while, do while Ogólna postać instrukcji for for (wyr1; wyr2; wyr3) Instrukcja for twory pętlę działającą
for (inicjacja_warunkow_poczatkowych(końcowych); wyrazenie_warunkowe; wyrazenie_zwiekszajace(zmniejszające)) { blok instrukcji; }
Pętle Pętle (ang. loops), zwane też instrukcjami iteracyjnymi, stanowią podstawę prawie wszystkich algorytmów. Lwia część zadań wykonywanych przez programy komputerowe opiera się w całości lub częściowo
QualitySpy moduł persystencji
Projektowanie oprogramowania Instytut Informatyki, Automatyki i Robotyki, Politechnika Wrocławska QualitySpy moduł persystencji Testy akceptacyjne Nazwa pliku: /QualitySpy/modules/qualityspypersistence/src/test/java/pl/wroc/pwr/qualityspy/persistence
Architektura systemów komputerowych Laboratorium 8 Symulator SMS32 Instrukcje skoku i pętle
Marcin Stępniak Architektura systemów komputerowych Laboratorium 8 Symulator SMS32 Instrukcje skoku i pętle 1. Informacje 1.1. Instrukcje skoku Instrukcje skoku zmieniają wskaźnik instrukcji w rejestrze
Poprawność semantyczna
Poprawność składniowa Poprawność semantyczna Poprawność algorytmu Wypisywanie zdań z języka poprawnych składniowo Poprawne wartościowanie zdań języka, np. w języku programowania skutki wystąpienia wyróżnionych
Algorytm. a programowanie -
Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik
Testowanie oprogramowania. Testowanie oprogramowania 1/34
Testowanie oprogramowania Testowanie oprogramowania 1/34 Testowanie oprogramowania 2/34 Cele testowania testowanie polega na uruchamianiu oprogramowania w celu wykrycia błędów, dobry test to taki, który
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ś
Języki formalne i gramatyki
J.Nawrocki, M. Antczak, A. Hoffa, S. Wąsik Plik źródłowy: 08cw10-jfig.doc; Data: 2008-10-22 13:29:00 Ćwiczenie nr 10 Języki formalne i gramatyki Wprowadzenie 1. Napisz analizator leksykalny (LEX) i analizator
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
Testy jednostkowe Wybrane problemy testowania metod rekurencyjnych
Testy jednostkowe Wybrane problemy testowania metod rekurencyjnych Artykuł przeznaczony jest dla osób związanych z testowaniem, programowaniem, jakością oraz wytwarzaniem oprogramowania, wymaga jednak
1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
for (inicjacja_warunkow_poczatkowych; wyrazenie_warunkowe; wyrazenie_zwiekszajace) { blok instrukcji; }
Pętle Pętle (ang. loops), zwane też instrukcjami iteracyjnymi, stanowią podstawę prawie wszystkich algorytmów. Lwia część zadań wykonywanych przez programy komputerowe opiera się w całości lub częściowo
Konwerter Plan testów. Jakub Rauch Tomasz Gołębiowski Adam Busch Bartosz Franaszek 1 czerwca 2008
Konwerter Plan testów Jakub Rauch Tomasz Gołębiowski Adam Busch Bartosz Franaszek 1 czerwca 2008 1 Spis treści 1 Wprowadzenie 3 1.1 Cel........................................ 3 1.2 Zamierzeni odbiorcy
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: moduł specjalności obowiązkowy: Inżynieria oprogramowania Rodzaj zajęć: wykład, laboratorium TESTOWANIE OPROGRAMOWANIA Software testing Forma
Wdrożenie modułu płatności eservice. dla systemu Zen Cart 1.3.9 1.5
Wdrożenie modułu płatności eservice dla systemu Zen Cart 1.3.9 1.5 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie
Podstawy programowania. Wykład 3 Konstrukcje sterujące. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład 3 Konstrukcje sterujące Krzysztof Banaś Podstawy programowania 1 Kod źródłowy i wykonanie programu Kod źródłowy w języku programowania zawiera przepis wykonania programu
emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym PrestaShop (plugin dostępny w wersji ecommerce)
emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym PrestaShop (plugin dostępny w wersji ecommerce) Zastosowanie Rozszerzenie to dedykowane jest sklepom internetowych zbudowanym w oparciu
Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia
Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia 1 Cel laboratoriów: Specyfikacja wymagań, zdefiniowanych w ramach laboratorium 2 (wg instrukcji 2),
Cykle życia systemu informatycznego
Cykle życia systemu informatycznego Cykl życia systemu informatycznego - obejmuję on okres od zgłoszenia przez użytkownika potrzeby istnienia systemu aż do wycofania go z eksploatacji. Składa się z etapów
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 1 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan wykładów (1) Algorytmy i programy Proste typy danych Rozgałęzienia
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
Zadanie 2: Arytmetyka symboli
1 Cel ćwiczenia Zadanie 2: Arytmetyka symboli Wykształcenie umiejętności abstrahowania operacji arytmetycznych. Zapoznanie się i przećwiczenie mechanizmu tworzenia przeciążeń funkcji operatorowych. Utrwalenie
emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Shoper (plugin dostępny w wersji ecommerce)
emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Shoper (plugin dostępny w wersji ecommerce) Zastosowanie Rozszerzenie to dedykowane jest sklepom internetowych działającym na platformie
Zad. 3: Układ równań liniowych
1 Cel ćwiczenia Zad. 3: Układ równań liniowych Wykształcenie umiejętności modelowania kluczowych dla danego problemu pojęć. Definiowanie właściwego interfejsu klasy. Zwrócenie uwagi na dobór odpowiednich
Wykład 1 Inżynieria Oprogramowania
Wykład 1 Inżynieria Oprogramowania Wstęp do inżynierii oprogramowania. Cykle rozwoju oprogramowaniaiteracyjno-rozwojowy cykl oprogramowania Autor: Zofia Kruczkiewicz System Informacyjny =Techniczny SI
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
Zapisywanie algorytmów w języku programowania
Temat C5 Zapisywanie algorytmów w języku programowania Cele edukacyjne Zrozumienie, na czym polega programowanie. Poznanie sposobu zapisu algorytmu w postaci programu komputerowego. Zrozumienie, na czym
emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento 2 (plugin dostępny w wersji ecommerce)
emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento 2 (plugin dostępny w wersji ecommerce) Zastosowanie Rozszerzenie to dedykowane jest sklepom internetowych zbudowanym w oparciu
REQB POZIOM PODSTAWOWY PRZYKŁADOWY EGZAMIN
REQB POZIOM PODSTAWOWY PRZYKŁADOWY EGZAMIN Podziękowania REQB Poziom Podstawowy Przykładowy Egzamin Dokument ten został stworzony przez główny zespół Grupy Roboczej REQB dla Poziomu Podstawowego. Tłumaczenie
EGZAMIN MATURALNY 2011 INFORMATYKA
Centralna Komisja Egzaminacyjna w Warszawie EGZAMIN MATURALNY 2011 INFORMATYKA POZIOM PODSTAWOWY MAJ 2011 2 Zadanie 1. a) (0 1) Egzamin maturalny z informatyki poziom podstawowy CZĘŚĆ I Obszar standardów
Wykład 2. Poprawność algorytmów
Wykład 2 Poprawność algorytmów 1 Przegląd Ø Poprawność algorytmów Ø Podstawy matematyczne: Przyrost funkcji i notacje asymptotyczne Sumowanie szeregów Indukcja matematyczna 2 Poprawność algorytmów Ø Algorytm
Kurs języka Python. Wykład 11. Marcin Młotkowski. 4 stycznia Kontrola poprawności podczas biegu programu. 2 Testowanie oprogramowania
Wykład 11. 4 stycznia 2010 1 Kontrola poprawności podczas biegu programu 2 3 4 Asercje Asercja to formuła logiczna; Asercji używa się do kontrolowania czy np. wartość zmiennej ma odpowiedni typ lub mieści
Dokumentacja techniczna API systemu SimPay.pl
Wprowadzenie Dokumentacja techniczna API systemu SimPay.pl Wersja 1.0 z dnia 24.03.2015 r. API serwisu SimPay.pl opiera się o danych wysyłanych i zwracanych w formie JSON. W przypadku napotkania jakiegokolwiek
Wykład 8. Testowanie w JEE 5.0 (1) Autor: Zofia Kruczkiewicz. Zofia Kruczkiewicz
Wykład 8 Testowanie w JEE 5.0 (1) Autor: 1. Rola testowania w tworzeniu oprogramowania Kluczową rolę w powstawaniu oprogramowania stanowi proces usuwania błędów w kolejnych fazach rozwoju oprogramowania
Praktyka Programowania
Praktyka Programowania Dariusz Dereniowski Materiały udostępnione przez Adriana Kosowskiego Katedra Algorytmów i Modelowania Systemów Politechnika Gdańska deren@eti.pg.gda.pl Gdańsk, 2010 strona przedmiotu:
Wstęp do Programowania, laboratorium 02
Wstęp do Programowania, laboratorium 02 Zadanie 1. Napisać program pobierający dwie liczby całkowite i wypisujący na ekran największą z nich. Zadanie 2. Napisać program pobierający trzy liczby całkowite
Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych
Laboratorium OiOSE. Programowanie w środowisku MS Visual C++ 1 Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych Organizacja i Oprogramowanie Systemów Elektronicznych Michał Kowalewski
Algorytmy, reprezentacja algorytmów.
Algorytmy, reprezentacja algorytmów. Wprowadzenie do algorytmów Najważniejszym pojęciem algorytmiki jest algorytm (ang. algorithm). Nazwa pochodzi od nazwiska perskiego astronoma, astrologa, matematyka
RFP. Wymagania dla projektu. sklepu internetowego B2C dla firmy Oplot
RFP Wymagania dla projektu sklepu internetowego B2C dla firmy Oplot CEL DOKUMENTU Celem niniejszego dokumentu jest przedstawienie wymagań technicznych i funkcjonalnych wobec realizacji projektu budowy
Inżynieria oprogramowania. Wykład 7 Inżynieria wymagań: punkty widzenia, scenariusze, przypadki użycia
Inżynieria oprogramowania Wykład 7 Inżynieria wymagań: punkty widzenia, scenariusze, przypadki użycia Punkt widzenia (Point of View) Systemy oprogramowania mają zwykle kilku różnych użytkowników. Wielu
Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3
Currenda EPO Instrukcja Konfiguracji Wersja dokumentu: 1.3 Currenda EPO Instrukcja Konfiguracji - wersja dokumentu 1.3-19.08.2014 Spis treści 1 Wstęp... 4 1.1 Cel dokumentu... 4 1.2 Powiązane dokumenty...
1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.
1. Pierwszy program // mój pierwszy program w C++ #include using namespace std; cout
In ż ynieria oprogramowania wykład II Modele i fazy cyklu życia oprogramowania
In ż ynieria oprogramowania wykład II Modele i fazy cyklu życia oprogramowania prowadzący: dr inż. Krzysztof Bartecki www.k.bartecki.po.opole.pl Proces tworzenia oprogramowania jest zbiorem czynności i
Specyfikacja instalacji usługi SMS Premium w Przelewy24.pl
Specyfikacja instalacji usługi SMS Premium w Przelewy24.pl wersja.2.9 data 2014-11-21 Opis usług: P24 KOD P24 KLUCZ P24 WAPA SEND SMS Strona 1 z 8 P24 KOD Przebieg transakcji Operacje po stronie Sprzedawcy
Faza Określania Wymagań
Faza Określania Wymagań Celem tej fazy jest dokładne określenie wymagań klienta wobec tworzonego systemu. W tej fazie dokonywana jest zamiana celów klienta na konkretne wymagania zapewniające osiągnięcie
Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak
Katedra Elektrotechniki Teoretycznej i Informatyki wykład 12 - sem.iii M. Czyżak Język C - preprocesor Preprocesor C i C++ (cpp) jest programem, który przetwarza tekst programu przed przekazaniem go kompilatorowi.
Programowanie w C++ Wykład 1. Katarzyna Grzelak. 26 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28
Programowanie w C++ Wykład 1 Katarzyna Grzelak 26 luty 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28 Dlaczego programowanie? K.Grzelak (Wykład 1) Programowanie w C++ 2 / 28 Umiejętność, która otwiera
Lab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur.
Języki i paradygmaty programowania 1 studia stacjonarne 2018/19 Lab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur. 1. Identyfikator funkcji,
emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce)
emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce) Zastosowanie Rozszerzenie to dedykowane jest sklepom internetowych zbudowanym w oparciu
Projektowanie oprogramowania. Wykład Weryfikacja i Zatwierdzanie Inżynieria Oprogramowania Kazimierz Michalik
Projektowanie oprogramowania Wykład Weryfikacja i Zatwierdzanie Inżynieria Oprogramowania Kazimierz Michalik Agenda Weryfikacja i zatwierdzanie Testowanie oprogramowania Zarządzanie Zarządzanie personelem
Pytania sprawdzające wiedzę z programowania C++
Pytania sprawdzające wiedzę z programowania C++ Wstęp 1. Zaprezentuj mechanikę tworzenia programu napisanego w języku C++. 2. Co to jest kompilacja? 3. Co to jest konsolidacja? 4. Co to jest kod wykonywalny?
Projektowanie obiektowe oprogramowania Testowanie oprogramowania Wykład 13 Wiktor Zychla 2014
Projektowanie obiektowe oprogramowania Testowanie oprogramowania Wykład 13 Wiktor Zychla 2014 1 Wprowadzenie State-of-the-art współczesnego warsztatu narzędzi testujących obejmuje nie tylko metodologie
Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal
Instrukcja wyboru, pętle 2 wykład. Podstawy programowania - Paskal Tematy Instrukcja wyboru jeden z wielu wariantów: case Pętle while repeat for Instrukcje sterowania pętli break continue goto Instrukcja
Jerzy Nawrocki, Wprowadzenie do informatyki
Jerzy Nawrocki, Jerzy Nawrocki Wydział Informatyki Politechnika Poznańska jerzy.nawrocki@put.poznan.pl Kryzys oprogramowania Struktury danych i inżynieria oprogramowania Przekraczanie terminów Przekraczanie
ALGORYTMY I STRUKTURY DANYCH
KATEDRASYSTEMÓWOBLICZENIOWYCH ALGORYTMY I STRUKTURY DANYCH 1.Rekurencja Rekurencja inaczej rekursja (ang. recursion) to wywołanie z poziomu metody jej samej. Programowanie z wykorzytaniem rekurencji pozwala
PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO
PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO LABORATORIUM Temat: QNX Neutrino Interrupts Mariusz Rudnicki 2016 Wstęp W QNX Neutrino wszystkie przerwania sprzętowe przechwytywane są przez jądro systemu. Obsługę
Lekcja : Tablice + pętle
Lekcja : Tablice + pętle Wprowadzenie Oczywiście wiesz już jak dużo można osiągnąć za pomocą tablic oraz jak dużo można osiągnąć za pomocą pętli, jednak tak naprawdę prawdziwe możliwości daje połączenie
Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x
Wdrożenie modułu płatności eservice dla systemu oscommerce 2.3.x - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie
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
Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2012/2013
SYLLABUS na rok akademicki 01/013 Tryb studiów Studia stacjonarne Kierunek studiów Informatyka Poziom studiów Pierwszego stopnia Rok studiów/ semestr III/VI Specjalność Bez specjalności Kod katedry/zakładu
Testowanie I. Celem zajęć jest zapoznanie studentów z podstawami testowania ze szczególnym uwzględnieniem testowania jednostkowego.
Testowanie I Cel zajęć Celem zajęć jest zapoznanie studentów z podstawami testowania ze szczególnym uwzględnieniem testowania jednostkowego. Testowanie oprogramowania Testowanie to proces słyżący do oceny
Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia
Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia 1 Cel laboratoriów: Specyfikacja wymagań, zdefiniowanych w ramach laboratorium 2 (wg instrukcji 2),
Podstawy wykorzystania bibliotek DLL w skryptach oprogramowania InTouch
INFORMATOR TECHNICZNY WONDERWARE Informator Techniczny nr 60 04-12-2002 Podstawy wykorzystania bibliotek DLL w skryptach oprogramowania InTouch Wstęp PoniŜsza dokumentacja oparta na przykładach stworzonych
Wyjątki (exceptions)
Instrukcja laboratoryjna nr 6 Programowanie w języku C 2 (C++ poziom zaawansowany) Wyjątki (exceptions) dr inż. Jacek Wilk-Jakubowski mgr inż. Maciej Lasota dr inż. Tomasz Kaczmarek Wstęp Wyjątki (ang.
Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady
Pętle i tablice. Spotkanie 3 Dr inż. Dariusz JĘDRZEJCZYK Pętle: for, while, do while Tablice Przykłady 11/26/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Pętla w największym uproszczeniu służy
Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik
Wykład VI Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Operacje na plikach Operacje na plikach Aby móc korzystać z pliku należy go otworzyć w odpowiednim
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
Ćwiczenie nr 6. Poprawne deklaracje takich zmiennych tekstowych mogą wyglądać tak:
Ćwiczenie nr 6 Temat: Operacje na łańcuchach znaków. Zagadnienia: Zasady pracy z łańcuchami tekstowymi (tablice wartości typu char). funkcje standardowe operacji na łańcuchach, funkcje I/O dla operacji
Wykład X. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2016 Janusz Słupik
Wykład X Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2016 c Copyright 2016 Janusz Słupik Drzewa binarne Drzewa binarne Drzewo binarne - to drzewo (graf spójny bez cykli) z korzeniem (wyróżnionym
1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami
1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami Celem tych zajęć jest zrozumienie i oswojenie z technikami programowania przy pomocy wskaźników w języku C++. Proszę przeczytać rozdział 8.
emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento 2 (plugin dostępny w wersji ecommerce)
emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento 2 (plugin dostępny w wersji ecommerce) Zastosowanie Rozszerzenie to dedykowane jest sklepom internetowym zbudowanym w oparciu
Cele przedsięwzięcia
Określanie wymagań Cele przedsięwzięcia Klienta, np. Wzrost efektywności, spadek kosztów, rozszerzenie rynku, unikanie błędów Wykonawcy Biznesowe Techniczne Priorytety! Kontekst przedsięwzięcia Użytkownicy
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
Programowanie niskopoziomowe
W. Complak, J.Kniat, M. Antczak, K. Kwarciak, G. Palik, A. Rybarczyk, Ł. Wielebski Materiały Programowanie niskopoziomowe http://www.cs.put.poznan.pl/arybarczyk/c_w_0.pdf Spis treści 1. Instalacja środowiska
Dokumentacja API BizIn
Dokumentacja API BizIn Spis treści Wstęp... 1 Dostęp do API BizIn... 1 Identyfikatory API... 1 Dostępne akcje... 3 Przykład wywołania API w języku PHP... 3 Pobieranie danych... 3 Wystawianie dokumentu
Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018
Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy