Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Projektowanie i programowanie obiektowe II - Wykład IV

Podobne prezentacje


Prezentacja na temat: "Projektowanie i programowanie obiektowe II - Wykład IV"— Zapis prezentacji:

1 Projektowanie i programowanie obiektowe II - Wykład IV
dr inż. Wojciech Tarnawski  Copyright by 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 logiczny Model fizyczny Model klas
Model dynamiczny Model funkcjonalny Opisuje zachowanie się systemu w czasie, umożliwia definicję wzajemnej współpracy i komunikacji między obiektami Opisuje wszystkie możliwe stany obiektów i związane z nimi zdarzenia (cykle życiowe obiektów) Opisuje: Tożsamość Atrybuty Operacje Związki  Copyright by Wojciech Tarnawski

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 Budowa modelu funkcjonalnego c.d.
Przy konstrukcji tego modelu szukamy odpowiedzi na następujące pytania: 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) ? Uwaga: identyczne komunikaty mogą być interpretowane w różnoraki sposób, w zależności od stanu w jakim znajduje się obiekt.  Copyright by Wojciech Tarnawski

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
Z jakich powodów musimy utworzyć cykl życiowy obiektu? Jakiego rodzaju będzie to cykl ? (tj. liniowy czy cykliczny) np.: zamówienie (stan 1), realizacja zamówienia (stan 2), sprzedaż (stan 3), archiwizacja (stan 4) np.: stany urządzenia technicznego  Copyright by Wojciech Tarnawski

9 Przykłady stanów: „jest gotowy”, „istnieje”, „jest zainicjowany”
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ć) 8) sprawdź, czy zmiana stanu nie jest tzw. zmianą warunkową tzn. czy jest ona uzależniona od innych dodatkowych warunków  Copyright by Wojciech Tarnawski

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. 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.  Copyright by Wojciech Tarnawski

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

13 Przykład:  Copyright by Wojciech Tarnawski

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


Pobierz ppt "Projektowanie i programowanie obiektowe II - Wykład IV"

Podobne prezentacje


Reklamy Google