UML udruga vs. Agregacija vs. Sastav [PRIMJER]
Odnosi u UML dijagramu koriste se za predstavljanje veze izmeฤu razliฤitih stvari. Odnos je veza meฤu stvarima kao ลกto su strukturne, bihevioralne ili grupne.ping stvari u objedinjenom jeziku za modeliranje.
Slijede razliฤite vrste standardnih odnosa u UML-u,
- Udruลพenje
- zavisnost
- Generalizacija
- realizacija
Osim ovih, UML dopuลกta koriลกtenje agregacije i odnosa kompozicije.
UML Udruga
To je strukturni odnos koji predstavlja objekte koji mogu biti povezani ili povezani s drugim objektom unutar sustava. Sljedeฤa ograniฤenja mogu se primijeniti na odnos UML pridruลพivanja.
- {implicitno} โ Implicitna ograniฤenja specificiraju da odnos nije oฤigledan; temelji se na konceptu.
- {naruฤeno} โ Ureฤena ograniฤenja specificiraju da je skup objekata na jednom kraju asocijacije na specifiฤan naฤin.
- {promjenjivo} โ Promjenjivo ograniฤenje navodi da se veza izmeฤu razliฤitih objekata u sustavu moลพe dodavati, uklanjati i modificirati prema zahtjevu.
- {addOnly} โ Odreฤuje da se nove veze mogu dodati iz objekta koji se nalazi na drugom kraju asocijacije.
- {smrznuto} โ Odreฤuje da kada je veza umetnuta izmeฤu dva objekta, tada se ne moลพe mijenjati dok je zamrznuto ograniฤenje aktivno na danoj vezi ili vezi.
Takoฤer moลพemo stvoriti klasu koja ima UML Association svojstva; naziva se asocijativnom klasom.
Refleksivna asocijacija
Refleksivna asocijacija je podvrsta asocijacijskog odnosa u UML. U refleksivnoj asocijaciji, instance iste klase mogu biti povezane jedna s drugom. Za instancu klase takoฤer se kaลพe da je objekt.
Refleksivna asocijacija navodi da veza ili veza mogu biti prisutne unutar objekata iste klase.
Primjer:
Razmotrimo primjer voฤa klase.
Klasa voฤa ima dvije instance, kao ลกto su mango i jabuka. Refleksivna asocijacija navodi da veza izmeฤu manga i jabuke moลพe biti prisutna jer su to primjerci iste klase, kao ลกto je voฤe.

