Środowisko wspomagające testowanie oprogramowania obiektowego
|
|
- Paweł Sosnowski
- 7 lat temu
- Przeglądów:
Transkrypt
1 Środowisko wspomagające testowanie oprogramowania obiektowego Sebastian Nowak Ilona Bluemke Instytut Informatyki, Politechnika Warszawska Nowowiejska 15/19, Warszawa Streszczenie W pracy przedstawiono środowisko wspomagające testowanie programów obiektowych zaprojektowanych w jednym z dwóch narzędzi CASE Paradigm Plus i Select Enterprise v 6. Środowisko może być użyte do testowania klas napisanych w językach C++ oraz Java. Zaimplementowane metody testowania oparte są na specyfikacji zachowania klasy w postaci diagramu zmian stanów. 1. Wprowadzenie Testowanie oprogramowania jest jednym ze środków pozwalających zapewnić wysoką jakość oprogramowania. Celem testowania jest wykrycie jak największej liczby błędów wykonania programu przy minimalnym koszcie. Właściwy test powinien wykrywać błędne zachowanie programu niepoprawne wyniki, czy zachowanie niezgodnie z oczekiwaniami użytkownika. Zaproponowano następujące podejścia do testowania ukierunkowanego na wyszukiwanie defektów: 1. Funkcjonalne (ang. black box) testy są wyprowadzane ze specyfikacji oprogramowania. Jednostka testowana jest traktowana jako czarna
2 skrzynka, której zachowanie może być określone na podstawie wejść i odpowiadających im wyjść. Celem testowania jest określenie, czy program spełnia funkcjonalne i niefunkcjonalne (np. wydajnościowe) wymagania. 2. Strukturalne (ang. white box) testy są wyprowadzane na podstawie znajomości struktury testowanej jednostki. Cechą charakterystyczną tego podejścia jest sprawdzanie pokrycia programu np. sprawdzenie, czy wykonano wszystkie instrukcje, skoki, ścieżki przepływu danych. Powyższe podejścia zostały zaproponowane dla oprogramowania strukturalnego i są także wykorzystywane podczas testowania oprogramowania obiektowego. Jednak od końca lat osiemdziesiątych prowadzone są prace nad metodami testowania dostosowanymi do testowania programów napisanych w językach obiektowych, wiele informacji na ten temat można znaleźć w pracach [1, 2, 3]. Koszty testowania to 40% do 80 % kosztów produkcji oprogramowania stąd redukcja tych kosztów i poprawa jakości testowania są ważnym problemem od lat przyciągającym uwagę informatyków. Powstało szereg narzędzi wspomagających testowanie oprogramowania obiektowego. Przegląd narzędzi można znaleźć w [4]. W większości narzędzi stosowane jest strukturalne podejście do testowania, badane jest np. pokrycie gałęzi w grafie przepływu sterowania. Narzędzia do testowania są samodzielnymi systemami dostosowanymi do testowania programów napisanych w konkretnym języku programowania np. w C++ czy Javie. Spośród komercyjnych narzędzi do testowania jedynie Test Studio firmy Rational współpracuje z narzędziem do projektowania obiektowego o nazwie Rose (tej samej firmy). Ceny narzędzi wspomagających testowanie są bardzo wysokie i, o ile wiadomo autorom, tego typu narzędzia nie są stosowane ani w dydaktyce ani w pracach własnych na polskich uczelniach. W Instytucie Informatyki Politechniki Warszawskiej powstało narzędzie (o nazwie TOSTER - The Object-oriented Software Testing EnviRonment) służące do testowanie oprogramowania obiektowego napisanego w C++ lub w Javie. Narzędzie to pobiera informacje z repozytoriów dwóch komercyjnych narzędzi do projektowania obiektowego tj. Paradigm Plus oraz Select Enterprise. Jednostką poddawaną testowaniu jest klasa. Testowanie może odbywać się dwoma metodami działającymi w oparciu o diagram zmian stanów klasy. W rozdziale 2 przedstawiono zarys działania narzędzia TOSTER, pełen opis można znaleźć w [4]. W rozdziale 3 omówiono jedną ze zrealizowanych metod testowania metodę wektora stanu (także opisaną w [3]). Przykład testowania z zastosowaniem środowiska TOSTER zamieszczono w rozdziale 4. Znane autorom komercyjne narzędzia wspomagające testowanie nie stosują metod opartych na diagramach zmian stanów. Jedynie narzędzie Tootsie (Total Object Oriented Testing Support Environment) opisane w [1] korzysta z diagramów zmian stanów jednak w inny sposób niż TOSTER. System obiektowy jest zbiorem współdziałających obiektów. Zachowanie całego systemu jest wynikiem interakcji i zachowań indywidualnych obiektów. Wiarygodny system obiektowy wymaga, by każdy z komponentów zachowywał się właściwie, by sumaryczne zachowanie było właściwe oraz, by nie było
3 możliwości powstania nieprawidłowego zachowania. Testowanie oprogramowania obiektowego powinno opierać się na modelu, który ułatwi generowanie przypadków testowych i pozwoli wykryć najbardziej prawdopodobne błędy. Zachowanie klasy jest modelowane (we wszystkich metodach obiektowych) za pomocą diagramu zmian stanów. Wydaje się naturalnym użycie diagramów zmian stanów w procesie testowania zachowania klasy. 2. Architektura środowiska TOSTER TOSTER jest otwartym środowiskiem wspomagającym testowanie oprogramowania zorientowanego obiektowo. Środowisko integruje model oprogramowania wykonany w narzędziu CASE z kodem źródłowym oprogramowania oraz udostępnia zestaw narzędzi ułatwiających testowanie. Proces testowania realizowany jest przez moduły, zwane dalej metodami testowania. Metody testowania korzystając z danych oraz narzędzi udostępnianych przez środowisko TOSTER, modyfikują kod źródłowy, uruchamiają testy oraz interpretują oraz prezentują wyniki testowania (rys. 1). kompilator, interpreter,... pliki źródłowe oryginalny kod źródłowy narzędzia CASE Select Enterprice 6 T O S T E R model oprogramowania struktura zawartości plików źródłowych C++ JAVA inne... roboczy kod źródłowy Paradigm Plus inne... metody testowania Rysunek 1. Architektura środowiska TOSTER Otwartość środowiska polega na możliwości: implementacji dowolnych metod testowania, przystosowania do współpracy z niemalże dowolnym obiektowym językiem programowania, przystosowania do współpracy z różnymi narzędziami CASE.
4 Aktualnie w środowisku zaimplementowano dwie metody testowania: metodę wektora stanu, opisana w rozdziale 3, oraz metodę specyfikacji sekwencji [3,4,5]. TOSTER pozwala na testowanie klas napisanych w językach JAVA lub C++. Wraz ze środowiskiem dostępne jest oprogramowanie pozwalające na korzystanie z modeli w notacji UML utworzonych w narzędziach Select Enterprise 6 oraz Paradigm Plus. Współpraca z narzędziami CASE odbywa się poprzez plik wymiany w formacie XML, co pozwala na stosunkowe łatwe przystosowanie innych narzędzi do współpracy ze środowiskiem TOSTER. Metody testowania działające w środowisku TOSTER w zależności od swoich potrzeb mogą korzystać z następujących struktur danych oraz narzędzi: struktury opisujące model testowanego programu pobrany z narzędzia CASE, struktury danych opisujące zawartość plików źródłowych testowanego programu, odwzorowanie modelu na zawartość plików źródłowych (wykonane automatycznie oraz interakcyjnie przez użytkownika), funkcje służące do modyfikacji zawartości plików źródłowych, funkcje wspierające technikę Design For Testability pozwalającą na umieszczanie informacji dotyczących testowania w modelu, funkcje wspomagające uruchamianie kompilacji oraz uruchamianie testowanego programu, funkcje pozwalające na rejestrowanie przebiegu wykonywania testu. Środowisko TOSTER zostało zaimplementowane w języku JAVA z wykorzystaniem biblioteki SWING, pełny opis znajduje się w [4]. 3. Testowanie w środowisku TOSTER W środowisku TOSTER zaimplementowano dwie metody testowania: 1. metodę wektora stanu oraz 2. metodę specyfikacji sekwencji. Obie metody służą do testowania zgodności implementacji ze specyfikacją wykonaną w postaci diagramów stanów w notacji UML. Są to metody, które trudno jednoznacznie zakwalifikować do metod funkcjonalnych czy strukturalnych. Ze względu na to, iż korzysta się w nich ze specyfikacji zachowania klasy, można by zaliczyć je do metod funkcjonalnych. Specyfikacja w postaci diagramu zmian stanów określa w pewien sposób wnętrze klasy, a ze znajomości struktury wewnętrznej korzystają metody strukturalne. Poniżej przedstawiono metodę wektora stanów (metoda specyfikacji sekwencji opisana jest w [3,4,5]), oraz opis procesu testowania.
5 3.1. Metoda wektora stanów Metoda wektora stanu powstała na bazie metody stanów i podstanów zaproponowanej przez C.D. Turner a and D.J. Robson a w [6]. Metoda pozwala na wyspecyfikowanie każdego ze stanów diagramu zmian stanów, jako wektora składającego się z odpowiednio zdefiniowanych wartości atrybutów klasy. Metoda wektora stanów kwalifikuje każdy komunikat wysłany do obiektu testowanej klasy w zależności od jego wpływu na stan obiektu. Pozwala to wykryć błędy polegające na: wywołaniu metod niedozwolonych dla obiektu w danym stanie, wywołaniu metod wprowadzających obiekt do stanu niezdefiniowanego, wywołaniu metod powodujących niepoprawną zmianę stanu obiektu. Pierwszy typ błędów wynika z niepoprawnego użycia obiektu testowanej klasy, zaś pozostałe dwa mogą być wynikiem błędów w implementacji metod. Metoda wektora stanu polega na zdefiniowaniu każdego stanu poprzez odpowiednie wartości atrybutów klasy. Każdy stan może być zdefiniowany przy użyciu dowolnego podzbioru wszystkich atrybutów (włącznie z atrybutami odziedziczonymi z nadklasy). Wartości atrybutów zostały podzielone na trzy rodzaje w zależności od sposobu ich określania na wartości szczegółowe, wartości ogólne oraz wartości dynamiczne. Dla każdego atrybutu specyfikuje się wartości, które może on przyjmować. Wartości te służą do definiowania wektorów stanów. W przypadku, gdy stany zawierają podstany, wektory stanów powinny być zdefiniowane w ten sposób, by definicja podstanu zawierała się w definicji nadstanu. Po zdefiniowaniu stanów dla każdej metody testowanej klasy, tworzone są zbiory stanów wejściowych (stan obiektu w momencie wywołania metody) oraz wyjściowych (stan obiektu po wykonaniu metody). Zbiory te tworzone są na podstawie specyfikacji klasy, a w szczególności w sposób automatyczny na podstawie diagramów stanów. Zbiory metod wejściowych oraz wyjściowych zostaną użyte do określenia poprawności przejść stanów. Efektywność testowania metodą wektora stanu zależy od specyfiki samej klasy. Dla takich klas jak: klasy kontrolujące pliki, analizatory leksykalne i składniowe oraz abstrakcyjne typy danych (np. listy) testowanie takie może wykryć wiele błędów niewykrywalnych przez inne metody. Stopień efektywności zależy od ilości atrybutów kontroli przepływu w danej klasie.
6 3.2. Proces testowania Testowanie oprogramowania przy użyciu środowiska TOSTER składa się z następujących faz: 1. pobranie modelu oprogramowania z narzędzia CASE, 2. wskazanie plików źródłowych testowanego programu, 3. uzupełnienie informacji dotyczącej odwzorowania modelu CASE na zawartość plików źródłowych, 4. wprowadzenie dodatkowych informacji dotyczących między innymi sposobu kompilacji oraz uruchamiania testowanego programu, 5. wprowadzenie informacji dotyczącej sposobu oraz przebiegu testowania specyficznych dla danej metody testowania, 6. przygotowanie przypadków testowych, 7. uruchomienie testu (poprzedzone automatyczną modyfikacją oraz kompilacją kodu źródłowego), 8. przeglądanie/zapisanie wyników testowania. Model przygotowany w narzędziu CASE (a wykonany w fazie analizy oraz projektowania) prezentuje zazwyczaj ogólną koncepcję działania i z tego powodu często wymaga uzupełnienia oraz modyfikacji. Proces testowania wymaga bowiem, aby diagramy zmian stanów w sposób spójny oraz sformalizowany opisywały zachowanie obiektów klas. Przeniesienie modelu odbywa się w sposób automatyczny poprzez plik wymiany. Model testów przeniesiony z narzędzia CASE do środowiska TOSTER wymaga wprowadzenia dodatkowych informacji w zależności od metody testowania. W przypadku metody wektora stanu wymagane jest określenie wartości atrybutów oraz wektorów stanów. Środowisko TOSTER nie wspomaga tworzenia przypadków testowych dla testowanych klas. Zbiory przypadków testowych projektuje użytkownik. W zależności od specyfiki testowanej klasy oraz programu w którym jest ona użyta, testy dla przygotowanych przypadków testowych mogą być wykonywane w dwojaki sposób: testy wykonuje specjalnie przygotowany przez użytkownika program (kontroler testów), testy wykonywane są ręcznie przez użytkownika z wykorzystaniem interfejsu użytkownika W obu przypadkach wymagany jest udział użytkownika. Uruchamianie testowanego programu odbywa się ze środowiska TOSTER, gdyż tekst programu musi zostać zmodyfikowany, tak by możliwe było testowanie przy użyciu wybranej metody testowania. Modyfikacje wprowadzane do testowanego programu zależą od metody testowania i dla metody wektora stanu obejmują między innymi :
7 - dodanie metody wyznaczającej stan obiektu na podstawie informacji wprowadzonych w środowisku TOSTER; - definiowanie specjalnej klasy zagnieżdżonej wewnątrz testowanej klasy; w konstruktorze oraz w destruktorze tej klasy wywoływana jest metoda wyznaczająca stan obiektów testowanej klasy; - na początku każdej z metod testowanej klasy (lub nadklas), które odpowiadają tranzycjom na diagramie stanów, dodawana jest zmienna lokalna, która jest obiektem zdefiniowanej wcześniej zagnieżdżonej klasy gwarantuje to wyznaczenie oraz zapisanie do pliku wyników testowania stanu obiektów testowanej klasy przed oraz po wykonaniu danej metody. Dodatkowo w przypadku obu metod implementacja testowanej klasy rozszerzana jest o mechanizmy pozwalające identyfikować obiekty klasy. W trakcie wykonywania testu zmodyfikowany program rejestruje przebieg wykonania testu poprzez zapis informacji do pliku wyników testowania. Po zakończeniu wykonywania testu plik ten jest analizowany przez metody testowania w środowisku TOSTER, a w szczególności weryfikowana jest poprawność wykonywania testu w odniesieniu do zdefiniowanego modelu testów. Wyniki prezentowane użytkownikowi przedstawiają przebieg wykonania programu oraz zawierają listę wykrytych błędów. 4. Przykład zastosowania Klasa Stack [4] powstała na potrzeby przedstawienia procesu testowania metodą wektora stanu. Została ona zaimplementowana w języku C++ i realizuje funkcjonalność stosu w tablicy. Deklaracja klasy w języku C++ wygląda następująco: class Stack { public: Stack(int initial_size); // konstruktor ~Stack(); // destruktor void Push(const int value); // położenie elementu na stos int Pop(); // zdjęcie elementu ze stosu protected: int size; //rozmiar tablicy pstack int top; //indeks pierwszego wolnego elementu w pstack int *pstack; //wskaźnik na tablicę zawierającą elementy stosu void Resize(const int new_size); //zmiana rozmiaru stosu }; Diagram stanów opisujący zachowanie klasy przedstawia rysunek 2:
8 Rysunek 2 Diagram stanów dla klasy Stack Tranzycje first_push, push_next, push_to_full, push_element odpowiadające metodzie push oraz tranzycje pop_next, pop_element, pop_last odpowiadające metodzie pop wymagają ręcznego odwzorowania na metody znajdujące się w plikach źródłowych. Tranzycje Stack, ~Stack oraz resize zostaną automatycznie odwzorowane na odpowiadające im metody. Zgodnie z ogólnym schematem postępowania dla metody wektora stanu, przed przystąpieniem do wykonywania testów konieczne jest określenie wartości dla atrybutów oraz wektorów stanu dla wszystkich stanów. Dla atrybutów klasy Stack zdefiniowano następujące wartości: Atrybut Nazwa wartości Typ wartości Wartość size initialized ogólna size>0 correct value ogólna top>=0 top empty stack szczegółowa 0 full stack dynamiczna top==size not full stack dynamiczna top>0 && top<size pstack initialized ogólna pstack!=null Korzystając z powyższych wartości, dla każdego stanu zdefiniowano następujące wektory stanów (rysunek 3): initialized = [size.initialized, top.correct value, pstack.initialized ], empty = [size.initialized, top.empty stack, pstack.initialized ], full = [size.initialized, top.full_stack, pstack.initialized ], not_full = [size.initialized] top.not_full_stack, pstack.initialized].
9 Rysunek 3 Okno definicji wektorów stanów Ze względu na specjalny charakter stanów initial oraz final nie są dla nich definiowane wektory stanów. Metoda wektora stanu pozwala dla danej metody na pominięcie procedury ustalania stanu obiektu i określenie stanu odgórnie. Sytuacja ta ma miejsce w przypadku konstruktora oraz destruktora oraz stanów initial oraz final z nimi związanymi. Test wykonany dla przypadku testowego określonego jako {rozmiar początkowy 5; sekwencja komunikatów: push, push, push, push, push, push, pop, pop, pop, pop, pop, pop, pop, pop, pop, pop } spowodował zasygnalizowanie wystąpienia wywołań metod, dla których nie znaleziono odpowiedniego przejścia w diagramie zmian stanów. W oknie rezultatów środowiska TOSTER wywołania błędne zaznaczone są pogrubioną czcionką. Dla dowolnej z metod, które zostały zakwalifikowane jako niepoprawne, system generuje również raport tekstowy: Metoda została wywołana dla niedozwolonego stanu obiektu. Przed wykonaniem metody obiekt znajdował się w następujących stanach: Stack/initialized Stack/initialized/empty Dopuszczalne metody: void Push ( const int value ) ~Stack ( ) 5. Uwagi końcowe Środowisko TOSTER zrealizowane w Instytucie Informatyki PW wspomaga testowanie klas napisanych w językach C++ i Java, a będących częścią
10 systemów zaprojektowanych w narzędziach Paradigm Plus lub Select Enterprise. Testowanie klas w izolacji nie jest wystarczające [2], konieczne jest testowanie integracyjne klas. Obecnie TOSTER nie ma możliwości testowania grupy współpracujących klas, jednak ze względu na otwartość środowiska dodanie tej możliwości może wkrótce nastąpić. Testowanie w oparciu o diagram zmian stanów opisujący zachowanie w czasie obiektu jest podejściem właściwym (patrz [1]) dla systemów obiektowych, dla klas o złożonym zachowaniu w czasie. Zgodnie z informacjami autorów komercyjne narzędzia wspomagające testowanie nie stosują w chwili obecnej tego typu metod testowania. Ze względu na dość ogólny charakter diagramów stanów realizowanych zazwyczaj w narzędziu CASE, w praktyce okazuje się, iż przed rozpoczęciem procesu testowania konieczna jest ich modyfikacja mająca na celu przekształcenie ich do postaci formalnej specyfikacji. Praktyczna przydatność narzędzia TOSTER oraz metody wektora stanów do testowania klas powinna być zweryfikowana eksperymentalnie. Bibliografia [1]. R. V. Binder: Testing Object-Oriented Systems Addison Wesley 2000 [2]. I. Bluemke: Podstawy testowania oprogramowania obiektowego, Pro Dialog nr 12, 2001 [3]. I. Bluemke, A. Lasota, S. Nowak: Testowanie oprogramowania obiektowego Raport Badawczy nr 01/2001, Instytut Informatyki, Politechnika Warszawska; styczeń [4]. A. Lasota, S. Nowak Testowanie oprogramowania obiektowego praca magisterska; Instytut Informatyki Politechniki Warszawskiej, marzec 2001 r. [5]. S. Kirami W.T. Tsai: Method sequence specification and verification of classes, J. Object-Oriented Programming, Oct. 1994, pp [6]. C.D. Turner and D.J. Robson The state-based testing of object-oriented programs Proc. IEEE Conf. Software Maintenance pp
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
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
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
Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma
Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska
Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego Iwona Kochaoska Programowanie Obiektowe Programowanie obiektowe (ang. object-oriented programming) - metodyka tworzenia programów komputerowych,
Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32
Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie:
Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34
Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34 Projektowanie oprogramowania cd. 2/34 Modelowanie CRC Modelowanie CRC (class-responsibility-collaborator) Metoda identyfikowania poszczególnych
Testowanie oprogramowania. Piotr Ciskowski
Testowanie oprogramowania Piotr Ciskowski TESTOWANIE testowanie o proces eksperymentalnego badania programu lub jego komponentu o próbne wykonanie w znanych warunkach o rejestrowanie wyników o ocena właściwości
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
Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)
Zagadnienia (1/3) Rola modelu systemu w procesie analizy wymagań (inżynierii wymagań) Prezentacja różnego rodzaju informacji o systemie w zależności od rodzaju modelu. Budowanie pełnego obrazu systemu
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ć
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
Maciej Oleksy Zenon Matuszyk
Maciej Oleksy Zenon Matuszyk Jest to proces związany z wytwarzaniem oprogramowania. Jest on jednym z procesów kontroli jakości oprogramowania. Weryfikacja oprogramowania - testowanie zgodności systemu
Podczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.
Polimorfizm jest filarem programowania obiektowego, nie tylko jeżeli chodzi o język C++. Daje on programiście dużą elastyczność podczas pisania programu. Polimorfizm jest ściśle związany z metodami wirtualnymi.
Spis treúci. 1. Wprowadzenie... 13
Księgarnia PWN: W. Dąbrowski, A. Stasiak, M. Wolski - Modelowanie systemów informatycznych w języku UML 2.1 Spis treúci 1. Wprowadzenie... 13 2. Modelowanie cele i metody... 15 2.1. Przegląd rozdziału...
Szablony funkcji i klas (templates)
Instrukcja laboratoryjna nr 3 Programowanie w języku C 2 (C++ poziom zaawansowany) Szablony funkcji i klas (templates) dr inż. Jacek Wilk-Jakubowski mgr inż. Maciej Lasota dr inż. Tomasz Kaczmarek Wstęp
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
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)
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
Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas
Analiza i projektowanie obiektowe 2016/2017 Wykład 10: Tworzenie projektowego diagramu klas Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Projektowy
Wprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego
Etapy Ŝycia systemu informacyjnego Wprowadzenie do metodologii modelowania systemów informacyjnych 1. Strategia 2. Analiza 3. Projektowanie 4. Implementowanie, testowanie i dokumentowanie 5. WdroŜenie
Projektowanie oprogramowania
Wrocław, 27.09.2010 1. Warunki wstępne Projektowanie oprogramowania Warunkiem uczestnictwa w zajęciach jest zaliczenie przedmiotu: Podstawy inżynierii oprogramowania (ćwiczenia) Zajęcia składają się z
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
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/
Laboratorium nr 12. Temat: Struktury, klasy. Zakres laboratorium:
Zakres laboratorium: definiowanie struktur terminologia obiektowa definiowanie klas funkcje składowe klas programy złożone z wielu plików zadania laboratoryjne Laboratorium nr 12 Temat: Struktury, klasy.
Tom 6 Opis oprogramowania
Część 4 Narzędzie do wyliczania wielkości oraz wartości parametrów stanu Diagnostyka stanu nawierzchni - DSN Generalna Dyrekcja Dróg Krajowych i Autostrad Warszawa, 30 maja 2012 Historia dokumentu Nazwa
Programowanie obiektowe. Wprowadzenie
1 Programowanie obiektowe Wprowadzenie 2 Programowanie obiektowe Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego
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
Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania
Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli Diagnostyka stanu nawierzchni - DSN Generalna Dyrekcja Dróg Krajowych i Autostrad Warszawa, 21 maja 2012 Historia dokumentu
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
Co to jest jest oprogramowanie? 8. Co to jest inżynieria oprogramowania? 9. Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką?
ROZDZIAŁ1 Podstawy inżynierii oprogramowania: - Cele 2 - Zawartość 3 - Inżynieria oprogramowania 4 - Koszty oprogramowania 5 - FAQ o inżynierii oprogramowania: Co to jest jest oprogramowanie? 8 Co to jest
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
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
Dokument Detaliczny Projektu
Dokument Detaliczny Projektu Dla Biblioteki miejskiej Wersja 1.0 Streszczenie Niniejszy dokument detaliczny projektu(ddp) przedstawia szczegóły pracy zespołu projektowego, nad stworzeniem aplikacji bazodanowej
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
Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.
Architektura Systemu Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu. Architektura jest zbiorem decyzji dotyczących: organizacji systemu komputerowego,
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: moduł specjalności obowiązkowy: Inżynieria oprogramowania Rodzaj zajęć: wykład, laboratorium TESTOWANIE OPROGRAMOWANIA Software testing Forma
Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018
Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy
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
Szablony funkcji i szablony klas
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2011 Bogdan Kreczmer Niniejszy dokument
Podstawy programowania III WYKŁAD 4
Podstawy programowania III WYKŁAD 4 Jan Kazimirski 1 Podstawy UML-a 2 UML UML Unified Modeling Language formalny język modelowania systemu informatycznego. Aktualna wersja 2.3 Stosuje paradygmat obiektowy.
Egzamin / zaliczenie na ocenę*
WYDZIAŁ PODSTAWOWYCH PROBLEMÓW TECHNIKI Zał. nr 4 do ZW33/01 KARTA PRZEDMIOTU Nazwa w języku polskim : INŻYNIERIA OPROGRAMOWANIA Nazwa w języku angielskim: SOFTWARE ENGINEERING Kierunek studiów (jeśli
Języki i metodyka programowania
Języki i metodyka programowania www.ee.pw.edu.pl/~slawinsm Dr inż. Maciej Sławiński M.Slawinski@ee.pw.edu.pl GE518l Konsultacje: śr. 13 00-13 45 SK201/GE518l pt. 10 15-11 00 GE518l/SK201 Algorytmika Literatura
Technologie obiektowe
WYKŁAD dr inż. Paweł Jarosz Instytut Informatyki Politechnika Krakowska mail: pjarosz@pk.edu.pl LABORATORIUM dr inż. Paweł Jarosz (3 grupy) mgr inż. Piotr Szuster (3 grupy) warunki zaliczenia Obecność
Java - tablice, konstruktory, dziedziczenie i hermetyzacja
Java - tablice, konstruktory, dziedziczenie i hermetyzacja Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU zmienne tablicowe konstruktory klas dziedziczenie hermetyzacja
Dokument Detaliczny Projektu
Dokument Detaliczny Projektu Dla Biblioteki miejskiej Wersja 1.0 Streszczenie Niniejszy dokument detaliczny projektu(ddp) przedstawia szczegóły pracy zespołu projektowego, nad stworzeniem aplikacji bazodanowej
Zaawansowane programowanie w C++ (PCP)
Zaawansowane programowanie w C++ (PCP) Wykład 6 - szablony. dr inż. Robert Nowak - p. 1/15 Kolekcje i algorytmy» Deklaracja szablonu y Pojęcia niezależne od typu: kolekcje (np. listy) algorytmy (np. znajdowania
Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki. Paweł Parys. Nr albumu: 209216. Aukcjomat
Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki Paweł Parys Nr albumu: 209216 Aukcjomat Praca licencjacka na kierunku INFORMATYKA w zakresie INFORMATYKA Praca wykonana pod kierunkiem
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
Tutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu.
AGH, EAIE, Informatyka Winda - tutorial Systemy czasu rzeczywistego Mirosław Jedynak, Adam Łączyński Spis treści 1 Wstęp... 2 2 Przypadki użycia (Use Case)... 2 3 Diagramy modelu (Object Model Diagram)...
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
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
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.
Programowanie obiektowe
Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć
Projektowanie oprogramowania
Wrocław, 26.09.2012 1. Warunki wstępne Projektowanie oprogramowania Warunkiem uczestnictwa w zajęciach jest zaliczenie przedmiotu: Podstawy inżynierii oprogramowania (ćwiczenia). Zajęcia składają się z
Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym
Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym konceptualnym modelem danych jest tzw. model związków encji (ERM
Polimorfizm, metody wirtualne i klasy abstrakcyjne
Programowanie obiektowe Polimorfizm, metody wirtualne i klasy abstrakcyjne Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Polimorfizm,
Semantyka i Weryfikacja Programów - Laboratorium 3
Semantyka i Weryfikacja Programów - Laboratorium 3 Modelowanie układów mikroprocesorowych - część II Wykonywanie całego programu Cały program wykonywany jest przez funkcję intpprog. Jedynym argumentem
Podstawy testowania oprogramowania obiektowego 1)
Podstawy testowania oprogramowania obiektowego 1) Ilona Bluemke Instytut Informatyki Politechniki Warszawskiej ul. Nowowiejska 15/19 00-665 Warszawa e-mail : ibl@ii.pw.edu.pl Streszczenie. W pracy przedstawiono
Wzorce projektowe i refaktoryzacja
Wzorce projektowe i refaktoryzacja Paweł Kozioł p.koziol@students.mimuw.edu.pl 18.01.2005 Moja praca magisterska Narzędzie dla środowiska Eclipse wspierające stosowanie wzorców projektowych J2EE Prowadzący:
Podstawy programowania obiektowego
Podstawy programowania obiektowego Technologie internetowe Wykład 5 Program wykładu Podejście obiektowe kontra strukturalne do tworzenie programu Pojęcie klasy i obiektu Składowe klasy: pola i metody Tworzenie
JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.
JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH I KARTA PRZEDMIOTU CEL PRZEDMIOTU PRZEWODNIK PO PRZEDMIOCIE C1. Podniesienie poziomu wiedzy studentów z inżynierii oprogramowania w zakresie C.
Źródło: S. Wrycza, B. Marcinkowski, K. Wyrzykowski Język UML 2.0 w modelowaniu systemów informatycznych Helion DIAGRAMY INTERAKCJI
DIAGRAMY INTERAKCJI DIAGRAMY STEROWANIA INTERAKCJĄ Diagramy sterowania interakcją dokumentują logiczne związki między fragmentami interakcji. Podstawowe kategorie pojęciowe diagramów sterowania interakcją
Diagramy maszyn stanowych, wzorce projektowe Wykład 5 część 1
Diagramy maszyn stanowych, wzorce projektowe Wykład 5 część 1 Zofia Kruczkiewicz Zofia Kruczkiewicz Inżynieria oprogramowania INEK011 1 Składnia elementów na diagramach UML 1. W prezentacji składni diagramów
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
Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 5 Ćwiczenia w narzędziu CASE diagram przypadków uŝycia. Materiały dla nauczyciela
Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Ćwiczenie 5 Ćwiczenia w narzędziu CASE diagram przypadków uŝycia Materiały dla nauczyciela Projekt
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
Projektowanie oprogramowania
Wrocław, 24.09.2018 1. Warunki wstępne Projektowanie oprogramowania Warunkiem uczestnictwa w zajęciach jest zaliczenie przedmiotu: Podstawy inżynierii oprogramowania (ćwiczenia) Zajęcia składają się z
Tom 6 Opis oprogramowania
Część 9 Narzędzie do wyliczania wskaźników statystycznych Diagnostyka Stanu Nawierzchni - DSN Generalna Dyrekcja Dróg Krajowych i Autostrad Warszawa, 31 maja 2012 Historia dokumentu Nazwa dokumentu Nazwa
Technologie i usługi internetowe cz. 2
Technologie i usługi internetowe cz. 2 Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 15 luty 2014 r. 1 Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to paradygmat programowania,
Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak
Java: otwórz okienko Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU klasy wewnętrzne, lokalne i anonimowe biblioteka AWT zestaw Swing JFrame JPanel komponenty obsługa zdarzeń
Podstawy modelowania programów Kod przedmiotu
Podstawy modelowania programów - opis przedmiotu Informacje ogólne Nazwa przedmiotu Podstawy modelowania programów Kod przedmiotu 11.3-WI-INFP-PMP Wydział Kierunek Wydział Informatyki, Elektrotechniki
Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak
Java język programowania obiektowego Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 Język Java Język Java powstał w roku 1995 w firmie SUN Microsystems Java jest językiem: wysokiego
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.
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH Modeling and analysis of computer systems Kierunek: Informatyka Forma studiów: Stacjonarne Rodzaj przedmiotu: Poziom kwalifikacji: obowiązkowy
JAVA W SUPER EXPRESOWEJ PIGUŁCE
JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie
Diagramy obiegu dokumentów a UML w modelowaniu procesów biznesowych. Stanisław Niepostyn, Ilona Bluemke Instytut Informatyki, Politechnika Warszawska
Diagramy obiegu dokumentów a UML w modelowaniu procesów biznesowych Stanisław Niepostyn, Ilona Bluemke Instytut Informatyki, Politechnika Warszawska Wprowadzenie Modelowanie biznesowe jest stykiem między
Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r.
Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r. Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to
Przewodnik użytkownika (instrukcja) AutoMagicTest
Przewodnik użytkownika (instrukcja) AutoMagicTest 0.1.21.137 1. Wprowadzenie Aplikacja AutoMagicTest to aplikacja wspierająca testerów w testowaniu i kontrolowaniu jakości stron poprzez ich analizę. Aplikacja
XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery
http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod
Metody Kompilacji Wykład 1 Wstęp
Metody Kompilacji Wykład 1 Wstęp Literatura: Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman: Compilers: Princiles, Techniques, and Tools. Addison-Wesley 1986, ISBN 0-201-10088-6 Literatura: Alfred V. Aho,
Kod doskonały : jak tworzyć oprogramowanie pozbawione błędów / Steve McConnell. Gliwice, cop Spis treści. Wstęp 15.
Kod doskonały : jak tworzyć oprogramowanie pozbawione błędów / Steve McConnell. Gliwice, cop. 2017 Spis treści Wstęp 15 Podziękowania 23 Listy kontrolne 25 Tabele 27 Rysunki 29 Część I Proces budowy oprogramowania
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy
Programowanie obiektowe
Laboratorium z przedmiotu - zestaw 03 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas abstrakcyjnych i interfejsów. Wprowadzenie teoretyczne. Rozważana
Projekt przejściowy 2015/2016 BARTOSZ JABŁOŃSKI, TOMASZ JANICZEK
Projekt przejściowy 2015/2016 BARTOSZ JABŁOŃSKI, TOMASZ JANICZEK Kto? dr inż. Tomasz Janiczek tomasz.janiczek@pwr.edu.pl s. P1.2, C-16 dr inż. Bartosz Jabłoński bartosz.jablonski@pwr.edu.pl s. P0.2, C-16
Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne
Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH Kierunek: Informatyka Modeling and analysis of computer systems Forma studiów: Stacjonarne Rodzaj przedmiotu: obowiązkowy w ramach specjalności:
Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz
Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania
INŻYNIERIA OPROGRAMOWANIA TESTOWANIE SYSTEMOWE
INŻYNIERIA OPROGRAMOWANIA TESTOWANIE SYSTEMOWE Ważne pojęcia (I) Warunek testowy (test condition) to element lub zdarzenie modułu lub systemu, który może być zweryfikowany przez jeden lub więcej przypadków
Specyfikowanie wymagań przypadki użycia
Specyfikowanie wymagań przypadki użycia Prowadzący Dr inż. Zofia 1 La1 La2 Forma zajęć - laboratorium Wprowadzenie do laboratorium. Zasady obowiązujące na zajęciach. Wprowadzenie do narzędzi wykorzystywanych
Programowanie obiektowe
Laboratorium z przedmiotu - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia. Wprowadzenie teoretyczne.
Programowanie 2. Język C++. Wykład 3.
3.1 Programowanie zorientowane obiektowo... 1 3.2 Unie... 2 3.3 Struktury... 3 3.4 Klasy... 4 3.5 Elementy klasy... 5 3.6 Dostęp do elementów klasy... 7 3.7 Wskaźnik this... 10 3.1 Programowanie zorientowane
Materiały do zajęć VII
Spis treści I. Klasy Materiały do zajęć VII II. III. Konstruktor Właściwości i indeksatory Klasy Programowanie obiektowe wiadomości wstępne Paradygmat programowania obiektowego Abstrakcja Hermetyzacja
Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),
Tworzenie obiektów Dostęp do obiektów jest realizowany przez referencje. Obiekty w języku Java są tworzone poprzez użycie słowa kluczowego new. String lan = new String( Lancuch ); Obszary pamięci w których
Michał Adamczyk. Język UML
Michał Adamczyk Język UML UML I. Czym jest UML Po co UML II.Narzędzia obsługujące UML, edytory UML III.Rodzaje diagramów UML wraz z przykładami Zastosowanie diagramu Podstawowe elementy diagramu Przykładowy
Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków
Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków mgr inż. Maciej Lasota Version 1.0, 13-05-2017 Spis treści Wyjątki....................................................................................
Laboratorium 5 - Projektowanie programów zorientowanych obiektowo. Indywidualny projekt programistyczny
Laboratorium 5 - Projektowanie programów zorientowanych obiektowo. Indywidualny projekt programistyczny mgr inż. Kajetan Kurus 15 kwietnia 2014 1 Dostępne techniki programowania Tworząc program należy
KATEDRA INFORMATYKI STOSOWANEJ PŁ ANALIZA I PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH
KATEDRA INFORMATYKI STOSOWANEJ PŁ ANALIZA I PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH Przygotował: mgr inż. Radosław Adamus Wprowadzenie: W procesie definiowania wymagań dla systemu tworzyliśmy Model Przypadków
Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8
Początki Javy Java została pierwotnie zaprojektowana dla telewizji interaktywnej, ale była to zbyt zaawansowaną technologią dla branży cyfrowej telewizji kablowej. James Gosling, Mike Sheridan i Patrick