Programowanie obiektowe III rok EiT

Slides:



Advertisements
Podobne prezentacje
C++ wykład 2 ( ) Klasy i obiekty.
Advertisements

Kurs języka C++ Paweł Rzechonek Instytut Informatyki
C++ Paweł Rzechonek Instytut Informatyki Uniwersytetu Wrocławskiego
Wprowadzenie do C++ Zajęcia 2.
PROGRAMOWANIE STRUKTURALNE
Wykład (12 godz): Jan Aleksander Wierzbicki Ćwiczenia ( godz):
BAZA DANYCH - RODZAJE.
Platforma .Net i Vs.Net.
Co UML może zrobić dla Twojego projektu?
Kurs Pascala – spis treści
Sztuczna Inteligencja Reprezentacja wiedzy I Wstęp. Włodzisław Duch Katedra Informatyki Stosowanej UMK Google: W. Duch.
Dziedziczenie i jego rodzaje
Zasady zaliczenia Warunki uzyskania zaliczenia:
Inżynieria Oprogramowania dla Fizyków
Wstęp do programowania obiektowego
Projektowanie i programowanie obiektowe II - Wykład I
Projektowanie i programowanie obiektowe II - Wykład IV
Projektowanie i programowanie obiektowe II - Wykład II
Wykład 4 Analiza i projektowanie obiektowe
Wykład 3 Analiza i projektowanie strukturalne
Wykład 2 Cykl życia systemu informacyjnego
Pakiety w Javie Łukasz Smyczyński (132834). Czym są pakiety? Klasy w Javie są grupowane w pewne zbiory zwane pakietami. Pakiety są więc pewnym podzbiorem.
Programowanie obiektowe III rok EiT
Programowanie obiektowe III rok EiT
Programowanie obiektowe III rok EiT
Instytut Tele- i Radiotechniczny WARSZAWA
Podstawy programowania
Technologia informacyjna
Źródła: podręcznikopracował: A. Jędryczkowski.
Autor: Justyna Radomska
Programowanie strukturalne i obiektowe
Jakub Wołczko W obiektowym świecie… Jakub Wołczko
Programowanie obiektowe III rok EiT dr inż. Jerzy Kotowski Wykład VIII.
Programowanie obiektowe – zastosowanie języka Java SE
Programowanie obiektowe III rok EiT dr inż. Jerzy Kotowski Wykład IX.
Programowanie obiektowe III rok EiT
Programowanie obiektowe III rok EiT
Z pamiętnika młodego programisty
JAVA.
Co jeszcze mógłby wymyślić Einstein gdyby znał Aplety Javy VIII Dolnośląski Festiwal Nauki IX 2005.
Języki i środowiska programowania systemów rozproszonych, Wykład 03, Slajd Języki i środowiska programowania systemów rozproszonych Wykładowca:
Wybrane zagadnienia relacyjnych baz danych
Programowanie obiektowe – język C++
Programowanie obiektowe 2013/2014
1 Każdy obiekt jest scharakteryzowany poprzez: tożsamość – daje się jednoznacznie wyróżnić; stan; zachowanie. W analizie obiektowej podstawową strukturą
Programowanie w języku C++
Projektowanie stron WWW
Kurs języka C++ – organizacja zajęć ( )
Metody numeryczne metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane tą drogą wyniki są na ogół przybliżone, jednak.
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
Interakcja człowiek – komputer Podstawy metod obiektowych mgr inż. Marek Malinowski Zakład Matematyki i Fizyki Wydz. BMiP PW Płock.
C++.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Programowanie strukturalne i obiektowe C++
Model obiektowy bazy danych
Temat 1: Ogólne cechy języka PHP
Modelowanie Kognitywne
Projektowanie obiektowe. Przykład: Punktem wyjścia w obiektowym tworzeniu systemu informacyjnego jest zawsze pewien model biznesowy. Przykład: Diagram.
4 lipca 2015 godz pok września 2015 godz pok. 212.
Bazy danych Podstawy relacyjnych baz danych Autor: Damian Urbańczyk.
Platforma .Net.
Podstawy programowania
Programowanie Obiektowe – Epilog
Różnice między programowanie strukturalnym a obiektowym
Kurs języka C++ – organizacja zajęć ( )
Projektowanie wspomagane komputerem
Programowanie Obiektowe – Wykład 2
* PROCESÓW TECHNOLOGICZNYCH
JavaBeans by Paweł Wąsala
Programowanie w Javie 1 Dr Robert Kowalczyk
Zapis prezentacji:

