Wzorce ułatwiają użycie platformy NET. Są

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

Download "Wzorce ułatwiają użycie platformy NET. Są"

Transkrypt

1 Daniel Dusiński Wzorce projektowe w.net Na CD: Wzorce ułatwiają użycie platformy NET. Są użyteczne podczas rozstrzygania problemów pojawiających się w okresie tworzenia aplikacji. Pomagają w zaprojektowaniu i wdrożeniu skutecznego rozwiązania. Dokumentują prosty dobrze funkcjonujący mechanizm oraz wprowadzają wspólne nazewnictwo pozwalające zwięźlej opisywać pojawiające się rozwiązania. Geneza Złożony system, który działa, niezaprzeczalnie ewoluował z prostego systemu, który działał... Złożony system sklecony ze skrawków nigdy nie działa oraz nie można poprawić go tak, aby działał [ John Gall, Systemantics:How Systems Really Work and How They Fail.] Różne wzorce mogą powstawać w oparciu o odmienne filozofie oraz dążenia projektantów. Przykładowo podstawowym celem wzorców opisanych w książce Design Patterns (wzorce te będę nazywał dalej klasycznymi) było uczynienie kodu jak najbardziej elastycznym, a co za tym idzie dającym się wielokrotnie wykorzystać. Inna filozofia może opierać się na spostrzeżeniu, że w nieustannie ewoluującym środowisku, w którym istnieje aplikacja, każda złożoność powoduje dodatkowe koszty. Potrzebny jest większy nakład pracy oraz lepsi specjaliści, aby stworzyć aplikację. Ponadto wiadomo, że każda dobrze działająca aplikacja jest bardzo prosta, gdy powstaje, a następnie rozrasta się z biegiem czasu. Tańsze może się więc okazać stworzenie maksymalnie prostej aplikacji, spełniającej dzisiejsze potrzeby (a gdyby potrzeby wzrosły, rozbudowanie jej lub nawet zastąpienie inną aplikacją) niż tej od początku starannie zaprojektowanej, spełniającej wszystkie możliwe przyszłe potrzeby. Tym bardziej, że i tak zawsze będziemy ponosić koszty dopasowywania rozwiązania do zmieniających się warunków pracy. Taka filozofia będzie sugerować stosowanie początkowo bardzo prostych wzorców (pozwalających szybko i z dużym prawdopodobieństwem napisać działającą aplikację), a dopiero z biegiem czasu (w ciągu życia aplikacji) przekształcać te wzorce w bardziej zaawansowane. Kolejne podejście uwzględnia fakt, że różni ludzie pracujący nad aplikacją są zainteresowani różnymi Autor jest studentem Politechniki Łódzkiej, a także Członkiem Grupy.NET PL. Kontakt: Rysunek 1. Wzorzec Struktury Warstwowej jej aspektami i czego innego wymagają od wzorców. Przykładowo czego innego wymagają administratorzy, którzy będą zarządzać aplikacją, niż piszący ją programiści. Takie podejście może także uwzględniać fakt wyszkolenia osób biorących udział w projekcie od słabo wyszkolonego zespołu nie można wymagać stosowania skomplikowanych wzorców, które bez problemu są wykorzystywane przez doświadczonych programistów. Poziomy abstrakcji Każdy wzorzec projektowy zależy zarówno od mniejszych wzorców zawartych wewnątrz niego jak i od większych wzorców, w których jest zawarty. [Christopher Alexander, The Timeless Way of Building] Różne wzorce mogą istnieć na różnych poziomach abstrakcji. Możliwe jest także występowanie wzajemnych relacji pomiędzy nimi. Przykładowo wzorzec Obserwatora jest często używany do zaimplementowania części wzorca Model Widok Kontroler. Jednym z podstawowych wzorców istniejących na bardzo wysokim poziomie abstrakcji jest Struktura Warstwowa (ang. Layers pattern). Wzorzec ten opisuje, jak należy podzielić aplikację na warstwy. Wskazuje, że komponenty składające się na jedną warstwę powinny być na porównywalnym poziomie abstrakcji. Tłumaczy, dlaczego komponenty znajdujące się w jednej warstwie powinny komunikować się tylko z komponentami istniejącymi w tej samej warstwie lub warstwie niższej (pozwala to na zredukowanie zależności i ułatwia dokonywanie ewentualnych późniejszych modyfikacji) Chociaż wzorzec struktury warstwowej jest, generalnie rzecz biorąc, wystarczający do wielu zastosowań, nie rozstrzyga on wielu kwestii pojawiających 44

