Testowanie oprogramowania

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

Download "Testowanie oprogramowania"

Transkrypt

1 estowanie oprogramowania Adam Roman Instytut Informatyki UJ Wykład 6 techniki projektowania testów oparte o strukturę: pokrycia logiczne pokrycie decyzji, warunków, D/C, MC/DC pokrycia elementów projektowych 1/41

2 OPARE O SKŁADNIĘ (CZARNOSKRZYNKOWE) OPARE O SRUKURĘ (BIAŁOSKRZYNKOWE) OPARE NA DOŚWIADCZENIU I DEEKACH PRZEGLĄDY ANALIZA SAYCZNA KODU ANALIZA SAYCZNA ARCHIEKURY ANALIZA DYNAMICZNA klasy równoważności, wartości brzegowe tablice decyzyjne, grafy przyczynowo-skutkowe przejścia pomiędzy stanami (maszyna stanowa) drzewa klasyfikacji, tablice ortogonalne pokrycie specyfikacji, pokrycie przypadków użycia przypadki użycia, testowanie losowe pokrycia przepływu sterowania i danych testowanie ścieżek (LCSAJ, ścieżki bazowe, CC) techniki oparte o składnię (np. t. mutacyjne) taksonomie błędów zgadywanie błędów testowanie w oparciu o listy kontrolne testowanie eksploracyjne ataki usterkowe analiza złożoności, metryki kodu analiza przepływu sterowania analiza przepływu danych zgodność ze standardami programowania analiza statyczna strony webowej grafy wywołań wykrywanie wycieków pamięci wykrywanie dzikich wskaźników analiza wydajności 2/41

3 Dlaczego kryteria oparte o logikę? przykład Włączenie kryteriów bazujących na wyrażeniach logicznych do standardów akceptowanych przez ederalną Administrację Lotnictwa USA dla zapewnienia bezpieczeństwa systemów krytycznych awioniki w lotnictwie cywilnym 3/41

4 Klasyfikacja pokryć logicznych POKRYCIA LOGICZNE POKRYCIA KODU POKRYCIA INNYCH AREAKÓW OPROGRAMOWANIA D (pokrycie decyzji) C (pokrycie warunków) C/D (p. decyzyjno-warunkowe) MC (p, wielokrotnych warunków) MC/DC (p. warunków znaczących) pokrycie logiczne oparte o specyfikację pokrycie logiczne maszyny stanowej 4/41

5 Przykłady źródeł wyrażeń logicznych if (((a>b) C) && (x<y)) o.m(); else o.n(); c!=delimit InWord End c==eo c==delimit c==eol Dupeound prev==cur EndWord 5/41

6 Podstawowe definicje (1) predykat, operatory logiczne Decyzja (predykat) to wyrażenie posiadające wartość logiczną, np.: Decyzja może zawierać: stałe i zmienne logiczne zmienne porównywane operatorami porównania wywołania funkcji Wewnętrzna struktura oparta o operatory logiczne negacji implikacji koniunkcji rozłącznej alternatywy alternatywy równoważności 6/41

7 Podstawowe definicje (2) warunek (klauzula) Warunek (klauzula) to predykat nie zawierający operatorów logicznych 7/41

8 Oznaczenia zbiór predykatów zbiór klauzul w predykatach z P zbiór klauzul w predykacie p P ewaluacja predykatu p P (prawda lub fałsz) 8/41

9 Pokrycie decyzji DC decision coverage Inna nazwa: pokrycie predykatów, PC predicate coverage Dla każdego p P, R zawiera dwa wymagania: a b C q(x) p t RUE RUE RUE t RUE ALSE ALSE 9/41

10 Pokrycie decyzji a pokrycie rozgałęzień praktycznie to samo, ale subtelna różnica dot. pokrycia 100% pokrycie warunków = 100% pokrycie rozgałęzień różnią się dla niższych stopni pokrycia Decyzje w 1, 3, 5 p = (1, 3, 5, 7) Pokrycie decyzji: 3/6 = 50% 4 Pokrycie rozgałęzień: 3/9 = 33% 10/41

11 Pokrycie warunków C condition coverage Inna nazwa: pokrycie klauzul, CC clause coverage Dla każdego c C, R zawiera dwa wymagania: a b C q(x) a>b p t RUE ALSE RUE ALSE t ALSE RUE ALSE ALSE 11/41

12 Pokrycie wielokrotnych warunków MC multiple condition coverage inna nazwa: CoC combinatorial coverage Dla każdego p P, R zawiera wymagania dla klauzul w C p ewaluacji wszystkich możliwych kombinacji wartości logicznych a b C q(x) a>b p t RUE RUE RUE RUE t RUE RUE ALSE RUE t RUE ALSE RUE ALSE t RUE ALSE ALSE ALSE t ALSE RUE RUE RUE t ALSE RUE ALSE ALSE t ALSE ALSE RUE ALSE t ALSE ALSE ALSE ALSE 12/41

13 Pokrycie warunków znaczących (1) MC/DC modified D/C coverage Inne nazwy: pokrycie klauzulami aktywnymi, ACC active clause coverage Motywacja: Chcemy, by testy na poziomie klauzul miały również efekt na poziomie predykatów UWAGA z definicji wymaga pokrycia klauzul i predykatów! W predykacie wyróżniamy jedną klauzulę (klauzula główna), a reszta to klauzule poboczne Kluczowe pojęcie: determinacja Klauzula główna c i w predykacie p determinuje p, jeśli klauzule poboczne c j p, j i, mają wartości takie, że zmiana wartości logicznej c i zmienia wartość logiczną p. 13/41

14 Pokrycie warunków znaczących (2) MC/DC modified D/C coverage 14/41

15 Pokrycie warunków znaczących (3) ogólna definicja (pamiętać o wymogu pokrycia klauzul i predykatów!) (MC/DC): Dla każdego p P i każdej klauzuli głównej c i C p, wybierz klauzule poboczne c j, j i tak, by c i determinowało p. R zawiera dwa wymagania dla każdej c i : a b RUE ALSE ALSE ALSE ALSE RUE ALSE ALSE test a b t 1 RUE ALSE t 2 ALSE ALSE t 3 ALSE RUE 15/41

16 Pokrycie warunków znaczących (4) wersja1: General Active Clause Coverage (GACC) Dla każdego p P i każdej klauzuli głównej c i C p, wybierz klauzule poboczne c j, j i tak, że c i determinuje p. R ma dwa wymagania dla każdej c i : Wartości wybrane dla klauzul pobocznych nie muszą być takie same dla obu przypadków: c i true oraz c i false. test a b t 1 RUE RUE t 2 ALSE ALSE 16/41

