Diagramy UML, przykład problemu kolizji

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Diagramy UML, przykład problemu kolizji"

Transkrypt

1 Bogdan Kreczmer Katedra Cybernetyki i Robotyki Wydział Elektroniki Politechnika Wrocławska Kurs: Copyright c 2015 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu dotyczącego programowania obiektowego. Jest on udostępniony pod warunkiem wykorzystania wyłącznie do własnych prywatnych potrzeb i może on być kopiowany wyłącznie w całości, razem z niniejszą stroną tytułową.

2 Niniejsza prezentacja została wykonana przy użyciu systemu składu L A TEX oraz stylu beamer, którego autorem jest Till Tantau. Strona domowa projektu Beamer:

3 Plan prezentacji Języki modelowania 1 Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 2 3 Definicje klas Definicja metody sprawdzania kolizji

4 Plan prezentacji Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 1 Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 2 3 Definicje klas Definicja metody sprawdzania kolizji

5 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh 1994 zapoczątkowanie prac nad UML 1995 pierwsza robocza wersja zaakceptowanie wersji 1.1 przez OMG (Object Managment Group) 1999 opublikowanie wersji /2005 zaakceptowanie wersji 2.0 sierpień 2007 opublikowanie wersji 2.1.1

6 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh 1994 zapoczątkowanie prac nad UML 1995 pierwsza robocza wersja zaakceptowanie wersji 1.1 przez OMG (Object Managment Group) 1999 opublikowanie wersji /2005 zaakceptowanie wersji 2.0 sierpień 2007 opublikowanie wersji 2.1.1

7 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh 1994 zapoczątkowanie prac nad UML 1995 pierwsza robocza wersja zaakceptowanie wersji 1.1 przez OMG (Object Managment Group) 1999 opublikowanie wersji /2005 zaakceptowanie wersji 2.0 sierpień 2007 opublikowanie wersji 2.1.1

8 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh 1994 zapoczątkowanie prac nad UML 1995 pierwsza robocza wersja zaakceptowanie wersji 1.1 przez OMG (Object Managment Group) 1999 opublikowanie wersji /2005 zaakceptowanie wersji 2.0 sierpień 2007 opublikowanie wersji 2.1.1

9 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh 1994 zapoczątkowanie prac nad UML 1995 pierwsza robocza wersja zaakceptowanie wersji 1.1 przez OMG (Object Managment Group) 1999 opublikowanie wersji /2005 zaakceptowanie wersji 2.0 sierpień 2007 opublikowanie wersji 2.1.1

10 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh 1994 zapoczątkowanie prac nad UML 1995 pierwsza robocza wersja zaakceptowanie wersji 1.1 przez OMG (Object Managment Group) 1999 opublikowanie wersji /2005 zaakceptowanie wersji 2.0 sierpień 2007 opublikowanie wersji 2.1.1

11 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh 1994 zapoczątkowanie prac nad UML 1995 pierwsza robocza wersja zaakceptowanie wersji 1.1 przez OMG (Object Managment Group) 1999 opublikowanie wersji /2005 zaakceptowanie wersji 2.0 sierpień 2007 opublikowanie wersji 2.1.1

12 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh 1994 zapoczątkowanie prac nad UML 1995 pierwsza robocza wersja zaakceptowanie wersji 1.1 przez OMG (Object Managment Group) 1999 opublikowanie wersji /2005 zaakceptowanie wersji 2.0 sierpień 2007 opublikowanie wersji Strona projektu:

13 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas UML jest językiem znormalizowanym, służącym do opisywania projektu systemu.

14 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas UML jest językiem znormalizowanym, służącym do opisywania projektu systemu. Może być stosowany do obrazowania, specyfikowania, tworzenia i dokumentowania artefaktów powstałych podczas procesu budowy systemu informatycznego.

15 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas UML jest językiem znormalizowanym, służącym do opisywania projektu systemu. Może być stosowany do obrazowania, specyfikowania, tworzenia i dokumentowania artefaktów powstałych podczas procesu budowy systemu informatycznego. UML służy do obrazowania, specyfikowania i dokumentowania systemów obiektowych.

16 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas UML jest językiem znormalizowanym, służącym do opisywania projektu systemu. Może być stosowany do obrazowania, specyfikowania, tworzenia i dokumentowania artefaktów powstałych podczas procesu budowy systemu informatycznego. UML służy do obrazowania, specyfikowania i dokumentowania systemów obiektowych. UML jest przede wszystkim przeznaczony do wspomagania budowy systemów informatycznych.

17 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Przykładowe obszary zastosowań: tworzenie systemów informatycznych przedsiębiorstw, usług bankowych i finansowych, rozproszone usługi internetowe.

18 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Przykładowe obszary zastosowań: tworzenie systemów informatycznych przedsiębiorstw, usług bankowych i finansowych, rozproszone usługi internetowe.

19 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Przykładowe obszary zastosowań: tworzenie systemów informatycznych przedsiębiorstw, usług bankowych i finansowych, rozproszone usługi internetowe.

20 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Przykładowe obszary zastosowań: tworzenie systemów informatycznych przedsiębiorstw, usług bankowych i finansowych, rozproszone usługi internetowe.

21 Plan prezentacji Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 1 Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 2 3 Definicje klas Definicja metody sprawdzania kolizji

22 Przykłady diagramów UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Rysunek : Diagram klas

23 Przykłady diagramów UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Rysunek : Diagram klas modelujący strukturę firmy

24 Ważniejsze diagramy UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas W wersji 2.0 wyróżnia się 13 rodzai diagramów głównych i 4 abstrakcyjne.

25 Ważniejsze diagramy UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas W wersji 2.0 wyróżnia się 13 rodzai diagramów głównych i 4 abstrakcyjne. Najczęściej używane diagramy: Przypadków użycia Czynności Klas Sekwencji

26 Ważniejsze diagramy UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas W wersji 2.0 wyróżnia się 13 rodzai diagramów głównych i 4 abstrakcyjne. Najczęściej używane diagramy: Przypadków użycia Czynności Klas Sekwencji

27 Ważniejsze diagramy UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas W wersji 2.0 wyróżnia się 13 rodzai diagramów głównych i 4 abstrakcyjne. Najczęściej używane diagramy: Przypadków użycia Czynności Klas Sekwencji

28 Ważniejsze diagramy UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas W wersji 2.0 wyróżnia się 13 rodzai diagramów głównych i 4 abstrakcyjne. Najczęściej używane diagramy: Przypadków użycia Czynności Klas Sekwencji

29 Ważniejsze diagramy UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas W wersji 2.0 wyróżnia się 13 rodzai diagramów głównych i 4 abstrakcyjne. Najczęściej używane diagramy: Przypadków użycia Czynności Klas Sekwencji

30 Ważniejsze diagramy UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas W wersji 2.0 wyróżnia się 13 rodzai diagramów głównych i 4 abstrakcyjne. Najczęściej używane diagramy: Przypadków użycia służy do obrazowania zachowania systemu, podsystemu lub klasy w taki sposób, żeby użytkownicy mogli zrozumieć, jak z tego bytu korzystać, a programiści mogli go zaimplementować. Czynności Klas Sekwencji

31 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Ważniejsze diagramy diagram przypadków użycia

32 Ważniejsze diagramy UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas W wersji 2.0 wyróżnia się 13 rodzai diagramów głównych i 4 abstrakcyjne. Najczęściej używane diagramy: Przypadków użycia Czynności modeluje dynamiczne aspekty systemu. Demonstrują przepływ sterowania od operacji do operacji. Klas Sekwencji

33 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Ważniejsze diagramy diagram czynności

34 Ważniejsze diagramy UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas W wersji 2.0 wyróżnia się 13 rodzai diagramów głównych i 4 abstrakcyjne. Najczęściej używane diagramy: Przypadków użycia Czynności Klas służy do obrazowania statycznych aspektów systemu. Bierze się w nim pod uwagę wymagania funkcjonalne (usługi), jakie system powinien udostępniać swoim użytkownikom. Sekwencji

35 Ważniejsze diagramy diagram klas UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas

