Wprowadzenie do testów jednostkowych. Marcin Dziedzic, Wiktor Żołnowski

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Wprowadzenie do testów jednostkowych. Marcin Dziedzic, Wiktor Żołnowski"

Transkrypt

1 Wprowadzenie do testów jednostkowych Marcin Dziedzic, Wiktor Żołnowski

2 Część I: Koncepcja testów jednostkowych

3 Co to jest test jednostkowy wg Wiki? Test jednostkowy (ang. unit test) to w programowaniu metoda testowania tworzonego oprogramowania poprzez wykonywanie testów weryfikujących poprawność działania pojedynczych elementów (jednostek) programu - np. metod lub obiektów.

4 Czym naprawdę jest test jednostkowy? Testem najmniejszego elementu systemu w izolacji Dokumentacją z przykładami użycia Kodem, równie ważnym jak kod produkcyjny Najtańszym możliwym sposobem eliminacji błędów Metodą weryfikacji założeń Efektywnym sposobem projektowania ( o tym później )

5 Czym z pewnością NIE jest test jednostkowy? Weryfikacją działania systemu jako całości Lekarstwem na wszystkie problemy

6 Dlaczego programiści zaniedbują testy jednostkowe? Nie ma na nie czasu Panuje przeświadczenie, że testy są nudne i bezcelowe Brak kompetencji w pisaniu testów Zbytnia wiara we własne umiejętności I tak ktoś to przetestuje, przecież mamy testerów Testy są napisane niechlujnie a ich utrzymanie jest kłopotliwe

7 Po co nam 'testerom' testy jednostkowe? Pomoże przy tworzeniu testów automatycznych Bez tego nie ma mowy o zrozumieniu TDD i BDD Umożliwi lepsze poznanie systemu Umożliwi dokonywanie rzetelnych przeglądów kodu Umożliwi weryfikację założeń Umożliwi ocenę stopnia przetestowania aplikacji Szybko zlokalizujecie błąd jeśli coś zacznie się psuć Zwiększy waszą wartość na rynku pracy

8 Charakterystyka dobrego testu jednostkowe F.I.R.S.T Szybkie (Fast) Niezależne (Independent) Powtarzalne (Repeatable) Samo kontrolujące się (Self-Validating) O czasie (Timely)

9 A poza tym... Być prosty Powinien pokazywać intencje Projektować architekturę rozwiązania na najniższym poziomie

10 Część II: Nieśmiertelny JUnit

11 Co to jest Junit? Framework umożliwiający pisanie testów - nie tylko jednostkowych

12 Dlaczego JUnit? Powszechnie używany a zatem świetnie przetestowany Ekstremalnie prosty w użyciu Zaspokaja praktycznie wszystkie potrzeby, nie tylko te związane z testami jednostkowymi Każde nowoczesne Java IDE wspiera go out-of-the-box Ciągle rozwijany Dojrzały Doczekał się implementacji w wielu językach (Junit, Nunit, PhpUnit, JSUnit) Stawia na niezależność testów (jedna z zasad F.I.R.S.T)

13 Junit @After +

14 Junit 4.x asercje asserttrue(condition) assertfalse(condition) assertnull(object) assertnotnull(object) assertequals(expected, actual) assertnotequals(expected, actual) assertsame(expected, actual) assertnotsame(expected, actual) assertarrayequals(expected, actual)

15 Jak wyglądało to w wersji 3? Klasa z testem musiała dziedziczyć z TestCase Nazwy testów musiały zaczynać się od 'test' Metody wykonywane przed testami definiowaliśmy Wszystkie asercje były zdefiniowane bezpośrednio w klasie testu Nie istniała możliwość parametryzacji Brakowało adnotacji

16 Cześć III: Zwinny a raczej płynny Fest-Assert

17 Co to jest Fest-Assert? Biblioteka, która dostarcza płynnego interfejsu (fluent interface) do tworzenia asercji

18 Co wyróżnia Fest-Assert? Fluent interface płynny styl pisania asercji Stawia na czytelność assertthat(sauron).isnotin(fellowshipofthering); assertthat(frodo.getage()).isequalto(33); Zrozumiałe komunikaty błędów actual value:<'sauron'> should not be in:<['frodo', 'Sauron']> expected:<3[3]> but was:<3[4]>

19 Co wyróżnia Fest-Assert? Posiada wbudowane asercje do weryfikacji Typów prymitywnych Tablic Kolekcji Zawartości plików Wyrzuconych wyjątków Zbuforowanych zdjęć BufferedImage Jest łatwo rozszerzalna poprzez Condition i GenericAssert

