ASP.NET Wprowadzenie. provided by Przemysław Bykowski

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

Download "ASP.NET Wprowadzenie. provided by Przemysław Bykowski"

Transkrypt

1 ASP.NET Wprowadzenie provided by Przemysław Bykowski

2 Strona internetowa vs aplikacja internetowa

3

4 Aplikacja internetowa Nie ustępuje możliwościami od standardowej aplikacji desktopowej Przeglądarka pośredniczy miedzy aplikacją a użytkownikiem Pierwszymi aplikacje internetowe dotyczyły obsługi poczty elektronicznej Bardzo wygodna. Użytkownik nie musi instalować oprogramowania, by uzyskać taką sama funkcjonalność, jak standardowy program Oceń, przykładową aplikacje - tu

5

6

7 Dodawanie formatki do projektu

8 Budowa formularza Pojedynczy (prosty) formularz składa się z trzech części: Nazwa_Formatki.aspx wygląd aplikacji. Posiada dwa tryby widoku: kod źródłowy (X)HTML tryb graficzny Nazwa_Formatki.aspx.cs cześć logiczna aplikacji Nazwa_Formatki.aspx.designer.cs logiczna reprezentacja elementów GUI

9 Kompilacja aplikacji Nazwa_Formatki.aspx nie ulega kompilacji. W takiej samej postaci musi zostać umieszczony na serverze Nazwa_Formatki.aspx.cs Nazwa_Formatki.aspx.designer.cs - oba pliki muszą zostać skompilowane przed umieszczeniem na serwerze. Pliki te kompilują się do bibliotek *.dll i w takiej postaci muszą zostać umieszczone na serverze

10 Kompilacja aplikacji Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="cos_popsulem._Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> </div> </form> </body> </html>

11 Podstawowe własności strony Page Language="C#" AutoEventWireup="true" CodeBehind="Nazwa_Formatki.aspx.cs" Inherits="Nazwa_Projektu.Nazwa_Formatki" %> Language określa język programowania jaki będziemy wykorzystywać do pisania warstwy logicznej aplikacji. Inne możliwości to VS i JS. AutoEventWireup określenie, czy wywołane zdarzenia będą automatycznie powiązane z funkcja ich obsługi. CodeBehind powiązanie bieżącego pliku z plikiem przechowującym logikę. Inherits dziedziczenie. Przeważnie jest to nazwa klasy zaimplementowanej w pliku kodu określonego parametrem CodeBehind.

12 Inne przydatne właściwości Trace szczegółowe informacje na temat żądań Więcej na

13 ASP.NET Praca z danymi provided by Przemysław Bykowski

14 Praca z bazą danych Możliwość podawania ręcznych zapytań do bazy danych. Wykorzystywanie procedur zdefiniowanych w bazie danych do wykonywania operacji na niej. Entity Framework genialne narzędzie ORM. Bardzo wygodne wygoda. Prawdopodobnie wydajność naszej aplikacji spada o około 20% niż w przypadku wykosztowania ręcznych zapytań. Istnieje kilka podobnych narzędzi ORM. Przykładowo bardzo popularny oparty o licencje GNU NHibernate.

15 Lokalizacja bazy danych Baza danych może istnieć lokalnie (*.sdf). Taką bazę danych należy umieścić w specjalnie przeznaczonym do tego katalogu App_Data. Możemy nawiązać zdalne połączenie z bazą danych. Nie jest wymagane, aby baza danych znajdowała się lokalnie na serwerze. W obu przypadkach zostanie utworzony tzw. ConnectionString

16 ConnectionString Przechowuje dane do połączenia z bazą danych. Domyślnym miejscem przechowywania connectionstringa jest plik Web.config Przykładowy CS: <connectionstrings> <add name= ObiektReprezentujacy" connectionstring="metadata=res://*/model1.csdl res://*/model1.ssdl res://*/model1.msl;pr ovider=system.data.sqlclient;provider connection string="data source=nazwa_hosta;initial catalog=nazwa_bazy_danych;integrated security=true;multipleactiveresultsets=true;app=typ_polaczenia"" providername="system.data.entityclient" /> </connectionstrings>

17 Tworzenie ConnectionString Nie musimy ręcznie tworzyć połączeń Wszystko za programistę załatwiają kreatory

18 GridView Niektóre kontrolki są w stanie automatycznie pobrać zawartość dla siebie z bazy danych. Same wykonują odpowiednie zapytania do bazy danych GridView pozwala wyświetlić użytkownikowi zawartość wybranej tabeli, a następnie pozwolić na ich modyfikacje.

19 LINQ Umożliwia pobieranie danych na poziomie kodu Składnia podobna do SQL Służy do zadawania pytań na obiektach a nie elementach bazy danych Przykład zapytania LINQ var wynik = from x in mojakolekcja where x.id > 10 select x SELECT * To samo w SQL INTO #wynik FROM mojatabela WHERE id > 10 W przeciwieństwie do składni C# - zapytania w LINQ nie są key sensitive