2 Czym są wzorce projektowe? Wzorzec projektowy (ang. design pattern) to zwyczajowo przyjęte rozwiązanie typowego problemu. Opisuje pewne często spotykane zagadnienie projektowe systemu obiektowego oraz określa jego ogólne rozwiązanie. Zazwyczaj opisane we wzorcu rozwiązanie może być zastosowane w wielu różnych kontekstach. Wiele wzorców jest także niezależnych od używanego języka programowania. się podczas projektowania aplikacji. Programując z użyciem platformy.net często używa się bardziej wyspecjalizowanego wzorca Aplikacji Trójwarstwowej (ang. Three Layered Services Application). Wzorzec ten jest po prostu uszczegółowieniem poprzedniego; wszystkie spostrzeżenia dotyczące Struktury Warstwowej odnoszą się także do wzorca Aplikacji Trójwarstwowej ale oczywiście nie na odwrót. Oczywiście podczas tworzenia poszczególnych warstw (niezależnie od tego, którego wzorca użyjemy) wewnątrz nich możemy zawrzeć kolejne wzorce. Będą to już wzorce znajdujące się na jeszcze niższym poziomie abstrakcji. Niejednokrotnie będą występować na poziomie kodu, które w odróżnieniu od wzorców warstwowych dotykają architektury, ale są praktycznie niezależne od kodu. Przykładowymi sposobami podziału wzorców ze względu na poziom abstrakcji są: Wzorce Architektoniczne wyrażają podstawowe struktury organizacyjne systemu. Dostarczają zestawu predefiniowanych podsystemów, określają ich zobowiązania oraz zawierają wskazówki dotyczące organizacji powiązań między nimi Enterprise Solution Patterns Using Microsoft.NET Na stronach Microsoftu (http:// msdn.microsoft.com/architecture/patterns/ ) jest dostępna za darmo bardzo dobra książka dotycząca wzorców projektowych używanych na platformie.net Enterprise Solution Patterns Using Microsoft.NET. Zawarte w niej są opisy zarówno wzorców klasycznych (Obserwator czy Singleton) jak i wzorców używanych konkretnie na platformie.net. Praktycznie każdy opisany wzorzec jest poparty rozbudowanym przykładem. Na stronie dostępne są także inne publikacje dotyczące wzorców oraz spraw związanych z architekturą oprogramowania. Wzorce Projektowe dostarczają schematów ulepszających podsystemy lub komponenty składające się na system. Opisują często powtarzającą się strukturę komunikacji, która rozwiązuje problem projektowy w pewnym kontekście Wzorce Implementacyjne wzorce niskiego poziomu dostosowane do specyficznej platformy. Opisują jak implementować szczególne aspekty komponentu lub relacji pomiędzy komponentami, używając cech platformy. Wzorce takie mogą odnosić się nie tylko do czystego oprogramowania, ale np. ułatwiać ostateczną instalację rozwiązania lub wybór platformy sprzętowej. Konkretne wzorce W tym miejscu chciałbym przedstawić zbiór kilku wzorców, które są w pewien sposób powiązane z platformą.net. Stosowanie ich jest w znacznym stopniu ułatwione na platformie.net lub też są one po prostu w nią wbudowane. Buforowanie Strony Wzorzec Buforowania Strony (ang. Page Cache) pozwala na zwiększenie szybkości działania dynamicznie generowanej Rysunek 2. Wzorzec Aplikacji Trójwarstwowej strony web. Skraca czas potrzebny na wysłanie odpowiedzi do użytkownika bądź też umożliwia obsłużenie większej liczbę użytkowników w tym samym czasie. Zbudowanie dynamicznej strony WWW (z czym mamy do czynienia w ASP.NET) może wymagać wielu zasobów systemowych. W rezultacie, podczas gdy wielu użytkowników przegląda daną stronę, może ona działać zbyt wolno. Pomysł rozwiązania tego problemu opiera się na tym, by zapamiętać (zapisać gdzieś w pamięci) wygenerowaną stronę WWW czyli to, co zostaje zwrócone do użytkownika. W momencie gdy kolejny użytkownik wysyła żądanie otrzymania strony, nie musimy jej ponownie konstruować; wystarczy zwrócić zapamiętany wcześniej rezultat. Oczywiście zastosowanie wzorca Buforowania Strony zmusza nas do zastanowienia się, kiedy możemy zwrócić wcześniej zapamiętaną stronę, a kiedy dla danego żądania musimy wygenerować ją od nowa. Powinniśmy wiedzieć, po 45

3 jakim czasie dane na zapamiętanej stronie będą już przestarzałe (w takiej sytuacji dla identycznego żądania i tak musimy ponownie generować stronę) oraz czy zawartość danej strony jest zależna od parametrów przekazanych przez użytkownika wraz z żądaniem. Ponadto zastosowanie tego wzorca daje oczekiwany efekt tylko w przypadku, gdy wielu użytkowników wymaga wyświetlenia tej samej zawartości w krótkim odstępie czasu (zanim zawartość strony ulegnie przedawnieniu). Generalnie jednak użycie wzorca Buforowania Strony pozwala na znaczne zwiększenie wydajności. Wyobraźmy sobie stronę wyświetlającą mapę z prognozą pogody, która używa zewnętrznej usługi webowej. Gdyby w ciągu minuty 100 użytkowników weszło na stronę, to bez zastosowania buforowania nastąpiło by stukrotne wywołanie usługi oraz wygenerowanie mapy pogody na podstawie zwróconych przez nią informacji. Oczywistym jest jednak, że prognoza pogody nie zmieni się istotnie w przeciągu minuty. Zastosowanie buforowania (powiedzmy z czasem wygasania ustawionym na jedną minutę) pozwoliłoby na jednokrotne wywołanie zewnętrznej usługi webowej oraz wygenerowanie mapy pogody w odpowiedzi na wszystkie pozostałe 99 pytań zwracana byłaby już wcześniej wygenerowana i zapamiętana strona. Zastosowanie opisywanego wzorca w ASP.NET jest bardzo łatwe. A to wszystko dzięki Przykładowo: OutputCache Duration="10" VaryByParam="none" %> <html>... </html> Najważniejsze parametry to Duration określający w sekundach czas przetrzymywania danej strony w pamięci oraz VaryByParam określający, czy jeśli zmieniła się wartość parametrów, to należy ponownie generować stronę, czy też można zwrócić jedną z już przechowywanych. Jeśli nie chcemy, aby zwracana strona była różna w zależności parametrów żądania, przypisujemy wartość none. Możemy także określić listę parametrów lub wpisać *, aby rozróżnić zwracaną stronę ze względu na wszelkie wartości parametrów. Możliwe jest także stosowanie innych parametrów (np. VaryByControl, VaryByHeader,...) Dobrym zwyczajem jest stworzenie na wstępie, a następnie przetestowanie strony bez używania buforu (które mogło by powodować komplikacje w fazie testów). Włączamy go dopiero pod koniec, gdy staramy się skonfigurować stronę dla uzyskania największej możliwej wydajności. Kontroler Strony Wzorzec Kontrolera Strony (ang. Page Controller) pokazuje jedną z możliwych dróg implementacji bardzo popularnego wzorca Model Widok Kontroler (ang. MVC, Model View Controller). Pozwala on na odizolowanie interfejsu użytkownika od logiki aplikacji (jest to bardzo pożyteczne, zważywszy na fakt, że interfejs aplikacji internetowej zmienia się znacznie częściej niż logika. Dzięki temu, że logika jest niezależna od interfejsu, łatwiej jest zmodyfikować wygląd strony). Wzorzec ten przydaje się, gdy kolejne strony WWW są tworzone dynamicznie, ale nawigacja pomiędzy nimi jest generalnie statyczna. Pomysł wzorca Kontrolera Strony polega na tym, że istnieje centralna klasa zwana Bazowym Kontrolerem, która implementuje podstawowe zachowanie obsługujące żądania HTTP oraz dokonujące uaktualnienia modelu. Bazowy kontroler zawiera ponadto wszystkie powszechnie wymagane funkcje, które służą zarządzaniu sesją czy utrzymywaniu bezpieczeństwa. Podczas stosowania tego wzorca dla każdej osobnej strony WWW (formularza web) jest tworzony indywidualny Kontroler Strony, dziedziczący z Kontrolera Bazowego. Ten indywidualny Kontroler Strony implementuje każde zachowanie specyficzne dla danej strony. Wzorzec Kontrolera Strony jest o tyle ważny dla.net, że jest domyślnie zaimplementowany w ASP.NET. Nawet najprostsza aplikacja pisana przy użyciu Visual Studio.NET jest oparta o wzorzec Kontrolera Strony. Przekazywanie Obiektu Celem wzorca Przekazywania Obiektu (ang. DTO, Data Transfer Object) jest przyspieszenie komunikacji poprzez sieć. Zanim jednak opiszę samą ideę wzorca, zastanówmy się chwilę nad charakterem przesyłania danych. Do dyspozycji mamy dwa wskaźniki opisujące przepustowość (ilość danych, które można przesłać w jednostce czasu) oraz opóźnienie (czas pomiędzy wysłaniem bloku danych a otrzymaniem go przez odbiorcę). O ile przepustowość możemy w dużym stopniu regulować (np. uzyskując dostęp do szybszego połączenia z internetem), o tyle na redukcję opóźnienia często nie jesteśmy w stanie wpłynąć (szczególnie jeśli dane mają być transmitowane przez internet). W dzisiejszych warunkach opóźnienie jest o wiele większym ograniczeniem niż przepustowość; często przesłanie kilku bitów zajmuje tyle samo czasu co kilku tysięcy. Jak więc poradzić sobie w sytuacji, gdy projektując rozproszoną aplikację w celu obsługi pewnej usługi musimy wykonać wiele wywołań zewnętrznych funkcji(muszących przejść przez sieć)? Oczywiście takie wielokrotne wywołanie zajmie sporo czasu, właśnie ze względu na opóźnienie. Dobrym rozwiązaniem tej sytuacji jest zastosowanie wzorca Data Transfer Object. Rozwiązanie problemu polega na utworzeniu obiektu DTO, który będzie przechowywał wszystkie dane niezbędne do przeprowadzenia wywołania zewnętrznych funkcji. Tak modyfikujemy sygnaturę zewnętrznej metody, aby przyjmowała jako parametr obiekt DTO oraz wypełniała go wszystkimi niezbędnymi danymi. Po wykonaniu jednego zewnętrznego wywołania tej metody, aplikacja zachowa lokalną kopię obiektu DTO. Wszystkie kolejne wywołania będą się od- Rysunek 3. Ogólna struktura wzorca Kontrolera Strony (bardzo podobna do MVC) 46

4 Bibliografia Gamma, Helm, Johnson, Vlissides, Design Patterns: Elements of Reusable Object Oriented Software, Addison--Wesley, 1995 Towbridge, Mancini, Quick, Hohpe, Newkirk, Lavigne, Enterprise Solution Patterns Using Microsoft.NET, Microsoft, 2003 Buschmann, Frank, Patterns Oriented Software Architecture, John Wiley & Sons Ltd, 1996 Rysunek 4. Struktura dziedziczenia podczas wykorzystania Kontrolera Strony w aplikacji zawierającej wiele stron. Często wprowadza się także więcej poziomów dziedziczenia. W prostych aplikacjach rolę Kontrolera Bazowego może pełnić już klasa System.Web.UI.Page wbudowana w platformę.net woływały do wyników zapamiętanych w DTO bez kłopotliwego opóźnienia związanego z przesyłaniem danych przez sieć. Jest oczywiste, że zredukowanie ilości zewnętrznych wywołań podnosi wydajność aplikacji. Na platformie.net wykorzystanie wzorca Przekazywania Obiektu jest szczególnie proste. A wszystko to za sprawą udostępnionego obiektu typu DataSet. Obiekty tego typu pozwalają w łatwy sposób przechowywać różne dane (w strukturze przypominającej relacyjną bazę danych), a ponadto wyjątkowo łatwo jest jw transmitować przez sieć (wbudowana opcja konwersji do XML oraz wczytywania danych ze strumienia lub dokumentu XML do obiektu DataSet). Użycie typowanych DataSetów (klas dziedziczących z DataSet, ale używających dodatkowo zdefiniowanych przez użytkownika schematów XML Schema) pozwala w większym stopniu zachowywać tożsamość transmitowanych danych; zostają zachowane typy, a do konkretnych danych możemy odwoływać się po nazwie a nie poprzez wyciąganie ich z odpowiednich kolumn tabel. Interfejs Usługi Podczas projektowania aplikacji chcemy jej część udostępnić innym użytkownikom poprzez sieć. Celem, jaki sobie postawiliśmy, jest umożliwienie łatwej współpracy udostępnionej usługi z jak największą liczbą różnorodnych systemów (jest to zagadnienie kluczowe dla aplikacji), a ponadto chcielibyśmy oddzielić elementy odpowiedzialne za komunikację z zewnętrznymi systemami od elementów logiki (dzięki takiemu rozwiązaniu rezerwujemy sobie możliwość zmiany logiki usługi bez ingerencji w sposób, w jaki jest ona używana przez klientów). Wzorzec Interfejsu Usługi (ang. Service Interface) ułatwia nam to zadanie. Rozwiązanie polega na zaprojektowaniu udostępnianej części aplikacji jako zbioru usług, z których każda posiada dobrze określony interfejs, poprzez który klienci mogą kontaktować się z daną usługą. Interfejs stanowi swego rodzaju kontrakt, który (jeśli jest spełniony przez obie strony) pozwala na łatwą komunikację pomiędzy klientem a dostawcą usługi. Należy także zwrócić uwagę na fakt, że różni użytkownicy mogą chcieć używać różnych sposobów komunikacji z usługą (stosując różne technologie czy protokoły). Ponadto część użytkowników może chcieć wykorzystywać usługę do specyficznych celów, które wymagają optymalizacji usługi pod kątem danego zastosowania. Aby spełnić tak różnorodne wymagania, możemy zaprojektować większą liczbę interfejsów, poprzez które będą dostępne usługi naszej aplikacji (możemy dać różne interfejsy użytkownikom oczekującym różnych sposobów komunikacji z usługami lub wymagającym specyficznych optymalizacji). Generalnie należy jednak minimalizować ilość interfejsów, przez które udostępniamy daną usługę. Każdy kolejny interfejs powoduje dodatkowy nakład pracy podczas zmieniania logiki usługi. Do zaimplementowania interfejsu usługi na platformie.net możemy użyć XML Web Services. Taka implementacja zapewnia dostęp do usługi różnorodnym systemom, ponieważ opiera się na dobrze rozpowszechnionych standardach internetowych XML, HTTP czy SOAP. Brama Usługi Wzorzec Bramy Usługi (ang. Service Gateway) jest przydatny podczas pisania aplikacji wykorzystujących zewnętrzne usługi WWW. Jest to wersja wzorca Bramy (ang. Gateway) zorientowana na komunikację pomiędzy różnymi systemami z wykorzystaniem usług. Każda usługa definiuje warunki, jakie muszą spełnić aplikacje korzystające z niej (określa pewien interfejs). Aby aplikacja mogła komunikować się z daną usługą, musimy dostosować ją do tego interfejsu (np. używać odpowiednich protokołów komunikacyjnych). Nawet jeżeli interfejs usługi jest stworzony w oparciu o tą samą technologię co tworzona przez nas aplikacja, prawdopodobnie używa innych typów lub formatów danych w stosunku do logiki naszej aplikacji (np. my określamy prędkość w km/h, podczas gdy zewnętrzna usługa wymaga podawania parametrów w m/s). Zatem przed wysłaniem danych do usługi, jesteśmy zmuszeni dokonać pewnych przekształceń. Większym problemem jest jednak to, że prawdopodobnie nie mamy żadnej kontroli nad zewnętrzną usługą. Nie mo- Rysunek 5. Kooperacja dostawcy oraz klienta usługi z wykorzystaniem wzorców Interfejs Usługi oraz Brama Usługi 47

5 żemy zagwarantować, że jej interfejs nie zostanie zmodyfikowany w pewnym momencie lub też cała usługa stanie się niedostępna (co zmusiło by nas do znalezienia innej usługi o podobnych właściwościach). Rozwiązanie powyższych problemów polega na umieszczeniu całego kodu zależnego od zewnętrznej usługi w osobnym komponencie. Komponent ten sprostałby wymaganiom stawianym przez interfejs zewnętrznej usługi oraz dokonywałby wszelkich translacji pomiędzy reprezentacją danych stosowaną przez naszą aplikację, a tą stosowaną przez wybraną usługę. Ponadto przydatne jest, aby tworzona brama zawierała mechanizmy służące wyszukaniu odpowiedniej usługi czy też zabezpieczenia przed zmianą adresu usługi. Może to być zrealizowane na wiele różnych sposobów: pobieranie wartości z pliku konfiguracyjnego bądź też wyszukiwanie w katalogu Universal Description, Discovery and Integration. Dzięki zastosowaniu Bramy Usługi jesteśmy w stanie dość łatwo dostosować aplikację do zmian w usłudze (dotykają one tylko i wyłącznie jednego komponentu Bramy). Aczkolwiek zawsze należy rozważyć opłacalność stosowania tego typu wzorca w przypadku wielu prostych aplikacji, które używają raczej niezmieniających się usług, nakład pracy poniesiony na stworzenie bramy może nie być uzasadniony. istnieje w kilku wersjach, np. przytoczony w artykule wzorzec Struktury Warstwowej istnieje w wersji luźnej (ang. Relaxed) oraz przedstawionej tu wersji ścisłej (ang. Strict) należy wybrać tą, która najlepiej pasuje do tworzonej aplikacji. Podsumowanie Niniejszy artykuł oczywiście nie wyczerpuje zagadnienia wzorców projektowych na platformie.net. Jest co najwyżej wierzchołkiem góry lodowej, jaką odkryje osoba chcąca dokładniej poznać to zagadnienie. Dobrym punktem startowym dla dalszych poszukiwań są podane w ramkach odnośniki do stron internetowych oraz bibliografia. Po dokładniejszym poznaniu, wzorce okazują się bardzo przydatne dla programisty, i są wręcz niezbędne dla projektanta. Pozwalają na łatwiejszą współpracę pomiędzy ludźmi (ujednolicają nazewnictwo) oraz zwiększają jakość tworzonego oprogramowania. Od siebie chciał bym jeszcze dodać, że wzorce nie powinny w żaden sposób ograniczać kreatywności. Każdy wzorzec jest rozwiązaniem ogólnym, które czasem można lepiej dopasować do konkretnego rozwiązania. Często ten sam wzorzec W Sieci Zwięzłe opisy najbardziej klasycznych wzorców, pochodzących z wydanej w 1995 roku książki Design Patterns: Elements of Reusable Object Oriented Software autorów popularnie nazywanych The Gang of Four (Gamma, Helm, Johnson, Vlissides). Strona pozwala na bardzo szybkie i łatwe zapoznanie się z podstawowymi wzorcami projektowymi. Wszystkie opisy są poparte przykładami w C#. Zbiór linków odnoszących się do artykułów traktujących o wzorcach projektowych z zastosowaniem C# Sekcja poświęcona wzorcom projektowym jednego z popularniejszych portali dla programistów C# Protokół UDDI (Universal Description, Discovery and Integration) 48

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Temat: 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ółowo

4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152

4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152 Wstęp...xv 1 Rozpoczynamy...1 Co to jest ASP.NET?...3 W jaki sposób ASP.NET pasuje do.net Framework...4 Co to jest.net Framework?...4 Czym są Active Server Pages (ASP)?...5 Ustawienia dla ASP.NET...7 Systemy

Bardziej szczegółowo

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki 2011. Promotor dr inż. Paweł Figat

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki 2011. Promotor dr inż. Paweł Figat Grzegorz Ruciński Warszawska Wyższa Szkoła Informatyki 2011 Promotor dr inż. Paweł Figat Cel i hipoteza pracy Wprowadzenie do tematu Przedstawienie porównywanych rozwiązań Przedstawienie zalet i wad porównywanych

Bardziej szczegółowo

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Akademia MetaPack Uniwersytet Zielonogórski Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Krzysztof Blacha Microsoft Certified Professional Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Agenda:

Bardziej szczegółowo

REFERAT O PRACY DYPLOMOWEJ

REFERAT O PRACY DYPLOMOWEJ REFERAT O PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja elektronicznego dziennika ocen ucznia Autor: Grzegorz Dudek wykonanego w technologii ASP.NET We współczesnym modelu edukacji, coraz powszechniejsze

Bardziej szczegółowo

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych Projektowanie architektury systemu rozproszonego Jarosław Kuchta Zagadnienia Typy architektury systemu Rozproszone przetwarzanie obiektowe Problemy globalizacji Problemy ochrony Projektowanie architektury

Bardziej szczegółowo

Forum Client - Spring in Swing

Forum Client - Spring in Swing Forum Client - Spring in Swing Paweł Charkowski. 0. Cel projektu Celem projektu jest próba integracji Spring Framework z różnymi technologiami realizacji interfejsu użytkownika, oraz jej ocena. Niniejszy

Bardziej szczegółowo

Analiza i projektowanie aplikacji Java

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

Bardziej szczegółowo

Web frameworks do budowy aplikacji zgodnych z J2EE

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

Bardziej szczegółowo

Bazy danych 2. Wykład 1

Bazy danych 2. Wykład 1 Bazy danych 2 Wykład 1 Sprawy organizacyjne Materiały i listy zadań zamieszczane będą na stronie www.math.uni.opole.pl/~ajasi E-mail: standardowy ajasi@math.uni.opole.pl Sprawy organizacyjne Program wykładu

Bardziej szczegółowo

Komunikacja i wymiana danych

Komunikacja i wymiana danych Budowa i oprogramowanie komputerowych systemów sterowania Wykład 10 Komunikacja i wymiana danych Metody wymiany danych Lokalne Pliki txt, csv, xls, xml Biblioteki LIB / DLL DDE, FastDDE OLE, COM, ActiveX

Bardziej szczegółowo

ASP.NET MVC. Grzegorz Caban grzegorz.caban@gmail.com. 20 stycznia 2009

ASP.NET MVC. Grzegorz Caban grzegorz.caban@gmail.com. 20 stycznia 2009 ASP.NET MVC Grzegorz Caban grzegorz.caban@gmail.com 20 stycznia 2009 Agenda Przyczyna powstania Co to jest ASP.NET MVC Architektura Hello World w ASP.NET MVC ASP.NET MVC vs ASP.NET WebForm Przyszłość framework'a

Bardziej szczegółowo

Tworzenie i wykorzystanie usług sieciowych

Tworzenie i wykorzystanie usług sieciowych Ćwiczenie 14 Temat: Tworzenie i wykorzystanie usług sieciowych Cel ćwiczenia: W trakcie ćwiczenia student zapozna się z procedurą tworzenia usługi sieciowej w technologii ASP.NET oraz nauczy się tworzyć

Bardziej szczegółowo

Web Services. Wojciech Mazur. 17 marca 2009. Politechnika Wrocławska Wydział Informatyki i Zarządzania

Web Services. Wojciech Mazur. 17 marca 2009. Politechnika Wrocławska Wydział Informatyki i Zarządzania Standardy w Rodzaje Przykłady Politechnika Wrocławska Wydział Informatyki i Zarządzania 17 marca 2009 Standardy w Rodzaje Przykłady Plan prezentacji 1 Wstęp 2 Standardy w 3 4 Rodzaje 5 Przykłady 6 Standardy

Bardziej szczegółowo

SOA Web Services in Java

SOA Web Services in Java Wydział Informatyki i Zarządzania Wrocław,16 marca 2009 Plan prezentacji SOA 1 SOA 2 Usługi Przykłady Jak zacząć SOA Wycinek rzeczywistości Problemy zintegrowanych serwisów : Wycinek Rzeczywistości Zacznijmy

Bardziej szczegółowo

REFERAT O PRACY DYPLOMOWEJ

REFERAT O PRACY DYPLOMOWEJ REFERAT O PRACY DYPLOMOWEJ Temat pracy: Projekt i budowa systemu zarządzania treścią opartego na własnej bibliotece MVC Autor: Kamil Kowalski W dzisiejszych czasach posiadanie strony internetowej to norma,

Bardziej szczegółowo

Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton

Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton Dzisiejszy wykład Wzorce projektowe Visitor Client-Server Factory Singleton 1 Wzorzec projektowy Wzorzec nazwana generalizacja opisująca elementy i relacje rozwiązania powszechnie występującego problemu

Bardziej szczegółowo

Wykorzystanie standardów serii ISO 19100 oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych

Wykorzystanie standardów serii ISO 19100 oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych Wykorzystanie standardów serii ISO 19100 oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych dr inż. Adam Iwaniak Infrastruktura Danych Przestrzennych w Polsce i Europie Seminarium, AR Wrocław

Bardziej szczegółowo

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 Systemu Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu. Architektura jest zbiorem decyzji dotyczących: organizacji systemu komputerowego,

Bardziej szczegółowo

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7 I Wprowadzenie (wersja 0906) Kurs OPC S7 Spis treści Dzień 1 I-3 O czym będziemy mówić? I-4 Typowe sytuacje I-5 Klasyczne podejście do komunikacji z urządzeniami automatyki I-6 Cechy podejścia dedykowanego

Bardziej szczegółowo

Zdalna edycja i przeglądanie dokumentacji medycznej.

Zdalna edycja i przeglądanie dokumentacji medycznej. Zdalna edycja i przeglądanie dokumentacji medycznej. Opiekun pracy: Konsultant pracy: prof. dr hab. inż. Antoni Nowakowski dr inż. Jacek Rumiński Cel: Opracowanie sytemu umożliwiającego zdalną komunikację

Bardziej szczegółowo

Szczególne problemy projektowania aplikacji internetowych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Szczególne problemy projektowania aplikacji internetowych. Jarosław Kuchta Projektowanie Aplikacji Internetowych Szczególne problemy projektowania aplikacji Jarosław Kuchta Miejsce projektowania w cyklu wytwarzania aplikacji SWS Analiza systemowa Analiza statyczna Analiza funkcjonalna Analiza dynamiczna Analiza behawioralna

Bardziej szczegółowo

DLA SEKTORA INFORMATYCZNEGO W POLSCE

DLA SEKTORA INFORMATYCZNEGO W POLSCE DLA SEKTORA INFORMATYCZNEGO W POLSCE SRK IT obejmuje kompetencje najważniejsze i specyficzne dla samego IT są: programowanie i zarządzanie systemami informatycznymi. Z rozwiązań IT korzysta się w każdej

Bardziej szczegółowo

Dokument Detaliczny Projektu

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

Bardziej szczegółowo

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne Jarosław Kuchta Internetowe Usługi Informacyjne Komponenty IIS HTTP.SYS serwer HTTP zarządzanie połączeniami TCP/IP buforowanie odpowiedzi obsługa QoS (Quality of Service) obsługa plików dziennika IIS

Bardziej szczegółowo

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów niestacjonarnych studiów II stopnia)

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów niestacjonarnych studiów II stopnia) Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów niestacjonarnych studiów II stopnia) WERSJA WSTĘPNA, BRAK PRZYKŁADOWYCH PYTAŃ DLA NIEKTÓRYCH PRZEDMIOTÓW Należy wybrać trzy dowolne