36 Ważniejsze diagramy UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas W wersji 2.0 wyróżnia się 13 rodzai diagramów głównych i 4 abstrakcyjne. Najczęściej używane diagramy: Przypadków użycia Czynności Klas Sekwencji służy do obrazowania dynamicznych aspektów systemu. Demonstruje kolejność komunikatów w czasie, które przesyłają między sobą obiekty.

37 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Ważniejsze diagramy diagram sekwencji

38 Plan prezentacji Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 1 Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 2 3 Definicje klas Definicja metody sprawdzania kolizji

39 Oznaczenia Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa

40 Model klasy w UML UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas

41 Model klasy w UML UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Stereotyp umożliwia twórcy diagramu na zdefiniowanie metaelementu, który pozwala na uszczegółowienie znaczenia określonego elementu poprzez dodanie informacji związanych z jego charakterystyką.

42 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa Wektor przykład modelu w UML class Wektor { public : double x, y; }; double Norma( ) const { return sqrt(x x+y y); }

43 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa Wektor przykład modelu w UML class Wektor { public : double x, y; }; double Norma( ) const { return sqrt(x x+y y); }

44 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa LZespolona przykład modelu w UML class LZespolona { public : double re, im; }; LZespolona(double re nowa, double im nowa): re(re nowa), im(im nowa) { } LZespolona Sprzezenie( ) const { return LZespolona(re,-im); } LZespolona operator + (const LZespolona& Arg2) const ; LZespolona operator (const LZespolona& Arg2) const ; double Modul2() const { return re re + im im; }

45 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa LZespolona przykład modelu w UML class LZespolona { public : double re, im; }; LZespolona(double re nowa, double im nowa): re(re nowa), im(im nowa) { } LZespolona Sprzezenie( ) const { return LZespolona(re,-im); } LZespolona operator + (const LZespolona& Arg2) const ; LZespolona operator (const LZespolona& Arg2) const ; double Modul2() const { return re re + im im; }

46 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa WektorZ przykład modelu w UML class WektorZ { public : LZespolona x, y; }; WektorZ( ) { x.re = x.im = 0; y.re = y.im = 0; } double Norma( ) const;

47 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa WektorZ przykład modelu w UML class WektorZ { public : LZespolona x, y; }; WektorZ( ) { x.re = x.im = 0; y.re = y.im = 0; } double Norma( ) const { return sqrt((x x.sprzezenie( )+y y.sprzezenie( )).re); }

48 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa WektorZ przykład modelu w UML class WektorZ { public : LZespolona x, y; }; WektorZ( ) { x.re = x.im = 0; y.re = y.im = 0; } double Norma( ) const { return sqrt(x.modul2( )+y.modul2( )); }

49 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa WektorZ przykład modelu w UML class WektorZ { public : LZespolona x, y; }; WektorZ( ) { x.re = x.im = 0; y.re = y.im = 0; } double Norma( ) const { return sqrt(x.modul2( )+y.modul2( )); }

50 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa WektorZ przykład modelu w UML class WektorZ { LZespolona public : Wsp[2]; }; const LZespolona& operator [ ] (unsigned int Ind) const { return Wsp[Ind]; } LZespolona& operator [ ] (unsigned int Ind) { return Wsp[Ind]; } double Norma( ) const { return sqrt(( this )[0].Modul2()+( this )[1].Modul2()); }

51 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa WektorZ przykład modelu w UML class WektorZ { LZespolona public : Wsp[2]; }; const LZespolona& operator [ ] (unsigned int Ind) const { return Wsp[Ind]; } LZespolona& operator [ ] (unsigned int Ind) { return Wsp[Ind]; } double Norma( ) const { return sqrt(( this )[0].Modul2()+( this )[1].Modul2()); }

52 Oznaczenia Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa

53 Oznaczenia Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa Kompozycja

54 Kompozycja Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas

55 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa WektorZ przykład modelu w UML class WektorZ { LZespolona public : Wsp[2]; }; const LZespolona& operator [ ] (unsigned int Ind) const { return Wsp[Ind]; } LZespolona& operator [ ] (unsigned int Ind) { return Wsp[Ind]; } double Norma( ) const { return sqrt(( this )[0].Modul2()+( this )[1].Modul2()); }

56 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa WektorZ przykład modelu w UML class WektorZ { LZespolona public : Wsp[2]; }; const LZespolona& operator [ ] (unsigned int Ind) const { return Wsp[Ind]; } LZespolona& operator [ ] (unsigned int Ind) { return Wsp[Ind]; } double Norma( ) const { return sqrt(( this )[0].Modul2()+( this )[1].Modul2()); }

57 Oznaczenia Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa Kompozycja Agregacja

58 Agregacja Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas

59 Oznaczenia Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa Kompozycja Agregacja Zależność Powiązanie

60 Plan prezentacji Języki modelowania 1 Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 2 3 Definicje klas Definicja metody sprawdzania kolizji

61 Opis problemu Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości.

62 Opis problemu Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy.

63 Plan prezentacji Języki modelowania 1 Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 2 3 Definicje klas Definicja metody sprawdzania kolizji

64 Etapy osiągania rozwiązania Analiza Projektowanie Konstrukcja

65 Etapy osiągania rozwiązania Analiza jest odwzorowaniem rzeczywistego świata na jego model koncepcyjny Projektowanie Konstrukcja

66 Analityczne rozwiązanie problemu Rozwiązaniem problemu jest wyznaczenie najmniejszej odległości na jaką zbliżą się do siebie platformy. Kolizja nie nastąpi jeżeli odległość ta będzie większa niż suma promieni okręgów opisanych na korpusach obu platform.

67 Analityczne rozwiązanie problemu Rozwiązaniem problemu jest wyznaczenie najmniejszej odległości na jaką zbliżą się do siebie platformy. Kolizja nie nastąpi jeżeli odległość ta będzie większa niż suma promieni okręgów opisanych na korpusach obu platform.

68 Analityczne rozwiązanie problemu Rozwiązaniem problemu jest wyznaczenie najmniejszej odległości na jaką zbliżą się do siebie platformy. Kolizja nie nastąpi jeżeli odległość ta będzie większa niż suma promieni okręgów opisanych na korpusach obu platform. d(t) = (x 1 x 2 ) 2 + (y 1 y 2 ) 2