20 Fest-Assert użycie W Junit napisalibyśmy by assertequals(2, list.size()); asserttrue(list.contains(element1)); asserttrue(list.contains(element2)); Po refaktoryzacji assertcontainsonlyelements(list, element1, element2)

21 Fest-Assert użycie Zamiast tego możemy napisać assertthat(list).hassize(2).contains(element1, element2); Lub nawet prościej assertthat(list).containsexactly(element1, element2);

22 Część IV: Wstęp do mockowania

23 Co to jest mock? Jest to obiekt, który imituje zachowanie innego obiektu w kontrolowany sposób.

24 Co otrzymujemy dzięki zastosowaniu mocków? Izolujemy testowaną klasę od innych elementów systemu Testy są znacznie szybsze Możemy symulować zachowania innych obiektów Możemy symulować sytuacje wyjątkowe Możemy weryfikować czy odpowiednie metody zostały wywołane i z jakimi parametrami Możliwość rozpoczęcia prac bez gotowego zaplecza bazy danych, usług zewnętrznych

25 Obawy związane z mockowaniem Mocki będą ciężkie w utrzymaniu Mocki nie pozwolą nam na dokładne przetestowanie systemu Nie sprawdzimy czy nasza baza danych funkcjonuje poprawnie Nie sprawdzimy czy nasze usługi funkcjonują poprawnie

26 Typy mocków

27 Stuby (własnoręcznie wyrzeźbione klasy)

28 Stuby (własnoręcznie wyrzeźbione klasy) Nie mamy łatwego sposobu aby dostosowywać ich zachowanie pomiędzy testami Dodajemy niepotrzebną warstwę złożoności do systemu, którą musimy utrzymywać Tworzymy zbędny kod, który potem musimy utrzymywać

29 Expect - Run Verify (Record - Replay)

30 Expect - Run Verify (Record - Replay) Test jest podzielony na trzy części: Utworzenie mocka i nagranie oczekiwań (stubujemy) Uruchomienie mocka Weryfikacja jego zachowania Przez co: Praktycznie stubujemy Zawczasu musimy myśleć o wewnętrznej implementacji Dodajemy wiele niepotrzebnych linii kodu

31 Arrange - Act - Assert

32 Arrange - Act - Assert Test jest podzielony na trzy części: Utworzenie mocka Wykonanie testu Opcjonalna weryfikacja wykonanych metod Eliminuje to parę problemów: Nie musimy myśleć o szczegółach przed implementacją Nie musimy stubować metod nic nie zwracających Ograniczamy ilość potrzebnego kodu, zajmujemy się tylko tym co istotne

33 Przypomnijcie mi bo nie pamiętam, co to jest? Stub Record Replay Arrange - Act - Assert

34 Część V: Mockito

35 Co to jest Mockito? Mockito to framework do mockowania napisany w Javie przez Szczepana Fabera wraz z przyjaciółmi.

36 We decided during the main conference that we should use JUnit 4 and Mockito because we think they are the future of TDD and mocking in Java" Dan North

37 Dlaczego właśnie Mockito? Jest trendy, wszyscy chcą jej teraz używać :-) Bardzo prosta w użyciu Posiada minimalistyczne API Umożliwia wybiórczą weryfikację wywołań metod Wyraźnie odseparowuje deklaracje zachowań od ich weryfikacji Nie posiada kodu wspierającego framework record(), replay() Umożliwia mockowanie zarówno klas i interfejsów

38 import static org.mockito.mockito.*; mock(java.lang.class<t> classtomock) when(t methodcall) verify(t mock) spy(t object) doreturn(java.lang.object tobereturned) dothrow(java.lang.throwable tobethrown) doanswer(answer answer) times(int wantednumberofinvocations) atleast(int minnumberofinvocations) atmost(int maxnumberofinvocations)

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

JUnit TESTY JEDNOSTKOWE. Waldemar Korłub. Platformy Technologiczne KASK ETI Politechnika Gdańska

JUnit TESTY JEDNOSTKOWE. Waldemar Korłub. Platformy Technologiczne KASK ETI Politechnika Gdańska JUnit TESTY JEDNOSTKOWE Waldemar Korłub Platformy Technologiczne KASK ETI Politechnika Gdańska Testy aplikacji 2 Ręczne testowanie Czasochłonne Powtarzalność trudna do uzyskania Nudne Testowanie automatyczne

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

Platformy Technologiczne

Platformy Technologiczne i Platformy Technologiczne Laboratorium nr 5 Java: testy jednostkowe z biblioteką JUnit Projekt opracowany w ramach laboratorium nr 5 będzie wykorzystywany w czasie laboratorium nr 6 należy zachować przygotowaną

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