Programowanie obiektowe III rok EiT 2017-03-28 08:53:20 Programowanie obiektowe III rok EiT dr inż. Jerzy Kotowski Wykład I

Co jeszcze mógłby wymyślić Einstein gdyby znał Aplety Javy 2017-03-28 08:53:20 Co jeszcze mógłby wymyślić Einstein gdyby znał Aplety Javy VIII Dolnośląski Festiwal Nauki 16-23 IX 2005

Java Java to zorientowany obiektowo język programowania Sun Microsystems. Java zwiększa interaktywność stron WWW. Użytkownicy mogą oddziaływać na zawartość stron WWW za pomocą myszki, klawiatury oraz przycisków i pól tekstowych. Java potrafi wzbogacić multimedialną zawartość stron WWW oferując płynne animacje, grafikę, dźwięk i wideo Wszystkie te udogodnienia są możliwe dzięki krótkim programom, które nazywane są apletami. Aplety są zawarte w stronach WWW. Aplety są ładowane poprzez sieć do komputera użytkownika i tam wykonywane.

Historia 1990 - Bill Joy sugeruje SUNowi stworzenie środowiska obiektowego na bazie C++, 1991 - W ramach projektu „Stealth” („Green”) powstaje język OAK - „Object Application Kernel” (James Gosling), 1995 - zmiana nazwy na JAVA ze względu na zastrzeżenie nazwy OAK, 1996 - Pojawia się Netscape zgodny z Javą 1.0, Sun propaguje darmowe środowisko JDK 1.0, 1999 - Java 2 Nowe oblicze Javy.

Albert Einstein Tegoroczna, VIII edycja DFN na Politechnice Wrocławskiej odbywa się w Międzynarodowym Roku Fizyki – nauki określanej często mianem królowej nauk technicznych. Sto lat temu Albert Einstein opublikował w Annalen der Physik pięć prac, które zmieniły oblicze fizyki. Dotyczyły one szczególnej teorii względności, zjawiska fotoelektrycznego, ruchów Browna, rozmiarów liniowych cząsteczek. W tym roku przypada dziewięćdziesiąta rocznica powstania ogólnej teorii względności oraz pięćdziesiąta rocznica śmierci Alberta Einsteina. Albert Einstein 14.03.1879 18.05.1955

Generacje języków programowania W ciągu ponad 50 lat rozwoju języków programowania powstały ich cztery generacje. Dla programów napisanych w językach pierwszej generacji (FORTRAN 1, COBOL) charakterystyczny jest wspólny obszar danych globalnych, do którego odwołują się podprogramy. W językach pierwszej generacji podczas tworzenia oprogramowania możliwe było oddzielenie od siebie różnych danych, ale było to oddzielenie logiczne, a nie programowe. Cała struktura danych była widoczna dla wszystkich podprogramów, dlatego błąd w jednym z nich mógł mieć katastrofalny wpływ na cały program. Przy modyfikacji dużego systemu zasadniczą trudnością było utrzymanie spójności oprogramowania, które cechowało się wieloma powiązaniami pomiędzy podprogramami i skomplikowanym przekazywaniem sterowania.

Języki drugiej generacji Podstawami rozwoju drugiej generacji języków byłą taka modyfikacja podprogramów, by mogły one przekazywać między sobą parametry, być zagnieżdżane i mieć zróżnicowany zakres widoczności deklaracji stałych i zmiennych. Dzięki mechanizmowi przekazywania parametrów podprogramy stały się procedurami. Wymienione własności języków drugiej generacji spowodowały powstanie strukturalnych metod projektowania oprogramowania.

Języki trzeciej generacji Charakterystyczną cechą języków trzeciej generacji była modułowość. Moduł grupował dane i podprogramy mające ze sobą związek logiczny. Wyodrębnienie modułów w procesie dekompozycji funkcjonalnej pozwalało na rozdzielenie pracy pomiędzy samodzielnych programistów. Technologia ta umożliwiła utworzenie większych zespołów projektowych i powstanie bardziej złożonego oprogramowania.