69 Analityczne rozwiązanie problemu Rozwiązaniem problemu jest wyznaczenie najmniejszej odległości na jaką zbliżą się do siebie platformy. Kolizja nie nastąpi jeżeli odległość ta będzie większa niż suma promieni okręgów opisanych na korpusach obu platform. d(t) = (x 1 x 2 ) 2 + (y 1 y 2 ) 2 { x1 (t) = v x,1 t + x 0,1 y 1 (t) = v y,1 t + y 0,1 { x2 (t) = v x,2 t + x 0,2 y 2 (t) = v y,2 t + y 0,2

70 Analityczne rozwiązanie problemu Rozwiązaniem problemu jest wyznaczenie najmniejszej odległości na jaką zbliżą się do siebie platformy. Kolizja nie nastąpi jeżeli odległość ta będzie większa niż suma promieni okręgów opisanych na korpusach obu platform. d(t) = (x 1 x 2 ) 2 + (y 1 y 2 ) 2 { x1 (t) = v x,1 t + x 0,1 y 1 (t) = v y,1 t + y 0,1 { x2 (t) = v x,2 t + x 0,2 y 2 (t) = v y,2 t + y 0,2

71 Analityczne rozwiązanie problemu Rozwiązaniem problemu jest wyznaczenie najmniejszej odległości na jaką zbliżą się do siebie platformy. Kolizja nie nastąpi jeżeli odległość ta będzie większa niż suma promieni okręgów opisanych na korpusach obu platform. d(t) = (x 1 x 2 ) 2 + (y 1 y 2 ) 2 d(t) = { x1 (t) = v x,1 t + x 0,1 y 1 (t) = v y,1 t + y 0,1 { x2 (t) = v x,2 t + x 0,2 y 2 (t) = v y,2 t + y 0,2 ((v x,1 v x,2 )t + (x 0,1 x 0,2 )) 2 + ((v y,1 v y,2 )t + (y 0,1 y 0,2 )) 2

72 Analityczne rozwiązanie problemu d(t) = ((v x,1 v x,2 )t + (x 0,1 x 0,2 )) 2 + ((v y,1 v y,2 )t + (y 0,1 y 0,2 )) 2

73 Analityczne rozwiązanie problemu d(t) = ((v x,1 v x,2 )t + (x 0,1 x 0,2 )) 2 + ((v y,1 v y,2 )t + (y 0,1 y 0,2 )) 2 d(t) = (v x,12 t + x 0,12 ) 2 + (v y,12 t + y 0,12 ) 2 gdzie v x,12 = v x,1 v x,2 analogicznie x 0,12, v y,12, y 0,12.

74 Analityczne rozwiązanie problemu d(t) = ((v x,1 v x,2 )t + (x 0,1 x 0,2 )) 2 + ((v y,1 v y,2 )t + (y 0,1 y 0,2 )) 2 d(t) = (v x,12 t + x 0,12 ) 2 + (v y,12 t + y 0,12 ) 2 gdzie v x,12 = v x,1 v x,2 analogicznie x 0,12, v y,12, y 0,12. Szukamy wartość t, dla której funkcja d(.) osiąga minimum.

75 Analityczne rozwiązanie problemu d(t) = ((v x,1 v x,2 )t + (x 0,1 x 0,2 )) 2 + ((v y,1 v y,2 )t + (y 0,1 y 0,2 )) 2 d(t) = (v x,12 t + x 0,12 ) 2 + (v y,12 t + y 0,12 ) 2 gdzie v x,12 = v x,1 v x,2 analogicznie x 0,12, v y,12, y 0,12. Szukamy wartość t, dla której funkcja d(.) osiąga minimum. dd(t) dt = 0 v x,12 (v x,12 t + x 0,12 ) + v y,12 (v y,12 t + y 0,12 ) = 0

76 Analityczne rozwiązanie problemu d(t) = ((v x,1 v x,2 )t + (x 0,1 x 0,2 )) 2 + ((v y,1 v y,2 )t + (y 0,1 y 0,2 )) 2 d(t) = (v x,12 t + x 0,12 ) 2 + (v y,12 t + y 0,12 ) 2 gdzie v x,12 = v x,1 v x,2 analogicznie x 0,12, v y,12, y 0,12. Szukamy wartość t, dla której funkcja d(.) osiąga minimum. dd(t) dt = 0 v x,12 (v x,12 t + x 0,12 ) + v y,12 (v y,12 t + y 0,12 ) = 0

77 Analityczne rozwiązanie problemu d(t) = ((v x,1 v x,2 )t + (x 0,1 x 0,2 )) 2 + ((v y,1 v y,2 )t + (y 0,1 y 0,2 )) 2 d(t) = (v x,12 t + x 0,12 ) 2 + (v y,12 t + y 0,12 ) 2 gdzie v x,12 = v x,1 v x,2 analogicznie x 0,12, v y,12, y 0,12. Szukamy wartość t, dla której funkcja d(.) osiąga minimum. dd(t) dt = 0 v x,12 (v x,12 t + x 0,12 ) + v y,12 (v y,12 t + y 0,12 ) = 0 t = v x,12x 0,12 + v y,12 y 0,12 v 2 x,12 + v 2 y,12

78 Finalne rozwiązanie problemu d = ( (v x,1 v x,2 ) v x,12x 0,12 +v y,12 y 0,12 v 2 x,12 +v 2 y,12 ( + (v y,1 v y,2 ) v x,12x 0,12 +v y,12 y 0,12 vx,12 2 +v y,12 2 ) 2 + (x 0,1 x 0,2 ) + (y 0,1 y 0,2 ) 1 2 ) 2

79 Zmiana układu współrzędnych

80 Zmiana układu współrzędnych

81 Zmiana układu współrzędnych

82 Zmiana układu współrzędnych

83 Zmiana układu współrzędnych Transformacja do lokalnego układu współrzędnych platformy nr 2 związanego ze środkiem okręgu opisanego na obrysie jej korpusu. { xl (t) = x 1 (t) x 2 (t) y L (t) = y 1 (t) y 2 (t) { vx,l (t) = v x,1 (t) v x,2 (t) v y,l (t) = v y,1 (t) v y,2 (t)

84 Zmiana układu współrzędnych Transformacja do lokalnego układu współrzędnych platformy nr 2 związanego ze środkiem okręgu opisanego na obrysie jej korpusu. { xl (t) = x 1 (t) x 2 (t) y L (t) = y 1 (t) y 2 (t) { vx,l (t) = v x,1 (t) v x,2 (t) v y,l (t) = v y,1 (t) v y,2 (t) Dzięki zastosowanej transformacji rozwiązanie problemu znacznie się upraszcza. Nie trzeba liczyć pochodnej, gdyż w tym przypadku problem jest natury geometrycznej.

85 Rozwiązanie w układzie lokalnym W lokalnym układzie współrzędnych jednej z platform problem sprowadza się do wyznaczenia odległości prostej od początku układu współrzędnych.

86 Rozwiązanie w układzie lokalnym W lokalnym układzie współrzędnych jednej z platform problem sprowadza się do wyznaczenia odległości prostej od początku układu współrzędnych.

87 Rozwiązanie w układzie lokalnym W lokalnym układzie współrzędnych jednej z platform problem sprowadza się do wyznaczenia odległości prostej od początku układu współrzędnych.

88 Rozwiązanie w układzie lokalnym W lokalnym układzie współrzędnych jednej z platform problem sprowadza się do wyznaczenia odległości prostej od początku układu współrzędnych.

89 Rozwiązanie w układzie lokalnym W lokalnym układzie współrzędnych jednej z platform problem sprowadza się do wyznaczenia odległości prostej od początku układu współrzędnych. d = r sin α

90 Rozwiązanie w układzie lokalnym W lokalnym układzie współrzędnych jednej z platform problem sprowadza się do wyznaczenia odległości prostej od początku układu współrzędnych. d = r sin α d = r sin α = r(e r e V ) z = (r e V ) z = (r V L V L ) z

91 Rozwiązanie w układzie lokalnym W lokalnym układzie współrzędnych jednej z platform problem sprowadza się do wyznaczenia odległości prostej od początku układu współrzędnych. d = r sin α d = r sin α = r(e r e V ) z = (r e V ) z = (r V L V L ) z

92 Rozwiązanie w układzie lokalnym W lokalnym układzie współrzędnych jednej z platform problem sprowadza się do wyznaczenia odległości prostej od początku układu współrzędnych. d = r sin α d = r sin α = r(e r e V ) z = (r e V ) z = (r V L V L ) z

93 Rozwiązanie w układzie lokalnym W lokalnym układzie współrzędnych jednej z platform problem sprowadza się do wyznaczenia odległości prostej od początku układu współrzędnych. d = r sin α d = r sin α = r(e r e V ) z = (r e V ) z = (r V L V L ) z

94 Rozwiązanie w układzie lokalnym W lokalnym układzie współrzędnych jednej z platform problem sprowadza się do wyznaczenia odległości prostej od początku układu współrzędnych. d = r sin α d = r sin α = r(e r e V ) z = (r e V ) z = (r V L V L ) z

95 Rozwiązanie w układzie lokalnym W lokalnym układzie współrzędnych jednej z platform problem sprowadza się do wyznaczenia odległości prostej od początku układu współrzędnych. d = r sin α d = r sin α = r(e r e V ) z = (r e V ) z = (r V L V L ) z d = (r V L) z V L

96 Porównanie rozwiązań d = ( (v x,1 v x,2 ) v x,12x 0,12 +v y,12 y 0,12 v 2 x,12 +v 2 y,12 ( + (v y,1 v y,2 ) v x,12x 0,12 +v y,12 y 0,12 vx,12 2 +v y,12 2 ) 2 + (x 0,1 x 0,2 ) + (y 0,1 y 0,2 ) 1 2 ) 2 d = (r V L) z V L

97 Plan prezentacji Języki modelowania 1 Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 2 3 Definicje klas Definicja metody sprawdzania kolizji

98 Etapy osiągania rozwiązania Analiza Projektowanie Konstrukcja

99 Etapy osiągania rozwiązania Analiza Projektowanie jest odwzorowaniem modelu koncepcyjnego na model implementacji. Konstrukcja

100 Określenie przypadków użycia Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy.

101 Określenie przypadków użycia Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Stworzona procedura będzie wykorzystywana w module detekcji kolizji oraz module planowania trajektrorii.

102 Diagram przypadków użycia Diagram przypadków użycia służy do obrazowania zachowania systemu, podsystemu lub klasy w taki sposób, żeby użytkownicy mogli zrozumieć, jak z tego bytu korzystać, a programiści mogli go zaimplementować.

103 Diagram przypadków użycia

104 Diagram przypadków użycia

105 Diagram przypadków użycia

106 Diagram przypadków użycia

107 Diagram przypadków użycia

108 Diagram przypadków użycia

109 Diagram przypadków użycia

110 Diagram przypadków użycia

111 Diagram czynności Języki modelowania Diagram czynności modeluje dynamiczne aspekty systemu. Demonstruje przepływ sterowania od operacji do operacji.

112 Diagram czynności Języki modelowania

113 Diagram czynności Języki modelowania

114 Diagram czynności Języki modelowania

115 Diagram czynności Języki modelowania

116 Diagram czynności Języki modelowania

117 Diagram czynności Języki modelowania

118 Diagram czynności Języki modelowania

119 Diagram czynności Języki modelowania

120 Diagram klas Języki modelowania Diagram klas służy do obrazowania statycznych aspektów systemu. Bierze się w nim pod uwagę wymagania funkcjonalne (usługi), jakie system powinien udostępniać swoim użytkownikom.

121 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy.

122 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: Własności: Operacje:

123 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) Własności: Operacje:

124 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) Własności: ruch położenie rozmiar Operacje:

125 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) Własności: ruch położenie rozmiar Operacje:

126 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) Własności: ruch położenie rozmiar Operacje:

127 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) Własności: ruch położenie rozmiar Operacje:

128 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) Własności: ruch położenie rozmiar Operacje:

129 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) Własności: ruch położenie rozmiar Operacje: sprawdzenie kolizyjności

130 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) Własności: ruch położenie rozmiar Operacje: sprawdzenie kolizyjności wyznaczanie odległości

131 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) (Po rozwiązaniu analitcznym) Dodatkowe rzeczowniki: wektor Własności: ruch położenie rozmiar Operacje: sprawdzenie kolizyjności wyznaczanie odległości

132 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) (Po rozwiązaniu analitcznym) Dodatkowe rzeczowniki: wektor Własności: ruch położenie rozmiar Operacje: sprawdzenie kolizyjności wyznaczanie odległości

