Содержание
- 2. Program zajęć Wprowadzenie w projektowanie i programowanie obiektowe Metody obiektowe projektowania oprogramowania Elementy notacji UML Zaawansowane
- 3. Zaliczenie przedmiotu Zaliczenie przedmiotu - na podstawie: egzaminu oraz zaliczenia zajęć laboratoryjnych. Egzamin w formie: egzaminu
- 4. Zaliczenie przedmiotu Wszystkie konsultacje odbywają się ul. Domagalskiego 7a Terminy: 2016-10-14, 8.50-9.35 2016-10-28, 8.50-9.35 2016-11-18, 8.50-9.35
- 5. Literatura podstawowa Metody obiektowe w teorii i w praktyce – Ian Graham, WNT, 2004 Podstawy metod
- 6. Startujemy!
- 7. Trochę historii … Babilon (1790 p.n.e.) – tablice m.in. o zawartości matematycznej, astronomicznej: Bagdad (780-850) –
- 8. Trochę historii … 1840 – Augusta Ada, córka lorda Byrona, od 19-tego roku życia po ślubie
- 9. Trochę historii … 1946 – powstał ENIAC (Electronic Numerical Integrator and Computer), skonstruowany przez Johna W.
- 10. Trochę historii … Komputer przenośny ☺
- 11. Programowanie … oprogramowanie System komputerowy – układ współdziałania dwóch składowych: sprzętu komputerowego oraz oprogramowania o strukturze:
- 12. Programowanie … oprogramowanie Oprogramowanie – to programy komputerowe, ich dokumentacja, dane, pliki konfiguracyjne i pomocnicze …;
- 13. Wymagania dla dobrego oprogramowania Dobre oprogramowanie powinno zapewniać: użyteczność - dostępność oczekiwanych usług, niezawodność, efektywność, bezpieczeństwo
- 14. Programowanie … oprogramowanie Język programowania powinien: wspomagać wierne odwzorowanie rzeczywistości, wymuszać i wspierać logiczną organizację programu,
- 15. Wymagania dla dobrego oprogramowania
- 16. Wymagania dla dobrego oprogramowania
- 17. Ewolucja technik programowania Obecnie na świecie jest kilka tysięcy języków programowania; Już w 1995 roku na
- 18. Ewolucja technik programowania 1950 1960 1970 1980 1990 2000 Fortran(54) Ada(95) Java(96) A S S E
- 19. Ewolucja technik programowania http://www.tiobe.com
- 20. Podsumowanie http://www.tiobe.com
- 21. Ewolucja technik programowania Paradygmat programowania (ang. programming paradigm) – zaakceptowany powszechnie wzorzec programowania definiujący sposób patrzenia
- 22. Ewolucja technik programowania
- 23. Ewolucja technik programowania Programowanie imperatywne – proces wykonywania programu jest sekwencją instrukcji zmieniających stan programu; Programy
- 24. Ewolucja technik programowania programowanie proceduralne: program = seria procedur, działających na danych; dane całkowicie odseparowane od
- 25. Ewolucja technik programowania Od programowania strukturalnego do obiektowego… F(1) F(2) F(3) … F(n) System zarządzania danymi
- 26. Ewolucja technik programowania Programowanie obiektowe: główne zadanie to modelowanie „obiektów” (tzn. rzeczy, zjawisk), a nie „danych.”;
- 27. Koncepcja obiektowości obiektowość - cecha naturalnego postrzegania świata - analiza otoczenia poprzez relacje między obserwatorem a
- 28. Koncepcja obiektowości Paradygmat obiektowy (podstawowy styl, techniki oraz wspomagające je konstrukcje językowe) : abstrakcja hermetyzacja (kapsułkowanie)
- 29. Koncepcja obiektowości Abstrakcja: Wszystko jest obiektem; Program to zbiór obiektów, które się ze sobą komunikują wysyłając
- 30. Koncepcja obiektowości Obiekt: podstawowa jednostka konstrukcyjna; konkretny lub abstrakcyjny byt (wyróżnialny w modelowanej rzeczywistości) posiadający nazwę,
- 31. Koncepcja obiektowości Klasa: zbiór obiektów, mających wspólne atrybuty i metody; wzorzec dla konkretnych egzemplarzy klasy –
- 32. Koncepcja obiektowości Klasy i ich instancje Jedna klasa może mieć wiele instancji, które różnić się mogą
- 33. Koncepcja obiektowości Hermetyzacja (kapsułkowanie, enkapsulacja) zamknięcie pewnego zestawu bytów programistycznych w “kapsułę” o dobrze określonych granicach;
- 34. Koncepcja obiektowości Dziedziczenie związek pomiędzy klasami obiektów, określający przekazywanie cech (definicji atrybutów, metod, itd.) z nadklasy
- 35. Koncepcja obiektowości class Pojazd { public: virtual void jedz() { cout virtual void hamuj() { cout
- 36. Koncepcja obiektowości class Pojazd { protected: string nazwa; public: Pojazd(string _nazwa) { nazwa = _nazwa; }
- 37. Ewolucja technik programowania Funkcje programu Np. obliczanie wartości X Stany programu (dane) Np. X = [x1,
- 38. Ewolucja technik programowania http://www.tiobe.com
- 39. Ewolucja technik programowania Zestawienie cech wybranych języków programowania
- 40. Ewolucja technik programowania Pamiętać jednak należy, że: Programowanie nie zaczyna się i nie kończy na przekładaniu
- 41. Geneza inżynierii oprogramowania
- 42. Kryzys oprogramowania Od początku lat 60-tych trwa walka z syndromem LOOP; 1968, 1969 - konferencje sponsorowane
- 43. Kryzys oprogramowania
- 44. Kryzys oprogramowania Walka z kryzysem oprogramowania: Usuń przyczyny -> wyeliminujesz zauważone symptomy; Stosowanie technik i narzędzi
- 45. Co to jest inżynieria oprogramowania? Jest to dziedzina inżynierii, która obejmuje wszystkie aspekty tworzenia oprogramowania od
- 46. Co to jest inżynieria oprogramowania? Metodyki: Strategia postępowania oparta na doświadczeniach i heurystykach oraz formalnych elementach;
- 47. Co to jest inżynieria oprogramowania? Techniki: szczegółowo określone sposoby (z wykazem czynności) posługiwania się środkami, w
- 48. Proces tworzenia oprogramowania Jest to zbiór czynności i związanych z nimi wyników, które prowadzą do powstania
- 49. Modele procesu tworzenia oprogramowania Model kaskadowy (wodospadowy) - waterfall model Definiowanie wymagań Projektowanie systemu i oprogramowania
- 50. Modele procesu tworzenia oprogramowania Tworzenie iteracyjne ocena wymagania planowanie planowanie wstępne analiza i projektowanie implementowanie testowanie
- 51. Modele procesu tworzenia oprogramowania Ewolucja inżynierii oprogramowania - podsumowanie: Assembly -> Fortran/COBOL -> Simula -> C++
- 52. Proces tworzenia oprogramowania Zbiór czynności i związanych z nimi wyników, które prowadzą do powstania produktu programowego;
- 53. Czynności procesu tworzenia oprogramowania Projektowanie i implementowanie wymagań: Metody projektowania: Stosowanie metod strukturalnych i obiektowych, które
- 54. Czynności procesu tworzenia oprogramowania Projektowanie i implementowanie oprogramowania: Celem fazy określania wymagań jest udzielenie odpowiedzi na
- 55. Czynności procesu tworzenia oprogramowania Projektowanie i implementowanie oprogramowania: Faza projektowania oprogramowania: opis struktury oprogramowania, które ma
- 56. Czynności procesu tworzenia oprogramowania Projektowanie i implementowanie wymagań: Charakterystyczne składowe analizy i projektowania:
- 57. Projektowanie architektury systemu System informatyczny jest złożoną konstrukcją, której stopień skomplikowania zależy od złożoności architektury; Wielkie
- 58. Projektowanie architektury systemu Modele obiektowe: Model obiektowy architektury systemu dzieli system na zbiór luźno uzależnionych od
- 59. Metodyki strukturalne a obiektowe Metodyki strukturalne: metodyki strukturalne są dojrzałe, lecz mogą nie być adekwatne do
- 60. Obiektowe podejścia do wytwarzania oprogramowania System jest analizowany w sposób obiektowy jeśli: Jest dzielony na obiekty
- 61. Obiektowe podejścia do wytwarzania oprogramowania OODA (Booch Methodology), Object Modelling Technique - OMT (Rumbaugh), Objectory(Jacobson), OOA/OOD(Coad/Yourdon),
- 62. Obiektowe podejścia do wytwarzania oprogramowania OMT-2 (rozwinięcie OMT-1): technika modelowanie obiektów; nacisk na analizę systemów oprogramowania;
- 63. Obiektowe podejścia do wytwarzania oprogramowania Analiza obiektowa opracowanie modelu obiektowego dziedziny zastosowania; rozpoznane obiekty odzwierciedlają byty
- 64. Faza analizy Identyfikacja aktorów: Grupy użytkowników wspierane przez system w: podstawowych i drugoplanowych zadaniach; administrowaniu i
- 65. Faza analizy Identyfikacja klas obiektów - typowe klasy: przedmioty namacalne (np. samochód, czujnik), role pełnione przez
- 66. Faza analizy Obiekty, zbiory obiektów i metadane: W wielu przypadkach przy definicji klasy należy dokładnie ustalić,
- 67. Faza analizy Zalecenia dotyczące identyfikacji klas: Wyraźnie zdefiniować kontekst (w tym opis) klasy; Unikać w nazwie
- 68. Faza analizy Zalecenia dotyczące identyfikacji związków klas: Unikać związków bez klasy docelowej; Pomijać związki z elementami
- 69. Faza analizy Zalecenia dotyczące modelu dynamicznego klas: Koncentrować się na behawioralnych aspektach systemu; Rozpatrzeć interakcje związane
- 70. Faza analizy Kluczowe czynniki sukcesu fazy analizy Zaangażowanie właściwych osób ze strony klienta; Kompleksowe i całościowe
- 71. Od analizy do szczegółowego projektu obiektów Celem projektowania jest opracowanie szczegółowego opisu implementacji systemu. W odróżnieniu
- 72. Faza projektowania Zadania w etapach fazy projektowania: uściślenie istniejących definicji klas, np. metod, dziedziczenie klas i
- 73. Faza projektowania Zadania fazy projektowania – przykład uściślenia definicji metod; Podanie nagłówków metod oraz ich parametrów.
- 74. Faza projektowania Zadania fazy projektowania – przykład sposobu implementacji związków (asocjacji); Związki można zaimplementować na wiele
- 75. Podstawowe rezultaty fazy projektowania Poprawiony i uszczegółowiony dokument opisujący wymagania; Poprawione i uszczegółowione modele; Uszczegółowiona specyfikacja
- 76. RUP Ukierunkowany na przypadki użycia Architekturo-centryczny Iteracyjny Przyrostowy Sterowany ryzykiem
- 77. RUP Dwa wymiary RUP FAZY (ang. phases) PRZEPŁYWY, DYSCYPLINY (ang. disciplines)
- 78. RUP Proces budowy systemu informatycznego składa się z dyscyplin, z których każda dzielona jest na fazy:
- 79. O czym teraz… Geneza i charakterystyka UML; Zapoznanie z wybraną notacją wykorzystywaną w modelowaniu, analizie i
- 80. UML – notacja obiektowa Rodzaje notacji: tekstowo-opisowa, specyfikacje - ustrukturalizowany zapis tekstowy i numeryczny, notacje graficzne;
- 81. UML – notacja obiektowa
- 82. UML – notacja obiektowa Unified Modeling Language – UML The Unified Modeling Language™ (UML™) is the
- 83. UML – składowe Perspektywy modelowe – 4+1: Implementacyjna Przypadków użycia Wdrożenia Logiczna Procesowa
- 84. UML – składowe Słownik UML dzieli się na trzy grupy: elementy, związki (relacje), diagramy; Model –
- 85. UML – elementy Elementami UML są podstawowe obiektowe bloki konstrukcyjne stosowane do budowy modeli: strukturalne statyczne
- 86. UML – elementy Elementami UML są podstawowe obiektowe bloki konstrukcyjne stosowane do budowy modeli: czynnościowe elementy
- 87. UML – elementy Elementami UML są podstawowe obiektowe bloki konstrukcyjne stosowane do budowy modeli: grupujące bloki
- 88. UML – związki Związki: służą do łączenia elementów; w praktyce najczęściej stosowane są powiązanie i uogólnienie;
- 89. UML – związki Związki klas: Zależność Asocjacja Jednokierunkowa Dwukierunkowa Agregacja Kompozycja Generalizacji Realizacja
- 90. UML – notacja związków Przykład: Klasa abstrakcyjna 1..* 1 Widoczność: - private # protected + public
- 91. UML – notacja diagramów Diagram przypadków użycia: Przypadek 1 Przypadek 2 Przypadek 3 Przypadek 4 „extend”
- 92. UML – przykład systemu ewidencji studentów Diagram przypadków użycia
- 93. UML – przykład systemu ewidencji studentów Diagram klas (1) – klasy abstrakcyjne Arkusz rejestracji Kierownik ewidencji
- 94. UML – przykład systemu ewidencji studentów Diagram klas (2) – klasy uszczegółowione Arkusz rejestracji Kierownik ewidencji
- 95. UML – przykład systemu ewidencji studentów Diagram klas (3) – związki klas Arkusz rejestracji Kierownik ewidencji
- 96. UML – przykład systemu ewidencji studentów Diagram klas (4) – skierowanie i krotności związków Arkusz rejestracji
- 97. UML – przykład systemu ewidencji studentów Diagram klas (5) – generalizacja Arkusz rejestracji Kierownik ewidencji Kurs
- 98. UML – przykład systemu ewidencji studentów Diagram sekwencji zdarzeń : Student arkusz rejestracji kierownik ewidencji Kurs
- 99. UML – przykład systemu ewidencji studentów Diagram współpracy : Rejestrujący arkusz kursu : ArkuszKursu Kierownik :
- 100. UML – przykład systemu ewidencji studentów Diagram stanów Inicjalizacja Otwieranie entry: Zarejestruj studenta exit: Zwiększ licznik
- 101. System mapy pogody Przykład z książki Iana Sommerville’a „Inżynieria oprogramowania” System tworzący mapy pogody ma regularnie
- 102. System mapy pogody Zadania systemu: zbieranie danych, integracja danych z różnych źródeł, archiwizowanie danych, tworzenie map
- 103. Architektura warstwowa systemu mapy pogody Warstwa wyświetlania danych Obiekty warstwy przygotowują dane w postaci zrozumiałej dla
- 104. Podsystemy w systemie mapy pogody > Gromadzenie danych Obserwator Balon Stacja meteoro- logiczna Satelita Wspólne >
- 105. Kontekst systemu i modele użycia systemu Pierwszym krok procesu projektowania oprogramowania: zrozumienie związków między projektowanym oprogramowaniem
- 106. Przypadki użycia stacji meteorologicznej
- 107. Przypadki użycia stacji meteorologicznej System Stacja meteorologiczna Przypadek użycia Raportuj Aktorzy System gromadzenia informacji meteorologicznych, Stacja
- 108. Projektowanie architektury Drugi krok procesu projektowania oprogramowania: projektowanie architektury; Architektura na przykładzie automatycznej stacji meteorologicznej (model
- 109. Architektura stacji meteorologicznej
- 110. Klasy obiektów stacji meteorologicznej Trzeci krok procesu projektowania oprogramowania: Identyfikacja (wynajdowanie) klas i obiektów; StacjaMeteorologiczna -
- 111. Klasy obiektów stacji meteorologicznej StacjaMeteorologiczna identyfikator raportPogodowy () dostrój (przyrządy) testuj () uruchom (przyrządy) wyłącz (przyrządy)
- 112. Klasy obiektów stacji meteorologicznej > Interfejs SterownikKomunikacji StacjaMeteorologiczna DaneMeteorologiczne > Gromadzenie danych Stan przyrządów > Przyrządy
- 113. Sekwencja zdarzeń :Sterownik Komunikacji :Stacja Meteorologiczna :Dane Meteorologiczne podsumuj () raportuj () wyślij (raport) żądanie (raport)
- 114. Diagramy stanów Wyłączony Działanie Transmitowanie Testowanie Dostrajanie Oczekiwanie Podsumowywanie Gromadzenie uruchom () wyłącz () zegar koniec
- 115. Specyfikowanie interfejsów obiektów Szósty krok procesu projektowania: specyfikowanie interfejsów między komponentami; Pozwoli to na równoległe projektowanie
- 116. Specyfikowanie interfejsów obiektów Interfejs StacjaMeteorologiczna { public StacjaMeteorologiczna () ; public void uruchom () ; public
- 117. Ewolucja projektu Kolejne kroki projektowania: uszczegółowienie uproszczonego modelu; Zmiana wstępnie ustalonych szczegółów obiektu - nie wpłynie
- 118. Ewolucja projektu Do obiektu StacjaMeteorologiczna na tym samym poziomie co obiekt DaneMeteorologiczne należy dodać obiekt o
- 120. Скачать презентацию