17 Pokrycie warunków znaczących (5) wersja2: Correlated Active Clause Coverage (CACC) Dla każdego p P i każdej klauzuli głównej c i C p, wybierz klauzule poboczne c j, j i tak, że c i determinuje p. R ma dwa wymagania dla każdej c i : Wartości wybrane dla klauzul pobocznych muszą ewaluować p na true w jednym przypadku i na false w drugim. a główna b główna test a b p t 1 ALSE RUE ALSE t 2 RUE RUE RUE t 3 RUE ALSE ALSE 17/41

18 Pokrycie warunków znaczących (6) wersja3: Restricted Active Clause Coverage (RACC) Dla każdego p P i każdej klauzuli głównej c i C p, wybierz klauzule poboczne c j, j i tak, że c i determinuje p. R ma dwa wymagania dla każdej c i : Wartości wybrane dla klauzul pobocznych muszą być takie same dla obu przypadków: c i true oraz c i false. abela zbioru testów tylko dla a jako głównej test a b c p t 1 RUE RUE RUE RUE t 2 ALSE RUE RUE ALSE 18/41

19 Pokrycie warunków znaczących (7) CACC vs. RACC Pewne wyrażenia można pokryć CACC, ale nie można RACC Więzy: 1) zawór otwarty w trybie Operational i zamknięty w innych 2) tryb nie może być jednocześnie Operational i Standby a = zawór zamknięty, b = tryb Operational, c = tryb Standby p = zawór zamknięty i (tryb Operational lub tryb Standby) test a b c p co narusza? t 1 RUE RUE RUE RUE 1, 2 t 2 RUE RUE ALSE RUE 1 t 3 RUE ALSE RUE RUE t 4 RUE ALSE ALSE ALSE t 5 ALSE RUE RUE ALSE 2 t 6 ALSE RUE ALSE ALSE t 7 ALSE ALSE RUE ALSE 1 t 8 ALSE ALSE ALSE ALSE 1 19/41

20 Pokrycie warunków znaczących (8) CACC vs. RACC Pewne wyrażenia można pokryć CACC, ale nie można RACC Więzy: 1) zawór otwarty w trybie Operational i zamknięty w innych przypadek, gdy a determinuje P 2) tryb nie może być jednocześnie Operational i Standby CACC można spełnić wybierając jeden a = zawór zamknięty, b = tryb Operational, c = tryb Standby wiersz z 1, 2, 3 oraz jeden z 5, 6, 7 p = zawór zamknięty i (tryb Operational lub tryb Standby) test a b c p co narusza? t 1 RUE RUE RUE RUE 1, 2 t 2 RUE RUE ALSE RUE 1 t 3 RUE ALSE RUE RUE t 4 RUE ALSE ALSE ALSE t 5 ALSE RUE RUE ALSE 2 t 6 ALSE RUE ALSE ALSE t 7 ALSE ALSE RUE ALSE 1 t 8 ALSE ALSE ALSE ALSE 1 20/41

21 Pokrycie warunków znaczących (9) CACC vs. RACC Pewne wyrażenia można pokryć CACC, ale nie można RACC Więzy: 1) zawór otwarty w trybie przypadek, Operational gdy a i zamknięty determinuje w P innych 2) tryb nie może być jednocześnie RACC można spełnić Operational wybierając i Standby jedną z a = zawór zamknięty, b = tryb par: Operational, (2, 6), (3, 7) lub c = (1, tryb 5) Standby p = zawór zamknięty i (tryb RACC Operational jest więc lub nieosiągalne! tryb Standby) test a b c p co narusza? t 1 RUE RUE RUE RUE 1, 2 t 2 RUE RUE ALSE RUE 1 t 3 RUE ALSE RUE RUE t 4 RUE ALSE ALSE ALSE t 5 ALSE RUE RUE ALSE 2 t 6 ALSE RUE ALSE ALSE t 7 ALSE ALSE RUE ALSE 1 t 8 ALSE ALSE ALSE ALSE 1 21/41

22 Jak zdeterminować predykat? Dla predykatu p z klauzulą c niech oznacza predykat p z każdym wystąpieniem c zmienionym na true, a oznacza predykat p z każdym wystąpieniem c zmienionym na false. Wtedy opisuje warunki, pod jakimi c determinuje p. 22/41

23 Przykłady 23/41

24 Nieosiągalność wymagań (infeasibility) while (i<n && a[i]!=0) { zrób coś z a[i] } typowa konstrukcja pętli z short circuit semantic przypadek, gdy i>=n oraz a[1]!=0 jest nieosiągalny Możliwe postępowania w sytuacji wystąpienia nieosiągalnych wymagań: (najprostsze): zignorować nieosiągalne wymagania (lepsze): rozważyć spełnienie wymagań w innym, subsumowanym kryterium 24/41

25 Subsumpcja kryteriów MC Multiple Condition Coverage RACC Restricted Active Clause Coverage CACC Correlated Active Clause Coverage GACC General Active Clause Coverage D/C Decision/Condition Coverage C Condition Coverage D Decision Coverage 25/41

26 Przykład (1) Read a, b, c a=0 & b>c c++ a++ b==c a>b END a = b+c 26/41

27 Przykład (2): pokrycie decyzji Read a, b, c a=0 & b>c c++ a++ b==c Jaka jest najmniejsza liczba przypadków testowych spełniających kryterium pokrycia predykatów (decyzji) dla zadanego programu? a>b END a = b+c 27/41

28 Przykład (2): pokrycie decyzji Read a, b, c a=0 & b>c c++ a++ C 1: (a = 5, b = 7, c = 4) C 2: (a = 0, b = 3, c = 1) C 3: (a = 0, b = 2, c = 2) b==c a>b END a = b+c 28/41

29 Przykład (3): pokrycie warunków Read a, b, c a=0 & b>c c++ a++ b==c Jaka jest najmniejsza liczba przypadków testowych spełniających kryterium pokrycia klauzul (warunków) dla zadanego programu? a>b END a = b+c 29/41

30 Przykład (3): pokrycie warunków Read a, b, c a=0 & b>c c++ a++ C 1: (a = 0, b = 7, c = 4) C 2: (a = 0, b = 3, c = 5) C 3: (a = 1, b = 2, c = 3) b==c C 1 C 2 C 3 a==0 b>c a>b b==c,, a>b END a = b+c 30/41

31 Przykład (4): pokrycie MC/DC Read a, b, c a=0 & b>c c++ a++ b==c Jaka jest najmniejsza liczba przypadków testowych spełniających kryterium pokrycia MC/DC dla zadanego programu? a>b 1. klauzule 2. predykaty 3. klauzule aktywne END a = b+c 31/41

