POLITECHNIKA LUBELSKA. Walidacja Modeli Xtext
|
|
- Henryka Rogowska
- 5 lat temu
- Przeglądów:
Transkrypt
1 POLITECHNIKA LUBELSKA Walidacja Modeli Xtext
2 1. Wstęp 1.1. Czym jest walidacja Podczas opracowywania języka programowania analiza statyczna jest jednym z najważniejszych aspektów. W naukach technicznych i informatyce przyjęło się, że walidacja jest działaniem mającym na celu potwierdzenie, że wykonywane procedury, procesu lub czynności prowadzi do zaplanowanych rezultatów. Walidacja ma być potwierdzeniem poprzez dostarczenie obiektywnego dowodu o spełnieniu wymagań dotyczących konkretnego zastosowania. Proces walidacji ma na celu odpowiedzieć na pytanie czy tworzony obiekt jest prawidłowy. 2. Część teoretyczna 2.1. Walidacja w Xtext W Xtext podobnie jak w innych językach programowania występują mechanizmy pozwalające na zweryfikowanie poprawności wykorzystywanych części składowych języka pod względem poprawności różnych aspektów m.in. poprawności składniowej czy poprawności integralności danych. Tworząc język dziedzinowy Xtext pozwala na walidowanie języka i tworzonego przy jego pomocy kodu. Korzystając z Xtext przy tworzeniu języka już na poziomie definiowania gramatyki framework zapewnia mechanizmy, które zostaną wykorzystane przy automatycznym sprawdzaniu chociażby poprawności składniowej języka. Ponad to mamy do dyspozycji również mechanizm pozwalający tworzyć własne, dostosowane do konkretnego rozwiązania reguły walidujące modele tworzone za pomocą zdefiniowanego przez nas języka 2.2. Walidacja automatyczna W Xtext istnieją trzy różne mechanizmy walidacyjne które działają automatycznie dla stworzonego języka dziedzinowego. Wpływ na to mają aspekty wdrożeniowe języka tj. np. gramatyka. Wśród mechanizmów automatycznych w XText możemy wyróżnić: Lexer/Parser: Syntactical Validation walidator składnowy wejsc tekstowych Cross-reference Validation walidator powiązań Concrete Syntax Validation twarda walidacja składni Walidacja składni: Podstawowym mechanizmem walidacji każdego języka jest mechanizm sprawdzania poprawności składni. W Xtext odbywa się to w sposób automatyczny przy użyciu parsera języka. Definiując gramatykę oraz poszczególne w niej zależności wradzamy reguły według których może być tworzone rozwiązanie w oparciu o dany język. 1 S t r o n a
3 2.3. Walidacja niestandardowa Po za automatycznymi mechanizmami walidacji istnieje możliwość stworzenia niestandardowych reguł walidacyjnych dla modelu. Generator jezyka Xtext daje do dyspozycji dwie klasy Języka Java. Pierwszą z nich jest klasa generowana do katalogu../src-gen. Nazwa klasy oraz pakietu do jakiego należy jest uzależniona nazwą języka jaki tworzymy. W tym przypadku pakiet jest dostępny pod nazwą org.pollub.xtext.validation natomiast wygenerowana klasa jest dostępna pod nazwą AbstractPollDslValidator.java Lokalizacja pliku AbstractPollDslValidator.java w drzewie projektu Studencie zwróć uwagę, że Twoja u Ciebie jest Polls..., a nie Poll. Sama wygenerowana klasa rozszerza możliwości klasy AbstractDeclarativeValidator z pakietu oferowanego przez Xtext dostępnego jako org.eclipse.xtext.validation Kod wygenerowanej klasy AbstractPollDslValidator.java 2 S t r o n a
4 Drugą z dostępnych klas jest klasa znajdująca się w katalogu../src w tym samym pakiecie co poprzednia klasa abstrakcyjna. Klasa jest klasą jezyka Java o rozszerzeniu.xtend i bezpośrednio dziedziczy po klasie AbstractPollDslValidator.java. Nazwa klasy walidującej jest tworzona według schematu <<NazwaJezyka>>Validator. W naszym przypadku będzie to PollDslValidator.xtend z pakietu org.pollub.xtext.validation Lokalizacja pliku PollDslValidator.xtend w drzewie projektu Zmian możemy dokonywać właśnie w klasie PollDslValidator.xtend. Ta klasa odpowiada za logikę metod walidacyjnych Klasa PollDslValidator zlokalizowana w pliku PollDslValidator.xtend W późniejszej części praktycznej w ramach przykładu klasa PollDslValidator zostanie rozszerzona i uzupełniona o nowe metody sprawdzania poprawności tworzonych rozwiązań przy użyciu języka PollDsl. 3 S t r o n a
5 3. Część praktyczna 3.1. Cel Przewodnika Celem przewodnika jest przedstawienie możliwości walidacji języka dziedzinowego stworzonego przy pomocy Xtext. Do tego celu został wykorzystany przykład języka dziedzinowego służącego do generowania testów dla studentów który generuje test w postaci sformatowanego dokumentu HTML. Podstawowym celem jest stworzenie reguł walidacyjnych które nie pozwolą na wygenerowanie testu w sytuacji gdy program napisany przy użyciu użytego języka dziedzinowego będzie wskazywał na nie poprawne lub nie zrozumiałe dla użytkownika działanie wygenerowanego formularza HTML, który będzie wynikiem działania programu. W tym rozdziale pokazane zostaną przykładowe rozwiązania problemów walidacji. Dla potwierdzenia zostaną przedstawione odpowiednie zrzuty ekranu z opisem sytuacji Zrzut ekranu z wykorzystania przykładu języka dziedzinowego do tworzenia testów dla studentów 3.2. Użyte technologie Do realizacji projektu został wykorzystany Framework Xtext w wersji oraz framework EMF w wersji Metody walidacyjne zostały stworzone w języku Java w wersji Dołączone biblioteki, Xtext oraz EMF 4 S t r o n a
6 5 S t r o n a
7 3.3. Walidacja nabyta z gramatyki Tworząc gramatykę języka dziedzinowego tak jak na poniższym obrazie sztywno określiliśmy ręgułę, że Pytaniem może być PytanieOtwarte, PytanieJednokrotnegoWyboru lub PytanieWielokrotnegoWyboru, natomiast PytanieJednokrotnegoWyboru składa się z odpowiedzi które mogą być tylko i wyłącznie typu OdpowiedzPojedyncza oraz może się składać z jednego lub więcej elementów typu OdpowiedzPojedyncza. Tak zdefiniowana gramatyka nie pozwoli nam na stworzenie kodu w którym w ramach PytanieJednokrotnegoWyboru chcieli użyć odpowiedzi typu OdpowiedzWielokrotna. Jak widzimy parser składni zwraca nam błąd i informuje, że tego typu rozwiązanie jest błędne Tworzenie reguł walidacyjnych Do stworzenia własnych reguł walidacyjnych posłużymy się wspomnianą w części teoretycznej klasą PollDslValidator z pakietu org.pollub.xtext.validation. Do tego celu musimy napisać odpowiednie metody w ramach których sprawdzane zostaną interesujące nas warunki a następnie w oparciu o ich wynik zwrócimy rezultat. Każda metoda walidacyjna musi być opisana nad swoja sygnaturą. Aby skorzystać z należy zaimportować paczkę z pakietu: 6 S t r o n a
8 W ramach sprawdzania poprawności jeśli jakiś warunek nie zostanie spełniony i uznamy to jako błąd walidacyjny możemy posłużyć się jedną z metod klasy bazowej AbstractPollDslValidator. W przypadku błędu posłużymy się metodą error() która nie pozwoli na zbudowanie projektu. Metoda która jest mniej restrykcyjna i wygeneruje tylko ostrzeżenie jest metoda warning() Przykłady stworzonych reguł i ich działanie Wyobraźmy sobie sytuację w której chcemy stworzyć test a w ramach pytania odpowiednie do niego odpowiedzi. Sytuacja niedopuszczalną jest taka w której tworzymy za pomocą języka odpowiedź ale odpowiedz ta jest pusta a jej tytuł nie wskazuje na żadną wartość. Z punktu widzenie odbiorcy końcowego odpowiedź która jest pusta nie wskazuje na to czy jest odpowiedzią poprawną czy nie poprawna wiec walidator nie powinien pozwolić stworzyć twórcy testu w którym występują tego rodzaju nieprawidłowości. Do obsłużenia tej sytuacji zostałą stworzona metoda checkodpowiedzisnullorempty która przyjmuje jako parametr obiekt typu OdpowiedzPojedyncza i sprawdza czy jej tytuł jest null lub czy jest pusty. W przypadku napotkania takiej sytuacji wywoływana jest metoda error z błędem zwracanym do środowiska deweloperskiego Metoda walidująca 3-4. Rezultat metody walidacyjnej Wynik próby stworzenia odpowiedzi o pustej treści: Sytuacją w której nie należało by blokować możliwości wygenerowania testu jest sytuacja kiedy treść odpowiedzi nie zaczynała by się z dużej litery lub na końcu zdania nie było by znaku interpunkcyjnego tj. kropka lub znak zapytania. Stworzenie takiej odpowiedzi jest częściowo niepoprawne a wiec w takiej sytuacji można posłużyć się ostrzeżeniem Kod metody walidujacej 7 S t r o n a
9 Metoda check jako parametr przyjmuje obiekt typu Pytanie i sprawdza czy pierwsza litera tytułu zaczyna się wielką literą. Jeśli nie wywoływana jest metoda warning(), która ostrzega i wyświetla informację w środowisku deweloperskim Rezultat próby tworzenia pytania którego tytuł rozpoczyna się małą literą Ważnym aspektem walidacji może okazać się sprawdzanie możliwości odwołania się do innego obiektu. Na przykładzie testu dla studentów, możemy odwołać się w jednym pytaniu do pytania poprzedniego lub innego dowolnego. Aby było to możliwe a cały test posiadał logiczną spójność musimy mieć pewność że odwołanie w pytaniu jest możliwe i wskazuje na istniejący obiekt w teście. Dla realizacji tego celu, by nie zmieniać gramatyki języka, założono że odwołanie do innego pytania poprzez jego treść będzie realizowane przy pomocy operatorów << na początku i >> na końcu odwołania. W ten sposób wskazujemy pytanie do którego zamierzamy się odnieść. Metoda walidacyjna checkreferencetootherquestionbytitle() sprawdza czy dla istniejących pytań w teście istnieją odwołania do innych pytań i jeśli tak jest następuje weryfikacja ile tych odwołań jest. Jeśli nie wystąpią odwołania mamy pewność, że w takim przypadku nie istnieje pytanie i powoduje to bład. W takiej sytuacji zostaje wykonana metoda error() która powoduje błąd kompilatora. Ponieżej został przedstawiony kod metody walidującej oraz rezultat jej działania. 8 S t r o n a 3-7. Kod metody walidującej odwołanie do innego pytania poprzez tytuł
10 Gdy w teście nie znajdziemy pytania o konkretnej treści, wybranej jako referencja zostaje zwrócony bład co skutkuje że kompilator nie jest w stanie zbudować projektu. W poniższym przykłądzie (zrzut ekranu 3-7) brakuje pytania o treści Pytanie-Referencja. Po dodaniu takiego pytania o takiej treści (zrzut ekranu 3-8). metoda walidacyjna wykonuje się poprawnie i nie zwraca 3-9. Wynik działania metody walidacyjnej 3-9. Poprawne działanie języka błędu kompilatora. 9 S t r o n a
11 Jako kolejną regułę walidacyjną możemy wprowadzić sprawdzanie czy w obremie danego testu istnieją jakiekolwiek pytania. Do obsłużenia tej sytuacji powstała metoda checktesthasoneormorequestions(), która weryfikuje czy dany test posiada pytania. W przypadku kiedy kolekcja pytań okazuje się być pusta zostaje wywołana metoda error() blokująca możliwość kompilacji kodu Treść metody walidacyjnej ilość pytań w teście Efekt działania metody walidacyjnej W obrębie walidacji liczebności poszczególnych elementów jezyka możemy również sprawdzać poprawność pod kątem liczby możliwych odpowiedzi do pytania. Do celów testowych zostało postawione założenie, że pytanie wielokrotnego wyboru reprezentowane przez typ PytanieWielokrotnegoWyboru może zawierać maksymalnie 4 możliwe odpowiedzi. Dla rozwiazania tego problemu powstała metoda walidacyjna checkpytaniehasmorethan4odpowiedzi(). Gdy ilość pytań przekracza założoną liczbę zostaje wywołana metoda error(). 10 S t r o n a Metoda sprawdzająca czy ilość odpowiedzi do pytania nie przekracza liczby 4.
12 3-15. Wynik sprawdzania liczebności odpowiedzi do pytania. Ostatnim przykładem walidacji jest sprawdzenie czy zawarte w teście pytania są poukładane w kolejności alfabetycznej. Aspekt ten nie powoduje problemów z odczytaniem i zrozumieniem testu, stanowi jedynie tylko podstawę do zwrócenia uwagi na problem i możliwości jego rozwiązania. Z tego względu stworzona metoda checkquestionsareinalphabeticalorder() w przypadku stwierdzenia, sortowania niezgodnego z kolejnością alfabetyczną zwraca ostrzeżenie dla środowiska 3-14 Kod metody walidacyjnej Wynik działania metody walidacyjnej programistycznego o zaistniałej sytuacji. Metody walidacyjne sprawiają że tworzne przez nas oprogramowanie już na etapie pisania kodu programu jest sprawdzane pod względem sensowności pewnych zachowań i rozwiązań zarówno w aspekcie składniowym wykorzystywanego języka jak i sensu logicznego i użyteczności końcowego produktu dla konsumentów. 11 S t r o n a
13 4. Podsumowanie Celem pracy było zapoznanie czytającego z możliwościami walidacji w narzędziu Xtext. Praca we wstępie wprowadza czytelnika w tematykę walidacji a następnie wskazuje na mechanizmy walidacyjne dostępne w narzędziu. Poprzez przedstawienie mechanizmów automatycznej walidacji do nakreślenia problematyki walidacji niestandardowej w części teoretycznej czytelnik zdobywa ogólne rozeznanie w problemie. Część praktyczna została oparta na, niezbyt skomplikowanym a jednocześnie odkrywającym ogromny potencjał tego typu rozwiązań, przykładnie języka dziedzinowego umożliwiającego tworzenie zestawów testowych dla studentów w postaci dokumentu HTML. Przykład języka DSL został w tej pracy rozszerzony o metody sprawdzające poprawność tworzonego rozwiązania pod względem zrozumiałości rezultatu końcowego dla odbiorcy. Metody przygotowane w języku Java w wersji 1.8 będące rozszerzeniem języka stworzonego przy użyciu narzędzia Xtext w wersji pozwoliły na weryfikację kluczowych aspektów spójności logicznej tworzonego języka oraz testu generowanego przy jego pomocy. Całość została udokumentowana odpowiednimi zrzutami ekranu wraz ze stosownym wyjaśnieniem. 12 S t r o n a
METODY REPREZENTACJI INFORMACJI
Politechnika Gdańska Wydział Elektroniki, Telekomunikacji i Informatyki Magisterskie Studia Uzupełniające METODY REPREZENTACJI INFORMACJI Ćwiczenie 1: Budowa i rozbiór gramatyczny dokumentów XML Instrukcja
Bardziej szczegółowoProgramowanie 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ąć
Bardziej szczegółowoĆwiczenie 8. Kontrolki serwerowe
Ćwiczenie 8 Temat: Kontrolki serwerowe ASP.NET cz.2 Cel ćwiczenia: W ramach tego ćwiczenie student zapozna się z kolejnymi kontrolkami serwerowymi oraz z metodami ich walidacji, a także z kontrolkami umożliwiającymi
Bardziej szczegółowoPlan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza
4 Budowa prostych formularzy, stany sesji, tworzenie przycisków Plan Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza 2 Formularz i jego typy Tworzenie formularza
Bardziej szczegółowoPo uruchomieniu programu nasza litera zostanie wyświetlona na ekranie
Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których
Bardziej szczegółowoWprowadzenie do projektu QualitySpy
Wprowadzenie do projektu QualitySpy Na podstawie instrukcji implementacji prostej funkcjonalności. 1. Wstęp Celem tego poradnika jest wprowadzić programistę do projektu QualitySpy. Będziemy implementować
Bardziej szczegółowoModele danych walidacja widoki zorientowane na model
Modele danych walidacja widoki zorientowane na model 1. Wprowadzenie Modele danych Modele danych w ASP.NET MVC to klasy znajdujące się w katalogu Models. Ich zadaniem jest mapowanie danych przesyłanych
Bardziej szczegółowoLaboratorium 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
Bardziej szczegółowoBudowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości
Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości część 2 Zaprojektowaliśmy stronę dodaj_dzial.aspx proszę jednak spróbować dodać nowy dział nie podając jego nazwy
Bardziej szczegółowoDariusz 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ółowoREFERAT PRACY DYPLOMOWEJ
REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i implementacja środowiska do automatyzacji przeprowadzania testów aplikacji internetowych w oparciu o metodykę Behavior Driven Development. Autor: Stepowany
Bardziej szczegółowoDSL w środowisku Eclipse. Grzegorz Białek Architekt techniczny, Sygnity S.A.
DSL w środowisku Eclipse Grzegorz Białek Architekt techniczny, Sygnity S.A. Agenda Wstęp do tematu (10 min) Sens tworzenia języków biznesowych UML jako język biznesu? Zintegrowane środowisko deweloperskie
Bardziej szczegółowoProgramowanie 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ółowoKonstruktory. 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ółowoOpis metody pracy Komisji podczas Kwalifikacji TestingCup 2017
Opis metody pracy Komisji podczas Kwalifikacji TestingCup 2017 -------------------------MANIFEST------------------------- Komisja w ocenie prac kieruje się następującymi przesłankami: - defekty funkcjonalne
Bardziej szczegółowoBaza danych sql. 1. Wprowadzenie
Baza danych sql 1. Wprowadzenie Do tej pory operowaliście na listach. W tej instrukcji pokazane zostanie jak stworzyć bazę danych. W zadaniu skorzystamy z edytora graficznego struktury bazy danych, który
Bardziej szczegółowoProgramowanie 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ółowoDlaczego GML? Gdańsk r. Karol Stachura
Dlaczego GML? Gdańsk 13.03.2017r. Karol Stachura Zanim o GML najpierw o XML Dlaczego stosuje się pliki XML: Tekstowe Samoopisujące się Elastyczne Łatwe do zmiany bez zaawansowanego oprogramowania Posiadające
Bardziej szczegółowoProgramowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie
Bardziej szczegółowoKlasy 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ółowoPARADYGMATY PROGRAMOWANIA Wykład 4
PARADYGMATY PROGRAMOWANIA Wykład 4 Metody wirtualne i polimorfizm Metoda wirualna - metoda używana w identyczny sposób w całej hierarchii klas. Wybór funkcji, którą należy wykonać po wywołaniu metody wirtualnej
Bardziej szczegółowoObiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu.
Zrozumienie funkcji danych statycznych jest podstawą programowania obiektowego. W niniejszym artykule opiszę zasadę tworzenia klas statycznych w C#. Oprócz tego dowiesz się czym są statyczne pola i metody
Bardziej szczegółowoZapisywanie algorytmów w języku programowania
Temat C5 Zapisywanie algorytmów w języku programowania Cele edukacyjne Zrozumienie, na czym polega programowanie. Poznanie sposobu zapisu algorytmu w postaci programu komputerowego. Zrozumienie, na czym
Bardziej szczegółowoPLAN 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ółowoInformacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;
Klasy w C++ są bardzo ważnym narzędziem w rękach programisty. Klasy są fundamentem programowania obiektowego. Z pomocą klas będziesz mógł tworzyć lepszy kod, a co najważniejsze będzie on bardzo dobrze
Bardziej szczegółowoTworzenie języków specyfikacji dla zagadnień numerycznych
Tworzenie języków specyfikacji dla zagadnień numerycznych prof. dr hab. inż. Norbert Sczygiol dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska 11 września
Bardziej szczegółowo29. Poprawność składniowa i strukturalna dokumentu XML
29. i strukturalna dokumentu XML 13 października 2015 1 2 Poprawny składniowo dokument XML powinien być tworzony zgodnie z poniżej przedstawionymi zasadami. Deklaracja XML Powinien zawierać deklarację
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 07 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami tworzenia aplikacji okienkowych w C#. Wprowadzenie teoretyczne. Rozważana w
Bardziej szczegółowoJę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ółowoProgramowanie 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ółowoXQTav - 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
Bardziej szczegółowoPlatformy programistyczne:.net i Java L ABORATORIUM 7,8: HACKATHON - JTTT
Platformy programistyczne:.net i Java L ABORATORIUM 7,8: HACKATHON - JTTT O co chodzi? - Przypomnienie Hackathon - http://en.wikipedia.org/wiki/hackathon A hackathon is an event in which computer programmers
Bardziej szczegółowoJava jako język programowania
Java jako język programowania Interpretowany programy wykonują się na wirtualnej maszynie (JVM Java Virtual Machine) Składnia oparta o język C++ W pełni zorientowany obiektowo (wszystko jest obiektem)
Bardziej szczegółowoPodstawy 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
Bardziej szczegółowoInterfejsy i klasy wewnętrzne
Interfejsy i klasy wewnętrzne mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Interfejs klasy sposób komunikacji z jej obiektami (zestaw składowych publicznych). Określa on zestaw
Bardziej szczegółowoPLAN 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
Bardziej szczegółowoDokumentacja do API Javy.
Dokumentacja do API Javy http://java.sun.com/j2se/1.5.0/docs/api/ Klasy i obiekty Klasa jest to struktura zawierająca dane (pola), oraz funkcje operujące na tych danych (metody). Klasa jest rodzajem szablonu
Bardziej szczegółowoProgramowanie 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ółowoKUP KSIĄŻKĘ NA: PRZYKŁADOWY ROZDZIAŁ KOMUNIKATY DLA UŻYTKOWNIKA
KUP KSIĄŻKĘ NA: WWW.PRAKTYCZNEPHP.PL PRZYKŁADOWY ROZDZIAŁ KOMUNIKATY DLA UŻYTKOWNIKA KOMUNIKATY DLA UŻYTKOWNIKA W większości aplikacji potrzebujesz mieć możliwość powiadomienia użytkownika o rezultacie
Bardziej szczegółowoSystemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi
Systemy baz danych w zarządzaniu przedsiębiorstwem W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi Proces zarządzania danymi Zarządzanie danymi obejmuje czynności: gromadzenie
Bardziej szczegółowoProgramowanie 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
Bardziej szczegółowoUtworzenie pliku. Dowiesz się:
Dowiesz się: 1. Jak rozpocząć pisanie programu 2. Jak wygląda szkielet programu, co to są biblioteki i funkcja main() 3. Jak wyświetlić ciąg znaków w programie 4. Jak uruchamiać (kompilować) napisany program
Bardziej szczegółowoProgramowanie 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.
Bardziej szczegółowo1. Rejestracja 2. Logowanie 3. Zgłaszanie nowego wniosku projektowego
1. Rejestracja Dostęp do wniosku projektowego możliwy jest jedynie dla zarejestrowanych użytkowników. Aby zostać zarejestrowanym należy wypełnić formularz dostępny na stronie www.polskapomoc.gov.pl, a
Bardziej szczegółowoBackend Administratora
Backend Administratora mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 W tym celu korzystając z konsoli wydajemy polecenie: symfony generate:app backend Wówczas zostanie stworzona
Bardziej szczegółowoZadanie polega na stworzeniu bazy danych w pamięci zapewniającej efektywny dostęp do danych baza osób.
Zadanie: Zadanie polega na stworzeniu bazy danych w pamięci zapewniającej efektywny dostęp do danych baza osób. Na kolejnych zajęciach projekt będzie rozwijana i uzupełniana o kolejne elementy omawiane
Bardziej szczegółowoProgramowanie urządzeń mobilnych. projekt 6 ( )
Programowanie urządzeń mobilnych projekt 6 (05.01.2018) Usługi lokalizacyjne Jedną z powszechniejszych funkcjonalności wykorzystywanych przez liczne aplikacje przeznaczone dla urządzeń mobilnych jest możliwość
Bardziej szczegółowoINFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE
Studia podyplomowe dla nauczycieli INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Przedmiot JĘZYKI PROGRAMOWANIA DEFINICJE I PODSTAWOWE POJĘCIA Autor mgr Sławomir Ciernicki 1/7 Aby
Bardziej szczegółowoLaboratorium 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ółowoPodczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.
Polimorfizm jest filarem programowania obiektowego, nie tylko jeżeli chodzi o język C++. Daje on programiście dużą elastyczność podczas pisania programu. Polimorfizm jest ściśle związany z metodami wirtualnymi.
Bardziej szczegółowoPraktyka testowania dla początkujących testerów
Praktyka testowania dla początkujących testerów Warsztaty stanowią 100% praktykę testowania i skupiają się zwłaszcza na tych aspektach, które przydatne są w codziennej pracy testera. Przeznaczone są dla
Bardziej szczegółowoWykład 9: Polimorfizm i klasy wirtualne
Programowanie obiektowe Wykład 9: i klasy wirtualne 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD Programowanie obiektowe i metody wirtualne 2 W programowaniu obiektowym polimorfizm
Bardziej szczegółowoTEMAT : KLASY DZIEDZICZENIE
TEMAT : KLASY DZIEDZICZENIE Wprowadzenie do dziedziczenia w języku C++ Język C++ możliwa tworzenie nowej klasy (nazywanej klasą pochodną) w oparciu o pewną wcześniej zdefiniowaną klasę (nazywaną klasą
Bardziej szczegółowoĆwiczenia nr 11. Translatory. Wprowadzenie teoretyczne
J.Nawrocki, M. Antczak, A. Hoffa, S. Wąsik Plik źródłowy: 08cw11-tr.doc; Data: 2009-01-15 09:47:00 Ćwiczenia nr 11 Translatory Wprowadzenie teoretyczne Wiele dokumentów wprowadzających do języków Lex oraz
Bardziej szczegółowoDiagramu Związków Encji - CELE. Diagram Związków Encji - CHARAKTERYSTYKA. Diagram Związków Encji - Podstawowe bloki składowe i reguły konstrukcji
Diagramy związków encji (ERD) 1 Projektowanie bazy danych za pomocą narzędzi CASE Materiał pochodzi ze strony : http://jjakiela.prz.edu.pl/labs.htm Diagramu Związków Encji - CELE Zrozumienie struktury
Bardziej szczegółowoTworzenie reguł własnych banku - Moduł reguł własnych
Tworzenie reguł własnych banku - Moduł reguł własnych Styczeń 2012 Wszelkie prawa zastrzeżone. Dokument może być reprodukowany lub przechowywany bez ograniczeń tylko w całości. W przeciwnym przypadku,
Bardziej szczegółowoInstrukcja wczytywania i przekazywania sprawozdań resortowych w Centralnej Aplikacji Statystycznej (CAS) przez użytkowników podobszaru PS
Instrukcja wczytywania i przekazywania sprawozdań resortowych w Centralnej Aplikacji Statystycznej (CAS) przez użytkowników podobszaru PS Uwaga! Opisane w niniejszej instrukcji funkcje Centralnej Aplikacji
Bardziej szczegółowoProgramowanie obiektowe 2 - opis przedmiotu
Programowanie obiektowe 2 - opis przedmiotu Informacje ogólne Nazwa przedmiotu Programowanie obiektowe 2 Kod przedmiotu 11.3-WK-MATP-PO2-L-S14_pNadGenDGV9E Wydział Kierunek Wydział Matematyki, Informatyki
Bardziej szczegółowoProcedura Walidacyjna Interfejs
Strona: 1 Stron: 7 SPIS TREŚCI: 1. CEL 2. ZAKRES 3. DEFINICJE 4. ODPOWIEDZIALNOŚĆ I UPRAWNIENIA 5. TRYB POSTĘPOWANIA 6. ZAŁĄCZNIKI Podlega aktualizacji X Nie podlega aktualizacji Strona: 2 Stron: 7 1.
Bardziej szczegółowoGenerated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only. System Szablonów
System Szablonów System szablonów System szablonów to biblioteka, która pozwala oddzielić warstwę prezentacji od warstwy logicznej. Aplikacja WWW najpierw pobiera wszystkie dane, przetwarza je i umieszcza
Bardziej szczegółowoTemat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych
PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych
Bardziej szczegółowoZajęcia 4 - Wprowadzenie do Javascript
Zajęcia 4 - Wprowadzenie do Javascript Co to jest Javascript Javascript jest językiem skryptowym pozwalającym na dołączanie dodatkowej funkcjonalności do stron WWW. Jest ona najczęściej związana z modyfikacją
Bardziej szczegółowoLokalizacja Oprogramowania
mgr inż. Anton Smoliński anton.smolinski@zut.edu.pl Lokalizacja Oprogramowania 16/12/2016 Wykład 6 Internacjonalizacja, Testowanie, Tłumaczenie Maszynowe Agenda Internacjonalizacja Testowanie lokalizacji
Bardziej szczegółowoZadanie nr 3: Sprawdzanie testu z arytmetyki
Zadanie nr 3: Sprawdzanie testu z arytmetyki 1 Cel zadania Zadanie wymusza praktyczne przećwiczenia dostosowania formatu i formy wyświetlania informacji dla własnych typów danych. Ma ono pokazać potencjalne
Bardziej szczegółowoBEAN VALIDATION. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska
BEAN VALIDATION Waldemar Korłub Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska Bean Validation Uniwersalny mechanizm walidacji danych we wszystkich warstwach aplikacji Warstwa interfejsu,
Bardziej szczegółowoPierwszy projekt. Na początku warto wspomnieć, że program WebSite X5 dostępy jest w 3 wariantach: Start, Evolution oraz Professional
Projektowanie stron może być proste? Sprawdzamy. {reklama-artykul} Tworzenie stron internetowych to w teorii zagadnienie skomplikowane, często wymagające zaawansowanej wiedzy z dziedziny programowania.
Bardziej szczegółowoRegulamin uczestnictwa w kursach językowych dostępnych na platformie Lubelskiego Uniwersytetu Inspiracji
Regulamin uczestnictwa w kursach językowych dostępnych na platformie Lubelskiego Uniwersytetu Inspiracji Słowniczek pojęć: 1. Organizator Organizator Kursów Internetowych, którym jest Lubelski Uniwersytet
Bardziej szczegółowoZmienne i stałe w PHP
Zmienne i stałe w PHP Zmienne Zmienne to konstrukcje programistyczne, które pozwalają na przechowywanie danych. Każda zmienna posiada swoją nazwę oraz typ. Nazwa to jednoznaczny identyfikator, dzięki któremu
Bardziej szczegółowoLaboratorium modelowania oprogramowania w języku UML. Ćwiczenie 2 Ćwiczenia w narzędziu CASE diagram klas. Materiały dla nauczyciela
Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Laboratorium modelowania oprogramowania w języku UML Ćwiczenie 2 Ćwiczenia w narzędziu CASE diagram
Bardziej szczegółowoOracle Application Express
Oracle Application Express Dla Oracle Application Express 4.2.2 Część 5. Walidacja operacji W niniejszej części ćwiczenia uzupełnimy wcześniej zbudowane strony o możliwość weryfikacji poprawności wykonywanych
Bardziej szczegółowoDokumentacja techniczna API systemu SimPay.pl
Wprowadzenie Dokumentacja techniczna API systemu SimPay.pl Wersja 1.0 z dnia 24.03.2015 r. API serwisu SimPay.pl opiera się o danych wysyłanych i zwracanych w formie JSON. W przypadku napotkania jakiegokolwiek
Bardziej szczegółowoInstrukcja importu przesyłek. z Menedżera Sprzedaży do aplikacji Webklient
Instrukcja importu przesyłek z Menedżera Sprzedaży do aplikacji Webklient Instrukcja importu przesyłek z Menedżera Sprzedaży do aplikacji Webklient Wersja 1.0 Warszawa, Luty 2015 Strona 2 z 7 Instrukcja
Bardziej szczegółowoJę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ółowoMetody Kompilacji Wykład 3
Metody Kompilacji Wykład 3 odbywa się poprzez dołączenie zasad(reguł) lub fragmentów kodu do produkcji w gramatyce. Włodzimierz Bielecki WI ZUT 2 Na przykład, dla produkcji expr -> expr 1 + term możemy
Bardziej szczegółowoProgramowanie komputerów
Programowanie komputerów Wykład 1-2. Podstawowe pojęcia Plan wykładu Omówienie programu wykładów, laboratoriów oraz egzaminu Etapy rozwiązywania problemów dr Helena Dudycz Katedra Technologii Informacyjnych
Bardziej szczegółowoLaboratorium 7 Blog: dodawanie i edycja wpisów
Laboratorium 7 Blog: dodawanie i edycja wpisów Dodawanie nowych wpisów Tworzenie formularza Za obsługę formularzy odpowiada klasa Zend_Form. Dla każdego formularza w projekcie tworzymy klasę dziedziczącą
Bardziej szczegółowoOpis systemu oceny zadań domowych
Opis systemu oceny zadań domowych Nauka programowania wymaga praktykowania ponad czas przeznaczony na zajęcia. Często wymusza się naukę poza uczelnią przez zadawanie projektów, jednak na początku nauki
Bardziej szczegółowoSkrócona instrukcja pracy z Generatorem Wniosków
Skrócona instrukcja pracy z Generatorem Wniosków I. OGÓLNA OBSŁUGA GENERATORA WNIOSKÓW Rozpoczynanie pracy z generatorem przez nowych użytkowników Aby skorzystać z Generatora Wniosków należy posiadać konto
Bardziej szczegółowoPolitechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2013/2014
Politechnika Krakowska im. Tadeusza Kościuszki Karta przedmiotu Wydział Mechaniczny obowiązuje studentów rozpoczynających studia w roku akademickim 2013/2014 Kierunek studiów: Informatyka Stosowana Forma
Bardziej szczegółowoWeb 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ółowoOd programowania wizualnego do tekstowego
Od programowania wizualnego do tekstowego Krzysztof Chechłacz Nowa podstawa programowa z informatyki w świetle reformy oświaty - Konferencja w ramach XII edycji Akademii Technologii Informacyjnej i Komunikacyjnej
Bardziej szczegółowoWord. Korespondencja seryjna
1 (Pobrane z slow7.pl) Korespondencja seryjnajestto taki sposób utworzenia jednolitego dokumentu, który będzie różnił się jedynie zawartością wybranych pól. Pola te będą automatycznie wypełniane przez
Bardziej szczegółowoQualitySpy moduł persystencji
Projektowanie oprogramowania Instytut Informatyki, Automatyki i Robotyki, Politechnika Wrocławska QualitySpy moduł persystencji Testy akceptacyjne Nazwa pliku: /QualitySpy/modules/qualityspypersistence/src/test/java/pl/wroc/pwr/qualityspy/persistence
Bardziej szczegółowoProgramowanie zaawansowane
Programowanie zaawansowane Ćwiczenie 6 Komunikacja silnie typowana I. Utwórz aplikację okienkową realizującą proste obliczenia arytmetyczne. Obsługa zdarzeń w aplikacji typu Windows Form Application odbywa
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe IV. Interfejsy i klasy wewnętrzne Małgorzata Prolejko OBI JA16Z03 Plan Właściwości interfejsów. Interfejsy a klasy abstrakcyjne. Klonowanie obiektów. Klasy wewnętrzne. Dostęp do
Bardziej szczegółowoMETODY REPREZENTACJI INFORMACJI
Politechnika Gdańska Wydział Elektroniki, Telekomunikacji i Informatyki Magisterskie Studia Uzupełniające METODY REPREZENTACJI INFORMACJI Ćwiczenie 2: Budowanie schematów dokumentów XML z zastosowaniem
Bardziej szczegółowoIBM SPSS Statistics - Essentials for R: Instrukcje instalacji dla System Mac OS
IBM SPSS Statistics - ssentials for R: Instrukcje instalacji dla System Mac OS Przegląd Przedstawione poniżej instrukcje dotyczą instalowania IBM SPSS Statistics - ssentials for R w systemach operacyjnych
Bardziej szczegółowoNazwa wariantu modułu (opcjonalnie): Laboratorium programowania w języku C++
Uniwersytet Śląski w Katowicach str. 1 Kierunek i poziom studiów: Chemia, poziom pierwszy Sylabus modułu: Laboratorium programowania (0310-CH-S1-019) Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania
Bardziej szczegółowoProgramowanie Obiektowe Ćwiczenie 4
Programowanie Obiektowe Ćwiczenie 4 1. Zakres ćwiczenia wyjątki kompozycja 2. Zagadnienia Założeniem, od którego nie należy odbiegać, jest by każdy napotkany problem (np. zatrzymanie wykonywanej metody)
Bardziej szczegółowoInstrukcja do pracowni specjalistycznej z przedmiotu. Obiektowe programowanie aplikacji
Politechnika Białostocka Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej Instrukcja do pracowni specjalistycznej z przedmiotu Obiektowe programowanie aplikacji Kod przedmiotu: TS1C410201
Bardziej szczegółowoInstrukcja użytkownika
Instrukcja użytkownika Bydgoszcz 2017 Strona: 1/12 Spis treści 1 Konfiguracja i obsługa funkcjonalności... 3-1.1 Wstęp... 3 1.2 Konfiguracja stacji klienckiej... 3 1.3 Weryfikacja istniejącego dokumentu...
Bardziej szczegółowoC++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów
Operatory są elementami języka C++. Istnieje zasada, że z elementami języka, takimi jak np. słowa kluczowe, nie można dokonywać żadnych zmian, przeciążeń, itp. PRZECIĄŻANIE OPERATORÓW Ale dla operatorów
Bardziej szczegółowoPo zakończeniu rozważań na temat World Wide Web, poznaniu zasad organizacji witryn WWW, przeczytaniu kilkudziesięciu stron i poznaniu wielu nowych
rk Po zakończeniu rozważań na temat World Wide Web, poznaniu zasad organizacji witryn WWW, przeczytaniu kilkudziesięciu stron i poznaniu wielu nowych pojęć, prawdopodobnie zastanawiasz się, kiedy zaczniesz
Bardziej szczegółowoWarunek wielokrotnego wyboru switch... case
Warunek wielokrotnego wyboru switch... case Działanie instrukcji switch jest zupełnie inne niż w przypadku instrukcji if o czym będziesz mógł się przekonać w niniejszym rozdziale. Różnice pomiędzy instrukcjami
Bardziej szczegółowoPRZEWODNIK 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.
Bardziej szczegółowoPodstawy 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ółowoPlatformy 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ółowoMechanizm dziedziczenia
Mechanizm dziedziczenia Programowanie obiektowe jako realizacja koncepcji ponownego wykorzystania kodu Jak przebiega proces dziedziczenia? Weryfikacja formalna poprawności dziedziczenia Realizacja dziedziczenia
Bardziej szczegółowoProgramowanie 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,
Bardziej szczegółowoProgramowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz
Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania
Bardziej szczegółowo