133 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) (Po rozwiązaniu analitcznym) Dodatkowe rzeczowniki: wektor Własności: ruch położenie rozmiar Operacje: sprawdzenie kolizyjności wyznaczanie odległości (Po rozwiązaniu analitycznym) Dodatkowe operacje: odejmowanie wektorów iloczyn skalarny iloczyn wektorowy

134 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) (Po rozwiązaniu analitcznym) Dodatkowe rzeczowniki: wektor Własności: ruch położenie rozmiar Operacje: sprawdzenie kolizyjności wyznaczanie odległości (Po rozwiązaniu analitycznym) Dodatkowe operacje: odejmowanie wektorów iloczyn skalarny iloczyn wektorowy

135 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) (Po rozwiązaniu analitcznym) Dodatkowe rzeczowniki: wektor Własności: ruch położenie rozmiar Operacje: sprawdzenie kolizyjności wyznaczanie odległości (Po rozwiązaniu analitycznym) Dodatkowe operacje: odejmowanie wektorów iloczyn skalarny iloczyn wektorowy

136 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) (Po rozwiązaniu analitcznym) Dodatkowe rzeczowniki: wektor Własności: ruch położenie rozmiar Operacje: sprawdzenie kolizyjności wyznaczanie odległości (Po rozwiązaniu analitycznym) Dodatkowe operacje: odejmowanie wektorów iloczyn skalarny iloczyn wektorowy

137 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) (Po rozwiązaniu analitcznym) Dodatkowe rzeczowniki: wektor Własności: ruch położenie rozmiar Operacje: sprawdzenie kolizyjności wyznaczanie odległości (Po rozwiązaniu analitycznym) Dodatkowe operacje: odejmowanie wektorów iloczyn skalarny iloczyn wektorowy

138 Diagram klas Języki modelowania

139 Diagram klas Języki modelowania

140 Diagram klas Języki modelowania

141 Diagram klas Języki modelowania

142 Diagram klas Języki modelowania

143 Diagram klas Języki modelowania

144 Diagram klas Języki modelowania

145 Diagram klas Języki modelowania

146 Etapy osiągania rozwiązania Definicje klas Definicja metody sprawdzania kolizji Analiza Projektowanie Konstrukcja

147 Etapy osiągania rozwiązania Definicje klas Definicja metody sprawdzania kolizji Analiza Projektowanie Konstrukcja jest odwzorowaniem modelu implementacji na działający system.

148 Plan prezentacji Języki modelowania Definicje klas Definicja metody sprawdzania kolizji 1 Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 2 3 Definicje klas Definicja metody sprawdzania kolizji

149 Definicje klasy Wektor Definicje klas Definicja metody sprawdzania kolizji class Wektor { // public: float x, y; Wektor operator ( Wektor ) const ; float operator ( const Wektor &V ) const { return x V.y y V.x; } float operator & ( const Wektor &V ) const { return x V.x + y V.y; } }; // Wektor Wektor::operator ( Wektor W ) const { W.x = x W.x; W.y = y W.y; } return W;

150 Definicje klasy Wektor Definicje klas Definicja metody sprawdzania kolizji class Wektor { // public: float x, y; Wektor operator ( Wektor ) const ; float operator ( const Wektor &V ) const { return x V.y y V.x; } float operator & ( const Wektor &V ) const { return x V.x + y V.y; } }; // Wektor Wektor::operator ( Wektor W ) const { W.x = x W.x; W.y = y W.y; } return W;

151 Definicje klasy Wektor Definicje klas Definicja metody sprawdzania kolizji class Wektor { // public: float x, y; Wektor operator ( Wektor ) const ; float operator ( const Wektor &V ) const { return x V.y y V.x; } float operator & ( const Wektor &V ) const { return x V.x + y V.y; } }; // Wektor Wektor::operator ( Wektor W ) const { W.x = x W.x; W.y = y W.y; } return W;

152 Definicje klasy Wektor Definicje klas Definicja metody sprawdzania kolizji class Wektor { // public: float x, y; Wektor operator ( Wektor ) const ; float operator ( const Wektor &V ) const { return x V.y y V.x; } float operator & ( const Wektor &V ) const { return x V.x + y V.y; } }; // Wektor Wektor::operator ( Wektor W ) const { W.x = x W.x; W.y = y W.y; } return W;

153 Plan prezentacji Języki modelowania Definicje klas Definicja metody sprawdzania kolizji 1 Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 2 3 Definicje klas Definicja metody sprawdzania kolizji

154 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc this > Predkosc; } Wektor r = PM. Pozycja this > Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+this > R; d = (r V L) z V L

155 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc this > Predkosc; } Wektor r = PM. Pozycja this > Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+this > R; d = (r V L) z V L

156 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc this > Predkosc; } Wektor r = PM. Pozycja this > Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+this > R; d = (r V L) z V L

157 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc this > Predkosc; } Wektor r = PM. Pozycja this > Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+this > R; d = (r V L) z V L

158 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc this > Predkosc; } Wektor r = PM. Pozycja this > Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+this > R; d = (r V L) z V L

159 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc this > Predkosc; } Wektor r = PM. Pozycja this > Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+this > R; d = (r V L) z V L

160 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc this > Predkosc; } Wektor r = PM. Pozycja this > Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+this > R; d = (r V L) z V L Wyliczenie prędkości platformy 1 w lokalnym układzie współrzędnych platformy nr 2.

161 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc this > Predkosc; } Wektor r = PM. Pozycja this > Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+this > R; d = (r V L) z V L Wyliczenie prędkości platformy 1 w lokalnym układzie współrzędnych platformy nr 2.

