czwartek, 28 marca 2013

Diagram obiektów


Diagram obiektów jest "bardziej rzeczywistym" spojrzeniem na diagram klas. Przedstawia strukturę systemu na dowolnym poziomie abstrakcji w danej chwili działania – jest wystąpieniem diagramu klas. Zawiera instancje zamodelowanych wcześniej klas, związki zachodzące między nimi (asocjacje, agregacje, kompozycje, generalizacje) oraz ograniczenia. Można rozumieć, że diagram obiektów jest pewnego rodzaju rozszerzeniem diagramu klas. Stosuje się go w celu ułatwienia zrozumienia diagramu klas o wysokim stopniu złożoności.

Z jednej strony, jak już wspomniano, diagram obiektów może pełnić rolę doprecyzowania istniejącego już diagramu klas. Z drugiej strony, diagram obiektów może również poprzedzać diagram klas. Pełni wtedy rolę opisu obrazu struktury rzeczywistych obiektów. Jest to stosowane zazwyczaj we wczesnych czynnościach analitycznych w celu identyfikacji podstawowych elementów dziedziny problemowej, kiedy niemożliwe jest jeszcze zdefiniowanie klas obiektów, a analiza jest oparta np. na bezpośredniej obserwacji.

Za pomocą diagramu obiektów modelujemy wystąpienie diagramu klas lub statyczną część diagramu komunikacji w ustalonym momencie działania systemu. Nie przedstawiamy na nim przepływu komunikatów.

Obiekt reprezentuje modelowany byt i jest podstawą podejścia obiektowego w modelowaniu świata rzeczywistego. Każdy obiekt wywodzi się z określonej klasy, jest identyfikowalny i posiada ściśle określone granice – mówiące co jest tym obiektem a co nim nie jest. Notacja graficzna obiektu jest podobna do notacji klasy oprócz tego, że nazwa obiektu jest podkreślona.

Obiekt posiada swoją tożsamość, stan i zachowanie. Tożsamość świadczy o tym, że obiekty są między sobą rozróżnialne poprzez samo istnienie (nawet obiekty identyczne posiadające ten sam stan są innymi obiektami). Tożsamość umożliwia więc identyfikację obiektu bez względu na jego otoczenie, świadczy o jego unikalności. Tożsamość obiektów jest zazwyczaj określona przez jego nazwę lub nazwę i identyfikator jego rodzica, czyli nazwę klasy z której dziedziczy. Tożsamość nie jest zmienna w czasie.


Obiekt może być również nienazwany. W tym przypadku oznacza to, że obiekt jest anonimowy i wskazuje na dowolny egzemplarz klasy, nie konkretny egzemplarz, tak jak w przypadku obiektu nazwanego. 


Stan obiektu jest określony przez zestaw jego atrybutów i związków z innymi obiektami. Stan obiektu może się zmieniać w czasie. Zachowanie wyrażone jest przez implementację operacji. 

Obiekt może składać się z innych, mniejszych obiektów, z których każdy może być również obiektem złożonym. Związki między tymi obiektami mogą opisywać ich hierarchię. 

Istnieją także obiekty temporalne (chwilowe), np. lista, bufor, stos. Obiekty te mają ograniczony czas życia w systemie. Mogą być tworzone i usuwane w każdej chwili działania systemu. Nie zachowują swojego stanu. Obiekty trwałe są ich przeciwnością i zachowują stan oraz zachowanie pomiędzy kolejnymi uruchomieniami systemu. Takie obiekty przechowywane są w bazach danych. 

Asocjacja na diagramie obiektów prezentuje związek pomiędzy dwoma lub większą liczbą obiektów. Jest najczęściej stosowanym związkiem na tego typu diagramie. Notacyjnie jest przedstawiana identycznie jak na diagramie klas.

Podobnie jak w przypadku diagramu klas, szczególnym przypadkiem asocjacji między dwoma obiektami jest agregacja. Tutaj także reprezentuje relację typu „całość – część”. Obiekt będący w relacji „całością” zawiera swoje komponenty, czyli obiekty będące jego „częściami”. 


Podobnie jak w przypadku diagramu klas, tutaj także można stosować w podobny sposób związki kompozycji, generalizacji oraz zależności (patrz poprzedni wpis: Diagram klas).








Brak komentarzy:

Prześlij komentarz