WYKŁAD 8

Projektowanie obiektowe.
Punktem wyjścia w obiektowym tworzeniu systemu informacyjnego jest zawsze pewien model biznesowy.
Przykład: Diagram przepływu kosztów w metodzie ABC

Podstawowe koncepcje projektowania obiektowego:

koncepcja obiektu
  • stan wewnętrzny
  • sposób zachowania (jego zmiana wywołuje "efekt domina” - pozostałe elementy systemu muszą się także zmienić - dostosować do zmiany sposobu zachowania obiektu)
  • tożsamość unikatowa
zasada abstrakcji
  • kompozycyjnej (staramy się tu nie uwagi na uwarunkowania funkcjonowania obiektu wypływające z otoczenia)
  • uogólniającej ( specyfikacja lokalna wprowadzania dla szerszego kręgu obiektów o pewnych wspólnych cechach)
zasada hierarchizacji
  • kompozycyjnej
  • dziedziczenia
zasada modularności
  • chodzi o określenie systemu do takiego stopnia, że zasada działania tak wydzielonego obiektu jest łatwo zrozumiała
zasada enkapsulacji
  • oznacza, że każdy obiekt zamknięty jest w tzw. "aktywnym pancerzu” - odbierają/wysyłają sygnały poprzez procedury w nim zawarte

Dwa fundamentalne pojęcia: klasa i obiekt

Cechą charakterystyczną koncepcji klasy jest ukrycie danych przed obiektami zewnętrznymi. Takie zamknięcie danych "w pancerzu” skojarzonych z nimi metod nazywa się enkapsulacją. Obiekty zewnętrzne mają dostęp wyłącznie do funkcji(metod), za pomocą których mogą zlecać wykonywanie operacji na danych.

W takim systemie każdy z obiektów może być programowany przez oddzielnego programistę. Cały system można wtedy budować zestawiając powtarzalne obiekty i klasy w stosownych konfiguracjach na poszczególnych poziomach hierarchii systemu. Na podstawie abstrakcyjnej definicji klasy można wygenerować konkretne obiekty. Klasa = "foremka” dla obiektów. W tradycyjnym podejściu głównym "aktorem” działającym w systemie jest program zarządzający, który aktywizuje poszczególne programy i dane.

W podejściu obiektowym wszystkie obiekty mogą być aktywne jednocześnie, a każdy z nich wykonuje swoją część zadania.

"agent” = procedura + dane <- cechują się dużą autonomią
Obiekty komunikują się ze sobą przesyłając komunikaty.

Z jednej klasy można też wygenerować dalsze klasy, które część własności dziedziczą po klasie macierzystej. Atrybuty dotyczące obiektów wszystkich podklas wygodnie jest umieszczać w definicji klasy nadrzędnej.
Budowa systemu w podejściu obiektowym polega na zestawianiu go z klas, których część może być tworzona specjalnie dla niego, ale większość pochodzi z zasobów.
Typowe źródła klas dla projektu.

© Justyna Milczarek, Krzysztof Król, Tomasz Misztur, Marek Mizera