162 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc this > Predkosc; } Wektor r = PM. Pozycja this > Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+this > R; d = (r V L) z V L Wyliczenie współrzędnych wektora poprowadzone z platformy nr 2 do platformy nr 1.

163 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc this > Predkosc; } Wektor r = PM. Pozycja this > Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+this > R; d = (r V L) z V L Wyliczenie współrzędnych wektora poprowadzone z platformy nr 2 do platformy nr 1.

164 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc this > Predkosc; } Wektor r = PM. Pozycja this > Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+this > R; d = (r V L) z V L Wyliczenie najmniejszej odległości między środkami platform.

165 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc this > Predkosc; } Wektor r = PM. Pozycja this > Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+this > R; d = (r V L) z V L Wyliczenie najmniejszej odległości między środkami platform.

166 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc this > Predkosc; } Wektor r = PM. Pozycja this > Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+this > R; d = (r V L) z V L Porównanie rozmiarów sumy obrysów obu platform z odległością ich największego zbliżenia.

167 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc this > Predkosc; } Wektor r = PM. Pozycja this > Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+this > R; d = (r V L) z V L Porównanie rozmiarów sumy obrysów obu platform z odległością ich największego zbliżenia.

168 Prównanie metody wersus operatory Definicje klas Definicja metody sprawdzania kolizji bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna& PM, float &d) const { Wektor V L = PM. Predkosc.Odejmij(this > Predkosc); } Wektor r = PM. Pozycja.Odejmij(this > Pozycja); d = fabs(r.iloczynwektz(v L))/sqrt(V L.IloczynSkal(V L)); return d < PM. R+this > R; bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna& PM, float &d) const { Wektor V L = PM. Predkosc this > Predkosc; } Wektor r = PM. Pozycja this > Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+this > R;

169 Prównanie metody wersus operatory Definicje klas Definicja metody sprawdzania kolizji bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna& PM, float &d) const { Wektor V L = PM. Predkosc.Odejmij(this > Predkosc); } Wektor r = PM. Pozycja.Odejmij(this > Pozycja); d = fabs(r.iloczynwektz(v L))/sqrt(V L.IloczynSkal(V L)); return d < PM. R+this > R; bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna& PM, float &d) const { Wektor V L = PM. Predkosc this > Predkosc; } Wektor r = PM. Pozycja this > Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+this > R;

170 Prównanie metody wersus operatory Definicje klas Definicja metody sprawdzania kolizji bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna& PM, float &d) const { Wektor V L = PM. Predkosc.Odejmij(this > Predkosc); } Wektor r = PM. Pozycja.Odejmij(this > Pozycja); d = fabs(r.iloczynwektz(v L))/sqrt(V L.IloczynSkal(V L)); return d < PM. R+this > R; bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna& PM, float &d) const { Wektor V L = PM. Predkosc this > Predkosc; } Wektor r = PM. Pozycja this > Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+this > R;

171 Prównanie metody wersus operatory Definicje klas Definicja metody sprawdzania kolizji bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna& PM, float &d) const { Wektor V L = PM. Predkosc.Odejmij(this > Predkosc); } Wektor r = PM. Pozycja.Odejmij(this > Pozycja); d = fabs(r.iloczynwektz(v L))/sqrt(V L.IloczynSkal(V L)); return d < PM. R+this > R; bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna& PM, float &d) const { Wektor V L = PM. Predkosc this > Predkosc; } Wektor r = PM. Pozycja this > Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+this > R;

Wprowadzenie do UML, przykład użycia kolizja

Wprowadzenie do UML, przykład użycia kolizja Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2012 Bogdan Kreczmer Niniejszy dokument

Bardziej szczegółowo

Przykład implementacji przeciażeń operatorów problem kolizji

Przykład implementacji przeciażeń operatorów problem kolizji Przykład implementacji przeciażeń operatorów problem kolizji Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera

Bardziej szczegółowo

Szablony funkcji i szablony klas

Szablony funkcji i szablony klas Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2011 Bogdan Kreczmer Niniejszy dokument

Bardziej szczegółowo

Wprowadzenie do szablonów klas

Wprowadzenie do szablonów klas Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2008-2010 Bogdan Kreczmer Niniejszy

Bardziej szczegółowo

UML w Visual Studio. Michał Ciećwierz

UML w Visual Studio. Michał Ciećwierz UML w Visual Studio Michał Ciećwierz UNIFIED MODELING LANGUAGE (Zunifikowany język modelowania) Pozwala tworzyć wiele systemów (np. informatycznych) Pozwala obrazować, specyfikować, tworzyć i dokumentować

Bardziej szczegółowo

Cel wykładu. Literatura. Wyższa Szkoła Menedżerska w Legnicy. Modelowanie wymagań Wykład 2

Cel wykładu. Literatura. Wyższa Szkoła Menedżerska w Legnicy. Modelowanie wymagań Wykład 2 Wyższa Szkoła Menedżerska w Legnicy Systemy informatyczne w przedsiębiorstwach Zarządzanie, ZIP, sem. 6 (JG) Modelowanie wymagań Wykład 2 Grzegorz Bazydło Cel wykładu Celem wykładu jest przekazanie wiedzy

Bardziej szczegółowo

Wprowadzenie do szablonów szablony funkcji

Wprowadzenie do szablonów szablony funkcji Wprowadzenie do szablonów szablony funkcji Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2010 Bogdan Kreczmer Niniejszy dokument zawiera materiały do

Bardziej szczegółowo

Praca z aplikacją designer

Praca z aplikacją designer Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2014 Bogdan Kreczmer Niniejszy dokument

Bardziej szczegółowo

Schemat konstrukcja pliku Makefile

Schemat konstrukcja pliku Makefile Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2008 Bogdan Kreczmer Niniejszy dokument

Bardziej szczegółowo

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 1 Wprowadzenie do narzędzia CASE. Materiały dla nauczyciela

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 1 Wprowadzenie do narzędzia CASE. Materiały dla nauczyciela Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Laboratorium modelowania oprogramowania w języku UML Ćwiczenie 1 Wprowadzenie do narzędzia CASE

Bardziej szczegółowo

INŻYNIERIA OPROGRAMOWANIA. laboratorium

INŻYNIERIA OPROGRAMOWANIA. laboratorium INŻYNIERIA OPROGRAMOWANIA laboratorium UML 1/4 UML (Unified Modeling Language) - język modelowania obiektowego systemów i procesów [Wikipedia] Spojrzenie na system z różnych perspektyw dzięki zastosowaniu

Bardziej szczegółowo

Podejście obiektowe wprowadzenie

Podejście obiektowe wprowadzenie wprowadzenie Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2013 Bogdan Kreczmer

Bardziej szczegółowo

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language) Zagadnienia (1/3) Rola modelu systemu w procesie analizy wymagań (inżynierii wymagań) Prezentacja różnego rodzaju informacji o systemie w zależności od rodzaju modelu. Budowanie pełnego obrazu systemu

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

Szablon klasy std::list

Szablon klasy std::list Szablon klasy std::list Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2010 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania

Bardziej szczegółowo

Organizacja kursu, paradygmaty, ogólnie o C i C++

Organizacja kursu, paradygmaty, ogólnie o C i C++ Organizacja kursu, paradygmaty, ogólnie o C i C++ Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechniki Wrocławskiej Kurs: Copyright c 2015 Bogdan

Bardziej szczegółowo

Qt sygnały i designer

Qt sygnały i designer Qt sygnały i designer Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2015 Bogdan

Bardziej szczegółowo

Wprowadzenie do UML Rodzaje diagramów Przeglad oprogramowania Zadania Rozwiazania zadań Bibliografia. Warsaw Dziobax

Wprowadzenie do UML Rodzaje diagramów Przeglad oprogramowania Zadania Rozwiazania zadań Bibliografia. Warsaw Dziobax Wprowadzenie do Wprowadzenie do Narzędzia Magda Michalska Krzysztof Kulewski Tomasz Warchoł Mateusz Markowski Andrzej Pacuk Zespołowy Projekt Programistyczny 2006 Plan Wprowadzenie do 1 Wprowadzenie do

Bardziej szczegółowo

UML cz. I. UML cz. I 1/1