32 Przykład (4): pokrycie MC/DC Read a, b, c a=0 & b>c c++ a++ C 1: (a = 0, b = 7, c = 4) C 2: (a = 0, b = 3, c = 5) C 3: (a = 1, b = 3, c = 2) C 4: (a = 0, b = 0, c = 8) b==c C 1 C 2 C 3 C 4 a==0 a>b b>c b==c,, a>b END a = b+c 32/41

33 Pokrycie elementów projektowych (1) ABSRAKCJA DANYCH PARADYGMA PROGRAMOWANIA ZORIENOWANEGO OBIEKOWO ZWIĘKSZONY NACISK NA MODULARNOŚĆ I PONOWNE UŻYCIE (REUSE) typ testowania związany najczęściej z testowaniem integracyjnym zaleta modularności: komponenty mogą być testowane niezależnie, np. na etapie testów jednostkowych ESOWANIE BAZUJĄCE NA ELEMENACH PROJEKOWYCH (DESIGN ELEMENS) grafy zwykle opisują powiązania (ang. coupling) pomiędzy elementami 33/41

34 Pokrycie elementów projektowych (2) strukturalne pokrycie grafowe grafy wywołań (call graphs) A wierzchołki = metody (moduły) krawędzie = wywołania metod NC: każda metoda musi być wywołana co najmniej raz B C D EC: każde wywołanie musi być wykonane co najmniej raz E Graf może być niespójny. Przypadek ekstremalny: brak wywołań wtedy ta technika nie jest właściwa (należy użyć techniki bazującej na sekwencyjności wywołań) 34/41

35 Pokrycie elementów projektowych (3) kryteria pokrycia dla programów zorientowanych obiektowo A B wciąż brak ustabilizowanej wiedzy o tym jak to najlepiej testować najbardziej oczywisty pomysł: testowanie dziedziczenia, ale klasy nie są testowane bezpośrednio! (dlaczego?) C D krawędzie przepływ wywołań krawędzie = zależności dotyczące dziedziczenia potrzeba modelu: czym jest tutaj pokrycie? 35/41

36 Pokrycie elementów projektowych (4) kryteria pokrycia dla programów zorientowanych obiektowo c.d. a1 b1 A B by zastosować pokrycie należy dokonać instancjacji obiektów NC: stworzony co najmniej 1 obiekt każdej klasy (nieciekawe nie mówi nic o wykonaniu) OO pokrycie wywołań: wymaga, by kryterium było zastosowane do co najmniej 1 obiektu każdej klasy c1 C d1 D rozszerzenie: All Object Call wymaga, by pokrycie dotyczyło wszystkich obiektów stworzonych dla każdej klasy 36/41

37 Pokrycie elementów projektowych (5) kryteria pokrycia przepływu danych dla elementów projektowych o wiele bardziej skomplikowane niż kryteria przepływu sterowania, a więc potencjalne źródło błędów! w testowaniu jednostkowym def i use są w tym samym module, w testowaniu integracyjnym mogą być w innych modułach interfejs caller (wołający) A... B(X)... end A B(Y)... end B caller (wołający) parametr aktualny parametr formalny 37/41

38 Pokrycie elementów projektowych (6) powiązane du-pary 1. X = 5 2. X = 4 3. X = B(int y) 11. Z = y 12. = y 13. print(y) last-defs: {2, 3} first-uses: {11, 12} 4. B(X) last-def: zbiór wierzchołków definiujących zmienną, dla której istnieje def-czysta ścieżka z tych wierzchołków przez callsite do użycia w innym module first-use: zbiór wierzchołków używających zmiennej, dla których istnieje defczysta i use-czysta ścieżka z punktu wejścia (jeśli use jest w callee) lub z callsite (jeśli use jest w caller) do tych wierzchołków 38/41

39 Pokrycie elementów projektowych (7) powiązane du-pary caller callee G(a) du-para du-para x = y = G(x)... print(y) print(a)... b = return(b) last-def callsite first-use first-use last-def 39/41

40 Pokrycie elementów projektowych (8) inne rodzaje przepływu danych komplikujące testowanie A()... B() A B def use P1 A def komunikat (http, RMI, CORBA ) B P2 use OO bezpośrednio powiązany przepływ danych przepływ danych w oprogramowaniu rozproszonym M()... N() M N A() B() A B def use OO pośrednio powiązany przepływ danych 40/41

41 KONIEC 41/41

Techniki (automatyzacji) projektowania testów. Adam Roman WarszawQA, 24 II 2016

Techniki (automatyzacji) projektowania testów. Adam Roman WarszawQA, 24 II 2016 Techniki (automatyzacji) projektowania testów Adam Roman WarszawQA, 24 II 2016 Prelegent Quality Assurance R&D Lead, Rivet Group Adiunkt w Instytucie Informatyki i Matematyki Komputerowej UJ Członek Stowarzyszenia

Bardziej szczegółowo

Testowanie oprogramowania. Wykład 3 techniki projektowania testów oparte o specyfikację cz. I

Testowanie oprogramowania. Wykład 3 techniki projektowania testów oparte o specyfikację cz. I Testowanie oprogramowania Adam Roman Instytut Informatyki UJ Wykład 3 techniki projektowania testów oparte o specyfikację cz. I klasy równoważności, analiza wartości brzegowych, tablice decyzyjne, grafy

Bardziej szczegółowo

Testowanie oprogramowania

Testowanie oprogramowania Testowanie oprogramowania Adam Roman Instytut Informatyki UJ Sprawy organizacyjne organizacja zajęć program kursu informacja o egzaminie 1/17 Informacje kontaktowe Adam Roman Instytut Informatyki UJ pokój

Bardziej szczegółowo

Dni: 3. Opis: Adresaci szkolenia

Dni: 3. Opis: Adresaci szkolenia Kod szkolenia: Tytuł szkolenia: ISTQB/TTA ISTQB - Technical Test Analyst Dni: 3 Opis: Adresaci szkolenia Szkolenie jest skierowane do testerów posiadających certyfikat ISTQB Certified Tester przynajmniej

Bardziej szczegółowo

Testowanie i walidacja oprogramowania