20 ASP.NET Testy jednostkowe provided by Przemysław Bykowski

21 Test jednostkowe co to? Metoda, która sprawdza inną metodę, czy owa metoda, działa poprawie Stosuje się go tylko (to nie jest sztywna zasada) w projektach regularne rozwijanych. Wzięła swój początek w programowaniu ekstremalnym

22 Test jednostkowe jakie one powinny być Możliwie najprostszą logikę Często pisane są one przez testerów, a nie samych programistów (w zależności od wielkości korporacji) Jeden test wykonuje (powinien) jedno działanie/sprawdza jedna metodę Jeżeli istnieje taka potrzeba, można sprawdzać wiele klas oraz ich metod w jednym teście

23 Test jednostkowe po co to komu? Wspomagają pracę programisty i testera Przyspiesza proces wytwarzania oprogramowania (o dziwo?) Stosuje się go tylko (to nie jest sztywna zasada) w projektach regularne rozwijanych. Bo wymaga tego Agile - wprowadzona w metodykach programowania Agile (zwinne) czy wszyscy wiedzą czym jest Agile?

24 Refaktoryzacja Refaktoryzacja (czasem też refaktoring, ang. refactoring) to pojęcie związane z wytwarzaniem systemów informatycznych, w szczególności z programowaniem. Jest to proces wprowadzania zmian w projekcie/programie, w wyniku których zasadniczo nie zmienia się funkcjonalność. Celem refaktoryzacji jest więc nie wytwarzanie nowej funkcjonalności, ale utrzymywanie odpowiedniej, wysokiej jakości organizacji systemu. W ramach refaktoryzacji podejmowane są następujące działania: modyfikowanie elementów systemu w celu wpasowania ich w przyjęte standardy i wzorce poszukiwanie nowych standardów i wzorców, które pojawiły się w systemie w trakcie jego rozwoju i ich precyzyjne definiowanie (łącznie z wpasowywaniem istniejących elementów w te definicje). Źródło Wikipedia :

25 Test driven development (TTD) Etap 1 piszemy test jednostkowy Etap 2 upewniamy się, że dany test zwraca negatywny wynik Etap 3 implementujemy daną metodę/funkcjonalność w naszym projekcie zalecane nawet, aby była ona napisana w sposób łopatologiczny Etap 4 wykonujemy test jednostkowy. Jeśli nie otrzymamy poprawności wykonania testu patrz etap 3 Etap 5 refaktoryzacja metody/funkcjonalności Etap 6 ponowne wykonanie testu jednostkowego. W przypadku nie powtórzenia patrz etap 3

26 Przykład wykonywania testu Zakładam nowy projekt Zastanawiam się co ma realizować mój projekt np. dodawanie zaimplementowanie w klase liczenie.cs Tworze projekt testu jednostkowego Implementuj test jednostkowy określając parametry wejściowe i oczekiwany wynik Implementuje metodę dodawania w klasie liczenie.cs Sprawdzam poprawność działania mojej metody if (poprawnoscmetody == Test.passed) else { } Optymalizuj.Metode(dodawanie) Popraw.Metode(dodawanie) SprawdzPoprawnosc.Metody(dodawanie) Koniec.Pracy(DataTime.Now()) Anegdota - przeciętny programista pisze linijek kodu dziennie

27 Wniosek TEST JEDNOSTOWY ZAWSZE I TO ZAWSZE WYKONUJE PRZED ZAIMPLEMENTOWANIEM LOGIKI MOJEJ APLIKACJI INACZEJ NIE MA ON SENSU! Dlatego często test jednostkowy wykonuje inna osoba niż ta implementująca funkcjonalność. Testy jednostkowe warto jest wykonywać tylko wtedy, gdy: - projekt jest dalej rozwijany - będzie w przyszłości wykorzystywany

28 Jak tworzyć test w VS? Tworze dowolny projekt bardzo często.asp dlaczego?

29 Co chce osiągnąć realizując swoją aplikacje? Kalkulator! Dodaje moja klasę LiczMnie ale tylko po to, aby uzyskać podpowiadanie składni w moim projekcie testowym

30 Tworze test jednostkowy Pamiętaj, że test jednostkowy dodaje się do solucji a nie projektu!

31 Dodaje projekt testu

32 Mam już dwa projekty Otrzymuje dwa projekty Jeden projekt aplikacji Drugi projekt testu Pamiętamy o podpięciu referencji, aby oba projekty widziały się nawzajem

33 Mam już dwa projekty Otrzymuje dwa projekty Jeden projekt aplikacji Drugi projekt testu Pamiętamy o podpięciu referencji, aby oba projekty widziały się nawzajem

34 Mam już dwa projekty Otrzymuje dwa projekty Jeden projekt aplikacji Drugi projekt testu Pamiętamy o podpięciu referencji, aby oba projekty widziały się nawzajem