Bardziej szczegółowo

Procesowa specyfikacja systemów IT

Procesowa specyfikacja systemów IT Procesowa specyfikacja systemów IT BOC Group BOC Information Technologies Consulting Sp. z o.o. e-mail: boc@boc-pl.com Tel.: (+48 22) 628 00 15, 696 69 26 Fax: (+48 22) 621 66 88 BOC Management Office

Bardziej szczegółowo

Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4

Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4 Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Agnieszka Holka Nr albumu: 187396 Praca magisterska na kierunku Informatyka

Bardziej szczegółowo

ActiveXperts SMS Messaging Server

ActiveXperts SMS Messaging Server ActiveXperts SMS Messaging Server ActiveXperts SMS Messaging Server to oprogramowanie typu framework dedykowane wysyłaniu, odbieraniu oraz przetwarzaniu wiadomości SMS i e-mail, a także tworzeniu własnych

Bardziej szczegółowo

1 Wprowadzenie do J2EE

1 Wprowadzenie do J2EE Wprowadzenie do J2EE 1 Plan prezentacji 2 Wprowadzenie do Java 2 Enterprise Edition Aplikacje J2EE Serwer aplikacji J2EE Główne cele V Szkoły PLOUG - nowe podejścia do konstrukcji aplikacji J2EE Java 2

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Jak używać funkcji prostego udostępniania plików do udostępniania plików w systemie Windows XP

