Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

obiektowych UML i związana z nim metodologia Najbardziej popularną metodologią tworzenia obiektowych modeli systemów informatycznych (przydatną szczególnie.

Podobne prezentacje


Prezentacja na temat: "obiektowych UML i związana z nim metodologia Najbardziej popularną metodologią tworzenia obiektowych modeli systemów informatycznych (przydatną szczególnie."— Zapis prezentacji:

1

2 obiektowych UML i związana z nim metodologia Najbardziej popularną metodologią tworzenia obiektowych modeli systemów informatycznych (przydatną szczególnie na etapie ich projektowania) jest język UML i związana z nim metodologia

3 Metodologia Metodologia Metodologia Metodologia wspomaga modelowanie dziedziny problemowej stanowiącej przedmiot projektowanego systemu. Metodologia dostarcza szeregu pojęć, modeli, diagramów, języków, technik i sposobów postępowania. Metodologia jest wykorzystywana zarówno do projektowania pojęciowego, jak i logicznego czy fizycznego.

4 Metodologia ustala fazy realizacji projektu, a ponadto dla każdej z faz projektu wyznacza: 1.role uczestników projektu; 2.scenariusze postępowania; 3.reguły przechodzenia do następnej fazy; 4.modele, które powinny być wytworzone; 5.dokumentację, która powinna powstać; 6.notację, którą należy używać.

5 Proces projektowania systemu informatycznego polega na kolejnym tworzeniu i wzajemnym przekształcaniu wielu modeli

6

7 Etapy tworzenia modeli systemu Diagramy związków encji Uzgodnienie Działalność organizacyjna Istniejąca baza danych Normalizacja Schemat logiczny

8 Przejście od modelu do fizycznej realizacji systemu

9 Podczas projektowania systemu informacyjnego ważną rolę odgrywa notacja Notacja służy do dokumentowania wyników poszczególnych faz projektu, zarówno pośrednich jak i końcowych. Notacja wspomaga ludzką pamięć i wyobraźnię. Właściwa notacja ułatwia komunikację zarówno między członkami zespołu projektowego, jak i między zespołem projektowym a klientem. Notacja jest ważnym elementem metodologii. Kiedy notacja nie jest tą właściwą - może zrodzić wiele problemów!

10 Notacja stosowana w UML jest notacją graficzną, to znaczy większość elementów projektów ma charakter rysunkowy Przykład: Tak zwany diagram przypadków użycia symulatora sieci neuronowych

11 Rysunki mogą obrazować poszczególne elementy projektu z większą albo mniejsza dokładnością Przykład: Ten sam diagram co poprzednio z większą liczbą szczegółów

12 Najczęściej rysunki używane w projektowaniu obiektowym pokazują wzajemne relacje elementów systemu

13 Niestety funkcjonuje kilka różnych notacji prezentujących te zależności

14 Bardziej znane wcześniejsze metodologie i notacje obiektowe

15 OOADA OOSE OMT Największy wpływ na rozwój metodologii obiektowej miały książki trzech znanych metodologów: Grady Booch'a, Ivara Jacobsona i James'a Rumbaugh'a. W książkach tych autorzy opisywali swoje metodologie nadając im nazwy: Booch - OOADA (ang.: Object-Oriented Analisis and Design with Aplications), Jacobson - OOSE (ang.: Object-Oriented Software Engineering), Rumbaugh - OMT (ang.: Object Modeling Technique).

16 Każda metodologia miała mocne oraz słabe strony. Każda metodologia miała mocne oraz słabe strony. OMT było mocne w analizie, ale słabsze w projektowaniu. OOADA na odwrót. Natomiast OOSE było bardzo dobre w analizowaniu potrzeb użytkownika, czego nie uwzględniono ani w OMT, ani w OOADA.

17 Język UML powstał więc jako powszechnie oczekiwana unifikacja

18 Historia UML

19 Przypomnienie: podstawowe pojęcia metodologii obiektowej: Obiekt Obiekt (ang.: Object) jest podstawowym pojęciem w podejściu obiektowym. Obiekt reprezentuję sobą konkretny pojedynczy byt. Obiekt jest charakteryzowany poprzez: identyfikator (nazwę), stan (wartości atrybutów obiektu) oraz zachowanie (operacje obiektu). Zachowanie może zmieniać stan obiektu, od którego pochodzi i/lub stany innych obiektów. Klasa Klasa (ang.: Class) reprezentuje zbiór obiektów, które dzielą strukturę i wspólne zachowanie.

20 Klasa a obiekt Operacjeatrybuty Operacje i atrybuty są definiowane jednorazowo (w klasie). instancjami O obiektach, które należą do danej klasy, mówi się, że są instancjami tej klasy. wartości Instancje te zawierają określone własne (czasem nawet określane jako prywatne) wartości atrybutów klasy. operacje Współdzielą one natomiast operacje klasy. Zachowanie tych instancji jest więc jednolite.

21 Klasa i jej instancje

22 Enkapsulacja dane operacjami Enkapsulacja jest techniką, w której dane są przechowywane w obiektach razem z operacjami, jakie można na nich wykonać. W dodatku dane są zazwyczaj chronione wewnątrz kapsuły utworzonej z operacji, co oznacza, że dowolny obiekt zewnętrzny może wywołać działanie określonej operacji, natomiast nie może bezpośrednio zmienić (ani nawet odczytać) żadnej wewnętrznej danej. użycie operacji Jedynym sposobem dotarcia do danych ukrytych wewnątrz obiektu jest użycie operacji należącej do powłoki kapsuły, która na żądanie wykona stosowną operację na danych. ryzyko Eliminuje to ryzyko niepoprawnego użycia danych obiektu, ponieważ operują na nich zawsze wyłącznie autoryzowane własne operacje tegoż obiektu.

23 Przykład enkapsulowanego obiektu

24 Polimorfizm Polimorfizm jest techniką, w której ukrywa się szczegóły implementacji we wspólnym interfejsie. Polimorfizm upraszcza komunikację pomiędzy obiektami.

25 Model obiektowy oprócz klas i obiektów uwzględnia związki między nimi. zależności a.związek zależności (ang.: Dependency) – oznacza wykorzystanie jednego obiektu przez drugi. Najczęściej dotyczy sytuacji użycia obiektu jako argumentu w operacji obiektu drugiego; generalizacji b.związek generalizacji (ang.: Generalization) – jest relacją między jedną klasą a klasami, które są jej udoskonalonymi wersjami. Klasa, która została udoskonalona nazywa się nadklasą, a każda jej wersja nazywa się podklasą. Każda podklasa dziedziczy cechy swojej nadklasy; asocjacyjny c.związek asocjacyjny (ang.: Association) - oznacza grupę więzi o wspólnej strukturze i znaczeniu. Więź z kolei to połączenie, jakie istnieje między instancjami. Najważniejszą z cech tego związku jest jego typ wyróżniony ze względu na liczność wystąpienia instancji w związku.

26 Typy asocjacji: jeden do jednego jeden do jednego – instancja może mieć tylko jedną więź w danym związku; jeden do wielu jeden do wielu – instancja może mieć wiele więzi w danym związku. Jednak ta instancja, która jest z nią powiązana już nie może mieć więzi więcej niż jedną; wiele do wielu wiele do wielu – zarówno instancja jak i instancje z nią powiązane mogą mieć wiele więzi w danym związku.

27 Typy asocjacji:

28 Specjalne typy asocjacji: Agregacja Agregacja – jest relacją typu całość-część. Jeden element składa się z innych elementów. Agregacja jest relacją antysymetryczną. Oznacza to, że element-całość zawiera elementy-części, lecz elementy-części nie mogą zawierać elementu-całości. Przykładem tego związku jest relacja między linią a punktami. Linia składa się z punktów. Punkty nie zawierają linii. Ponadto punkt może być współdzielony z wieloma liniami

29 Specjalne typy asocjacji: Kompozycja Kompozycja – jest silniejszą formą agregacji. W agregacji elementy-części mogą być wykorzystywane przez inne elementy, jednak w kompozycji żaden element-część nie może być dzielony. Często także się dzieję, że z chwilą zniszczenia elementu-całości ulega zniszczeniu element-część. Przykładem tego związku jest relacją między samochodem a silnikiem. Samochód zawiera silnik. Silnik może być wykorzystywany tylko przez jeden samochód jednocześnie.

30 Czym jest UML? UML jest językiem do specyfikacji, wizualizacji, konstrukcji i dokumentowania projektów związanych z systemami informacyjnymi intensywnie wykorzystującymi oprogramowanie, a także do modelowania biznesowego wszelkich innych systemów.

31 UML oferuje standaryzowany sposób zapisu projektu, obejmującego zarówno jego konceptualne aspekty, takie jak procesy biznesowe czy funkcje systemu, jak też i elementy fizyczne (np. schematy bazy danych).

32 UML zapewnia: 1.semantykę i notacje dotyczącą szerokiej gamy współczesnych aspektów modelowania; 2.semantykę adresującą określone aspekty modelowania, które są przewidywane w przyszłości. Szczególnie chodzi tu o aspekty związane z technologią komponentów, przetwarzaniem rozproszonym, szkieletem (ang.: frameworks) oraz wykonywalnością (ang.: executablility); 3.mechanizmy rozszerzalności, tak aby poszczególne zespoły projektowe mogły rozszerzać język dla potrzeb ich aplikacji przy zmniejszonym wysiłku; 4.semantykę ułatwiającą wymianę danych modelu pomiędzy wieloma narzędziami CASE.

33 Istotnymi składnikami UML są diagramy Wyróżnić możemy między innymi następujące ważniejsze diagramy: Diagramy strukturalneDiagramy strukturalne Diagram klas Diagram komponentów Diagramy behawioralneDiagramy behawioralne Diagram przypadków użycia Diagram sekwencji Diagram aktywności

34 W sumie jednak diagramów używanych w tej metodologii jest więcej. Pełne zestawienie diagramów wykorzystywanych w UML obejmuje: diagram przypadków użycia diagram klasdiagram klas diagram obiektów diagram sekwencji diagram współpracy diagram stanów diagram aktywności diagram komponentów diagram wdrożeniowy

35 diagram klas centralnym diagramem obrazuje statyczną strukturę systemu wykorzystując klasy i ich relacje. Jest w gruncie rzeczy centralnym diagramem w rozważanej tu metodologii

36 Zadania przejmowane i delegowane przez diagram klas

37 diagram przypadków użycia obrazuje sposób w jaki aktorzy (np. ludzie) mogą wykorzystać system. Jego głównym celem jest odwzorowanie funkcji projektowanego systemu w taki sposób, w jaki będą je widzieć jego użytkownicy;

38 diagram obiektów obrazuję statyczną strukturę systemu wykorzystując obiekty (instancje) i ich relacje;

39 diagram sekwencji obrazuję kolejność w czasie wysyłania komunikatów pomiędzy różnymi obiektami w systemie

40 diagram współpracy podobnie jak diagram sekwencji, obrazuję przepływ komunikatów pomiędzy obiektami. Uzupełnia jednak ten obraz o statyczną strukturę obiektów. Obrazuję sposób współpracy grupy obiektów w celu zrealizowania określonego celu

41 diagram stanów obrazuję stany, w których obiekt może się znaleźć w czasie jego istnienia

42 diagram aktywności obrazuję akcje, które są wykonywane (w całości lub częściowo) przez system. Umożliwia zaprezentowanie równoległego wykonywania czynności

43 diagram komponentów obrazuję komponenty, które składają się na aplikację, system lub przedsięwzięcie. Przedstawia powiązania między komponentami oraz ich publiczne interfejsy

44 diagram wdrożeniowy obrazuję architekturę systemu. Prezentuję sposób rozmieszczenia komponentów w określonej konfiguracji sprzętowej

45 Zbiorcza charakterystyka diagramów

46 Związki pomiędzy diagramami

47 Tworząc diagramy trzeba zadbać o właściwy stopień ich szczegółowości Liczba elementów na diagramie powinna być adekwatna do jego celu i odbiorcy. Zbyt ubogi diagram nie spełni zamierzonego celu, zbyt szczegółowy może przysłonić istotne elementy nawet specjaliście, a już na pewno będzie nie czytelny dla osoby nie zaznajomionej ze standardem.

48 CASE Do tworzenia modeli systemu informatycznego wykorzystuję się różnorodne techniki. Poczynając od ołówka i kartki papieru, a kończąc na zaawansowanych programach komputerowych. Programy takie zalicza się do narzędzi CASE (ang.: Computer-aided Software Engineering Tools) wspomagających komputerowo inżynierię oprogramowania.

49 Korzystanie z narzędzi CASE do tworzenia modeli w UMLu ma wiele zalet: 1. ponowne wykorzystanie - stworzony model można bez ograniczeń ponownie wykorzystywać. W szczególności, jeśli narzędzie wykorzystuję zaawansowany interfejs graficzny implementujący mechanizmy "przeciągnij i upuść" (ang.: Drag & Drop), można eksportować określone elementy z jednego modelu do drugiego; 2. wiele perspektyw - prezentację gotowego modelu można dostosować do wymaganej sytuacji. Przykładowo można ukrywać określone elementy bez ich usuwania;

50 Zalety CASE - ciąg dalszy: 3. automatyczne generowanie kodu - zwrot z nakładu pracy poniesionego na stworzenie modelu jest dużo większy, gdy wyeliminowana jest konieczność prostej translacji modelu do kodu w języku programowania. Ponadto automatyczna translacja jest mniej podatna na błędy; 4. sprawdzenie poprawności modelu - zdefiniowane reguły biznesowe i ograniczenia są szybciej i pewniej sprawdzone; 5. szybkie utworzenie modelu przez reinżynierię (ang.: Reverse engineering) - tworzenie modelu ze źródeł programu eliminuję żmudny proces translacji kodu do modelu.

51 Zestawienie przykładowych narzędzi CASE obsługujących notację UML.

52 Omówimy teraz prosty przykład opisujący system (hipotetyczny) mający wspomagać przydzielanie pokoi w akademiku. Na tym przykładzie zilustrowane będą krok po kroku wszystkie modele i diagramy języka UML.

53 Jako pierwszy wygodnie będzie zbudować diagram aktywności Jak wiadomo obrazuje on akcje, które są wykonywane (w całości lub częściowo) przez system. Umożliwia zaprezentowanie równoległego wykonywania czynności

54 Całościowy diagram aktywności: schemat funkcjonowania rezerwacji pokoi w akademikach (fragment)

55 Przykładowy diagram aktywności drobniejszego fragmentu systemu (cofnięcie rezerwacji pokoju)

56 Jako następny zbudujemy diagram przypadków użycia Służy on do prezentacji przypadków użycia i aktorów, którzy pozostają w interakcji z tymi przypadkami. Najważniejsze jest ujawnienie relacji pomiędzy nimi.

57 Diagram przypadków użycia

58 Diagram przypadków użycia z większą liczbą szczegółów

59 Diagramom towarzyszą opisy. Obok podano przykładowy wzorzec opisu przypadku użycia (część rutynowa)

60 Przykładowy wzorzec opisu przypadku użycia (część nierutynowa)

61 Teraz przychodzi czas na zbudowanie diagramu klas. Diagram klas przedstawia obraz strukturalnych powiązań pomiędzy klasami modelowanego systemu. Obraz ten nie uwzględnia upływu czasu. Nie da się więc przy jego użyciu śledzić przepływu zdarzeń i akcji – czyli cech behawioralnych.

62 Diagram klas

63 Struktura rezerwacji z większą liczbą szczegółów - diagram klas

64 kodu programu Diagram klas umożliwia już wygenerowanie kodu programu, który uwzględnia wyodrębnione klasy i ich właściwości. Ta część kodu opisuje statyczne właściwości systemu.

65 Przykład kodu (w języku java) wygenerowanego z diagramu klas

66 Przykład kodu w języku C++

67 Teraz nadchodzi pora na uchwycenie działania systemu w aspekcie behawioralnym. Podstawowym narzędziem, wykorzystywanym do tego celu jest diagram sekwencji.

68 Diagram sekwencji

69 Rezerwacja miejsca w scenariuszu alternatywnym - diagram sekwencji

70 Diagram sekwencji dla symulatora sieci neuronowej Użytkownik naciska klawisz uczklais Wywołanie funkcji obsługi komunikatu WM_BUTTON_UCZ Uruchomienie metody wylicz dla obiektu sieć Sekwencyjnie wywoływanie metody wylicz dla obiektów klasy neuron Uruchomienie metody uczenie dla obiektu sieć Sekwencyjnie wywoływanie metody uczenie dla obiektów klasy neuron Zgłoszenie stanu gotowości Użytkownik naciska klawisz testuj Wywołanie funkcji obsługi komunikatu U_BUTTON_TESTUJ Uruchomienie metody wylicz dla obiektu sieć Sekwencyjnie wywoływanie metody wylicz dla obiektów klasy neuron Użytkownik naciska klawisz opcje Wyświetlenie okna dialogowego Dld Użytkownik naciska klawisz zmiany parametru Wywołanie metody zmieniającej wartość parametru dla obiektu sieć Wywołanie metody zmieniającej wartość parametru – zmiennej statycznej, dla obiektów klasy neuron Użytkownik naciska klawisz zamykający okno Dld

71 Zestawienie informacji zawartych we wcześniej opisanych diagramach pozwala na opis dynamiki działania systemu w postaci diagramu stanów.

72 Diagram stanów (stany pokoju)

73 Stany (pokoju) w większych szczegółach - diagram stanów

74 nie jest idealna. Uwaga końcowa: Metodologia obiektowa także nie jest idealna. Wiele celów łatwiej jest czasem osiągnąć stosując tradycyjne metody projektowania, takie jak metodologia strukturalna i tradycyjne narzędzie, takie jak diagramy encji i relacji.

75 bezpiecznej Jednak ze względu na konieczność zapewnienia bezpiecznej pracy przy tworzeniu dużych systemów informatycznych przez duże zespoły projektantów – właśnie ta metodologia będzie zapewne dominująca w przyszłości.


Pobierz ppt "obiektowych UML i związana z nim metodologia Najbardziej popularną metodologią tworzenia obiektowych modeli systemów informatycznych (przydatną szczególnie."

Podobne prezentacje


Reklamy Google