Laboratorium z PO Zestaw 06


Programowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 06
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 06
Cel zajęć. Celem zajęć jest zaprojektowanie związków między klasami na podstawie słownego opisu problemu i ich
implementacja.
Wprowadzenie teoretyczne. Rozważana w ramach niniejszych zajęć tematyka jest ważna, gdyż przed
implementacją danej aplikacji należy zaprojektować jej strukturę w postaci diagramu klas. Aby ze zrozumieniem
zrealizować zadania przewidziane do wykonania w ramach zajęć laboratoryjnych, należy znać znaczenie pojęć:
zależności, asocjacji, agregacji, kompozycji.
1. Relacje zachodzące pomiędzy klasami
·ð Zależność  jest najsÅ‚abszym rodzajem powiÄ…zania miÄ™dzy klasami. Zależność pomiÄ™dzy klasami
oznacza, że jedna klasa używa drugiej klasy lub posiada dotyczące niej informacje. Związek ten jest
zazwyczaj krótkotrwały. Zależność występuje, kiedy zmiana specyfikacji jednej z klas może
powodować konieczność wprowadzania zmian w innej klasie. Zależności używa się najczęściej do
pokazania, że jedna klasa używa innej jako parametru jakiejś operacji.
Rys. 6  Graficzna reprezentacja relacji zależności
·ð Asocjacja  jest silniejszym typem powiÄ…zaÅ„ niż zależność. Oznacza, że jeden obiekt jest zwiÄ…zany
z innym przez pewien okres czasu, jednak czas życia obiektów nie jest od siebie zależny (usunięcie
jednego nie powoduje usunięcia drugiego).
Pracownicy Pracodawca
3 Pracuje w
Firma Pracownik
1 1..*
Rys. 7  Graficzna reprezentacja relacji asocjacji
Asocjacja może zawierać nazwę, wraz z kierunkiem asocjacji, role (opcjonalne nazwy zadań klas
w ramach zależności) oraz specyfikację liczebności (liczba obiektów z poszczególnych klas, mogących
kojarzyć się z obiektami innej klasy).
Liczebność może być reprezentowana przez liczby całkowite lub przez przedziały:
-ð 0..1  zero lub jeden obiekt
-ð 0..* - od zera do nieograniczonej liczby obiektów (czÄ™sto reprezentowane również w postaci
 * )
-ð n ..* - od n do nieograniczonej liczby obiektów
-ð m..n  liczba obiektów z przedziaÅ‚u od m do n
Należy pamiętać, że za n i m można również podstawić liczby całkowite.
·ð Agregacja  agregacja jest silniejszÄ… formÄ… asocjacji. Stanowi relacjÄ™ typu caÅ‚ość-część, w której część
może należeć do kilku całości, a całość nie zarządza czasem istnienia części (usunięcie całości nie
powoduje usunięcia części). Obiekt będący całością składa się z określonej liczby
obiektów-składników.
Strona HTML Obrazy
Rys. 8  Graficzna reprezentacja relacji asocjacji
·ð Kompozycja (agregacja caÅ‚kowita)  kompozycja jest najsilniejszym rodzajem powiÄ…zania miÄ™dzy
klasami. Stanowi relację całość-część, w której części są tworzone i zarządzane przez obiekt
1
Programowanie obiektowe
reprezentujący całość.  Część może być zaangażowana tylko w jeden związek tego typu w danym
czasie. Czasy życia instancji biorących udział w takim związku są ze sobą powiązane (usunięcie całości
powoduje usunięcie części).
Strona HTML
head body
Rys. 9  Graficzna reprezentacja relacji kompozycji
Zadanie 1.
Proszę zaprojektować diagram klas na podstawie słownego opisu problemu. Następnie proszę
o implementacjÄ™ zaprojektowanego diagramu.
Opis problemu:
W pewnym ogrodzie zoologicznym znajdują się trzy rodzaje zwierząt: ssaki, ptaki i gady. O każdym
ze zwierząt gromadzone są informacje na temat gatunku, rodzaju pożywienia oraz pochodzenia zwierzęcia.
Każdy z trzech rodzajów zwierząt posiada też pewne unikatowe cechy i/lub umiejętności.
Ptaki potrafią latać, a informacja o maksymalnej długości lotu ptaka bez odpoczynku wyznaczana
jest na podstawie iloczynu rozpiętości skrzydeł ptaka i jego wytrzymałość. Niektóre gady mogą być
jadowite. W zoo gromadzone są także informacje na temat naturalnego środowiska życia ssaków.
Wszystkie zwierzęta trzymane są w klatkach, które mają pewną określoną pojemność. Klatka może
wymagać posprzątania. Każda klatka jest identyfikowana za pomocą unikatowego numeru.
W zoo zatrudnieni są również opiekunowie, którzy odpowiadają m.in. za sprzątanie klatek. Każdy
z nich może być przydzielony do opieki nad kilkoma klatkami.
Dyrekcja zoo potrzebuje na bieżąco sprawdzać informacje na temat wszystkich klatek wraz ze
szczegółowymi informacjami na temat znajdujących się w nich zwierząt oraz na temat opiekunów
pracujÄ…cych w zoo.
Dyrekcja może podjąć decyzję o budowie nowej klatki, powiększeniu klatki, zatrudnieniu nowego
pracownika oraz umieszczeniu w klatce nowego zwierzęcia.
Proszę o zaprojektowanie systemu umożliwiającego dyrekcji podjęcie powyższych działań.
Przy ocenie zadania główny nacisk będzie kładziony na:
żð Utworzony diagram klas.
żð ImplementacjÄ™.
żð Wyniki testów.
Na następnych zajęciach odbędzie się kolokwium!!!
2


Wyszukiwarka

Podobne podstrony:
Laboratorium z PO Zestaw 05
Laboratorium z PO Zestaw 02
Laboratorium z PO Zestaw 01
diagnostyka laboratoryjna giełda 19 06 2008
308 4 inst[1] serw po 04 06
Laboratorium elektrotechniki Ćwiczenie 06

więcej podobnych podstron