Jak używać funkcji prostego udostępniania plików do udostępniania plików w systemie Windows XP Jak używać funkcji prostego udostępniania plików do udostępniania plików w systemie Windows XP System Windows XP umożliwia udostępnianie plików i dokumentów innym użytkownikom komputera oraz innym użytkownikom

Bardziej szczegółowo

Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor

Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor Koszalin, 15.06.2012 r. Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor Zespół projektowy: Daniel Czyczyn-Egird Wojciech Gołuchowski Michał Durkowski Kamil Gawroński Prowadzący: Dr inż.

Bardziej szczegółowo

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone Typy przetwarzania Przetwarzanie zcentralizowane Systemy typu mainfame Przetwarzanie rozproszone Architektura klient serwer Architektura jednowarstwowa Architektura dwuwarstwowa Architektura trójwarstwowa

Bardziej szczegółowo

Dokumentacja projektu QUAIKE Architektura oprogramowania

Dokumentacja projektu QUAIKE Architektura oprogramowania Licencjacka Pracownia Oprogramowania Instytut Informatyki Uniwersytetu Wrocławskiego Jakub Kowalski, Andrzej Pilarczyk, Marek Kembrowski, Bartłomiej Gałkowski Dokumentacja projektu QUAIKE Architektura

Bardziej szczegółowo

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie informatycznej. Zadaniem systemu jest rejestracja i przechowywanie