Usmjereno udruลพenje
Kao ลกto naziv sugerira, usmjerena asocijacija povezana je sa smjerom toka unutar klasa asocijacija.
U usmjerenoj asocijaciji tok je usmjeren. Povezanost jedne klase s drugom klasom teฤe samo u jednom smjeru.
Oznaฤava se punom linijom s vrhom strelice.
Primjer asocijacije UML:
Moลพete reฤi da postoji usmjereni asocijacijski odnos izmeฤu posluลพitelja i klijenta.
Posluลพitelj moลพe obraditi zahtjeve klijenta. Ovaj tok je jednosmjeran, teฤe samo od posluลพitelja do klijenta. Stoga usmjereni asocijacijski odnos moลพe biti prisutan unutar posluลพitelja i klijenata sustava.
UML sastav
To nije standard UML odnos, ali se joลก uvijek koristi u raznim primjenama.
Kompozitno zdruลพivanje je podvrsta odnosa zdruลพivanja sa karakteristikama kao ลกto su:
- To je dvosmjerna povezanost izmeฤu objekata.
- To je odnos cjelina/dio.
- Ako se kompozit izbriลกe, briลกu se svi ostali dijelovi povezani s njim.
Kompozitna agregacija opisuje se kao binarna asocijacija ukraลกena ispunjenim crnim dijamantom na agregatnom (cijelom) kraju.
Mapa moลพe sadrลพavati mnogo datoteka, dok svaka datoteka ima toฤno jednu nadreฤenu mapu. Ako se mapa izbriลกe, uklanjaju se i sve sadrลพane datoteke.
U kompozitnoj agregaciji, objekt moลพe biti dio samo jedne kompozitne jedinice u isto vrijeme.
Primjer UML sastava:
Na primjer, u prozorskom sustavu, okvir pripada toฤno jednom prozoru. U kompozitnoj agregaciji cijeli je sustav odgovoran za rasporeฤivanje svojih dijelova, ลกto znaฤi da kompozit mora upravljati stvaranjem i uniลกtavanjem svojih dijelova.
UML agregacija
Agregacija je podvrsta asocijacijskog odnosa u UML-u. Agregacija i sastav su obje vrste asocijacijskog odnosa u UML-u. Odnos zdruลพivanja moลพe se opisati jednostavnim rijeฤima kao "objekt jedne klase moลพe posjedovati ili pristupati objektima druge klase."
U odnosu zdruลพivanja, ovisni objekt ostaje u opsegu odnosa ฤak i kada je izvorni objekt uniลกten.
Primjer UML agregacije:
Razmotrimo primjer automobila i kotaฤa.
Automobilu je potreban kotaฤ da bi ispravno funkcionirao, ali kotaฤu nije uvijek potreban automobil. Takoฤer se moลพe koristiti s biciklom, biciklom ili bilo kojim drugim vozilom, ali ne s odreฤenim automobilom. Ovdje je objekt kotaฤ smislen ฤak i bez objekta automobila. Takav tip odnosa naziva se UML agregacijski odnos.
Udruga vs. Agregacija vs. Sastav
| Udruลพenje | sakupljanje | Sastav |
|---|---|---|
| Veza asocijacije oznaฤena je strelicom. | Odnos agregacije oznaฤen je ravnom linijom s praznim vrhom strelice na jednom kraju. | Odnos sastava oznaฤen je pomoฤu ravne crte s popunjenim vrhom strelice na bilo kojem od krajeva. |
| Povezivanje moลพe postojati izmeฤu dvije ili viลกe klasa u UML-u. | Agregacija je dio asocijacijskog odnosa. | Sastav je dio asocijacijskog odnosa. |
| Meฤu klasama asocijacija moลพe postojati asocijacija jedan-jedan, jedna-viลกe, mnogo-jedan i mnogo-viลกe. | Agregacija se smatra slabom vrstom asocijacije. | Sastav se smatra jakom vrstom asocijacije. |
| U asocijacijskom odnosu, jedan ili viลกe objekata mogu biti povezani jedan s drugim. | U odnosu zdruลพivanja, objekti koji su povezani jedan s drugim mogu ostati u opsegu sustava jedan bez drugog. | U odnosu kompozicije, objekti koji su povezani jedan s drugim ne mogu ostati u opsegu jedan bez drugog. |
| Objekti su meฤusobno povezani. | Povezani objekti ne ovise o drugom objektu. | Objekti su jako ovisni jedni o drugima. |
| U UML Association, brisanje jednog elementa moลพe, ali ne mora utjecati na drugi povezani element. | U UML agregaciji, brisanje jednog elementa ne utjeฤe na drugi povezani element. | U UML kompoziciji, brisanje jednog elementa utjeฤe na drugi povezani element. |
| Primjer: Uฤitelj je povezan s viลกe uฤenika. Or nastavnik daje upute uฤenicima. |
Primjer: Automobilu je potreban kotaฤ, ali nije uvijek potreban isti kotaฤ. Automobil moลพe adekvatno funkcionirati i s drugim kotaฤem. |
Primjer: Datoteka se nalazi unutar mape. Ako izbriลกete mapu, briลกe se i datoteka povezana s tom mapom. |
Rezime
- Odnos je veza izmeฤu stvari.
- Asocijacija, ovisnost, generalizacija i realizacija su razliฤite odnosi koje pruลพa UML.
- Osim standardnih odnosa, unutar UML-a koriste se sastav i agregacija.
- Agregacija i kompozicija su obje vrste asocijacijskih odnosa u UML-u.
- UML sastav je dvosmjerni odnos koji se takoฤer naziva i binarni odnos.
Provjerite naลก ฤlanak o najboljim UML alatima:- Klikni ovdje