35 Implementuje swoje testy Otrzymuje dwa projekty Jeden projekt aplikacji Drugi projekt testu Pamiętamy o podpięciu referencji, aby oba projekty widziały się nawzajem

36 Mam już dwa projekty Otrzymuje dwa projekty Jeden projekt aplikacji Drugi projekt testu Pamiętamy o podpięciu referencji, aby oba projekty widziały się nawzajem

37 Pisze test jednostkowy w klasie projektu MojTest

38 Wykonuje test w nadziei, że się nie wykona poprawnie

39 Implementuje logikę programu

40 Sprawdzam testy

41 Poprawiam testy i refaktoryzuje klasę logiki

42 Sukces!

43 Pytania?

44 Dziękuje za uwagę provided by Przemysław Bykowski

45 Wzorce projektowe provided by Przemysław Bykowski

46 Wzorzec projektowy Rozwiązuje problemy projektowe Ułatwia powtórne wykorzystywanie poprawnie zaprojektowanych architektur Nie zmienia logiki programu Dotyczą projektów środowiska obiektowego zorientowanego Ułatwia utrzymanie, oraz rozbudowywanie oprogramowania Jest opisem rozwiązania, a nie jego konkretną implementacją

47 Budowa wzorca Każdy wzorzec projektowy składa się z 4 kluczowych elementów: Nazwa wzorca uniwersalna indykacja wzorca Opis problemu, który dany wzorzec rozwiązuje Rozwiązanie Konsekwencje (jeśli istnieją)

48 Rodzaje wzorców projektowych Konstrukcyjne (Creational) związane z procesem tworzenia obiektów. Strukturalne (Structural) dotyczą struktury klas lub/i obiektów Operacyjne (Behavioral) sposób współdziałania, zachowania klas lub/i obiektów

49 Przykłady najpopularniejszych wzorców

50 Singleton wzorzec konstrukcyjny Gwarantuje tylko jedna instancje obiektu Pozwala na globalny dostęp do utworzonej instancji Wykorzystywany do przechowywania zmiennych publicznych Połączeń z bazą danych, połączeń z portami szeregowymi

51 Singleton rozwiązanie Singleton implementuje się przez stworzenie klasy, która posiada statyczną metodę, która najpierw sprawdza, czy istnieje już instancja tej klasy, w razie potrzeby tworząc ją. Następnie instancja zwracana jest przez referencję. Instancję przechowuje się w prywatnym lub chronionym, statycznym polu, do którego dostęp ma tylko opisana wyżej metoda, która jest jedyną drogą pozyskania instancji obiektu singletonu aby uniemożliwić tworzenie dodatkowych instancji, konstruktor klasy deklaruje się jako prywatny lub chroniony. Źródło Wikipedia :