Bardziej szczegółowo

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

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:

Bardziej szczegółowo

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV Piotr Jarosik, Kamil Jaworski, Dominik Olędzki, Anna Stępień Dokumentacja wstępna TIN Rozproszone repozytorium oparte o WebDAV 1. Wstęp Celem projektu jest zaimplementowanie rozproszonego repozytorium

Bardziej szczegółowo

16) Wprowadzenie do raportowania Rave

16) Wprowadzenie do raportowania Rave 16) Wprowadzenie do raportowania Rave Tematyka rozdziału: Przegląd wszystkich komponentów Rave Tworzenie nowego raportu przy użyciu formatki w środowisku Delphi Aktywacja środowiska Report Authoring Visual

Bardziej szczegółowo

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe. Warstwa integracji wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe. 1. Ukrycie logiki dostępu do danych w osobnej warstwie 2. Oddzielenie mechanizmów trwałości od modelu obiektowego Pięciowarstwowy

Bardziej szczegółowo

Jak ustawić cele kampanii?

Jak ustawić cele kampanii? Jak ustawić cele kampanii? Czym są cele? Jest to funkcjonalność pozwalająca w łatwy sposób śledzić konwersje wygenerowane na Twojej stronie www poprzez wiadomości email wysłane z systemu GetResponse. Mierzenie