UML cz. I. UML cz. I 1/1 UML cz. I UML cz. I 1/1 UML cz. I 2/1 UML - Unified Modeling Language ujednolicony można go współdzielić z wieloma pracownikami modelowania służy do opisu projektowanego modelu język posiada opisaną strukturę

Bardziej szczegółowo

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 3 Ćwiczenia w narzędziu CASE diagram sekwencji. Materiały dla nauczyciela

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 3 Ćwiczenia w narzędziu CASE diagram sekwencji. Materiały dla nauczyciela Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Laboratorium modelowania oprogramowania w języku UML Ćwiczenie 3 Ćwiczenia w narzędziu CASE diagram

Bardziej szczegółowo

Podstawy Programowania Obiektowego

Podstawy Programowania Obiektowego Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja

Bardziej szczegółowo

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla studenta

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla studenta Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Laboratorium modelowania oprogramowania w języku UML Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram

Bardziej szczegółowo

MiASI. Modelowanie systemów biznesowych. Piotr Fulmański. 7 stycznia 2010. Wydział Matematyki i Informatyki, Uniwersytet Łódzki, Polska

MiASI. Modelowanie systemów biznesowych. Piotr Fulmański. 7 stycznia 2010. Wydział Matematyki i Informatyki, Uniwersytet Łódzki, Polska MiASI Modelowanie systemów biznesowych Piotr Fulmański Wydział Matematyki i Informatyki, Uniwersytet Łódzki, Polska 7 stycznia 2010 Spis treści 1 Czym jest system biznesowy? Po co model bizensowy? Czym

Bardziej szczegółowo

Klasa, metody, rozwijanie w linii

Klasa, metody, rozwijanie w linii Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.

Bardziej szczegółowo

Programowanie współbieżne i rozproszone

Programowanie współbieżne i rozproszone Programowanie współbieżne i rozproszone WYKŁAD 11 dr inż. CORBA CORBA (Common Object Request Broker Architecture) standard programowania rozproszonego zaproponowany przez OMG (Object Management Group)

Bardziej szczegółowo

Klasa, metody, rozwijanie w linii

Klasa, metody, rozwijanie w linii Klasa, metody, rozwijanie w linii Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu

Bardziej szczegółowo

Czujniki PSD i dalmierze triangulacyjne

Czujniki PSD i dalmierze triangulacyjne Czujniki PSD i dalmierze triangulacyjne Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechniki Wrocławskiej Kurs: Copyright c 2015 Bogdan Kreczmer

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

Wyliczanie wyrażenia obiekty tymczasowe

Wyliczanie wyrażenia obiekty tymczasowe Wyliczanie wyrażenia obiekty tymczasowe Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2013 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu

Bardziej szczegółowo

Dalmierze optyczne. Bogdan Kreczmer. bogdan.kreczmer@pwr.wroc.pl

Dalmierze optyczne. Bogdan Kreczmer. bogdan.kreczmer@pwr.wroc.pl Dalmierze optyczne Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2013 Bogdan Kreczmer

Bardziej szczegółowo

Unified Modeling Language

Unified Modeling Language Unified Modeling Language Wprowadzenie do UML Igor Gocaliński Odrobina historii Połowa lat 70-tych i koniec 80-tych to początek analizy obiektowej Wiele opracowanych metod w połowie lat 90-tych Metoda

Bardziej szczegółowo

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla nauczyciela

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla nauczyciela Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Laboratorium modelowania oprogramowania w języku UML Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram

Bardziej szczegółowo

Projektowanie interakcji. Jarosław Kuchta

Projektowanie interakcji. Jarosław Kuchta Projektowanie interakcji Jarosław Kuchta Podstawowe pojęcia Interakcja (interaction) Przepływ komunikatów pomiędzy obiektami konieczny dla wykonania określonego zadania. Interakcja występuje w kontekście

Bardziej szczegółowo

Dia rysowanie diagramów

Dia rysowanie diagramów Bogdan Kreczmer bogdan.kreczmer@pwr.edu.pl Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska Kurs: Copyright c 2015 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu

Bardziej szczegółowo

Modelowanie diagramów klas w języku UML. Łukasz Gorzel 244631@stud.umk.pl 7 marca 2014

Modelowanie diagramów klas w języku UML. Łukasz Gorzel 244631@stud.umk.pl 7 marca 2014 Modelowanie diagramów klas w języku UML Łukasz Gorzel 244631@stud.umk.pl 7 marca 2014 Czym jest UML - Unified Modeling Language - Rodzina języków modelowania graficznego - Powstanie na przełomie lat 80

Bardziej szczegółowo

OpenGL oświetlenie. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska

OpenGL oświetlenie. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska OpenGL oświetlenie Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska Kurs: Copyright c 2017 Bogdan Kreczmer Niniejszy dokument zawiera

Bardziej szczegółowo

Zad. 7: Sterowanie robotami mobilnymi w obecności przeszkód

Zad. 7: Sterowanie robotami mobilnymi w obecności przeszkód Zad. 7: Sterowanie robotami mobilnymi w obecności przeszkód 1 Cel ćwiczenia Utrwalenie umiejętności modelowania kluczowych dla danego problemu pojęć. Tworzenie diagramu klas oraz czynności. Wykorzystanie

Bardziej szczegółowo

Modelowanie i analiza systemów informatycznych

Modelowanie i analiza systemów informatycznych Katolicki Uniwersytet Lubelski Jana Pawła II Wydział Matematyki, Informatyki i Architektury Krajobrazu Modelowanie i analiza systemów informatycznych ćwiczenia informacja wstępna dr Viktor Melnyk, prof.

Bardziej szczegółowo

Lista dwukierunkowa - przykład implementacji destruktorów

Lista dwukierunkowa - przykład implementacji destruktorów Lista dwukierunkowa - przykład implementacji destruktorów Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2008 Bogdan Kreczmer Niniejszy dokument zawiera

Bardziej szczegółowo

Zad. 5: Układ równań liniowych liczb zespolonych

Zad. 5: Układ równań liniowych liczb zespolonych Zad. 5: Układ równań liniowych liczb zespolonych 1 Cel ćwiczenia Wykształcenie zdolności abstrahowania operacji arytmetycznych od konkretnych typów. Unaocznienie problemów związanych z programowaniem uogólnionym

Bardziej szczegółowo

Inżynieria oprogramowania Jarosław Kuchta. Modelowanie interakcji

Inżynieria oprogramowania Jarosław Kuchta. Modelowanie interakcji Inżynieria oprogramowania Jarosław Kuchta Modelowanie interakcji Podstawowe pojęcia Interakcja (interaction) Przepływ komunikatów pomiędzy obiektami konieczny dla wykonania określonego zadania. Interakcja

Bardziej szczegółowo

Hermetyzacja oraz pola i metody statyczne

Hermetyzacja oraz pola i metody statyczne Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2010 Bogdan Kreczmer Niniejszy dokument

Bardziej szczegółowo

Wartości domyślne, szablony funkcji i klas

Wartości domyślne, szablony funkcji i klas Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2012 Bogdan Kreczmer Niniejszy dokument

Bardziej szczegółowo

KINEMATYKA I DYNAMIKA CIAŁA STAŁEGO. dr inż. Janusz Zachwieja wykład opracowany na podstawie literatury

