Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Projektowanie i programowanie obiektowe II - Wykład IV Copyright by Wojciech Tarnawski dr inż. Wojciech Tarnawski

Podobne prezentacje


Prezentacja na temat: "Projektowanie i programowanie obiektowe II - Wykład IV Copyright by Wojciech Tarnawski dr inż. Wojciech Tarnawski"— Zapis prezentacji:

1 Projektowanie i programowanie obiektowe II - Wykład IV Copyright by Wojciech Tarnawski dr inż. Wojciech Tarnawski

2 Projektowanie systemów informatycznych obiektowo zorientowanych (plan projektu) 1. Identyfikacja zachowań systemu 2. Identyfikacja klas obiektów występujących w systemie 3. Klasyfikacja klas obiektów - pod względem dziedziczenia ( związek uogólniania) - pod względem zawierania się w sobie (powiązanie:agregacja) 4. Określenie powiązań komunikacji i związków użycia między obiektami ze zdefiniowanych klas. 5. Precyzyjna specyfikacja składowych klas (atrybutów i operacji) 6. Składanie modelu logicznego - określenie sekwencji działań obiektów (model funkcjonalny, model dynamiczny, przesyłanie komunikatów) Copyright by Wojciech Tarnawski

3 System obiektowy Model fizyczny Model logiczny Model klas Model funkcjonalny Model dynamiczny Opisuje: Tożsamość Atrybuty Operacje Związki Opisuje wszystkie możliwe stany obiektów i związane z nimi zdarzenia (cykle życiowe obiektów) Opisuje zachowanie się systemu w czasie, umożliwia definicję wzajemnej współpracy i komunikacji między obiektami

4 Budowa modelu funkcjonalnego Model funkcjonalny zajmuje się cyklem życiowym poszczególnych obiektów. Model funkcjonalny reprezentowany jest przy pomocy tzw. diagramu stanów, który opisuje stany w których mogą się znajdować obiekty klas zdefiniowanych w modelu klas. Uwaga: Model funkcjonalny nie wymaga konstrukcji diagramu stanów dla wszystkich klas znajdujących się w modelu klas. Copyright by Wojciech Tarnawski

5 Przy konstrukcji tego modelu szukamy odpowiedzi na następujące pytania: Budowa modelu funkcjonalnego c.d. Co się może stać z obiektem w czasie jego egzystencji ? Jak obiekt reaguje na określone komunikaty? Jak określony komunikat wpływa na stan obiektu (atrybuty obiektu)? Jakie stany może przyjmować obiekt danej klasy? Jak obiekt zauważa, ze coś się wydarzyło w systemie ( nastąpiło jakieś zdarzenie) ? Copyright by Wojciech Tarnawski Uwaga: identyczne komunikaty mogą być interpretowane w różnoraki sposób, w zależności od stanu w jakim znajduje się obiekt.

6 Przykład budowy modelu funkcjonalnego: Copyright by Wojciech Tarnawski

7 Cele konstrukcji modelu funkcjonalnego Znalezienie ewentualnych operacji w danej klasie Opis wewnętrznych zadań realizowanych przez daną klasę Zaprojektowanie odpowiedniego interfejsu obsługującego daną klasę Copyright by Wojciech Tarnawski

8 Podstawowe wskazówki pomocne w definicji cyklu życiowego obiektu 1)Z jakich powodów musimy utworzyć cykl życiowy obiektu? Jakiego rodzaju będzie to cykl ? (tj. liniowy czy cykliczny) Copyright by Wojciech Tarnawski np.: zamówienie (stan 1), realizacja zamówienia (stan 2), sprzedaż (stan 3), archiwizacja (stan 4) np.: stany urządzenia technicznego

9 2)utwórz zbiór tych stanów, w których może się znaleźć każdy obiekt danej klasy Przykłady stanów: jest gotowy, istnieje, jest zainicjowany Stan końcowy wyraża, że obiekt już nie istnieje lub jego zachowanie nie ma wpływu na działanie systemu 3)zanim zdefiniujesz nowy stan w diagramie stanów – sprawdź, czy jest on istotny dla działania systemu oraz czy istnieją wszystkie powiązania i składowe konieczne dla zaistnienia danego stanu 4)dodaj stan do diagramu – stan może być wyrażony przez właściwość, która jest niezmienna w pewnym czasie np. załadowany, unieważniony, wycofany, przetwarzany lub stan opisujący trwanie czynności np.. oczekiwanie, zapamiętywanie, wykonywanie, aktywny Copyright by Wojciech Tarnawski

10 5)gdy zdefiniujesz stan – zastanów się, czy jego istnienie nie będzie związane ze zmianą stanu innego obiektu klasy powiązanej z daną klasą (wywołanie operacji w innej klasie) 6) po zdefiniowaniu i wprowadzeniu nowego stanu do cyklu życiowego obiektu, zastanów się co musi się zdarzyć, aby nastąpiła zmiana z bieżącego stanu do następnego stanu. Zmiana stanu następuje po otrzymaniu informacji o wystąpieniu zdarzenia, które może być wyrażone przez wywołanie operacji tego obiektu 7)wszystkie obiekty danej klasy znajdujące się w tym samym stanie reagują na to samo zdarzenie dokładnie w taki sam sposób. ( należy zatem sprawdzić czy zachowanie się obiektów jest takie same; jeśli nie definicja danej klasy jest nieprecyzyjna i należy ją zmodyfikować) Copyright by Wojciech Tarnawski 8)sprawdź, czy zmiana stanu nie jest tzw. zmianą warunkową tzn. czy jest ona uzależniona od innych dodatkowych warunków

11 Konstrukcja modelu dynamicznego Po definicji cykli życiowych obiektów, a więc określeniu wszystkich stanów, w których może się znaleźć obiekt danej klasy – budujemy model umożliwiający definicję wzajemnej współpracy gwarantującej funkcjonowanie całego systemu. Copyright by Wojciech Tarnawski Model dynamiczny opisuje zachowanie się systemu w czasie, umożliwia definicję wzajemnej współpracy i komunikacji między obiektami. Model dynamiczny opisywany jest przy pomocy tzw. diagramu przepływu danych (diagramu interakcji) między różnymi obiektami. Model dynamiczny jest modelem o charakterze temporalnym – opisuje tymczasowe zachowanie różnych obiektów i ich wzajemne oddziaływanie.

12 Cele konstrukcji modelu dynamicznego znalezienie wszystkich metod ewentualna definicja powiązań służących do przesyłania komunikatów Copyright by Wojciech Tarnawski Konstrukcja diagramu interakcji odbywa się poprzez tzw. analizę przypadków (ang. use cases)

13 Przykład: Copyright by Wojciech Tarnawski

14 Najczęściej stosowane architektury diagramów interakcji: Copyright by Wojciech Tarnawski Diagram scentralizowany (jeden obiekt, który zarządza innymi obiektami) Diagram decentralizowany (kolejne obiekty znają swoich zastępców)


Pobierz ppt "Projektowanie i programowanie obiektowe II - Wykład IV Copyright by Wojciech Tarnawski dr inż. Wojciech Tarnawski"

Podobne prezentacje


Reklamy Google