52 Singleton przykład Java } } public class ClassicSingleton { private static ClassicSingleton instance = null; protected ClassicSingleton() { public static ClassicSingleton getinstance() { if(instance == null) { instance = new ClassicSingleton(); } return instance; }

53 Metoda wytwórcza (Factory method) wzorzec konstrukcyjny Tworzenie obiektów w sposób dynamiczny Kod otwarty na rozbudowę Przykład: W zależności od akcji użytkownika zostanie zwrócony mu odpowiedni obiekt

54 Metoda wytwórcza rozwiązanie We wzorcu występują dwie ogólne klasy bądź interfejsy definiujące pewien typ zasobów (Product) oraz sposób ich tworzenia (Creator, metoda factorymethod()). Od nich wyprowadza się konkretne klasy zasobów (ConcreteProduct) wraz z tworzącymi je klasami wytwórczymi (ConcreteCreator), które dostarczają odpowiednią implementację metody factorymethod(). Komponent pragnący tworzyć zasoby i operować na nich, korzysta z ogólnych interfejsów Product oraz Creator, umożliwiając wybór konkretnej implementacji w sposób dynamiczny. Źródło : Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides: Inżynieria oprogramowania: Wzorce projektowe (Wyd. II). Warszawa: Wydawnictwo Naukowo-Techniczne, 2008

55 Metoda wytwórcza przykład Java class Wynagrodzenie { private const UInt16 STAWKA_GODZINOWA_PIEKARZA = 10; private const UInt16 STAWKA_GODZINOWA_NAUCZYCIELA = 21; private const UInt16 STAWKA_GODZINOWA_KIEROWNIKA = 50; public static float ObliczWynagrodzenia(TypZawodu zawod, UInt16 iloscprzepracowanychgodzin) { switch (zawod) { case TypZawodu.PIEKARZ: return STAWKA_GODZINOWA_PIEKARZA * iloscprzepracowanychgodzin; case TypZawodu.NAUCZYCIEL: return STAWKA_GODZINOWA_NAUCZYCIELA * iloscprzepracowanychgodzin; case TypZawodu.KIEROWNIK: return STAWKA_GODZINOWA_KIEROWNIKA * iloscprzepracowanychgodzin; default: return 0; } }}

56 interface IPracownik { float ObliczWynagrodzenie(UInt16 iloscprzepracowanychgodzin); } // każdy pracownik musi implementować metodę ObliczWynagrodzenie class Piekarz : IPracownik { private const UInt16 STAWKA_GODZINOWA = 10; public float ObliczWynagrodzenie(UInt16 iloscprzepracowanychgodzin) { return STAWKA_GODZINOWA * iloscprzepracowanychgodzin; } } class Nauczyciel : IPracownik { private const UInt16 STAWKA_GODZINOWA = 21; public float ObliczWynagrodzenie(UInt16 iloscprzepracowanychgodzin) { return STAWKA_GODZINOWA * iloscprzepracowanychgodzin; } }

57 class Kierownik : IPracownik { private const UInt16 STAWKA_GODZINOWA = 50; public float ObliczWynagrodzenie(UInt16 iloscprzepracowanychgodzin) { return STAWKA_GODZINOWA * iloscprzepracowanychgodzin; } } //użycie: IPracownik pracownik = WynagrodzenieFactoryMethod.MakePracownik(TypZawodu.NAUCZYCIEL); pracownik.obliczwynagrodzenie(120); //jeśli będziemy chcieli dodać kolejny zawód, to musimy tylko utworzyć nowa klasę, która implementuje interface IPracownik oraz dodać do metody MakePracownik kolejnego case'a Źródło Wikipedia : Przykład

58 Pula obiektów (Object pool) wzorzec strukturalny Zarządzanie pulą obiektów reprezentujących zasoby wielokrotnego użycia Ograniczenie kosztów (głównie czasowych) tworzenia i usuwania obiektów Zwiększenie wydajności systemu

59 Pula obiektów - rozwiązanie Zdefiniowanie punktu dostępu do obiektów (zarówno do ich tworzenia, jak i zwrotu) oraz zarządzanie cyklem ich życia: tworzeniem, inicjalizacją i usuwaniem. Klient może otrzymać instancję klasy Obiekt wyłącznie za pomocą Puli obiektów i w ten sam sposób zwalnia przydzielony obiekt. Źródło Wikipedia :

60 Pula obiektów przykładowy algorytm 1. Pula obiektów tworzy określoną ilość obiektów zadanych klas/klasy. 2. Obiekty te przechowywane są w puli. 3. W momencie kiedy klient zgłasza zapotrzebowanie na dany obiekt - nie trzeba będzie go inicjalizować, wystarczy pobrać istniejący z puli. PrzykładowaKlasa PrzykladowePole : String PrzykladowaMetoda() Klient PulaObiektow UtworzObiekt() PobierzObiekt() Wzorzec często wykorzystywany przy aplikacjach współpracujących z bazami danych. Nawiązanie nowego połączenia trwa długo pobranie już istniejącego skraca ten czas.

61 Dziękuje za uwagę provided by Przemysław Bykowski

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

Rysunkowy tutorial Możesz swobodnie dystrybuować ten plik jeśli pozostawisz go w nietkniętym stanie. Możesz także cytować jego fragmenty umieszczając w tekście odnośnik http://mbartyzel.blogspot.com Jak

Bardziej szczegółowo

Poznaj ASP.NET MVC. Kamil Cieślak Microsoft Student Partner 2013-03-11

Poznaj ASP.NET MVC. Kamil Cieślak Microsoft Student Partner 2013-03-11 Poznaj ASP.NET MVC Kamil Cieślak Microsoft Student Partner 2013-03-11 Agenda Czym jest ASP.NET MVC? Wzorzec MVC ASP.NET MVC vs inne frameworki Bazy danych w ASP.NET MVC Jak zacząć? 2 Czym jest ASP.NET

Bardziej szczegółowo

Wzorce logiki dziedziny

Wzorce logiki dziedziny Wzorce logiki dziedziny 1. Wzorce logiki dziedziny skrypt transakcji (Transaction Script), brama tabeli (Table Data Gateway), model dziedziny (Domain model), strategia (Strategy), moduł tabeli (Table Module),

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

REFERAT PRACY DYPLOMOWEJ

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

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

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,

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

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

Podstawy Programowania 2

Podstawy Programowania 2 Podstawy Programowania 2 Laboratorium 7 Instrukcja 6 Object Pascal Opracował: mgr inż. Leszek Ciopiński Wstęp: Programowanie obiektowe a programowanie strukturalne. W programowaniu strukturalnym, któremu

Bardziej szczegółowo

Wykład VII. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wykład VII. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej Wykład VII - semestr III Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Wytwarzanie oprogramowania Model tworzenia oprogramowania

Bardziej szczegółowo

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1 1 LINQ 1 1. Cel zajęć Celem zajęć jest zapoznanie się z technologią LINQ oraz tworzeniem trójwarstwowej aplikacji internetowej. 2. Zadanie Proszę przygotować aplikację WWW, która: będzie pozwalała na generowanie

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 13 Marcin Młotkowski 27 maja 2015 Plan wykładu Trwałość obiektów 1 Trwałość obiektów 2 Marcin Młotkowski Programowanie obiektowe 2 / 29 Trwałość (persistence) Definicja Cecha

Bardziej szczegółowo

Microsoft.NET: LINQ to SQL, ASP.NET AJAX

Microsoft.NET: LINQ to SQL, ASP.NET AJAX Microsoft.NET: LINQ to SQL, ASP.NET AJAX Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2008 oraz serwer bazy danych SQL Server Express 2005 (lub

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

Facelets ViewHandler

Facelets ViewHandler JSF i Facelets Wprowadzenie JSP (JavaServer Pages) są natywną i najczęściej używaną technologią do tworzenia warstwy prezentacyjnej dla JSF (JavaServer Faces) Istnieją alternatywne technologie opisu wyglądu

Bardziej szczegółowo

Kurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/

Kurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Spis treści Wprowadzenie Automatyczne ładowanie klas Składowe klasy, widoczność składowych Konstruktory i tworzenie obiektów Destruktory i

Bardziej szczegółowo

Wywoływanie metod zdalnych

Wywoływanie metod zdalnych Wywoływanie metod zdalnych model systemu Wywoływanie metod zdalnych aplikacja kliencka interfejs obiekt serwer Podejście obiektowe do budowy systemów rozproszonych proxy szkielet sieć Istota podejścia

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

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

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

Programowanie obiektowe, wykład nr 6. Klasy i obiekty

Programowanie obiektowe, wykład nr 6. Klasy i obiekty Dr hab. inż. Lucyna Leniowska, prof. UR, Zakład Mechatroniki, Automatyki i Optoelektroniki, IT Programowanie obiektowe, wykład nr 6 Klasy i obiekty W programowaniu strukturalnym rozwój oprogramowania oparto

Bardziej szczegółowo

Podstawy JavaScript ćwiczenia

Podstawy JavaScript ćwiczenia Podstawy JavaScript ćwiczenia Kontekst:

Bardziej szczegółowo

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016 Wstęp - wykład 0 22 lutego 2016 Historia Simula 67 język zaprojektowany do zastosowan symulacyjnych; Smalltalk 80 pierwszy język w pełni obiektowy; Dodawanie obiektowości do języków imperatywnych: Pascal

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

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji. JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod

Bardziej szczegółowo

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

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej Programowanie obiektowe Interfejsy Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Interfejsy Autor: Paweł Rogaliński Instytut Informatyki,

Bardziej szczegółowo

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016 Wykład 2 17 marca 2016 Dziedziczenie Klasy bazowe i potomne Dziedziczenie jest łatwym sposobem rozwijania oprogramowania. Majac klasę bazowa możemy ja uszczegółowić (dodać nowe pola i metody) nie przepisujac

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

Wprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca 2009. Norbert Potocki db4o

Wprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca 2009. Norbert Potocki db4o Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie 1 czerwca 2009 Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie = bjects = database for objects w pełni obiektowa

Bardziej szczegółowo

Java Język programowania

Java Język programowania Java Język programowania Język Java Bazuje i jest zbliżony do C/C++ Porosty zbiór typów danych (podział na typy prymitywne i obiektowe) Zarządzanie pamięcią i Garbage Collection Zintegrowana synchronizacja

Bardziej szczegółowo

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami. UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami

Bardziej szczegółowo

Rozdział 4 KLASY, OBIEKTY, METODY

Rozdział 4 KLASY, OBIEKTY, METODY Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej

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

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych Szkolenie przeznaczone jest dla osób chcących poszerzyć swoje umiejętności o tworzenie rozwiązań internetowych w PHP. Zajęcia zostały przygotowane w taki sposób, aby po ich ukończeniu można było rozpocząć

Bardziej szczegółowo

Aplikacje Internetowe

Aplikacje Internetowe Aplikacje Internetowe ITA-103 Wersja 1 Warszawa, październik 2008 Spis treści Wprowadzenie i-4 Moduł 1 Podstawy HTML 1-1 Moduł 2 Kaskadowe Arkusze Stylów CSS 2-1 Moduł 3 Podstawy JavaScript 3-1 Moduł 4

Bardziej szczegółowo

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody Obiektowy PHP Czym jest obiekt? W programowaniu obiektem można nazwać każdy abstrakcyjny byt, który programista utworzy w pamięci komputera. Jeszcze bardziej upraszczając to zagadnienie, można powiedzieć,

Bardziej szczegółowo

Ewolucja projektowania aplikacji w PHP na bazie frameworka Symfony 2

Ewolucja projektowania aplikacji w PHP na bazie frameworka Symfony 2 Ewolucja projektowania aplikacji w PHP na bazie frameworka Symfony 2 Statyczne strony HTML Wczytanie statycznej strony HTML sprowadza się do odebrania żądania przez serwer, odnalezienia właściwego pliku

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

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

Wprowadzenie do Doctrine ORM

Wprowadzenie do Doctrine ORM Wprowadzenie do Doctrine ORM Przygotowanie środowiska Do wykonania ćwiczenia konieczne będzie zainstalowanie narzędzia Composer i odpowiednie skonfigurowanie Netbeans (Tools->Options->Framework & Tools->Composer,

Bardziej szczegółowo

Konstruktory. 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. 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ółowo

MVC w praktyce tworzymy system artykułów. cz. 1

MVC w praktyce tworzymy system artykułów. cz. 1 MVC w praktyce tworzymy system artykułów. cz. 1 Tworząc różnego rodzaju aplikacje natrafiamy na poważny problem utrzymania dobrej organizacji kodu przejrzystej oraz łatwej w rozbudowie. Z pomocą przychodzą

Bardziej szczegółowo

Automatyzacja Testowania w WEB 2.0

Automatyzacja Testowania w WEB 2.0 Automatyzacja Testowania w WEB 2.0 Wojciech Pająk, Radosław Smilgin XXIV Jesienne Spotkania PTI Wisła, 20-24 października 2008 Agenda Wprowadzenie do automatyzacji testowania Technologie WEB 2.0 Narzędzia

Bardziej szczegółowo

Klasy abstrakcyjne i interfejsy

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

Dostęp do baz danych w ASP.NET.

Dostęp do baz danych w ASP.NET. Ćwiczenie 12 Temat: Dostęp do baz danych w ASP.NET. Kontrolki źródeł danych i wizualizacyjne. Wyświetlanie i edycja danych. Cel ćwiczenia: W ramach ćwiczenie student zapozna się z kontrolkami umożliwiającymi

Bardziej szczegółowo

Studia podyplomowe. Programowanie na platformie Microsoft Visual Studio.NET

Studia podyplomowe. Programowanie na platformie Microsoft Visual Studio.NET Studia podyplomowe Programowanie na platformie Microsoft Visual Studio.NET I. Charakterystyka kursów Aplikacje bazodanowe dla biznesu (Microsoft Visual Studio.NET 2008) (35 godz.) W ramach kursu słuchacze

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

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

Delphi podstawy programowania. Środowisko Delphi

Delphi podstawy programowania. Środowisko Delphi Delphi podstawy programowania Środowisko Delphi Olsztyn 2004 Delphi Programowanie obiektowe - (object-oriented programming) jest to metodologia tworzeniu programów komputerowych definiująca je jako zbiór

Bardziej szczegółowo

akademia androida Składowanie danych część VI

akademia androida Składowanie danych część VI akademia androida Składowanie danych część VI agenda 1. SharedPreferences. 2. Pamięć wewnętrzna i karta SD. 3. Pliki w katalogach /res/raw i /res/xml. 4. Baza danych SQLite. 5. Zadanie. 1. SharedPreferences.

Bardziej szczegółowo

Pojęcie wzorca projektowego Sposób opisu wzorców projektowych Notacja UML podstawowe diagramy zapisu wzorców projektowych

Pojęcie wzorca projektowego Sposób opisu wzorców projektowych Notacja UML podstawowe diagramy zapisu wzorców projektowych Zagadnienia Pojęcie wzorca projektowego Sposób opisu wzorców projektowych Notacja UML podstawowe diagramy zapisu wzorców projektowych Co to jest wzorzec projektowy (ang. design pattern)? Co to jest wzorzec

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

Podstawy programowania III WYKŁAD 6

Podstawy programowania III WYKŁAD 6 Podstawy programowania III WYKŁAD 6 Jan Kazimirski 1 Projekt: Katalog książek elektronicznych c.d. 2 Diagram przypadków użycia 3 Iteracja 1 Zaprojektowanie panelu głównego aplikacji Realizacja przypadków

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć

Bardziej szczegółowo

Wyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut.

Wyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut. Wyjątki Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut. Wydaje się, że żaden użytkownik oprogramowania nie lubi, kiedy stosowany program nagle zawiesza się,

Bardziej szczegółowo

Instrukcja laboratoryjna cz.6

Instrukcja laboratoryjna cz.6 Programowanie aplikacji internetowych 2013/2014 Instrukcja laboratoryjna cz.6 Technologia Silverlight cz.2 Prowadzący: Tomasz Goluch Wersja: 3.0 I. Model danych (tworzenie bazy na podstawie modelu). Cel:

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

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

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania

Bardziej szczegółowo

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3 3 ASP.NET MVC Podstawy 1 1. Cel zajęć Celem zajęć jest zapoznanie się z podstawami ASP.NET MVC 2.0 Framework. 2. Zadanie Proszę zbudować prostą aplikację WWW przy zastosowaniu framework a ASP.NET MVC 2.0

Bardziej szczegółowo

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 2 Marcin Młotkowski 4 marca 2015 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 47 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie;

Bardziej szczegółowo

Wykład 4: Klasy i Metody

Wykład 4: Klasy i Metody Wykład 4: Klasy i Metody Klasa Podstawa języka. Każde pojęcie które chcemy opisać w języku musi być zawarte w definicji klasy. Klasa definiuje nowy typ danych, których wartościami są obiekty: klasa to

Bardziej szczegółowo

Programowanie w języku Java WYKŁAD

Programowanie w języku Java WYKŁAD Programowanie w języku Java WYKŁAD dr inż. Piotr Zabawa Certyfikowany Konsultant IBM/Rational e-mail: pzabawa@pk.edu.pl www: http://www.pk.edu.pl/~pzabawa 26.05.2014 WYKŁAD 13 Refleksja Data Access Object

Bardziej szczegółowo

Współbieżność w środowisku Java

Współbieżność w środowisku Java Współbieżność w środowisku Java Wątki i ich synchronizacja Zagadnienia Tworzenie wątków Stany wątków i ich zmiana Demony Synchronizacja wątków wzajemne wykluczanie oczekiwanie na zmiennych warunkowych

Bardziej szczegółowo

Programowanie w Ruby

Programowanie w Ruby Programowanie w Ruby Wykład 11 Marcin Młotkowski 19 grudnia 2012 Plan wykładu Modele danych i bazy danych Modele danych Migracje Bazy danych w Railsach Rusztowania Walidacja modeli Modele danych Definicje

Bardziej szczegółowo

Budowa aplikacji webowej w oparciu o Maven2 oraz przykłady testów jednostkowych. Wykonał Marcin Gadamer

Budowa aplikacji webowej w oparciu o Maven2 oraz przykłady testów jednostkowych. Wykonał Marcin Gadamer Budowa aplikacji webowej w oparciu o Maven2 oraz przykłady testów jednostkowych. Wykonał Marcin Gadamer Maven 2 podstawowe informacje Apache Maven jest narzędziem automatyzującym budowę oprogramowania

Bardziej szczegółowo

Materiały do laboratorium MS ACCESS BASIC

Materiały do laboratorium MS ACCESS BASIC Materiały do laboratorium MS ACCESS BASIC Opracowała: Katarzyna Harężlak Access Basic jest językiem programowania wykorzystywanym w celu powiązania obiektów aplikacji w jeden spójny system. PROCEDURY I

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

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Aplikacja internetowa tworzona na podstawie bazy danych. Programowanie komponentowe 2, Zofia

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

Podstawy programowania III WYKŁAD 4

Podstawy programowania III WYKŁAD 4 Podstawy programowania III WYKŁAD 4 Jan Kazimirski 1 Podstawy UML-a 2 UML UML Unified Modeling Language formalny język modelowania systemu informatycznego. Aktualna wersja 2.3 Stosuje paradygmat obiektowy.

Bardziej szczegółowo

1. Wybierz File New Application. Pojawi się nowa aplikacja w Delphi.

1. Wybierz File New Application. Pojawi się nowa aplikacja w Delphi. DCOM Aplikacje serwera i klienta DCOM, które zamierzamy stworzyć są podobne do tych zrobionych w ćwiczeniu dotyczącym TCP/IP. Aplikacja serwera będzie jedno wątkowa, a co za tym idzie będzie mogła obsłużyć

Bardziej szczegółowo

Programowanie w Ruby

Programowanie w Ruby Programowanie w Ruby Wykład 11 Marcin Młotkowski 19 grudnia 2014 Plan wykładu 1 Projekt 2 Modele danych 3 4 5 Marcin Młotkowski Programowanie w Ruby 2 / 38 Zasady Projekt Składowe projektu przynajmniej

Bardziej szczegółowo

Pakiety i interfejsy. Tomasz Borzyszkowski

Pakiety i interfejsy. Tomasz Borzyszkowski Pakiety i interfejsy Tomasz Borzyszkowski Pakiety podstawy W dotychczasowych przykładach nazwy klas musiały pochodzić z jednej przestrzeni nazw, tj. być niepowtarzalne tak, by nie doprowadzić do kolizji

Bardziej szczegółowo

PARADYGMATY PROGRAMOWANIA Wykład 3

PARADYGMATY PROGRAMOWANIA Wykład 3 PARADYGMATY PROGRAMOWANIA Wykład 3 Definiowanie operatorów i ich przeciążanie Przykłady zastosowania operatorów: a) operator podstawienia ( = ) obiektów o złożonej strukturze, b) operatory działania na

Bardziej szczegółowo

Tutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu.

Tutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu. AGH, EAIE, Informatyka Winda - tutorial Systemy czasu rzeczywistego Mirosław Jedynak, Adam Łączyński Spis treści 1 Wstęp... 2 2 Przypadki użycia (Use Case)... 2 3 Diagramy modelu (Object Model Diagram)...

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

Wykład 1 Inżynieria Oprogramowania

Wykład 1 Inżynieria Oprogramowania Wykład 1 Inżynieria Oprogramowania Wstęp do inżynierii oprogramowania. Cykle rozwoju oprogramowaniaiteracyjno-rozwojowy cykl oprogramowania Autor: Zofia Kruczkiewicz System Informacyjny =Techniczny SI

Bardziej szczegółowo

Java - tablice, konstruktory, dziedziczenie i hermetyzacja

Java - tablice, konstruktory, dziedziczenie i hermetyzacja Java - tablice, konstruktory, dziedziczenie i hermetyzacja Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU zmienne tablicowe konstruktory klas dziedziczenie hermetyzacja

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

Polimorfizm, metody wirtualne i klasy abstrakcyjne

Polimorfizm, metody wirtualne i klasy abstrakcyjne Programowanie obiektowe Polimorfizm, metody wirtualne i klasy abstrakcyjne Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Polimorfizm,

Bardziej szczegółowo

Typy klasowe (klasy) 1. Programowanie obiektowe. 2. Założenia paradygmatu obiektowego:

Typy klasowe (klasy) 1. Programowanie obiektowe. 2. Założenia paradygmatu obiektowego: Typy klasowe (klasy) 1. Programowanie obiektowe Programowanie obiektowe (ang. object-oriented programming) to metodologia tworzenia programów komputerowych, która definiuje programy za pomocą obiektów

Bardziej szczegółowo

QualitySpy moduł persystencji

QualitySpy 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ół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

Ekspert radzi. mechanizm w enova, umożliwiający wskazanie domyślnej drukarki dla danego stanowiska i wydruku. Strona 1 z 8. Ekspert radzi.

Ekspert radzi. mechanizm w enova, umożliwiający wskazanie domyślnej drukarki dla danego stanowiska i wydruku. Strona 1 z 8. Ekspert radzi. Ekspert radzi mechanizm w enova, umożliwiający wskazanie domyślnej drukarki dla danego stanowiska i wydruku. Strona 1 z 8 Spis treści 1. Zarys rozwiązania...3 1.2 Case study...3 1.3 Wymagania...3 2. Projekt...3

Bardziej szczegółowo

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak Java język programowania obiektowego Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 Język Java Język Java powstał w roku 1995 w firmie SUN Microsystems Java jest językiem: wysokiego

Bardziej szczegółowo

Laboratorium 7 Blog: dodawanie i edycja wpisów

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

Programowanie w Internecie. Java

Programowanie w Internecie. Java Programowanie w Internecie Java Autor: dr inż. Zofia Kruczkiewicz Literatura: L. Lemay, R. Cadenhead P. Naughton Krzysztof Barteczko Boone Barry Java 2 dla każdego Podręcznik Języka Programowania Java

Bardziej szczegółowo

Asynchroniczne interfejsy

Asynchroniczne interfejsy Asynchroniczne interfejsy MVC (Model View Controller) WWW mgr inż. Rafał Grycuk mgr inż. Patryk Najgebauer Strona służbowa: http://iisi.pcz.pl/~rgrycuk/ Kontakt: rafal.grycuk@iisi.pcz.pl Konsultacje: Środa,

Bardziej szczegółowo

SYSTEM MONITORINGU PARAMETRÓW WĘZŁÓW PRZECHOWYWANIA DANYCH DLA PROJEKTU KRAJOWY MAGAZYN DANYCH PODRĘCZNIK DEWELOPERA

SYSTEM MONITORINGU PARAMETRÓW WĘZŁÓW PRZECHOWYWANIA DANYCH DLA PROJEKTU KRAJOWY MAGAZYN DANYCH PODRĘCZNIK DEWELOPERA SYSTEM MONITORINGU PARAMETRÓW WĘZŁÓW PRZECHOWYWANIA DANYCH DLA PROJEKTU KRAJOWY MAGAZYN DANYCH PODRĘCZNIK DEWELOPERA 1 Spis treści: Wstęp... 3 Opis architektury systemu... 4 Architektura modułu KMD...

Bardziej szczegółowo

Przykładowa implementacja

Przykładowa implementacja Wzorce projektowe, cz. 10 Facade Fasada służy do ujednolicenia dostępu do złożonego systemu poprzez udostępnienie uproszczonego i uporządkowanego interfejsu programistycznego. Fasada zwykle implementowana

Bardziej szczegółowo

Aplikacje webowe wspomagające działalność przedsiębiorstwa na przykładzie przychodni stomatologicznej

Aplikacje webowe wspomagające działalność przedsiębiorstwa na przykładzie przychodni stomatologicznej Aplikacje webowe wspomagające działalność przedsiębiorstwa na przykładzie przychodni stomatologicznej Małgorzata Barańska Wydział Informatyki i Zarządzania, Politechnika Wrocławska Beata Laszkiewicz Wydział

Bardziej szczegółowo

Programowanie kontraktowe w Javie

Programowanie kontraktowe w Javie 20 maja 2010 Spis treści 1 Programowanie kontraktowe Geneza Założenia Kontrakty w języku Eiffel 2 Definiowanie specyfikacji Weryfikacja poprawności aplikacji 3 Wykorzystanie założeń kontraktów 4 Asercje

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