Bardziej szczegółowo

Architektura nowoczesnych aplikacji internetowych

Architektura nowoczesnych aplikacji internetowych Architektura nowoczesnych aplikacji internetowych Lech Madeyski Michał Stochmiałek Wydziałowy Zakład Informatyki Wydział Informatyki i Zarządzania Politechnika Wrocławska Krajowa Konferencja Inżynierii

Bardziej szczegółowo

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2 Modelowanie i analiza systemów informatycznych 1. Warstwowa budowa systemów informatycznych 2. Model procesu wytwarzania oprogramowania - model cyklu życia oprogramowania 3. Wstęp do modelowania systemów

Bardziej szczegółowo

Zagadnienia projektowania aplikacji J2EE

Zagadnienia projektowania aplikacji J2EE 211 Zagadnienia projektowania aplikacji J2EE Maciej Zakrzewicz Maciej.Zakrzewicz@cs.put.poznan.pl http://www.cs.put.poznan.pl/mzakrzewicz/ Plan rozdziału 212 Wstęp Techniki projektowe: Wprowadzenie modułu

Bardziej szczegółowo

OBC01/TOPMOB Projektowanie w języku Objective-C

OBC01/TOPMOB Projektowanie w języku Objective-C Szkolenie skierowane do: Programistów zaczynających pracę z platformą ios na urządzeniach iphone oraz ipad. Tematy zajęć: Dzień 1 1. Wprowadzenie Zarys historyczny NextStep oraz rozwój Apple ios Historia

Bardziej szczegółowo

Systemy GIS Systemy baz danych

Systemy GIS Systemy baz danych Systemy GIS Systemy baz danych Wykład nr 5 System baz danych Skomputeryzowany system przechowywania danych/informacji zorganizowanych w pliki Użytkownik ma do dyspozycji narzędzia do wykonywania różnych

Bardziej szczegółowo

DESIGNER APPLICATION. powered by

DESIGNER APPLICATION. powered by DESIGNER APPLICATION powered by O FIRMIE HiddenData specjalizuje się w technologii dystrybucji treści video w Internecie oraz w budowie złożonych, funkcjonalnych aplikacji internetowych i mobilnych. Budujemy

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 7 Marcin Młotkowski 8 kwietnia 2015 Plan wykładu Z życia programisty, część 1 1 Z życia programisty, część 1 2 3 Z życia programisty, część 2 Model View Controller MVC w

Bardziej szczegółowo

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI Bazy danych Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI Wszechnica Poranna Trzy tematy: 1. Bazy danych - jak je ugryźć? 2. Język SQL podstawy zapytań. 3. Mechanizmy wewnętrzne baz danych czyli co

Bardziej szczegółowo

Zacznij Tu! Poznaj Microsoft 2012. Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska

Zacznij Tu! Poznaj Microsoft 2012. Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska Zacznij Tu! Poznaj Microsoft 2012 Visual Basic Michael Halvorson Przekład: Joanna Zatorska APN Promise, Warszawa 2013 Spis treści Wstęp...................................................................vii

Bardziej szczegółowo

Platforma Informatyczna Wdrażania Oprogramowania Dedykowanego w PL-Grid

Platforma Informatyczna Wdrażania Oprogramowania Dedykowanego w PL-Grid 1 Platforma Informatyczna Wdrażania Oprogramowania Dedykowanego w PL-Grid Grzegorz Banach Wrocławskie Centrum Sieciowo-Superkomputerowe, Politechnika Wrocławska, Instytut Niskich Temperatur i Badań Strukturalnych

Bardziej szczegółowo

Automatyzacja procesów biznesowych Andrzej Sobecki. ESB Enterprise service bus

Automatyzacja procesów biznesowych Andrzej Sobecki. ESB Enterprise service bus Automatyzacja procesów biznesowych Andrzej Sobecki ESB Enterprise service bus Plan prezentacji Zdefiniowanie problemu Możliwe rozwiązania Cechy ESB JBI Normalizacja wiadomości w JBI Agile ESB Apache ServiceMix

Bardziej szczegółowo

Diagram wdrożenia. Rys. 5.1 Diagram wdrożenia.

Diagram wdrożenia. Rys. 5.1 Diagram wdrożenia. Diagram wdrożenia Zaprojektowana przez nas aplikacja bazuje na architekturze client-server. W tej architekturze w komunikacji aplikacji klienckiej z bazą danych pośredniczy serwer aplikacji, który udostępnia

Bardziej szczegółowo

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

I. Informacje ogólne. Jednym z takich systemów jest Mambo. MAMBO (CMS) I. Informacje ogólne CMS, Content Management System ("system zarządzania treścią") jest to jedna lub zestaw aplikacji internetowych pozwalających na łatwe utworzenie oraz późniejszą aktualizację

Bardziej szczegółowo

Dokument Detaliczny Projektu

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

Bardziej szczegółowo

HP Service Anywhere Uproszczenie zarządzania usługami IT

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

Bardziej szczegółowo

Programowanie MorphX Ax

Programowanie MorphX Ax Administrowanie Czym jest system ERP? do systemu Dynamics Ax Obsługa systemu Dynamics Ax Wyszukiwanie informacji, filtrowanie, sortowanie rekordów IntelliMorph : ukrywanie i pokazywanie ukrytych kolumn

Bardziej szczegółowo

Serwery Statefull i Stateless

Serwery Statefull i Stateless Serwery Statefull i Stateless Wszystkie serwery aplikacji są określone jako stateless podczas projektowania. Te aplikacje nie przetrzymują stałego połączenia z klientem. Wysyłają one pakiety danych na

Bardziej szczegółowo

Wykład I. Wprowadzenie do baz danych