Testowanie i walidacja oprogramowania Testowanie i walidacja oprogramowania Inżynieria oprogramowania, sem.5 cz. 5 Rok akademicki 2010/2011 Dr inż. Wojciech Koziński Przykład Obliczmy sumę: 0+1+2+...+i, i є [0,100] read(i); if((i < 0)(i >

Bardziej szczegółowo

Programowanie w Logice Przykłady programów. Przemysław Kobylański

Programowanie w Logice Przykłady programów. Przemysław Kobylański Programowanie w Logice Przykłady programów Przemysław Kobylański Język Imperator 1 jest prostym językiem imperatywnym. Jego składnię opisuje poniższa gramatyka BNF: PROGRAM ::= PROGRAM ::= INSTRUKCJA ;

Bardziej szczegółowo

Przeszukiwanie z nawrotami. Wykład 8. Przeszukiwanie z nawrotami. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279

Przeszukiwanie z nawrotami. Wykład 8. Przeszukiwanie z nawrotami. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279 Wykład 8 J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279 sformułowanie problemu przegląd drzewa poszukiwań przykłady problemów wybrane narzędzia programistyczne J. Cichoń, P. Kobylański

Bardziej szczegółowo

Cw.12 JAVAScript w dokumentach HTML

Cw.12 JAVAScript w dokumentach HTML Cw.12 JAVAScript w dokumentach HTML Wstawienie skryptu do dokumentu HTML JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.skrypty Java- Script mogą być zagnieżdżane

Bardziej szczegółowo

Paradygmaty programowania

Paradygmaty programowania Paradygmaty programowania Jacek Michałowski, Piotr Latanowicz 15 kwietnia 2014 Jacek Michałowski, Piotr Latanowicz () Paradygmaty programowania 15 kwietnia 2014 1 / 12 Zadanie 1 Zadanie 1 Rachunek predykatów

Bardziej szczegółowo

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać MatLab część III 1 Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać komentarze poprzedzone znakiem % Skrypty

Bardziej szczegółowo

Wykład 8. Testowanie w JEE 5.0 (1) Autor: Zofia Kruczkiewicz. Zofia Kruczkiewicz

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

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Język programowania Ruby Marcin Młotkowski 12 kwietnia 2018 Plan wykładu 1 Wstęp 2 Typy numeryczne Łańcuchy znaków (klasa String) Przedziały Tablice i tablice asocjacyjne Nazwy

Bardziej szczegółowo

Zawód tester, czyli na czym polega testowanie. Katarzyna Łabinska Justyna Sacha - Gawlik

Zawód tester, czyli na czym polega testowanie. Katarzyna Łabinska Justyna Sacha - Gawlik Zawód tester, czyli na czym polega testowanie Katarzyna Łabinska Justyna Sacha - Gawlik Agenda: 1. Poznajmy się 2. Tester - kto to jest? 3. Podstawy testowania 4. Testowanie manualne a automatyczne 5.

Bardziej szczegółowo

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. IŚ ćw.8 JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript są zagnieżdżane w dokumentach HTML. Skrypt JavaScript

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

Tworzenie przypadków testowych

Tworzenie przypadków testowych Tworzenie przypadków testowych Prowadząca: Katarzyna Pietrzyk Agenda 1. Wprowadzenie 2. Wymagania 3. Przypadek testowy Definicja Schemat Cechy dobrego przypadku testowego 4. Techniki projektowania Czarnej

Bardziej szczegółowo

Przykłady zdań w matematyce. Jeśli a 2 + b 2 = c 2, to trójkąt o bokach długości a, b, c jest prostokątny (a, b, c oznaczają dane liczby dodatnie),

Przykłady zdań w matematyce. Jeśli a 2 + b 2 = c 2, to trójkąt o bokach długości a, b, c jest prostokątny (a, b, c oznaczają dane liczby dodatnie), Elementy logiki 1 Przykłady zdań w matematyce Zdania prawdziwe: 1 3 + 1 6 = 1 2, 3 6, 2 Q, Jeśli x = 1, to x 2 = 1 (x oznacza daną liczbę rzeczywistą), Jeśli a 2 + b 2 = c 2, to trójkąt o bokach długości

Bardziej szczegółowo

Podstawy programowania skrót z wykładów:

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

Modelowanie i Programowanie Obiektowe

Modelowanie i Programowanie Obiektowe Modelowanie i Programowanie Obiektowe Wykład I: Wstęp 20 październik 2012 Programowanie obiektowe Metodyka wytwarzania oprogramowania Metodyka Metodyka ustandaryzowane dla wybranego obszaru podejście do

Bardziej szczegółowo

PODSTAWOWE ZASADY PROGRAMOWANIA OBIEKTOWEGO NA BAZIE PAKIETU ROOT

PODSTAWOWE ZASADY PROGRAMOWANIA OBIEKTOWEGO NA BAZIE PAKIETU ROOT PODSTAWOWE ZASADY PROGRAMOWANIA OBIEKTOWEGO NA BAZIE PAKIETU ROOT Grzegorz Stefanek Jan Kochanowski University 1 Programowanie proceduralne 2 Programowanie proceduralne Programowanie proceduralne, choć

Bardziej szczegółowo

Logika Temporalna i Automaty Czasowe

Logika Temporalna i Automaty Czasowe Modelowanie i Analiza Systemów Informatycznych Logika Temporalna i Automaty Czasowe (7) Automaty czasowe NuSMV Paweł Głuchowski, Politechnika Wrocławska wersja 2.3 Treść wykładu NuSMV NuSMV symboliczny

Bardziej szczegółowo

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów niestacjonarnych studiów II stopnia)

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów niestacjonarnych studiów II stopnia) Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów niestacjonarnych studiów II stopnia) WERSJA WSTĘPNA, BRAK PRZYKŁADOWYCH PYTAŃ DLA NIEKTÓRYCH PRZEDMIOTÓW Należy wybrać trzy dowolne

Bardziej szczegółowo

Metryki. Pomiar złożoności modułowej i międzymodułowej oprogramowania. autor: Zofia Kruczkiewicz

Metryki. Pomiar złożoności modułowej i międzymodułowej oprogramowania. autor: Zofia Kruczkiewicz Metryki Pomiar złożoności modułowej i międzymodułowej oprogramowania autor: Zofia Kruczkiewicz 1 Metryki złożoności modułowej i międzymodułowej Chidamber & Kemerer (CK) 2 Metryki złożoności modułowej i

Bardziej szczegółowo

Kumulowanie się defektów jest możliwe - analiza i potwierdzenie tezy

Kumulowanie się defektów jest możliwe - analiza i potwierdzenie tezy Kumulowanie się defektów jest możliwe - analiza i potwierdzenie tezy Marek Żukowicz 14 marca 2018 Streszczenie Celem napisania artykułu jest próba podania konstruktywnego dowodu, który wyjaśnia, że niewielka

Bardziej szczegółowo

Studia podyplomowe PROGRAM NAUCZANIA PLAN STUDIÓW