Techniki efektywnego testowania kodu dla programistów Java (Spock

Techniki efektywnego testowania kodu dla programistów Java (Spock Program szkolenia: Techniki efektywnego testowania kodu dla programistów Java (Spock/JUnit) Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Techniki efektywnego testowania kodu

Bardziej szczegółowo

Całościowe podejście do testowania automatycznego dla programistów. /C#/PHP (TDD, BDD, Spec. by Example, wzorce, narzędzia)

Całościowe podejście do testowania automatycznego dla programistów. /C#/PHP (TDD, BDD, Spec. by Example, wzorce, narzędzia) Program szkolenia: Całościowe podejście do testowania automatycznego dla programistów Java /C#/PHP (TDD, BDD, Spec. by Example, wzorce, narzędzia) Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas

Bardziej szczegółowo

Testowanie I. Celem zajęć jest zapoznanie studentów z podstawami testowania ze szczególnym uwzględnieniem testowania jednostkowego.

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

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

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

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

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

Inżynieria Programowania - Testowanie oprogramowania cz.2

Inżynieria Programowania - Testowanie oprogramowania cz.2 Inżynieria Programowania - Testowanie oprogramowania cz.2 Katedra Informatyki, Politechnika Świętokrzyska w Kielcach Kielce, 21 stycznia 2014 Plan wykładu Wstęp 1 Wstęp 2 pokrycia kodu pokrycia wymagań

Bardziej szczegółowo

Program szkolenia: Receptury testowania automatycznego - problemy, strategie, taktyki, techniki, narzędzia

Program szkolenia: Receptury testowania automatycznego - problemy, strategie, taktyki, techniki, narzędzia Program szkolenia: Receptury testowania automatycznego - problemy, strategie, taktyki, techniki, narzędzia Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Receptury testowania automatycznego

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

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

Testowanie jednostkowe. Jacek Starzyński, ZETiIS PW

Testowanie jednostkowe. Jacek Starzyński, ZETiIS PW Testowanie jednostkowe Jacek Starzyński, ZETiIS PW Testowanie Po co testować? Co testować? Kiedy testować? Jak testować? Narzędzia Po co testować? Testy nie udowadniają poprawności......ale pozwalają wykryć

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

Behavior Driven Development (BDD)

Behavior Driven Development (BDD) Wydział Informatyki i Zarządzania Wrocław, 12 marca 2010 Agenda Wprowadzenie 1 Wprowadzenie 2 3 4 BDD w Javie 5 6 Cele prezentacji Wprowadzenie Cele prezentacji Prawda o projektach przedstawienie podejścia

Bardziej szczegółowo

NAJLEPSZE STRATEGIE SKUTECZNYCH PROGRAMISTÓW. TECHNIKI PRACY Z KODEM KOD: NSKOD

NAJLEPSZE STRATEGIE SKUTECZNYCH PROGRAMISTÓW. TECHNIKI PRACY Z KODEM KOD: NSKOD NAJLEPSZE STRATEGIE SKUTECZNYCH PROGRAMISTÓW. TECHNIKI PRACY Z KODEM KOD: NSKOD OPIS Praca programisty oprócz umiejętności i wiedzy technicznej, wymaga również doskonałej pracy z kodem. Umiejętności te

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

Programowanie Zespołowe

Programowanie Zespołowe Programowanie Zespołowe Dobre Praktyki dr Rafał Skinderowicz mgr inż. Michał Maliszewski Parafrazując klasyka: Jeśli piszesz w Javie pisz w Javie - Rafał Ciepiela Principal Software Developer Cadence Design

Bardziej szczegółowo

Spring Framework - wprowadzenie i zagadnienia zaawansowane

Spring Framework - wprowadzenie i zagadnienia zaawansowane Program szkolenia: Spring Framework - wprowadzenie i zagadnienia zaawansowane Informacje ogólne Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Spring Framework - wprowadzenie i zagadnienia

Bardziej szczegółowo

Michał Olejnik. 22 grudnia 2009

Michał Olejnik. 22 grudnia 2009 Continuous TDD Politechnika Wrocławska Informatyka 22 grudnia 2009 Agenda Wprowadzenie 1 Wprowadzenie 2 3 4 5 Agenda Wprowadzenie 1 Wprowadzenie 2 3 4 5 Agenda Wprowadzenie 1 Wprowadzenie 2 3 4 5 Agenda

Bardziej szczegółowo

JUNIT. Terminologia. Organizacja testów

JUNIT. Terminologia. Organizacja testów JUNIT Terminologia Test coverage zarkes badań testowany kawałek kodu Test lokalny local test badanie pojedynczej klasy itp. Text fixture armatura pomiarowa (wat?) punkt odniesienia do testów Integration

Bardziej szczegółowo

Testowanie oprogramowania

Testowanie oprogramowania Testowanie oprogramowania 1/17 Testowanie oprogramowania Wykład 01 dr inż. Grzegorz Michalski 13 października 2015 Testowanie oprogramowania 2/17 Dane kontaktowe: Kontakt dr inż. Grzegorz Michalski pokój

Bardziej szczegółowo

Automatyczne testowanie aplikacji Android

Automatyczne testowanie aplikacji Android Automatyczne testowanie aplikacji Android Arkadiusz Konior! 4developers!! Warszawa 7 kwietnia 2014 Agenda Testowanie Android Testing Framework Robotium Espresso monkey monkeyrunner UIAutomator Robolectric

Bardziej szczegółowo

Projektowanie obiektowe oprogramowania Wykład 4 wzorce projektowe cz.i. wzorce podstawowe i kreacyjne Wiktor Zychla 2017

Projektowanie obiektowe oprogramowania Wykład 4 wzorce projektowe cz.i. wzorce podstawowe i kreacyjne Wiktor Zychla 2017 Projektowanie obiektowe oprogramowania Wykład 4 wzorce projektowe cz.i. wzorce podstawowe i kreacyjne Wiktor Zychla 2017 1 Wzorce podstawowe 1.1 Interface vs Abstract class class InterfaceAbstractClass

Bardziej szczegółowo

Język Java część 2 (przykładowa aplikacja)

Język Java część 2 (przykładowa aplikacja) Programowanie obiektowe Język Java część 2 (przykładowa aplikacja) Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Java Java przykładowa

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu Programowanie obiektowe - zestaw 03 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas abstrakcyjnych i interfejsów. Wprowadzenie

Bardziej szczegółowo

Testowanie aplikacji JAVA Laboratorium 8 (Tabele w scenariuszach JBehave. Projekt z podstaw BDD oraz atrap.)

Testowanie aplikacji JAVA Laboratorium 8 (Tabele w scenariuszach JBehave. Projekt z podstaw BDD oraz atrap.) Testowanie aplikacji JAVA Laboratorium 8 (Tabele w scenariuszach JBehave. Projekt z podstaw BDD oraz atrap.) Przykład z użycia bezpośrednio tabel w scenariuszach JBehave znajduje się tutaj. Zadanie 1 (0.5

Bardziej szczegółowo

Testy jednostkowe - zastosowanie oprogramowania JUNIT 4.0 Zofia Kruczkiewicz

Testy jednostkowe - zastosowanie oprogramowania JUNIT 4.0  Zofia Kruczkiewicz Testy jednostkowe - zastosowanie oprogramowania JUNIT 4.0 http://www.junit.org/ Zofia Kruczkiewicz 1. Aby utworzyć test dla jednej klasy, należy kliknąć prawym przyciskiem myszy w oknie Projects na wybraną

Bardziej szczegółowo

Testowanie aplikacji Java Servlets

Testowanie aplikacji Java Servlets Borland Developer Days 2004 2-3 czerwca 2004 Testowanie aplikacji Java Servlets Bartosz Walter mailto: Bartek.Walter@man.poznan.pl Agenda Aplikacje Java Servlets TM Jak testować aplikacje internetowe?

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

Program szkolenia: Wzorce projektowe i ich implementacja w C# oraz testowanie automatyczne

Program szkolenia: Wzorce projektowe i ich implementacja w C# oraz testowanie automatyczne Program szkolenia: Wzorce projektowe i ich implementacja w C# oraz testowanie automatyczne Informacje ogólne Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Wzorce projektowe i ich implementacja

Bardziej szczegółowo

Programowanie kontraktowe w Javie

Programowanie kontraktowe w Javie 20 maja 2010 Spis treści 1 Programowanie kontraktowe Geneza Założenia Kontrakty w języku Eiffel 2 Definiowanie specyfikacji Weryfikacja poprawności aplikacji 3 Wykorzystanie założeń kontraktów 4 Asercje

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

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 13 Marcin Młotkowski 27 maja 2015 Plan wykładu Trwałość obiektów 1 Trwałość obiektów 2 Marcin Młotkowski Programowanie obiektowe 2 / 29 Trwałość (persistence) Definicja Cecha

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

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

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans. GRZEGORZ FURDYNA Krótka Historia Co to jest NetBeans? Historia Wersje NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły NetBeans Profiler Narzędzie do projektowania GUI Edytor NetBeans

Bardziej szczegółowo

Web frameworks do budowy aplikacji zgodnych z J2EE

Web frameworks do budowy aplikacji zgodnych z J2EE Web frameworks do budowy aplikacji zgodnych z J2EE Jacek Panachida promotor: dr Dariusz Król Przypomnienie Celem pracy jest porównanie wybranych szkieletów programistycznych o otwartym kodzie źródłowym

Bardziej szczegółowo

Bezpieczenstwo aplikacji

Bezpieczenstwo aplikacji Języki Programowania na Platformie.NET (część 2) http://www.kaims.pl/ goluch/ goluch@eti.pg.gda.pl Bezpieczeństwo ogólne koncepcje sandboxing zbiór praw jest określany poprzez evidence prawa (permissions)

Bardziej szczegółowo

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop. 2017 Spis treści O autorach 11 Podziękowania 12 Wprowadzenie 13 CZĘŚĆ I ZACZNIJ PROGRAMOWAĆ JUŻ DZIŚ Godzina 1. Praktyczne

Bardziej szczegółowo

Tester oprogramowania 2014/15 Tematy prac dyplomowych

Tester oprogramowania 2014/15 Tematy prac dyplomowych Tester oprogramowania 2014/15 Tematy prac dyplomowych 1. Projekt i wykonanie automatycznych testów funkcjonalnych wg filozofii BDD za pomocą dowolnego narzędzia Jak w praktyce stosować Behaviour Driven

Bardziej szczegółowo

Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin

Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin Czym jest Spring Boot? Spring Boot jest szkieletem aplikacji, opiera się o Spring Framework czyli Framework szeroko

Bardziej szczegółowo

Sexy unit testy. czyli o kilku praktykach w testach jednostkowych

Sexy unit testy. czyli o kilku praktykach w testach jednostkowych Sexy unit testy czyli o kilku praktykach w testach jednostkowych Agenda sekund o samym sobie KILKA zdań o prezentacji kilka przemyśleń pomysłów na ułatwienie sobie życia pytań od publiczności O mnie Absolwent

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Słowa kluczowe jak góry lodowe

Słowa kluczowe jak góry lodowe Public Słowa kluczowe jak góry lodowe czyli rzecz o bibliotekach testowych Marcin Kowalczyk marcin.kowalczyk@tieto.com Spis treści Dlaczego słowa kluczowe są jak góry lodowe, po co tworzyć własne biblioteki

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

Programowanie obiektowe zastosowanie języka Java SE

Programowanie obiektowe zastosowanie języka Java SE Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z

Bardziej szczegółowo

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

Programowanie w Javie nazwa przedmiotu SYLABUS A. Informacje ogólne Programowanie w Javie nazwa SYLABUS A. Informacje ogólne Elementy składowe sylabusu Nazwa jednostki prowadzącej kierunek Nazwa kierunku studiów Poziom kształcenia Profil studiów Forma studiów Kod Język

Bardziej szczegółowo

ANGULARJS TWORZENIE APLIKACJI INTERNETOWYCH

ANGULARJS TWORZENIE APLIKACJI INTERNETOWYCH ANGULARJS TWORZENIE APLIKACJI INTERNETOWYCH szkolenie dla webdeveloperów ze znajomością przynajmniej podstaw HTML i JavaScript INFORMACJE PODSTAWOWE AngularJS to framework JavaScript stworzony przez inżynierów

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.

Bardziej szczegółowo

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut.

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut. Konstruktory Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut. Rozpatrzmy przykład przedstawiający klasę Prostokat: class

Bardziej szczegółowo

Języki i techniki programowania Ćwiczenia 3 Dziedziczenie

Języki i techniki programowania Ćwiczenia 3 Dziedziczenie Języki i techniki programowania Ćwiczenia 3 Dziedziczenie Klasa abstrakcyjna Autor: Marcin Orchel Klasa abstrakcyjna to taka, że nie możemy tworzyć obiektów tej klasy, możemy jednak dziedziczyć po tej

Bardziej szczegółowo

Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom.

Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom. Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom. Projektowanie i wdrażanie systemów informatycznych Przekształcenie

Bardziej szczegółowo

Programowanie współbieżne i rozproszone

Programowanie współbieżne i rozproszone Programowanie współbieżne i rozproszone WYKŁAD 11 dr inż. CORBA CORBA (Common Object Request Broker Architecture) standard programowania rozproszonego zaproponowany przez OMG (Object Management Group)

Bardziej szczegółowo

1. Robert C. Martin: Clean Code: A Handbook of Agile Software Craftsmanship (Czysty Kod: Podręcznik Dobrego Programisty)

1. Robert C. Martin: Clean Code: A Handbook of Agile Software Craftsmanship (Czysty Kod: Podręcznik Dobrego Programisty) Jakoś(ć) kodu Polecana literatura 1. Robert C. Martin: Clean Code: A Handbook of Agile Software Craftsmanship (Czysty Kod: Podręcznik Dobrego Programisty) 2. Peter Kim: Podręcznik pentestera. Bezpieczeństwo

Bardziej szczegółowo

HP Service Anywhere Uproszczenie zarządzania usługami IT

HP Service Anywhere Uproszczenie zarządzania usługami IT HP Service Anywhere Uproszczenie zarządzania usługami IT Robert Nowak Architekt rozwiązań HP Software Dlaczego Software as a Service? Najważniejsze powody za SaaS UZUPEŁNIENIE IT 2 Brak zasobów IT Ograniczone

Bardziej szczegółowo

INŻYNIERIA OROGRAMOWANIA TESTOWANIE JEDNOSTKOWE 2015/2016

INŻYNIERIA OROGRAMOWANIA TESTOWANIE JEDNOSTKOWE 2015/2016 INŻYNIERIA OROGRAMOWANIA TESTOWANIE JEDNOSTKOWE 2015/2016 Czemu testowanie jest ważne? 1994 gra Król Lew Błąd Excela 2007 (ile to jest 850*77,1?) 1987 Therac-25 (race condition, dokumentacja) i Cobalt60

Bardziej szczegółowo

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016 Wykład 2 17 marca 2016 Dziedziczenie Klasy bazowe i potomne Dziedziczenie jest łatwym sposobem rozwijania oprogramowania. Majac klasę bazowa możemy ja uszczegółowić (dodać nowe pola i metody) nie przepisujac

Bardziej szczegółowo

Analiza i projektowanie aplikacji Java

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

Bardziej szczegółowo

INŻYNIERIA OPROGRAMOWANIA TESTOWANIE INTEGRACYJNE

INŻYNIERIA OPROGRAMOWANIA TESTOWANIE INTEGRACYJNE INŻYNIERIA OPROGRAMOWANIA TESTOWANIE INTEGRACYJNE Definicja ITQB Testowanie integracyjne (integration testing) wykonywane w celu wykrycia defektów w interfejsach i interakcjach pomiędzy modułami lub systemami

Bardziej szczegółowo

Dekoratora używa się wstawiając linijkę zaczynającą się przed definicją dekorowanego obiektu (klasy czy funkcji).

Dekoratora używa się wstawiając linijkę zaczynającą się przed definicją dekorowanego obiektu (klasy czy funkcji). Dekoratory są w miarę ezoteryczną cechą Pythona w przeciwieństwie do funkcji, klas czy iteratorów nie są powszechną cechą języków programowania. Niemniej, warto je omówić mimo wszystko, gdyż są niezwykle

Bardziej szczegółowo

JAX-RS czyli REST w Javie. Adam Kędziora

JAX-RS czyli REST w Javie. Adam Kędziora JAX-RS czyli REST w Javie Adam Kędziora Webservice Usługa sieciowa (ang. web service) komponent programowy niezależny od platformy i implementacji, dostarczający określonej funkcjonalności. SOAP,UDDI,XML,WSDL

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

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

Warsztat: "Automatyzacja testów (JAVA) - od podstaw"

Warsztat: Automatyzacja testów (JAVA) - od podstaw Warsztat: "Automatyzacja testów (JAVA) - od podstaw" Marcin Dziedzic, Wiktor Żołnowski Http://blog.testowka.pl Agenda 1. Omówienie celu szkolenia 1.Od testera do QA Inżyniera 2. Wstęp do Automatyzacji

Bardziej szczegółowo

OSGi Agata Hejmej 4.05.2009

OSGi Agata Hejmej 4.05.2009 OSGi Agata Hejmej 4.05.2009 Plan prezentacji Co to jest OSGi Jakie problemy rozwiązuje Opis standardu Przykładowa aplikacja Podsumowanie korzyści Co to jest OSGi? Standard, który pozwala na tworzenie wysoce

Bardziej szczegółowo

Kompleksowe tworzenie aplikacji klasy Desktop z wykorzystaniem SWT i

Kompleksowe tworzenie aplikacji klasy Desktop z wykorzystaniem SWT i Program szkolenia: Kompleksowe tworzenie aplikacji klasy Desktop z wykorzystaniem SWT i JFace Informacje ogólne Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Kompleksowe tworzenie aplikacji

Bardziej szczegółowo

Wątki w Javie. Piotr Tokarski

Wątki w Javie. Piotr Tokarski Wątki w Javie Piotr Tokarski Wprowadzenie Co to są wątki? Co to są wątki? Każdy program ma przynajmniej jeden wątek Co to są wątki? Każdy program ma przynajmniej jeden wątek Wątki są po to, by symulować

Bardziej szczegółowo

Języki i techniki programowania Ćwiczenia 4 Wzorce

Języki i techniki programowania Ćwiczenia 4 Wzorce Języki i techniki programowania Ćwiczenia 4 Wzorce Wzorce to metoda generacji różnych klas lub różnych funkcji. Autor: Marcin Orchel Przykład 1: Jeśli dana klasa C wykonuje obliczenia numeryczne, i wymaganiem

Bardziej szczegółowo

MVVM Light Toolkit. Julita Borkowska

MVVM Light Toolkit. Julita Borkowska MVVM Light Toolkit Julita Borkowska Czym jest MVVM Light Toolkit? MVVM Light Toolkit został stworzony w 2009 roku przez Laurenta Bugnion. Jest to biblioteka dostarczająca zestaw komponentów pomocnych podczas

Bardziej szczegółowo

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej Programowanie obiektowe Interfejsy Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Interfejsy Autor: Paweł Rogaliński Instytut Informatyki,

Bardziej szczegółowo

Hoare Advanced Homework Assistant

Hoare Advanced Homework Assistant Aleksy Schubert 1 Tadeusz Sznuk 2 1 alx@mimuw.edu.pl 2 tsznuk@mimuw.edu.pl 3 października 2013 Cele projektu Cel Przeniesienie nauczania semantyki na wydziale w XXI wiek. Na początek chcemy się skupić

Bardziej szczegółowo

Dlaczego testowanie jest ważne?

Dlaczego testowanie jest ważne? Testowanie Dlaczego testowanie jest ważne? Oprogramowanie które nie działa poprawnie może doprowadzić do: straty czasu, pieniędzy utraty reputacji uszkodzeń ciała a nawet śmierci Definicja błędu Oprogramowanie

Bardziej szczegółowo

WSNHiD, Programowanie 2 Lab. 2 Język Java struktura programu, dziedziczenie, abstrakcja, polimorfizm, interfejsy

WSNHiD, Programowanie 2 Lab. 2 Język Java struktura programu, dziedziczenie, abstrakcja, polimorfizm, interfejsy WSNHiD, Programowanie 2 Lab. 2 Język Java struktura programu, dziedziczenie, abstrakcja, polimorfizm, interfejsy Pojęcie klasy Program napisany w języku Java składa się ze zbioru klas. Każda klasa zawiera

Bardziej szczegółowo

Systemy Rozproszone - Ćwiczenie 6

Systemy Rozproszone - Ćwiczenie 6 Systemy Rozproszone - Ćwiczenie 6 1 Obiekty zdalne Celem ćwiczenia jest stworzenie obiektu zdalnego świadczącego prostą usługę nazewniczą. Nazwy i odpowiadające im punkty końcowe będą przechowywane przez

Bardziej szczegółowo

Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania

Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania Opis biznesowy świata rzeczywistego Wymagania funkcjonalne i niefunkcjonalne aplikacji Diagram przypadków życia Diagramy klas i sekwencji:

Bardziej szczegółowo

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/17

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/17 Załącznik nr 4 do Uchwały Senatu nr 430/01/2015 SYLABUS DOTYCZY CYKLU KSZTAŁCENIA 2014-2018 realizacja w roku akademickim 2016/17 1.1. PODSTAWOWE INFORMACJE O PRZEDMIOCIE/MODULE Nazwa przedmiotu/ modułu

Bardziej szczegółowo

programowanie w oparciu o platformę netbeans w praktyce

programowanie w oparciu o platformę netbeans w praktyce programowanie w oparciu o platformę netbeans w praktyce Adam Kędziora. Netbeans innovators grants. Mechanizm lookup jako panorama firm. Węzły w netbeans. Mechanizm lookup jako torba z narzędziami. Dwa

Bardziej szczegółowo

Być może jesteś doświadczonym programistą, biegle programujesz w Javie,

Być może jesteś doświadczonym programistą, biegle programujesz w Javie, Kompendium PHP 01 Być może jesteś doświadczonym programistą, biegle programujesz w Javie, C++, Pythonie lub jakimś innym języku programowania, których jak myślę, powstało już tyle, że chyba nie ma osoby,

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

Wskazówki projektowe. Programowanie Obiektowe Mateusz Cicheński

Wskazówki projektowe. Programowanie Obiektowe Mateusz Cicheński Wskazówki projektowe Programowanie Obiektowe Mateusz Cicheński Przydatne zasady SOLID Wzorce struktury aplikacji MVC MVP MVVM Metody wytwarzania oprogramowania Manifest Zwinnego Wytwarzania Oprogramowania

Bardziej szczegółowo

Automatyzacja Testowania w WEB 2.0

Automatyzacja Testowania w WEB 2.0 Automatyzacja Testowania w WEB 2.0 Wojciech Pająk, Radosław Smilgin XXIV Jesienne Spotkania PTI Wisła, 20-24 października 2008 Agenda Wprowadzenie do automatyzacji testowania Technologie WEB 2.0 Narzędzia

Bardziej szczegółowo

Klasy abstrakcyjne, interfejsy i polimorfizm

Klasy abstrakcyjne, interfejsy i polimorfizm Programowanie obiektowe 12 kwietnia 2011 Organizacyjne Klasówka będzie 20 IV 2011. Sale jeszcze są pertraktowane. Materiał do wyjątków włącznie. Można mieć swoje materiały nieelektroniczne. Wywołanie z

Bardziej szczegółowo

Usprawnienie procesu zarządzania konfiguracją. Marcin Piebiak Solution Architect Linux Polska Sp. z o.o.

Usprawnienie procesu zarządzania konfiguracją. Marcin Piebiak Solution Architect Linux Polska Sp. z o.o. Usprawnienie procesu zarządzania konfiguracją Marcin Piebiak Solution Architect Linux Polska Sp. z o.o. 1 Typowy model w zarządzaniu IT akceptacja problem problem aktualny stan infrastruktury propozycja

Bardziej szczegółowo

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa 1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko

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

OpenAI Gym. Adam Szczepaniak, Kamil Walkowiak

OpenAI Gym. Adam Szczepaniak, Kamil Walkowiak OpenAI Gym Adam Szczepaniak, Kamil Walkowiak Plan prezentacji Programowanie agentowe Uczenie przez wzmacnianie i problemy związane z rozwojem algorytmów Charakterystyka OpenAI Gym Biblioteka gym Podsumowanie

Bardziej szczegółowo

Co jeszcze mogą nam dać adnotacje? Adam Warski

Co jeszcze mogą nam dać adnotacje? Adam Warski Co jeszcze mogą nam dać adnotacje? Adam Warski Weryfikacja statyczna Sprawdzanie własności programu bez jego uruchomienia Weryfikacja statyczna Najprostszy przykład: Sprawdzanie typów Przy wywołaniu metody

Bardziej szczegółowo

SZKOLENIE TWORZENIE SYSTEMÓW

SZKOLENIE TWORZENIE SYSTEMÓW SZKOLENIE TWORZENIE SYSTEMÓW INFORMATYCZNYCH Z UŻYCIEM GROOVY I GRAILS KOD: JGR Strona 1 1 Opis Platforma Java EE to zbiór zaawansowanych narzędzi umożliwiających tworzenie systemów korporacyjnych. Jest

Bardziej szczegółowo

Klasy abstrakcyjne i interfejsy

Klasy abstrakcyjne i interfejsy Klasy abstrakcyjne i interfejsy Streszczenie Celem wykładu jest omówienie klas abstrakcyjnych i interfejsów w Javie. Czas wykładu 45 minut. Rozwiązanie w miarę standardowego zadania matematycznego (i nie

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

Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html

Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Dr inż. Zofia Kruczkiewicz wykład 4 Programowanie aplikacji internetowych, wykład 4 1 1. Zadania aplikacji rozproszonych obiektów

Bardziej szczegółowo

Podstawy Programowania Obiektowego

Podstawy Programowania Obiektowego Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja

Bardziej szczegółowo

Programowanie obiektowe - 1.

Programowanie obiektowe - 1. Programowanie obiektowe - 1 Mariusz.Masewicz@cs.put.poznan.pl Programowanie obiektowe Programowanie obiektowe (ang. object-oriented programming) to metodologia tworzenia programów komputerowych, która

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Języki i techniki programowania Ćwiczenia 2

Języki i techniki programowania Ćwiczenia 2 Języki i techniki programowania Ćwiczenia 2 Autor: Marcin Orchel Spis treści: Język C++... 5 Przekazywanie parametrów do funkcji... 5 Przekazywanie parametrów w Javie.... 5 Przekazywanie parametrów w c++...

Bardziej szczegółowo

AUREA BPM HP Software. TECNA Sp. z o.o. Strona 1 z 7

AUREA BPM HP Software. TECNA Sp. z o.o. Strona 1 z 7 AUREA BPM HP Software TECNA Sp. z o.o. Strona 1 z 7 HP APPLICATION LIFECYCLE MANAGEMENT Oprogramowanie Application Lifecycle Management (ALM, Zarządzanie Cyklem życia aplikacji) wspomaga utrzymanie kontroli

Bardziej szczegółowo