Programowanie w środowiskach zintegrowanych wykład 1 PSZ Programowanie w Środowiskach Zintegrowanych > Systemy i środowiska zintegrowane > Środowisko zintegrowane.

Slides:



Advertisements
Podobne prezentacje
20041 Projektowanie dynamicznych witryn internetowych Paweł Górczyński ASP 3.0.
Advertisements

Programowanie obiektowe
Programowanie Wizualne WYKŁAD 4
Programowanie obiektowe
PSZ wykład 4 > Integracja aplikacji z bazami danych cz. II
Programowanie w Środowiskach Zintegrowanych
PSZ wykład 2 > Przegląd komponentów biblioteki VCL
Wprowadzenie do C++ Zajęcia 2.
Autor Roman Jędras Prowadzący: dr inż. Antoni Izworski Przedmiot:
11 Systemy zarządzania dokumentami. 22 Statystyka 90% zasobów informacyjnych firm jest przechowywanych w dokumentach a nie w bazach danych (Delloite &
PSZ wykład 1 > Systemy i środowiska zintegrowane
Kurs Pascala – spis treści
Systemy operacyjne.
Opracowanie i weryfikacja algorytmów szeregowania zadań dla potrzeb redukcji poboru mocy układów cyfrowych. Temat ten jest częścia jednego z 12 etapów.
Administracja zintegrowanych systemów zarządzania
Wzorce projektowe w J2EE
SZPIF – Harmonogram, Opis narzędzi, Schemat bazy danych
SIEĆ P2P 1. Definicja sieci równouprawnionej. To taka sieć, która składa się z komputerów o takim samym priorytecie ważności, a każdy z nich może pełnić.
Podstawy programowania II Wykład 2: Biblioteka stdio.h Zachodniopomorska Szkoła Biznesu.
System webowy do tworzenia kolektywnych prototypów aplikacji sieciowych i mobilnych Łukasz Przywarty
Instytut Tele- i Radiotechniczny WARSZAWA
Podstawy programowania. Język C i C++– podstawy Temat: 1
UML 2.x Robert Pająk.
Podstawy programowania II
Podstawy programowania II
Programowanie strukturalne i obiektowe
Dr hab. Dariusz Piwczyński Katedra Genetyki i Podstaw Hodowli Zwierząt
Technologie internetowe II
InTouch.
Programowanie obiektowe – zastosowanie języka Java SE
JAVA.
Komponentowe systemy rozproszone Wprowadzenie. Komponent... jest to podstawowa jednostka oprogramowania z kontraktowo (deklaratywnie) opisanymi interfejsami,
Programowanie obiektowe Wykład 6 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14 Dariusz Wardowski.
Maszyna wirtualna ang. virtual machine, VM.
Temat 2: Edytory HTML.
Systemy zarządzania treścią Wykład 5
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
Kurs języka C++ – wykład 3 ( )
Programowanie w języku C++
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Programowanie strukturalne i obiektowe C++
Model obiektowy bazy danych
Temat 1: Ogólne cechy języka PHP
Dokumentacja obsługi programów Kamil Smużyński Piotr Kościński.
Komponentowe systemy rozproszone Wprowadzenie. Komponent... jest to podstawowa jednostka oprogramowania z kontraktowo (deklaratywnie) opisanymi interfejsami,
Projektowanie obiektowe. Przykład: Punktem wyjścia w obiektowym tworzeniu systemu informacyjnego jest zawsze pewien model biznesowy. Przykład: Diagram.
Wzorce Projektowe w JAVA
Platforma .Net.
Łukasz Bieszczad Mateusz Gałązka Karol Włodarek
Wykład 4 Dr Aneta Polewko-Klim Dr Aneta Polewko-Klim
Podstawy programowania
Dokumentacja programu komputerowego i etapy tworzenia programów.
ASP.NET Dostęp do bazy danych z poziomu kodu Elżbieta Mrówka-Matejewska.
K URS JĘZYKA C++ – WYKŁAD 3 ( ) Przenoszenie Składowe statyczne Funkcje wbudowane Argumenty domyślne.
Wykład 4 Dr Aneta Polewko-Klim Dr Aneta Polewko-Klim
Wykład 4 Dr Aneta Polewko-Klim
T. 18. E Proces DGA - Działania (operatorka).
Programowanie Obiektowe – Wykład 2
AudaPad / AudaShare AudaShare PRO (2.8)
PROGRAMY DO KONTROLI RODZICIELSKIEJ
PROGRAMY DO KONTROLI RODZICIELSKIEJ
Programowanie obiektowe – zastosowanie języka Java SE
Wstęp - Prosta aplikacja internetowa w technologii Java EE 5
Aplikacje i usługi internetowe
Wprowadzenie do programowania obiektowego
Podstawy programowania
JavaBeans by Paweł Wąsala
Programowanie w Javie 1 Dr Robert Kowalczyk
Zapis prezentacji:

Programowanie w środowiskach zintegrowanych wykład 1 PSZ Programowanie w Środowiskach Zintegrowanych > Systemy i środowiska zintegrowane > Środowisko zintegrowane Borland IDE

Programowanie w środowiskach zintegrowanych Konspekt bieżącego wykładu Systemy i środowiska zintegrowane Środowisko Borland IDE Elementy środowiska Koncepcja komponentów Rozszerzenia składni języka c++

Programowanie w środowiskach zintegrowanych Środowiska zintegrowane Założenia i motywacja Elementy środowiska zintegrowanego Integracja

Programowanie w środowiskach zintegrowanych Założenia i motywacja Podstawowy celPodstawowy cel - przyspieszenie procesu powstawania aplikacji Założony cel osiąga się przez –Dostarczenie biblioteki predefiniowanych, silnie konfigurowanych komponentów –Zapewnienie możliwości wizualnej konfiguracji komponentów w czasie tworzenia aplikacji –Dostarczenie środowiska wyposażonego w różne narzędzia wspomagające pracę programisty –Rozszerzenia i modyfikacje składni języków oprogramowania –Integrację środowiska z otoczeniem aplikacji ( bazami danych, systemem plików, siecią komputerową, urządzeniami systemowymi); integracja poprzez komponenty –Integrację z gotowymi aplikacjami merytorycznymi (biznesowymi)

Programowanie w środowiskach zintegrowanych Biblioteki komponentów KomponentKomponent – w tym kontekście, klasa o określonej specjalizacji posiadająca interfejs umożliwiający jej konfigurowanie Klasa działa zarówno podczas projektowania aplikacji – design time oraz po uruchomieniu aplikacji - run time Podczas pracy w trybie design time klasa realizuje akcje związane z konfiguracją komponentu Konfiguracja – poprzez edycje tzw. właściwości Podczas pracy w trybie run-time, klasa realizuje akcje związane ze swoją zasadniczą funkcją Programista może tworzyć własne komponenty – nowe i rozszerzające funkcje komponentów już istniejących

Programowanie w środowiskach zintegrowanych Narzędzia wspomagające pracę programisty Inteligentny edytor ( rozumienie składni, kompilacja on-line, generator podpowiedzi ) Generator struktur kodowych Strukturalna przeglądarka kodu – możliwość wizualizacji kodu w postaci drzewa struktur kodowych Przeglądarki klas, komponentów i obiektów Edytor właściwości komponentów Zintegrowany debuger

Programowanie w środowiskach zintegrowanych Integracja środowiska z otoczeniem Interfejs dla baz danych w trybie ODBC Interfejs dla baz danych w trybie bezpośrednim (natywnym) Integracja z urządzeniami systemowymi Integracja z siecią komputerową Integracja z siecią Internet i jej usługami Interfejs programowania rozproszonego ( DCOM, CORBA ) Integracja z innymi aplikacjami na poziomie standardowych protokołów tekstowych ( XML, SYNCML, SOAP )

Programowanie w środowiskach zintegrowanych Integracja z aplikacjami merytorycznymi Rozwój najbardziej typowych aplikacji na bazie określonego środowiska realizowany przez dostawcę środowiska Dostawca najpierw tworzy środowisko programistyczne, a później typowe aplikacje Najczęściej są to aplikacje wspomagające biznes (aplikacje biznesowe) Firma kupuje oprogramowanie wraz ze środowiskiem Zatrudniając programistów może wpływać na kształt zakupionego systemu

Programowanie w środowiskach zintegrowanych Środowisko Borland IDE Elementy środowiska Rozszerzenia standardu c++ Biblioteka VCL

Programowanie w środowiskach zintegrowanych Elementy środowiska Borland IDE Okno główne i paski narzędziowe Inspektor obiektów Okno drzewa obiektów, przeglądarka klas Edytor kodu i diagramów Generator podpowiedzi i skrótów (Code Insight) Menedżer projektów Zintegrowany debugger Biblioteki komponentów VCL i CLX wraz z dokumentacją –Wersja Personal (tylko podstawowe kompoenty) –Wersja Professional (komponenty dla baz danych i sieci Internet) –Wersja Enterprise (wszystkie komponenty objęte zakresem biblioteki) Komponenty dostępne na rynku komponentów

Programowanie w środowiskach zintegrowanych Okno główne i paski narzędziowe Pasek Menu Paski Narzędzi Paleta zainstalowanych komponentów Komponenty grupuje się w pakiety Instalacja pakietu powoduje zainstalowanie w środowisku komponentów wchodzących w jego skład

Programowanie w środowiskach zintegrowanych Inspektor obiektów Właściwość to w rzeczywistości adres funkcji odpowiedzialnej za edycję pewnego pola klasy; adres ten jest związany z obiektem, a nie z klasą (cloasure) Właściwości typu NotifyEvent przechowują adresy funkcji odpowiedzialnych za obsługę różnego rodzaju typowych akcji - zdarzeń Właściwości komponentu Właściwości typu NotifyEvent

Programowanie w środowiskach zintegrowanych Inspektor obiektów Zasadniczym zadaniem drzewa obiektów jest ułatwienie poruszania się wewnątrz struktury obiektów związanych z określonym oknem projektowanej aplikacji Obiekt wskazany w drzewie obiektów Obiekt wskazany w oknie przykładowej aplikacji

Programowanie w środowiskach zintegrowanych Przeglądarka klas Klasa oglądana za pośrednictwem przeglądarki Klasa widziana z poziomu edytora kodu

Programowanie w środowiskach zintegrowanych Edytor kodu i diagramów Zakładka pliku źródłowego Zakładka pliku nagłówkowego

Programowanie w środowiskach zintegrowanych Edytor kodu i diagramów Zakładka edytora diagramów

Programowanie w środowiskach zintegrowanych Generator podpowiedzi Zadania realizowane przez mechanizm CodeInsight: Uzupełnianie kodu, uzupełnianie parametrów, obliczanie wyrażeń Podpowiedź parametrów funkcji

Programowanie w środowiskach zintegrowanych Menedżer projektów Umożliwia poruszanie się wewnątrz struktury plików składających się na projekt Umożliwia dodawanie i usuwanie plików Plik źródłowy Wynikowa lista załączonych plików nagłówkowych

Programowanie w środowiskach zintegrowanych Zintegrowany debugger Belka sterowania Pułapka (break point) Okno śledzenia wartości zmiennych i wyrażeń

Programowanie w środowiskach zintegrowanych Przykładowy projekt Tworzenie projektu od podstaw Projekt zaawansowany { AECS Konfigurator }

Programowanie w środowiskach zintegrowanych Rozszerzenia składni c++ Cel wprowadzenia rozszerzeń Objaśnienie semantyki niektórych rozszerzeń

Programowanie w środowiskach zintegrowanych Cel wprowadzenia rozszerzeń Usprawnienie pracy na aplikacją poprzez : –Integrację środowiska, języka programowania i biblioteki VCL –Przyspieszenie pracy programu –Rozszerzenie mechanizmów programowania miękkiego Rozszerzenia dotyczą : –Mechanizmu RTTI (Real Time Type Identyfication) __classid –Mechanizmu późnego wiązania wywołań funkcji __closure –Mechanizmu tworzenia i edycji właściwości klasy __property, __published –Sposobu przekazywania parametrów do funkcji __fastcall

Programowanie w środowiskach zintegrowanych Rozszerzenie __classid Skadnia: __classid( identyfikator_klasy ) Działanie: zwraca wskaźnik do obiektu TMetaClass W odróżnieniu od typów obiektowych (lub wskaźników na takie typy), wskaźnik na obiekt TMetaClass pozwala na wykonywanie operacji na samych klasach bez konieczności tworzenia ich instancji Mechanizm posiada istotne ograniczenia –Działa tylko dla klas, które dziedziczą z klasy VCL TObject –Można z jego pomocą wywoływać tylko statyczne funkcje klasy TMetaClass Przeznaczenie – obsługa właściwości i obsługa zdarzeń

Programowanie w środowiskach zintegrowanych Rozszerzenie _classid (funkcje klasy TMeaClass) Dostępne funkcje klasy TMetaClass

Programowanie w środowiskach zintegrowanych Rozszerzenie __published Składnia (na przykładzie): class TPrzyklad : public TObject { … __published: … } Powoduje wygenerowanie rozszerzonych informacji RTTI Informacje umożliwiają pobieranie adresu funkcji na podstawie jej nazwy Zastosowanie : obsługa właściwości i zdarzeń Ograniczenia : klasy dziedziczące od klasy TObject

Programowanie w środowiskach zintegrowanych Przykładowy projekt Wywołanie funkcji bez żadnej instancji (przez wskaźnik do TMetaClass) [__classid_published.bpr]

Programowanie w środowiskach zintegrowanych Rozszerzenie __property Składnia : ::= __property [ ] = "{ "}" ::= "[" [ ] "]" [ ] ::= [, ] ::= read = ::= write = ::= stored = ::= default = ::= nodefault ::= index = Zastosowanie : deklarowanie właściwości klas i komponentów

Programowanie w środowiskach zintegrowanych Przykładowy projekt Nowa właściwość obiektu typu TForm [__property_sample.bpr] Więcej o właściwościach: na następnych wykładach

Programowanie w środowiskach zintegrowanych Rozszerzenie __fastcall Składnia : __fascall Działanie : sprawia, że parametry do funkcji przekazywane są przez rejestry procesora Ograniczenia : nie dotyczy typów zmiennoprzecinkowych i strukturalnych Zastosowanie : przyspieszenie działania biblioteki VCL

Programowanie w środowiskach zintegrowanych Rozszerzenie __closure Składnia : ( __closure * ) ( ); Działanie : umożliwia uzyskanie wskaźnika na funkcję dowolnej klasy w hierarchii klas (wskaźnika nie związanego z określoną podklasą) Zastosowanie : obsługa właściwości i zdarzeń Sposób działania – wskaźnik kojarzony jest z instancją klasy, a nie z jej definicją.

Programowanie w środowiskach zintegrowanych Na wykładzie Systemy i środowiska zintegrowane Założenie i motywacja Elementy środowiska zintegrowanego Integracja Środowisko Borland IDE Elementy środowiska Koncepcja komponentów Rozszerzenia składni języka c++