Studia podyplomowe PROGRAM NAUCZANIA PLAN STUDIÓW 01-447 Warszawa ul. Newelska 6, tel. (+48 22) 34-86-520, www.wit.edu.pl Studia podyplomowe BEZPIECZEŃSTWO I JAKOŚĆ SYSTEMÓW INFORMATYCZNYCH PROGRAM NAUCZANIA PLAN STUDIÓW Studia podyplomowe BEZPIECZEŃSTWO

Bardziej szczegółowo

JAVAScript w dokumentach HTML (1)

JAVAScript w dokumentach HTML (1) JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript mogą być zagnieżdżane w dokumentach HTML. Instrukcje JavaScript

Bardziej szczegółowo

Programowanie Obiektowe i C++

Programowanie Obiektowe i C++ Programowanie Obiektowe i C++ Marcin Benke 2.10.2006 Dzisiaj Co umiemy Paradygmaty programowania Co będzie na wykładach Zasady zaliczania Programowanie obiektowe Co umiemy Programowałem w C++ Programowałem

Bardziej szczegółowo

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów dziennych studiów II stopnia)

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów dziennych studiów II stopnia) Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów dziennych studiów II stopnia) WERSJA WSTĘPNA, BRAK PRZYKŁADOWYCH PYTAŃ DLA NIEKTÓRYCH PRZEDMIOTÓW Należy wybrać trzy dowolne przedmioty.

Bardziej szczegółowo

Projektowanie oprogramowania. Wykład Weryfikacja i Zatwierdzanie Inżynieria Oprogramowania Kazimierz Michalik

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

Bardziej szczegółowo

Definicje wyższego poziomu

Definicje wyższego poziomu Definicje wyższego poziomu Interpreter Scheme-a nie będzie narzekad w przypadku wystąpienia niezdefionowanej zmiennej w ciele wyrażenia lambda dopóki nie będzie zastosowana Przykład braku informacji o

Bardziej szczegółowo

Materiały do laboratorium MS ACCESS BASIC

Materiały do laboratorium MS ACCESS BASIC Materiały do laboratorium MS ACCESS BASIC Opracowała: Katarzyna Harężlak Access Basic jest językiem programowania wykorzystywanym w celu powiązania obiektów aplikacji w jeden spójny system. PROCEDURY I

Bardziej szczegółowo

Systemy ekspertowe i ich zastosowania. Katarzyna Karp Marek Grabowski

Systemy ekspertowe i ich zastosowania. Katarzyna Karp Marek Grabowski Systemy ekspertowe i ich zastosowania Katarzyna Karp Marek Grabowski Plan prezentacji Wstęp Własności systemów ekspertowych Rodzaje baz wiedzy Metody reprezentacji wiedzy Metody wnioskowania Języki do

Bardziej szczegółowo

Wykład 2. Informatyka Stosowana. 8 października 2018, M. A-B. Informatyka Stosowana Wykład 2 8 października 2018, M. A-B 1 / 41

Wykład 2. Informatyka Stosowana. 8 października 2018, M. A-B. Informatyka Stosowana Wykład 2 8 października 2018, M. A-B 1 / 41 Wykład 2 Informatyka Stosowana 8 października 2018, M. A-B Informatyka Stosowana Wykład 2 8 października 2018, M. A-B 1 / 41 Elementy logiki matematycznej Informatyka Stosowana Wykład 2 8 października

Bardziej szczegółowo

Wykład 5. Charakterystyki zewnętrzne a wewnętrzne oprogramowania (1) - definicje metryk międzymodułowych i modułowych autor: Zofia Kruczkiewicz

Wykład 5. Charakterystyki zewnętrzne a wewnętrzne oprogramowania (1) - definicje metryk międzymodułowych i modułowych autor: Zofia Kruczkiewicz Wykład 5 Charakterystyki zewnętrzne a wewnętrzne oprogramowania (1) - definicje metryk międzymodułowych i modułowych autor: Zofia Kruczkiewicz 1 Zagadnienia 1. Podstawowe definicje dotyczące złożoności

Bardziej szczegółowo

Certyfikowany tester Pytania przykładowe do poziomu podstawowego

Certyfikowany tester Pytania przykładowe do poziomu podstawowego ertyfikowany tester International Sotware Testing Qualifications oard ertyfikowany tester Pytania przykładowe do poziomu podstawowego Wersja dokumentu 2.0 Wersja sylabusu 1.00 Polish Testing oard International

Bardziej szczegółowo

Historia modeli programowania

Historia modeli programowania Języki Programowania na Platformie.NET http://kaims.eti.pg.edu.pl/ goluch/ goluch@eti.pg.edu.pl Maszyny z wbudowanym oprogramowaniem Maszyny z wbudowanym oprogramowaniem automatyczne rozwiązywanie problemu

Bardziej szczegółowo

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X Wrocław 2006 INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl INTERNETOWE BAZY DANYCH PLAN NA DZIŚ zajęcia 1: 2. Procedury składowane

Bardziej szczegółowo

Pytania próbne ISTQB CTFL 1 110

Pytania próbne ISTQB CTFL 1 110 Pytania próbne ISTQB CTFL 1 110 Pytania pisane kursywą są raczej nieaktualne dotyczą wersji sylabusa wcześniejszych, niż wersja 2011.1.1 Na podstawie: amberplace.amberteam.pl/przyk%c5%82adowe_pytania_egzaminu_istqb_poziom_podstawowy

Bardziej szczegółowo

Logika Temporalna i Automaty Czasowe

Logika Temporalna i Automaty Czasowe Modelowanie i Analiza Systemów Informatycznych Logika Temporalna i Automaty Czasowe (7) Automaty czasowe NuSMV Paweł Głuchowski, Politechnika Wrocławska wersja 2.4 Treść wykładu NuSMV NuSMV symboliczny

Bardziej szczegółowo

Testowanie aplikacji mobilnych na platformie Android - architektura, wzorce, praktyki i narzędzia

Testowanie aplikacji mobilnych na platformie Android - architektura, wzorce, praktyki i narzędzia Program szkolenia: Testowanie aplikacji mobilnych na platformie Android - architektura, wzorce, Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Testowanie aplikacji mobilnych na

Bardziej szczegółowo

Testowanie II. Celem zajęć jest zapoznanie studentów z oceną jakości testów przy wykorzystaniu metryk pokrycia kodu testami (ang. code coverage).

Testowanie II. Celem zajęć jest zapoznanie studentów z oceną jakości testów przy wykorzystaniu metryk pokrycia kodu testami (ang. code coverage). Testowanie II Cel zajęć Celem zajęć jest zapoznanie studentów z oceną jakości testów przy wykorzystaniu metryk pokrycia kodu testami (ang. code coverage). Pokrycie kodu testami Jak już była mowa na poprzednich

