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.

Refleksivna asocijacija
Refleksivna asocijacija

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.

Usmjereno udruลพenje

Usmjereno udruลพenje

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.

UML sastav

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 sastav

Sastav

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.

UML agregacijski odnos

sakupljanje

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

Saลพmite ovu objavu uz: