agregacja

background image

AGREGACJA/KOMPOZYCJ

A

background image

Agregacja jest rodzajem asocjacji; zadaniem agregacji jest
modelowanie związku całość-część.

agregacja jest asocjacją: dla obu jej końców są określane liczności, a także może mieć
atrybuty, np.

oddzi
al

Żołnierz

Termin

od
do

*

1..100

agregacja jest wykorzystywana do modelowania związku całość-część

oddzi

Żołnierz

*

1..100

całość

część

background image

Inne nazwy dla ról agregacji:

całość

składa się z

zawiera

obejmuje, itp.

część

wchodzi w skład

należy

jest zawarta w, itp.

Nazwa agregacji i nazwy
jej ról, jako oczywiste,
są pomijane !

A

B

Własności agregacji:

 jest relacją niesymetryczną, tzn. jeśli B jest częścią
A, to A nie jest częścią B

A

B

C jest relacją przechodnią (tranzytywną), tzn. jeśli C jest

częścią B i B jest częścią A, to C jest częścią A

background image

Pojęcie agregacji jest rozumiane na
dwa sposoby:

W UML te dwie sytuacje zostały rozdzielone. Pierwszą formę
nazwano kompozycją.
Kompozycja oznacza, że cykl życiowy składowej zawiera się w
cyklu życiowym całości, oraz że składowa nie może być
współdzielona
.

 Jako związek część-całość pomiędzy obiektami świata
rzeczywistego; np. serce jest częścią czlowieka.
 Jako pomocniczy środek do modelowania dowolnej innej
sytuacji, kiedy trzeba wydzielić podobiekty w pewnych
obiektach. np. informacja o ubezpieczeniach wewnątrz
obiektów pracowników.

Kompozycja jako mocna postać

agregacji

oddział

Żołnierz

*

*

*

agregacja

kompozycja

1

Czlowiek

Serce

background image

Sposoby Implementacji

background image

Możliwosci

 Agregacja może być

implementowana w ten sam
sposób co asocjacja 1-do-wiele.

background image

Pole

Class Oddział{
Final int licznosc = 100;
String rozkazy;
Żołnierze[licznosc]; /* kolekcja

referencji do obiektow skladowych
*/

}
Class Żołnierz{
String rozkazy;
Oddział oddział; /* referencja do

obiektu bedacego caloscia
*/

}

background image

Osobna Klasa

Class termin{

final int licznosc = 100;
Date data;
Oddział całość;
Żołnierz[licznosc];
}

Odpowiednio, zarówno obiekt Oddział, jak i

obiekty Żołnierz muszą zawierać referencje do
obiektu Termin

background image

Klasa Wewnetrzna

Class Niebo{

final int licznosc = 100;
private class Gwiazdy
{

...............

};
Gwiazdy gwiazdy[licznosc];

}

background image

Zalety i Wady

 Zalety

 Ukrywanie implementacji.
 Automatyczna propagacja operacji(Kompozycja).

 Wady

 Wady poszczególnych kolekcji.
 Nieodpowiedni dla agregacji.

background image

Unikalność przynależności

background image

Analiza Problemu

 Elementy składowe powinny(w przypadku

agregacji) wchodzić w skład jedynie jednego
obiektu będącego całością.

 Elementy składowe muszą(w przypadku

kompozycji)
należeć jedynie do jednego obiektu będącego
całością.

 Możemy zaprojektować metodę klasowa która

pozwoli nam na sprawdzenie czy dodawany obiekt
składowy nie jest już częścią innego obiektu

background image

Class Zolnierz{

String stopien;

int wiek;

Zolnierz[] zolnierze = new Zolnierz[licznosc];

public Zolnierz(String stopien, int wiek)

{

this.stopien = stopien;

this.wiek = wiek;

}

}

background image

Class Oddzial{

final int licznosc = 100;

int wsk_dodania = 0;

String rozkazy;

Zolnierz[] zolnierze = new Zolnierz[licznosc];

public Oddzial(String rozkazy)

{

this.rozkazy = rozkazy;

}

public void dod_zolnierza(Zolnierz zolnierz)

{

zolnierze[wsk_dodania++] = zolnierz;

}

public static boolean sprawdz_przynaleznosc(Oddział oddział, zolnierz zolnierz)

{

for(int i = 0; i < oddział.zolnierze.length; i++){

if(oddział.zolnierze[i].equals(zolnierz));

}

return true;

return false;

}

}

background image

ASOCJACJE N-ARNE

background image

Asocjacja n-arna

Asocjacja n-arna to asocjacja, której wystąpienia łączą n obiektów,
będących instancjami co najwyżej n klas: 3-arna - 3 obiekty (inna
nazwa dla tej asocjacji to ternarna), 4-arna - 4 obiekty, itd. Dana klasa
może pojawić się na więcej niż jednej pozycji w asocjacji.

Asocjacja binarna ze swoją uproszczoną notacją i pewnymi dodatkowymi
własnościami (takimi jak możliwość ustalania kierunku nawigowania,
kwalifikatorów, związków agregacji czy kompozycji) jest specjalnym
rodzajem asocjacji n-arnej (dla n=2). Asocjacja binarna i 2-arna są
równoważne, nie istnieje między nimi różnica semantyczna, inny jest
tylko sposób reprezentowania. Wymienione wyżej dodatkowe własności
asocjacji binarnych są zabronione dla asocjacji n-arnych, gdzie n > 2.

Notacja

K1

K2

K3

nazwa

asocjacji

K1

K2

K3

asocjacja

3-arna

asocjacja

4-arna

background image

Oddział

Wojna

Żołnierz

Bitwa

*

*

*

background image

Pole

Utrzymywanie n –1

referencji(możliwie kolekcji
referencji) w każdej klasie jest
dość uciążliwe.

Utrudniona Nawigacja

background image

Osobna klasa

Class Asocjacja_N_Arna
{

Oddzial oddzial;
Zolnierz zolnierz;
...

}
Kazda klasa wchodzaca w sklad asocjacji musi

utrzymywać jedynie referencje do powyższego
obiektu.

background image

Zalety i Wady

 Zalety

 Łatwa nawigacja.
 Niski stopień komplikacji.
 Możliwość wprowadzenia atrybutów asocjacji.

 Wady

 Duża liczba referencji

background image

Obejście asocjacji n-arnej

Asocjacje n-arne mają sens wtedy, gdy do identyfikacji powiązania (n-
arnego) potrzebne są wszystkie obiekty, tzn. gdy liczność każdej z ról
jest “wiele”. W pozostałych przypadkach asocjację n-arną warto jest
zastępować asocjacjami binarnymi, które są łatwiejsze do
implementacji i wyposażone w dodatkowe własności, o których była
mowa poprzednio. Niestety traci się informację o związku, łączącym
grupę obiektów w pewną całość.

K1

K3

K2

KA

a1
a2
m1

Asocjacja n-arna zostaje zamieniona na klasę i n asocjacji
binarnych.

K1

K3

K2

KA

a1
a2
m1

A


Document Outline


Wyszukiwarka

Podobne podstrony:
CWICZENIE DIAGNOZOWANIE AGREGATU MASZYNOWEGO IDENTYFIKACJA PODZESPOLOW
KNOCHE AGREGAT SKM 440 560
Indeksy agregatowe zad id 21263 Nieznany
Indeksy agregatowe, Statystyka - ćwiczenia - Rumiana Górska
04.błąd opisu i twierdzenia agregacyjne, STATYSTYKA
AGREGACJA, AGREGACJA - łączenie danych dotyczących szczebla mikro
Agregat Hiex 200
AE 9A, Agregatowe indeksy wielkości absolutnych
Instr. przyg. emulsji w agregatach Bokota, Instrukcje w wersji elektronicznej
Agregaty uprawowe(1), rolnik2014
Agregat grzewczy, Politechnika Wrocławska
Rachunkowość zarządcza - ściąga , Rachunkowość zarządcza to system gromadzenia, klasyfikacji, agrega
uprawa-2kolos, Struktura gruzełkowata - zdolność gleby do rozpadania się na cząstki różnej wielkości
uprawa-2kolos, Struktura gruzełkowata - zdolność gleby do rozpadania się na cząstki różnej wielkości
Inhibitory agregacji plytek id Nieznany
Instrukcja agregacja
agregacja
Indeksy agregatowe

więcej podobnych podstron