Bardziej szczegółowo

Testowanie oprogramowania. Testowanie oprogramowania 1/34

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

Bardziej szczegółowo

Wstęp do programowania. Listy. Piotr Chrząstowski-Wachtel

Wstęp do programowania. Listy. Piotr Chrząstowski-Wachtel Wstęp do programowania Listy Piotr Chrząstowski-Wachtel Do czego stosujemy listy? Listy stosuje się wszędzie tam, gdzie występuje duży rozrzut w możliwym rozmiarze danych, np. w reprezentacji grafów jeśli

Bardziej szczegółowo

PYTANIA PRÓBNE DO EGZAMINU NA CERTYFIKAT ZAAWANSOWANY REQB KLUCZ ODPOWIEDZI. Część DODATEK

PYTANIA PRÓBNE DO EGZAMINU NA CERTYFIKAT ZAAWANSOWANY REQB KLUCZ ODPOWIEDZI. Część DODATEK KLUCZ ODPOWIEDZI Część DODATEK 8.1 9.4 PYTANIA PRÓBNE DO EGZAMINU NA CERTYFIKAT ZAAWANSOWANY REQB Na podstawie: Syllabus REQB Certified Professional for Requirements Engineering, Advanced Level, Requirements

Bardziej szczegółowo

procesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

procesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Abstrakcja programowania współbieżnego Instrukcje atomowe i ich przeplot Istota synchronizacji Kryteria poprawności programów współbieżnych

Bardziej szczegółowo

JAVAScript w dokumentach HTML - przypomnienie

JAVAScript w dokumentach HTML - przypomnienie Programowanie obiektowe ćw.1 JAVAScript w dokumentach HTML - przypomnienie JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript są zagnieżdżane w

Bardziej szczegółowo

Podstawy programowania w języku C

Podstawy programowania w języku C Podstawy programowania w języku C WYKŁAD 1 Proces tworzenia i uruchamiania programów Algorytm, program Algorytm przepis postępowania prowadzący do rozwiązania określonego zadania. Program zapis algorytmu

Bardziej szczegółowo

1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie?

1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie? 1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie? a) konstruktor b) referencje c) destruktor d) typy 2. Które z poniższych wyrażeń są poprawne dla klasy o nazwie

Bardziej szczegółowo

Warunki logiczne instrukcja if