Wykład I. Wprowadzenie do baz danych Wykład I Wprowadzenie do baz danych Trochę historii Pierwsze znane użycie terminu baza danych miało miejsce w listopadzie w 1963 roku. W latach sześcdziesątych XX wieku został opracowany przez Charles

Bardziej szczegółowo

Zaawansowane aplikacje internetowe - laboratorium

Zaawansowane aplikacje internetowe - laboratorium Zaawansowane aplikacje internetowe - laboratorium Web Services (część 3). Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2005. Ponadto wymagany jest

Bardziej szczegółowo

RELACYJNE BAZY DANYCH

RELACYJNE BAZY DANYCH RELACYJNE BAZY DANYCH Aleksander Łuczyk Bielsko-Biała, 15 kwiecień 2015 r. Ludzie używają baz danych każdego dnia. Książka telefoniczna, zbiór wizytówek przypiętych nad biurkiem, encyklopedia czy chociażby

Bardziej szczegółowo

Tester oprogramowania 2014/15 Tematy prac dyplomowych

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

Bardziej szczegółowo

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów dziennych studiów II stopnia)

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów dziennych studiów II stopnia) Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów dziennych studiów II stopnia) WERSJA WSTĘPNA, BRAK PRZYKŁADOWYCH PYTAŃ DLA NIEKTÓRYCH PRZEDMIOTÓW Należy wybrać trzy dowolne przedmioty.

Bardziej szczegółowo

Diagramy klas. WYKŁAD Piotr Ciskowski

Diagramy klas. WYKŁAD Piotr Ciskowski Diagramy klas WYKŁAD Piotr Ciskowski przedstawienie statyki systemu graficzne przedstawienie statycznych, deklaratywnych elementów dziedziny przedmiotowej oraz związków między nimi obiekty byt, egzemplarz

Bardziej szczegółowo

Modelowanie i Programowanie Obiektowe

Modelowanie i Programowanie Obiektowe Modelowanie i Programowanie Obiektowe Wykład I: Wstęp 20 październik 2012 Programowanie obiektowe Metodyka wytwarzania oprogramowania Metodyka Metodyka ustandaryzowane dla wybranego obszaru podejście do

Bardziej szczegółowo

Virtual Grid Resource Management System with Virtualization Technology

Virtual Grid Resource Management System with Virtualization Technology Virtual Grid Resource Management System with Virtualization Technology System zarządzania zasobami wirtualnego Gridu z wykorzystaniem technik wirtualizacji Joanna Kosińska Jacek Kosiński Krzysztof Zieliński

Bardziej szczegółowo

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z

Bardziej szczegółowo

Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi

Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Infomatyki Stosowanej Piotr Benetkiewicz Nr albumu: 168455 Praca magisterska na kierunku Informatyka

Bardziej szczegółowo

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

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

Bardziej szczegółowo

Wprowadzenie do projektu QualitySpy

Wprowadzenie 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ółowo

Usługi analityczne budowa kostki analitycznej Część pierwsza.

Usługi analityczne budowa kostki analitycznej Część pierwsza. Usługi analityczne budowa kostki analitycznej Część pierwsza. Wprowadzenie W wielu dziedzinach działalności człowieka analiza zebranych danych jest jednym z najważniejszych mechanizmów podejmowania decyzji.

Bardziej szczegółowo

METADANE GEOINFORMACYJNE PODLASIA

METADANE GEOINFORMACYJNE PODLASIA METADANE GEOINFORMACYJNE PODLASIA VII Ogólnopolskie Sympozjum Krakowskie spotkania z INSPIRE Kraków 12-14 maja 2011 Georeferencyjne dane przestrzenne w INSPIRE od zbiorów do usług danych przestrzennych

Bardziej szczegółowo

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

Dotacje na innowacje. Inwestujemy w waszą przyszłość. PROJEKT TECHNICZNY Implementacja Systemu B2B w firmie Lancelot i w przedsiębiorstwach partnerskich Przygotowane dla: Przygotowane przez: Lancelot Marek Cieśla Grzegorz Witkowski Constant Improvement Szkolenia

Bardziej szczegółowo

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar) Tworzenie witryn internetowych PHP/Java (mgr inż. Marek Downar) Rodzaje zawartości Zawartość statyczna Treść statyczna (np. nagłówek, stopka) Layout, pliki multimedialne, obrazki, elementy typograficzne,

Bardziej szczegółowo

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

INFORMATYKA, 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ółowo

Wskazówki projektowe. Programowanie Obiektowe Mateusz Cicheński

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

Bardziej szczegółowo

Aplikacje Internetowe, Servlety, JSP i JDBC

Aplikacje Internetowe, Servlety, JSP i JDBC Aplikacje Internetowe, Servlety, JSP i JDBC Opis Java 2 Enterprise Edition (JEE) jest potężną platformą do tworzenia aplikacji webowych. PLatforma JEE oferuje wszystkie zalety tworzenia w Javie plus wszechstronny

Bardziej szczegółowo

System zarządzający grami programistycznymi Meridius

System zarządzający grami programistycznymi Meridius System zarządzający grami programistycznymi Meridius Instytut Informatyki, Uniwersytet Wrocławski 20 września 2011 Promotor: prof. Krzysztof Loryś Gry komputerowe a programistyczne Gry komputerowe Z punktu

Bardziej szczegółowo

Wszystko na temat wzoru dokumentu elektronicznego

Wszystko na temat wzoru dokumentu elektronicznego Stowarzyszenie PEMI Wszystko na temat wzoru dokumentu elektronicznego Czym jest, kto go tworzy, kto publikuje, kto może z niego skorzystać? Mirosław Januszewski, Tomasz Rakoczy, Andrzej Matejko 2007-07-25

Bardziej szczegółowo

To sposób w jaki użytkownik wchodzi w interakcje z systemem. Środowisko graficzne używa kombinacji graficznych elementów(przyciski, okna, menu) i