Języki czwartej generacji 4GL Języki czwartej generacji, zwane językami obiektowymi (np. C++), zmieniają podejście do zagadnienia struktur danych. Języki obiektowe rozszerzają pojęcie struktury danych o nowy element zwany obiektem (dokładniej typem obiektowym). Typ obiektowy zawiera zarówno dane, jak i algorytmy posługujące się tymi danymi. Algorytmy te są często zapisywane w postaci funkcji i procedur, które łącznie określane są jako metody obiektu (funkcje składowe). Obiekt, jako pojedynczy element programu, może być przypisywany i stosowany jak każdy inny typ danych. W językach obiektowych moduły zawierają kolekcje obiektów, a nie podprogramów jak to miało miejsce w językach starszych generacji. Struktura programów napisanych przy wykorzystaniu języków obiektowych jest podobna do grafu. Fakt ten zmienia w sposób zasadniczy reguły analizy i projektowania oprogramowania.

Programowanie obiektowe Programowanie obiektowe jest metodą tworzenia oprogramowania, w której programy są organizowane jako kolekcje obiektów. C++, Java są językami programowania obiektowego.

Podejście obiektowe Object Oriented Approach - OOA Podejście obiektowe modeluje sposób w jaki ludzie rozumieją i przetwarzają rzeczywistość. Przy pomocy tego podejścia ludzie tworzą coś dla ludzi. Zasadnicza część podstaw teoretycznych podejścia obiektowego składa się z idei dotyczących podstaw ludzkiego myślenia. Korzeni podejścia obiektowego należy szukać w psychologii i w naukach do niej pokrewnych. Modelowanie sposobu w jaki ludzie rozumieją i przetwarzają rzeczywistość wymaga zrozumienia: czym są przyswajane przez ludzi pojęcia dlaczego są istotne jak ich używamy i jak je przekazujemy.

Dokumentowanie pojęć Jeżeli posiedliśmy jakieś pojęcie, to oznacza, że możemy się im posługiwać . Formalizacja dowolnego pojęcia wymaga utworzenia testu do jego identyfikacji. Intensja - pełna definicja pojęcia i testu, czy pojęcie odnosi się do badanego obiektu czy nie. Ekstensja - zbiór wszystkich obiektów do których stosuje się dane pojęcie. Trójka pojęciowa: symboliczna reprezentacja + intensja + ekstensja.

Wytłumaczenie pojęcia Trójka pojęciowa Symbol pojęcia Intensja Definicja Pomysł Wytłumaczenie pojęcia Ekstensja Zbiór egzemplarzy Obiekt jest to egzemplarz pojęcia. Instrument muzyczny jest to dowolne urządzenie zdolne do wydawania melodyjnych i harmonijnych dźwięków. Fortepian jest instrumentem muzycznym.

Zastosowania podejścia obiektowego Zarządzanie projektami Metoda Martina PRINCE LFA Prezentacja zamierzeń – składanie wniosków Relacyjne bazy danych OMG, UML Projektowanie oprogramowania Praca zespołowa CASE Computer Aided Software Engineering

Kontakt dr inż. Jerzy Kotowski Janiszewskiego 11/17, 219 C-3 (+48 71) 320 3852 jerzy.kotowski@pwr.wroc.pl

Literatura James Martin, James J. Odell Podstawy metod obiektowych WNT 1997 Jerzy Grębosz Symfonia C++ Oficyna Kallimach 1999 Wydawnictwo Edition 2000 Jerzy Grębosz Pasja C++ Wydawnictwo Edition 2000

Program wykładu Źródła podejścia obiektowego Podstawy metody PRINCE (PRojects In Controlled Environment) Podstawy metody LFA (Logical Framework Approach, składanie wniosków o grant) Język C++ (gadżety języka, polimorfizm, klasy, dziedziczenie) bez Pasji C++ (pojemniki, wyjątki, szablony, przestrzenie nazw, etc.) Przykład problemu (być może symulacja sieci wodociągowej) Podstawy języka JAVA Klasówka