KINEMATYKA I DYNAMIKA CIAŁA STAŁEGO. dr inż. Janusz Zachwieja wykład opracowany na podstawie literatury KINEMATYKA I DYNAMIKA CIAŁA STAŁEGO dr inż. Janusz Zachwieja wykład opracowany na podstawie literatury Funkcje wektorowe Jeśli wektor a jest określony dla parametru t (t należy do przedziału t (, t k )

Bardziej szczegółowo

Referencje do zmiennych i obiektów

Referencje do zmiennych i obiektów Referencje do zmiennych i obiektów Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu

Bardziej szczegółowo

UML (Unified Modeling Language jest to sposób formalnego opisu modeli reprezentujących projekty informatyczne.

UML (Unified Modeling Language jest to sposób formalnego opisu modeli reprezentujących projekty informatyczne. 45. UML, jego struktura i przeznaczenie. Przeznaczenie UML (Unified Modeling Language jest to sposób formalnego opisu modeli reprezentujących projekty informatyczne. Pozwala obrazować, specyfikować, tworzyć

Bardziej szczegółowo

Wartości domyślne, przeciażenia funkcji

Wartości domyślne, przeciażenia funkcji Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.

Bardziej szczegółowo

Diagramy czynności Na podstawie UML 2.0 Tutorial

Diagramy czynności Na podstawie UML 2.0 Tutorial Diagramy czynności Na podstawie UML 2.0 Tutorial http://sparxsystems.com.au/resources/uml2_tutorial/ Zofia Kruczkiewicz 1 Diagramy czynności 1. Diagramy czyności UML http://sparxsystems.com.au/resources/uml2_tutorial/

Bardziej szczegółowo

Michał Adamczyk. Język UML

Michał Adamczyk. Język UML Michał Adamczyk Język UML UML I. Czym jest UML Po co UML II.Narzędzia obsługujące UML, edytory UML III.Rodzaje diagramów UML wraz z przykładami Zastosowanie diagramu Podstawowe elementy diagramu Przykładowy

Bardziej szczegółowo

Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty

Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty przedmiotu Stopień studiów i forma: Rodzaj przedmiotu Kod przedmiotu Grupa kursów Zaawansowane techniki analizy

Bardziej szczegółowo

Podejście obiektowe - podstawowe pojęcia

Podejście obiektowe - podstawowe pojęcia Podejście obiektowe - podstawowe pojęcia Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2003 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu

Bardziej szczegółowo

Spis treúci. 1. Wprowadzenie... 13

Spis treúci. 1. Wprowadzenie... 13 Księgarnia PWN: W. Dąbrowski, A. Stasiak, M. Wolski - Modelowanie systemów informatycznych w języku UML 2.1 Spis treúci 1. Wprowadzenie... 13 2. Modelowanie cele i metody... 15 2.1. Przegląd rozdziału...

Bardziej szczegółowo

Style programowania - krótki przeglad

Style programowania - krótki przeglad Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.

Bardziej szczegółowo

Programowanie 2. Język C++. Wykład 3.

Programowanie 2. Język C++. Wykład 3. 3.1 Programowanie zorientowane obiektowo... 1 3.2 Unie... 2 3.3 Struktury... 3 3.4 Klasy... 4 3.5 Elementy klasy... 5 3.6 Dostęp do elementów klasy... 7 3.7 Wskaźnik this... 10 3.1 Programowanie zorientowane

Bardziej szczegółowo

Szablon klasy std::vector

Szablon klasy std::vector Szablon klasy std::vector Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2010 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat

Bardziej szczegółowo

Globalne / Lokalne. Wykład 15. Podstawy programowania (język C) Zmienne globalne / lokalne (1) Zmienne globalne / lokalne (2)

Globalne / Lokalne. Wykład 15. Podstawy programowania (język C) Zmienne globalne / lokalne (1) Zmienne globalne / lokalne (2) Podstawy programowania (język C) Globalne / Lokalne Wykład 15. Tomasz Marks - Wydział MiNI PW -1- Tomasz Marks - Wydział MiNI PW -2- Zmienne globalne / lokalne (1) int A, *Q; // definicja zmiennych globalnych

Bardziej szczegółowo

Zadania z podstaw programowania obiektowego

Zadania z podstaw programowania obiektowego Zadania z podstaw programowania obiektowego 1. Napisać klasę Lista, której zadaniem będzie przechowywanie listy liczb całkowitych. Klasa ta ma mieć następujące pola prywatne: int* liczby; tablica, w której

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

Inżynieria oprogramowania Wprowadzenie. WYKŁAD Piotr Ciskowski

Inżynieria oprogramowania Wprowadzenie. WYKŁAD Piotr Ciskowski Inżynieria oprogramowania Wprowadzenie WYKŁAD Piotr Ciskowski Etapy budowy systemu informatycznego Inżynieria oprogramowania o tworzenie dobrych programów / systemów o Wikipedia: wszelkie aspekty produkcji

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

Wartości domyślne, przeciażenia funkcji

Wartości domyślne, przeciażenia funkcji Wartości domyślne, przeciażenia funkcji Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.

Bardziej szczegółowo

Faza analizy (modelowania) Faza projektowania

Faza analizy (modelowania) Faza projektowania Faza analizy (modelowania) Faza projektowania Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie: co i przy jakich ograniczeniach system ma robić? Wynikiem tej analizy jest zbiór wymagań

Bardziej szczegółowo

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 3 Ćwiczenia w narzędziu CASE diagram sekwencji. Materiały dla studentów

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 3 Ćwiczenia w narzędziu CASE diagram sekwencji. Materiały dla studentów Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Laboratorium modelowania oprogramowania w języku UML Ćwiczenie 3 Ćwiczenia w narzędziu CASE diagram

Bardziej szczegółowo

Diagramy klas. dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com

Diagramy klas. dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com Diagramy klas dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com O czym będzie? Notacja Ujęcie w różnych perspektywach Prezentacja atrybutów Operacje i metody Zależności Klasy aktywne,

Bardziej szczegółowo

Technologie obiektowe. Plan. Ewolucja technik wytwarzania oprogramowania

Technologie obiektowe. Plan. Ewolucja technik wytwarzania oprogramowania Literatura Marek Kisiel-Dorohinicki doroh@agh.edu.pl Brett D. McLaughlin, Gary Pollice, David West Head First Object-Oriented Analysis and Design Martin Fowler UML Distilled ( UML w kropelce ) Grady Booch,

Bardziej szczegółowo

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017 Wykład 12 7 czerwca 2017 Czym jest UML? UML składa się z dwóch podstawowych elementów: notacja: elementy graficzne, składnia języka modelowania, metamodel: definicje pojęć języka i powiazania pomiędzy

Bardziej szczegółowo

Pola i metody statyczne

Pola i metody statyczne Pola i metody statyczne Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2009 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania

Bardziej szczegółowo

Egzamin / zaliczenie na ocenę*

Egzamin / zaliczenie na ocenę* WYDZIAŁ PODSTAWOWYCH PROBLEMÓW TECHNIKI Zał. nr 4 do ZW33/01 KARTA PRZEDMIOTU Nazwa w języku polskim : INŻYNIERIA OPROGRAMOWANIA Nazwa w języku angielskim: SOFTWARE ENGINEERING Kierunek studiów (jeśli

Bardziej szczegółowo

KARTA PRZEDMIOTU. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI Ogólne umiejętności posługiwania się komputerem

KARTA PRZEDMIOTU. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI Ogólne umiejętności posługiwania się komputerem WYDZIAŁ INFORMATYKI I ZARZĄDZANIA Zał. nr 4 do ZW 33/01 KARTA PRZEDMIOTU Nazwa w języku polskim: Nazwa w języku angielskim: Kierunek studiów (jeśli dotyczy): Specjalność (jeśli dotyczy): Stopień studiów

Bardziej szczegółowo

Spis treści. Analiza i modelowanie_nowicki, Chomiak_Księga1.indb :03:08

Spis treści. Analiza i modelowanie_nowicki, Chomiak_Księga1.indb :03:08 Spis treści Wstęp.............................................................. 7 Część I Podstawy analizy i modelowania systemów 1. Charakterystyka systemów informacyjnych....................... 13 1.1.

Bardziej szczegółowo

Zasoby, pliki graficzne

Zasoby, pliki graficzne Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska Kurs: Copyright c 2017 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu

Bardziej szczegółowo

Zaawansowane programowanie w języku C++ Programowanie obiektowe

Zaawansowane programowanie w języku C++ Programowanie obiektowe Zaawansowane programowanie w języku C++ Programowanie obiektowe Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka

Bardziej szczegółowo

UML- Unified Modeling Language Ujednolicony Język Modelowania

UML- Unified Modeling Language Ujednolicony Język Modelowania UML- Unified Modeling Language Ujednolicony Język Modelowania UML jest standardowym językiem do specyfikacji, wizualizacji, budowy i dokumentowania wszystkich artefaktów (wytworów) dowolnego systemu. UML

Bardziej szczegółowo

Inżynieria oprogramowania

Inżynieria oprogramowania Inżynieria oprogramowania Instrukcja do laboratorium rok akad. 2014/2015 Informacje podstawowe: Celem laboratorium jest nabycie przez studentów praktycznej umiejętności wykonywania modeli analitycznych

Bardziej szczegółowo

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas Analiza i projektowanie obiektowe 2016/2017 Wykład 10: Tworzenie projektowego diagramu klas Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Projektowy

Bardziej szczegółowo

Zakres wykładu. Podstawy InŜynierii Oprogramowania

Zakres wykładu. Podstawy InŜynierii Oprogramowania Zakres wykładu Pojęcia podstawowe InŜynierii Oprogramowania Proces wytwarzania oprogramowania Artefakty procesu wytwarzania i ich modele Jakość oprogramowania Literatura: [1] Sacha K., InŜynieria oprogramowania,

Bardziej szczegółowo

Mechanika ogólna. Kinematyka. Równania ruchu punktu materialnego. Podstawowe pojęcia. Równanie ruchu po torze (równanie drogi)

Mechanika ogólna. Kinematyka. Równania ruchu punktu materialnego. Podstawowe pojęcia. Równanie ruchu po torze (równanie drogi) Kinematyka Mechanika ogólna Wykład nr 7 Elementy kinematyki Dział mechaniki zajmujący się matematycznym opisem układów mechanicznych oraz badaniem geometrycznych właściwości ich ruchu, bez wnikania w związek

Bardziej szczegółowo

PARADYGMATY PROGRAMOWANIA Wykład 4

PARADYGMATY PROGRAMOWANIA Wykład 4 PARADYGMATY PROGRAMOWANIA Wykład 4 Metody wirtualne i polimorfizm Metoda wirualna - metoda używana w identyczny sposób w całej hierarchii klas. Wybór funkcji, którą należy wykonać po wywołaniu metody wirtualnej

Bardziej szczegółowo

Analiza i programowanie obiektowe 2016/2017. Wykład 6: Projektowanie obiektowe: diagramy interakcji

Analiza i programowanie obiektowe 2016/2017. Wykład 6: Projektowanie obiektowe: diagramy interakcji Analiza i programowanie obiektowe 2016/2017 Wykład 6: Projektowanie obiektowe: diagramy interakcji Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Przejście

Bardziej szczegółowo

Techniki modelowania programów Kod przedmiotu

Techniki modelowania programów Kod przedmiotu Techniki modelowania programów - opis przedmiotu Informacje ogólne Nazwa przedmiotu Techniki modelowania programów Kod przedmiotu 11.3-WI-INFD-TMP Wydział Kierunek Wydział Informatyki, Elektrotechniki

Bardziej szczegółowo

Wstęp. Ruch po okręgu w kartezjańskim układzie współrzędnych

Wstęp. Ruch po okręgu w kartezjańskim układzie współrzędnych Wstęp Ruch po okręgu jest najprostszym przypadkiem płaskich ruchów krzywoliniowych. W ogólnym przypadku ruch po okręgu opisujemy równaniami: gdzie: dowolna funkcja czasu. Ruch odbywa się po okręgu o środku

Bardziej szczegółowo

Technologie i usługi internetowe cz. 2

Technologie i usługi internetowe cz. 2 Technologie i usługi internetowe cz. 2 Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 15 luty 2014 r. 1 Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to paradygmat programowania,

Bardziej szczegółowo

Inżynieria oprogramowania. Jan Magott

Inżynieria oprogramowania. Jan Magott Inżynieria oprogramowania Jan Magott Literatura do języka UML G. Booch, J. Rumbaugh, I. Jacobson, UML przewodnik użytkownika, Seria Inżynieria oprogramowania, WNT, 2001, 2002. M. Fowler, UML w kropelce,

Bardziej szczegółowo

Fizyka 1 Wróbel Wojciech. w poprzednim odcinku

Fizyka 1 Wróbel Wojciech. w poprzednim odcinku w poprzednim odcinku 1 Opis ruchu Opis ruchu Tor, równanie toru Zależność od czasu wielkości wektorowych: położenie przemieszczenie prędkość przyśpieszenie UWAGA! Ważne żeby zaznaczać w jakim układzie

Bardziej szczegółowo

TEMAT : KLASY DZIEDZICZENIE

TEMAT : KLASY DZIEDZICZENIE TEMAT : KLASY DZIEDZICZENIE Wprowadzenie do dziedziczenia w języku C++ Język C++ możliwa tworzenie nowej klasy (nazywanej klasą pochodną) w oparciu o pewną wcześniej zdefiniowaną klasę (nazywaną klasą

Bardziej szczegółowo

Wstęp do programowania obiektowego. Wykład 2

Wstęp do programowania obiektowego. Wykład 2 Wstęp do programowania obiektowego Wykład 2 1 CECHY I KONCEPCJA PROGRAMOWANIA OBIEKTOWEGO 2 Cechy programowania obiektowego Dla wielu problemów podejście obiektowe jest zgodne z rzeczywistością (łatwe

Bardziej szczegółowo

Wstęp do programowania obiektowego. WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this

Wstęp do programowania obiektowego. WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this Wstęp do programowania obiektowego WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this 1 Nazwa typu Rozmiar Zakres Uwagi bool 1 bit wartości true albo false stdbool.h TYPY ZNAKOWE

Bardziej szczegółowo

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r. M. Trzebiński C++ 1/14 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IVedycja,2016r. IFJ PAN Przygotowanie środowiska pracy Niniejsza

Bardziej szczegółowo

Podstawy robotyki wykład VI. Dynamika manipulatora

Podstawy robotyki wykład VI. Dynamika manipulatora Podstawy robotyki Wykład VI Robert Muszyński Janusz Jakubiak Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Dynamika opisuje sposób zachowania się manipulatora poddanego wymuszeniu

Bardziej szczegółowo

Projektowanie systemów informatycznych. wykład 6

Projektowanie systemów informatycznych. wykład 6 Projektowanie systemów informatycznych wykład 6 Iteracyjno-przyrostowy proces projektowania systemów Metodyka (ang. methodology) tworzenia systemów informatycznych (TSI) stanowi spójny, logicznie uporządkowany

Bardziej szczegółowo

Co to jest wektor? Jest to obiekt posiadający: moduł (długość), kierunek wraz ze zwrotem.

Co to jest wektor? Jest to obiekt posiadający: moduł (długość), kierunek wraz ze zwrotem. 1 Wektory Co to jest wektor? Jest to obiekt posiadający: moduł (długość), kierunek wraz ze zwrotem. 1.1 Dodawanie wektorów graficzne i algebraiczne. Graficzne - metoda równoległoboku. Sprowadzamy wektory

Bardziej szczegółowo

UML i Executable UML

UML i Executable UML 1. Wstęp Alicja KILIŃSKA-WIŚNIEWSKA Politechnika Koszalińska, Wydział Elektroniki i Informatyki E-mail: alicja.kilinska.wisniewska@gmail.com UML i Executable UML Na samym początku należałoby krótko scharakteryzować

Bardziej szczegółowo

Rzutowanie i konwersje

Rzutowanie i konwersje Rzutowanie i konwersje Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2013 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania

Bardziej szczegółowo

Inżynieria oprogramowania I

Inżynieria oprogramowania I Kontakt Inżynieria I Andrzej Jaszkiewicz Andrzej Jaszkiewicz p. 424y, Piotrowo 3a tel. 66 52 371 jaszkiewicz@cs.put.poznan.pl www-idss.cs.put.poznan.pl/~jaszkiewicz Literatura A. Jaszkiewicz, Inżynieria,

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

Podstawy inżynierii oprogramowania

Podstawy inżynierii oprogramowania Podstawy inżynierii oprogramowania Modelowanie. Podstawy notacji UML Aleksander Lamża ZKSB Instytut Informatyki Uniwersytet Śląski w Katowicach aleksander.lamza@us.edu.pl Zawartość Czym jest UML? Wybrane

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

Przeciążanie operatorów

Przeciążanie operatorów Instrukcja laboratoryjna nr 4 Programowanie w języku C 2 (C++ poziom zaawansowany) Przeciążanie operatorów dr inż. Wilk-Jakubowski Jacek mgr inż. Lasota Maciej dr inż. Kaczmarek Tomasz Wprowadzenie Oprócz

Bardziej szczegółowo