To sposób w jaki użytkownik wchodzi w interakcje z systemem. Środowisko graficzne używa kombinacji graficznych elementów(przyciski, okna, menu) i Aleksandra Dębiecka To sposób w jaki użytkownik wchodzi w interakcje z systemem. To sposób w jaki użytkownik wchodzi w interakcje z systemem. Środowisko graficzne używa kombinacji graficznych elementów(przyciski,

Bardziej szczegółowo

System DiLO. Opis interfejsu dostępowego v. 2.0

System DiLO. Opis interfejsu dostępowego v. 2.0 System DiLO Opis interfejsu dostępowego v. 2.0 Warszawa 2015 1 Wprowadzone zmiany Wersja Opis 1.0 Wersja bazowa 1.1 Dodanie możliwości przejścia z wydania karty w POZ (WK-POZ) do zabiegu operacyjnego (ZAB-OPER)

Bardziej szczegółowo

Spis treści. Rozdział 1. Aplikacje konsoli w stylu ANSI C i podstawowe operacje w Visual C++... 7

Spis treści. Rozdział 1. Aplikacje konsoli w stylu ANSI C i podstawowe operacje w Visual C++... 7 Spis treści Wprowadzenie...n...n... 5 Jak korzystać z tej książki?...t... 6 Rozdział 1. Aplikacje konsoli w stylu ANSI C i podstawowe operacje w Visual C++... 7 Podsumowanie...t...t...15 Rozdział 2. Rozdział

Bardziej szczegółowo

Część I Rozpoczęcie pracy z usługami Reporting Services

Część I Rozpoczęcie pracy z usługami Reporting Services Spis treści Podziękowania... xi Wprowadzenie... xiii Część I Rozpoczęcie pracy z usługami Reporting Services 1 Wprowadzenie do usług Reporting Services... 3 Platforma raportowania... 3 Cykl życia raportu...

Bardziej szczegółowo

PLATFORMA ACTIVE FORMS. Kreator Formularzy Internetowych ze wsparciem dla RWD

PLATFORMA ACTIVE FORMS. Kreator Formularzy Internetowych ze wsparciem dla RWD PLATFORMA ACTIVE FORMS Kreator Formularzy Internetowych ze wsparciem dla RWD ACTIVE FORMS 2 Spis treści WPROWADZENIE 3 Dowolnie złożone formularze 3 Niski czas i koszt zbudowania formularza 4 TOP 10 WŁAŚCIWOŚCI

Bardziej szczegółowo

World Wide Web? rkijanka

World Wide Web? rkijanka World Wide Web? rkijanka World Wide Web? globalny, interaktywny, dynamiczny, wieloplatformowy, rozproszony, graficzny, hipertekstowy - system informacyjny, działający na bazie Internetu. 1.Sieć WWW jest

Bardziej szczegółowo

Zaawansowane narzędzia programowania rozproszonego

Zaawansowane narzędzia programowania rozproszonego Zaawansowane narzędzia programowania rozproszonego Karol Gołąb karol.golab@tls-technologies.com 28 listopada 2001 1 Streszczenie Omówienie i porównanie popularnych standardów mechanizmów komunikacyjnych:

Bardziej szczegółowo

Programowanie obiektowe

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

Bardziej szczegółowo

serwisy W*S ERDAS APOLLO 2009

serwisy W*S ERDAS APOLLO 2009 serwisy W*S ERDAS APOLLO 2009 1 OGC (Open Geospatial Consortium, Inc) OGC jest międzynarodowym konsorcjum 382 firm prywatnych, agencji rządowych oraz uniwersytetów, które nawiązały współpracę w celu rozwijania

Bardziej szczegółowo

9.1.2. Ustawienia personalne

9.1.2. Ustawienia personalne 9.1.2. Ustawienia personalne 9.1. Konfigurowanie systemu Windows Systemy z rodziny Windows umożliwiają tzw. personalizację ustawień interfejsu graficznego poprzez dostosowanie wyglądu pulpitu, menu Start

Bardziej szczegółowo

Projekt Giełdy Terminów Wizja. 19 czerwca 2015

Projekt Giełdy Terminów Wizja. 19 czerwca 2015 Projekt Giełdy Terminów Wizja Michał Begejowicz Bartosz Żurkowski 19 czerwca 2015 Spis treści 1 Wstęp 2 2 Opis problemu 2 3 Opis intersariuszy 3 3.1 Wewnętrzni......................... 3 3.1.1 Kadra dydaktyczna.................

Bardziej szczegółowo

ZASADY KORZYSTANIA Z PLIKÓW COOKIES ORAZ POLITYKA PRYWATNOŚCI W SERWISIE INTERNETOWYM PawłowskiSPORT.pl

ZASADY KORZYSTANIA Z PLIKÓW COOKIES ORAZ POLITYKA PRYWATNOŚCI W SERWISIE INTERNETOWYM PawłowskiSPORT.pl ZASADY KORZYSTANIA Z PLIKÓW COOKIES ORAZ POLITYKA PRYWATNOŚCI W SERWISIE INTERNETOWYM PawłowskiSPORT.pl Niniejsze zasady dotyczą wszystkich Użytkowników strony internetowej funkcjonującej w domenie http://www.pawlowskisport.pl,

Bardziej szczegółowo

Platformy programistyczne:.net i Java L ABORATORIUM 7,8: HACKATHON - JTTT

Platformy 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ółowo

Dzięki szkoleniu. Dni: 3. Opis: Adresaci szkolenia

Dzięki szkoleniu. Dni: 3. Opis: Adresaci szkolenia Kod szkolenia: Tytuł szkolenia: IOS/START Programowanie ios - szybki start Dni: 3 Opis: Adresaci szkolenia Szkolenie adresowane jest do programistów, którzy chcą od podstaw poznać język Objective- C oraz

Bardziej szczegółowo

W dalszej części dokumentu przedstawiamy skrócony opis kluczowych funkcji systemu. Niniejszy dokument nie zawiera opisu technicznego systemu.

W dalszej części dokumentu przedstawiamy skrócony opis kluczowych funkcji systemu. Niniejszy dokument nie zawiera opisu technicznego systemu. 1. Informacje Podstawowe Mediamanager 2.1 jest systemem wspierającym zarządzanie dokumentami elektronicznymi. Podstawowymi funkcjami realizowanymi przez oprogramowanie jest przetrzymywanie, zarządzanie

Bardziej szczegółowo

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski e-mail: t.jeleniewski@neostrada.pl tadeusz.jeleniewski@pwr.wroc.pl http://www.tjeleniewski.wstt.edu.pl Treści kształcenia: Paradygmaty

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: ADMINISTROWANIE INTERNETOWYMI SERWERAMI BAZ DANYCH Kierunek: Informatyka Rodzaj przedmiotu: moduł specjalności obowiązkowy: Programowanie aplikacji internetowych Rodzaj zajęć: wykład,

Bardziej szczegółowo

Microsoft PowerPoint 2003 efektywne tworzenie i prezentacji multimedialnych

Microsoft PowerPoint 2003 efektywne tworzenie i prezentacji multimedialnych Microsoft PowerPoint 2003 efektywne tworzenie i prezentacji multimedialnych Projekt: Wdrożenie strategii szkoleniowej prowadzony przez KancelarięPrezesa Rady Ministrów Projekt współfinansowany przez Unię

Bardziej szczegółowo

Implementacja prototypu modułu dostępu do danych SkOs przy pomocy protokołu LDAP

Implementacja prototypu modułu dostępu do danych SkOs przy pomocy protokołu LDAP Implementacja prototypu modułu dostępu do danych SkOs przy pomocy protokołu LDAP Wojciech Kowalczyk, Przemysław Curzytek 1 grudnia 2009 1 Częśćkonceptualna 1.1 Sformułowanie zadania projektowego SkOs,

Bardziej szczegółowo

Języki i paradygmaty programowania - 1

Języki i paradygmaty programowania - 1 doc. dr inż. Tadeusz Jeleniewski e-mail: t.jeleniewski@neostrada.pl tadeusz.jeleniewski@pwr.edu.pl http://www.tjeleniewski.wstt.edu.pl Cele przedmiotu Umiejętność zastosowania i oceny przydatności paradygmatów

Bardziej szczegółowo