Warunki logiczne instrukcja if Warunki logiczne instrukcja if Prowadzący: Łukasz Dunaj, strona kółka: atinea.pl/kolko 1. Wejdź na stronę kółka, uruchom edytor i wpisz: use console; def test::main() { var y; y = 1; while (y

Bardziej szczegółowo

Testowanie i walidacja oprogramowania

Testowanie i walidacja oprogramowania i walidacja oprogramowania Inżynieria oprogramowania, sem.5 cz. 3 Rok akademicki 2010/2011 Dr inż. Wojciech Koziński Zarządzanie testami Cykl życia testów (proces) Planowanie Wykonanie Ocena Dokumentacja

Bardziej szczegółowo

ISTQB Poziom Zaawansowany - Techniczny Analityk Testów (Advanced Level - Technical Test Analyst)

ISTQB Poziom Zaawansowany - Techniczny Analityk Testów (Advanced Level - Technical Test Analyst) ISTQB Poziom Zaawansowany - Techniczny Analityk Testów (Advanced Level - Technical Test Analyst) Opis: Szkolenie ISTQB CTAL Technical Test Analyst przeznaczone jest dla testerów posiadających certyfikat

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego

Bardziej szczegółowo

4. Funkcje. Przykłady

4. Funkcje. Przykłady 4. Funkcje Przykłady 4.1. Napisz funkcję kwadrat, która przyjmuje jeden argument: długość boku kwadratu i zwraca pole jego powierzchni. Używając tej funkcji napisz program, który obliczy pole powierzchni

Bardziej szczegółowo

Wykład 1 Inżynieria Oprogramowania

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

Bardziej szczegółowo

Porównanie metod i technik testowania oprogramowania. Damian Ryś Maja Wojnarowska

Porównanie metod i technik testowania oprogramowania. Damian Ryś Maja Wojnarowska Porównanie metod i technik testowania oprogramowania Damian Ryś Maja Wojnarowska Testy oprogramowania Testowanie oprogramowania jest to proces związany z wytwarzaniem oprogramowania. Jest on jednym z procesów

Bardziej szczegółowo

Testowanie II. Cel zajęć. Pokrycie kodu

Testowanie II. Cel zajęć. Pokrycie kodu Cel zajęć Celem zajęć jest zapoznanie studentów z uzupełniającymi zagadnieniami dotyczącymi testowania wytwarzanego oprogramowania. W pierwszej części zajęć przedstawiona zostanie metoda oceny kompletności

Bardziej szczegółowo

Automatyczne generowanie testów z modeli. Bogdan Bereza Automatyczne generowanie testów z modeli

Automatyczne generowanie testów z modeli. Bogdan Bereza Automatyczne generowanie testów z modeli Automatyczne generowanie testów z modeli Numer: 1 (33) Rozkmina: Projektowanie testów na podstawie modeli (potem można je wykonywać ręcznie, lub automatycznie zwykle chce się automatycznie) A ja mówię

Bardziej szczegółowo

Testowanie według modelu (MBT) Stowarzyszenie Inżynierii Wymagań wymagania.org.pl

Testowanie według modelu (MBT) Stowarzyszenie Inżynierii Wymagań wymagania.org.pl Testowanie według modelu (MBT) Bogdan Bereza, Victo MBT testowanie z modelu wersja 2.1 A 1 (48) Pozdrawiam Best regards Med vänliga hälsningar Bogdan Bereza bogdan.bereza@victo.eu +48 519 152 106 Skype:

Bardziej szczegółowo

Programowanie Obiektowe i C++ Marcin Benke

Programowanie Obiektowe i C++ Marcin Benke Programowanie Obiektowe i C++ Marcin Benke Dzisiaj Co umiemy Paradygmaty programowania Co będzie na wykładach Zasady zaliczania Programowanie obiektowe Co umiemy Programowałem w C++ Programowałem w języku

Bardziej szczegółowo

Podstawy Informatyki i algorytmizacji

Podstawy Informatyki i algorytmizacji Pracownia Informatyczna Instytut Technologii Mechanicznej Wydział Inżynierii Mechanicznej i Mechatroniki Podstawy Informatyki i algorytmizacji dr inż. Maria Lachowicz Zagadnienia poruszane w ramach wykładu

Bardziej szczegółowo

Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1

Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1 Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1 Zofia Kruczkiewicz 1 Zunifikowany iteracyjno- przyrostowy proces tworzenia oprogramowania kiedy? Przepływ działań Modelowanie przedsiębiorstwa

Bardziej szczegółowo

Java Persistence API - zagadnienia zaawansowane

Java Persistence API - zagadnienia zaawansowane Program szkolenia: Java Persistence API - zagadnienia zaawansowane Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Java Persistence API - zagadnienia zaawansowane Java-EE-jpa-pro

Bardziej szczegółowo

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 2. Programowanie komputerowe

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 2. Programowanie komputerowe Wydział Zarządzania AGH Katedra Informatyki Stosowanej Podstawy VBA cz. 2 Programowanie 1 Program wykładu Typy danych Wyrażenia Operatory 2 VBA Visual Basic dla aplikacji (VBA) firmy Microsoft jest językiem

Bardziej szczegółowo

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem. Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD programowania w C++ Typy c.d. 2 Typy zmiennych Instrukcja typedef -

Bardziej szczegółowo

Pętla for. Matematyka dla ciekawych świata -19- Scilab. for i=1:10... end. for k=4:-1:1... end. k=3 k=4. k=1. k=2

Pętla for. Matematyka dla ciekawych świata -19- Scilab. for i=1:10... end. for k=4:-1:1... end. k=3 k=4. k=1. k=2 Pętle wielokrotne wykonywanie ciągu instrukcji. Bardzo często w programowaniu wykorzystuje się wielokrotne powtarzanie określonego ciągu czynności (instrukcji). Rozróżniamy sytuacje, gdy liczba powtórzeń

Bardziej szczegółowo

TECHNOLOGIE OBIEKTOWE. Wykład 3

TECHNOLOGIE OBIEKTOWE. Wykład 3 TECHNOLOGIE OBIEKTOWE Wykład 3 2 Diagramy stanów 3 Diagram stanu opisuje zmiany stanu obiektu, podsystemu lub systemu pod wpływem działania operacji. Jest on szczególnie przydatny, gdy zachowanie obiektu

Bardziej szczegółowo

3. Instrukcje warunkowe

3. Instrukcje warunkowe . Instrukcje warunkowe Przykłady.1. Napisz program, który pobierze od użytkownika liczbę i wypisze na ekran słowo ujemna lub nieujemna, w zależności od tego czy dana liczba jest ujemna czy nie. 1 #include

Bardziej szczegółowo

Zasady organizacji projektów informatycznych

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

Bardziej szczegółowo

Wykład 2. Relacyjny model danych

Wykład 2. Relacyjny model danych Wykład 2 Relacyjny model danych Wymagania stawiane modelowi danych Unikanie nadmiarowości danych (redundancji) jedna informacja powinna być wpisana do bazy danych tylko jeden raz Problem powtarzających

Bardziej szczegółowo

PROJEKTOWANIE. kodowanie implementacja. PROJEKT most pomiędzy specyfikowaniem a kodowaniem

PROJEKTOWANIE. kodowanie implementacja. PROJEKT most pomiędzy specyfikowaniem a kodowaniem PROJEKTOWANIE określenie wymagań specyfikowanie projektowanie kodowanie implementacja testowanie produkt konserwacja Faza strategiczna Analiza Dokumentacja Instalacja PROJEKT most pomiędzy specyfikowaniem

Bardziej szczegółowo

Wprowadzenie do programowania aplikacji mobilnych

Wprowadzenie do programowania aplikacji mobilnych Wprowadzenie do programowania aplikacji mobilnych dr Przemysław Juszczuk dr Przemysław Juszczuk Trochę historii Idea wzorców projektowych wywodzi się jeszcze z wczesnych lat osiemdziesiątych ubiegłego

Bardziej szczegółowo

Znajdowanie skojarzeń na maszynie równoległej

Znajdowanie skojarzeń na maszynie równoległej 11 grudnia 2008 Spis treści 1 Skojarzenia w różnych klasach grafów Drzewa Grafy gęste Grafy regularne dwudzielne Claw-free graphs 2 Drzewa Skojarzenia w drzewach Fakt Wybierajac krawędź do skojarzenia

Bardziej szczegółowo

Metody getter https://www.python-course.eu/python3_object_oriented_programming.php 0_class http://interactivepython.org/runestone/static/pythonds/index.html https://www.cs.auckland.ac.nz/compsci105s1c/lectures/

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Kierunek: Inżynieria Biomedyczna Rodzaj przedmiotu: obowiązkowy moduł specjalności informatyka medyczna Rodzaj zajęć: wykład, laboratorium PROGRAMOWANIE OBIEKTOWE Object-Oriented Programming

Bardziej szczegółowo

Systemy zabezpieczeń

Systemy zabezpieczeń Systemy zabezpieczeń Definicja System zabezpieczeń (safety-related system) jest to system, który implementuje funkcje bezpieczeństwa konieczne do utrzymania bezpiecznego stanu instalacji oraz jest przeznaczony

Bardziej szczegółowo

Wykład 0 Informacje Podstawowe

Wykład 0 Informacje Podstawowe Paradygmaty Programowania Wykład 0 Informacje Podstawowe Nieliniowej, WMiI UŁ 1 Informacje Ogólne (22 luty 2013) Wykłady: piątek, 10.00-12.00, D103 Wykłady: 1 wprowadzający +10 wykładów głównych Zaliczenie

Bardziej szczegółowo

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

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl Komputerowe Systemy Przemysłowe: Modelowanie - UML Arkadiusz Banasik arkadiusz.banasik@polsl.pl Plan prezentacji Wprowadzenie UML Diagram przypadków użycia Diagram klas Podsumowanie Wprowadzenie Języki

Bardziej szczegółowo

Język C : programowanie dla początkujących : przewodnik dla adeptów programowania / Greg Perry, Dean Miller. Gliwice, cop

Język C : programowanie dla początkujących : przewodnik dla adeptów programowania / Greg Perry, Dean Miller. Gliwice, cop Język C : programowanie dla początkujących : przewodnik dla adeptów programowania / Greg Perry, Dean Miller. Gliwice, cop. 2016 Spis treści Wprowadzenie 11 Adresaci książki 12 Co wyróżnia tę książkę na

Bardziej szczegółowo

Operatory logiczne. Podstawowe operatory logiczne, składanie wyrażeń z użyciem operatorów logicznych

Operatory logiczne. Podstawowe operatory logiczne, składanie wyrażeń z użyciem operatorów logicznych Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Operatory logiczne Podstawowe operatory logiczne, składanie wyrażeń z użyciem operatorów logicznych Podstawowe

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

Programowanie Rozproszone i Równoległe. Edward Görlich http://th.if.uj.edu.pl/~gorlich goerlich@th.if.uj.edu.pl

Programowanie Rozproszone i Równoległe. Edward Görlich http://th.if.uj.edu.pl/~gorlich goerlich@th.if.uj.edu.pl Programowanie Rozproszone i Równoległe Edward Görlich http://th.if.uj.edu.pl/~gorlich goerlich@th.if.uj.edu.pl Motywacja wyboru Programowanie rozproszone równoległość (wymuszona) Oprogramowanie równoległe/rozproszone:

Bardziej szczegółowo

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 3. Instrukcje wyboru

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 3. Instrukcje wyboru JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Laboratorium 3 Instrukcje wyboru 1 INSTRUKCJE WYBORU Instrukcje sterujące to takie instrukcje, które sterują przebiegiem programu w zależności od spełnienia

Bardziej szczegółowo

Laboratorium Systemów SCADA

Laboratorium Systemów SCADA Laboratorium Systemów SCADA Ćwiczenie 4. Tworzenie skryptów w programie InTouch Opracował: dr hab. inż. Sebastian Dudzik 1. Cel ćwiczenia Zapoznanie się z rodzajami skryptów w programie InTouch. Zapoznanie

Bardziej szczegółowo

UML w Visual Studio. Michał Ciećwierz

UML w Visual Studio. Michał Ciećwierz UML w Visual Studio Michał Ciećwierz UNIFIED MODELING LANGUAGE (Zunifikowany język modelowania) Pozwala tworzyć wiele systemów (np. informatycznych) Pozwala obrazować, specyfikować, tworzyć i dokumentować

Bardziej szczegółowo

Składnia rachunku predykatów pierwszego rzędu

Składnia rachunku predykatów pierwszego rzędu Początek Gramatyka Kwantyfikatory Poprawność Logika obliczeniowa Instytut Informatyki Początek Gramatyka Kwantyfikatory Poprawność Plan wykładu 1 Na (dobry) początek Zrozumieć słowa Oswoić znaki 2 Gramatyka

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

Analiza konstrukcji zawierających wskaźniki. Piotr Błaszyński

Analiza konstrukcji zawierających wskaźniki. Piotr Błaszyński Analiza konstrukcji zawierających wskaźniki Piotr Błaszyński Wskaźniki podejście naiwne: while(ptr!=null){ a[i] = *ptr; i++; ptr++; } po zmianie: N=length(ptr); alias_ptr = ptr; for(j=0 ; j

Bardziej szczegółowo

REQB POZIOM PODSTAWOWY PRZYKŁADOWY EGZAMIN

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

Bardziej szczegółowo

Wykład 4. Projektowanie. MIS n Inżynieria oprogramowania Październik 2014

Wykład 4. Projektowanie. MIS n Inżynieria oprogramowania Październik 2014 Wykład 4 MIS-1-505-n Inżynieria oprogramowania Październik 2014 Metody Kazimierz Michalik Akademia Górniczo-Hutnicza im. S. Staszica w Krakowie 4.1 Agenda 1 2 3 Metody Metody 4 5 4.2 Implementacja Metody

Bardziej szczegółowo

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016 Wstęp - wykład 0 22 lutego 2016 Historia Simula 67 język zaprojektowany do zastosowan symulacyjnych; Smalltalk 80 pierwszy język w pełni obiektowy; Dodawanie obiektowości do języków imperatywnych: Pascal

Bardziej szczegółowo

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

Język JAVA podstawy. wykład 1, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 1, część 3 1 Język JAVA podstawy Plan wykładu: 1. Krótka historia Javy 2. Jak przygotować sobie środowisko programistyczne 3. Opis środowiska JDK 4. Tworzenie programu krok po

Bardziej szczegółowo

Logika Stosowana. Wykład 1 - Logika zdaniowa. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017

Logika Stosowana. Wykład 1 - Logika zdaniowa. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017 Logika Stosowana Wykład 1 - Logika zdaniowa Marcin Szczuka Instytut Informatyki UW Wykład monograficzny, semestr letni 2016/2017 Marcin Szczuka (MIMUW) Logika Stosowana 2017 1 / 30 Plan wykładu 1 Język

Bardziej szczegółowo

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

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,

Bardziej szczegółowo

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD programowania Wykład: 4 Instrukcje sterujące, operatory 1 programowania w C++ Instrukcje sterujące 2 Pętla for for ( instrukcja_ini ; wyrazenie_warunkowe ; instrukcja_krok ) tresc_petli ; instrukcja_ini

Bardziej szczegółowo

Jakość w procesie wytwarzania oprogramowania

Jakość w procesie wytwarzania oprogramowania Jarosław Kuchta Jakość Oprogramowania http://www.eti.pg.gda.pl/katedry/kask/pracownicy/jaroslaw.kuchta/jakosc/ J.Kuchta@eti.pg.gda.pl Względny koszt wprowadzania zmian w zależności od fazy realizacji projektu

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Liczby losowe i pętla while w języku Python

Liczby losowe i pętla while w języku Python Liczby losowe i pętla while w języku Python Mateusz Miotk 17 stycznia 2017 Instytut Informatyki UG 1 Generowanie liczb losowych Na ogół programy są spójne i prowadzą do przewidywanych wyników. Czasem jednak

Bardziej szczegółowo

Podstawy Informatyki i algorytmizacji

Podstawy Informatyki i algorytmizacji Pracownia Informatyczna Instytut Technologii Mechanicznej Wydział Inżynierii Mechanicznej i Mechatroniki Podstawy Informatyki i algorytmizacji dr inż. Maria Lachowicz Zagadnienia poruszane w ramach wykładu

Bardziej szczegółowo

ZARZĄDZANIU. Wykład VI. dr Jan Kazimirski

ZARZĄDZANIU. Wykład VI. dr Jan Kazimirski INFORMATYKA W ZARZĄDZANIU Wykład VI dr Jan Kazimirski jankazim@mac.edu.pl http://www.mac.edu.pl/jankazim MODELOWANIE SYSTEMÓW UML Literatura Joseph Schmuller UML dla każdego, Helion 2001 Perdita Stevens

Bardziej szczegółowo

Języki skryptowe w programie Plans

Języki skryptowe w programie Plans Języki skryptowe w programie Plans Warsztaty uŝytkowników programu PLANS Kościelisko 2010 Zalety skryptów Automatyzacja powtarzających się czynności Rozszerzenie moŝliwości programu Budowa własnych algorytmów

Bardziej szczegółowo