Vrste UML odnosa: pridruživanje, ovisnost, generalizacija

Što je UML odnos?

Odnosi u UML-u koriste se za predstavljanje veze između strukturalnih, bihevioralnih ili grupiranih stvari. Također se naziva veza koja opisuje kako se dvije ili više stvari mogu međusobno povezati tijekom izvođenja sustava. Tipovi UML odnosa su asocijacija, ovisnost, generalizacija i realizacija.

Proučimo ih detaljno

Vrste odnosa UML dijagrama klasa

Odnosi UML dijagrama klasa

Udruženje

To je skup poveznica koje povezuju elemente UML modela. Također definira koliko objekata sudjeluje u toj relaciji.

zavisnost

U odnosu ovisnosti, kao što ime sugerira, dva ili više elemenata ovise jedan o drugome. U ovoj vrsti odnosa, ako napravimo promjenu na određenom elementu, tada je vjerojatno moguće da će promjena utjecati i na sve ostale elemente.

Generalizacija

Naziva se i odnos roditelj-dijete. U generalizaciji, jedan element je specijalizacija druge opće komponente. Može se zamijeniti za njega. Uglavnom se koristi za predstavljanje nasljedstva.

realizacija

U odnosu realizacije UML-a, jedan entitet označava neku odgovornost koja nije implementirana sama od sebe, a drugi entitet koji ih implementira. Ovaj odnos se uglavnom nalazi u slučaju sučelja.

Udruženje

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 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 se veza doda između dva objekta, ne može se mijenjati dok je zamrznuto ograničenje aktivno na danoj vezi ili vezi.

Također možemo stvoriti klasu koja ima svojstva asocijacije; naziva se asocijativnom klasom.

Refleksivna asocijacija

Refleksivna asocijacija je podvrsta asocijacijskog odnosa u UML-u. 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.

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živanje

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:

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.

zavisnost

Koristeći odnos ovisnosti u UML-u, može se povezati kako različite stvari unutar određenog sustava ovise jedna o drugoj. Ovisnost se koristi za opisivanje odnosa između različitih elemenata u UML-u koji ovise jedan o drugome.

stereotipi

  • "vezati" – Povezivanje je ograničenje koje specificira da izvor može inicijalizirati predložak na ciljnoj lokaciji, koristeći dane parametre ili vrijednosti.
  • «izvesti» – Predstavlja da se lokacija izvornog objekta može izračunati iz ciljanog objekta.
  • «prijatelj» – Određuje da izvor ima jedinstvenu vidljivost u ciljnom objektu.
  • «instanceOf» – Određuje da je instanca ciljnog klasifikatora izvorni objekt.
  • «instancirati» – Određuje da izvorni objekt može stvoriti instance ciljnog objekta.
  • «pročistiti» – Određuje da izvorni objekt ima iznimnu apstrakciju od ciljanog objekta.
  • "koristiti" – Koristi se kada se paketi kreiraju u UML-u. Stereotip upotrebe opisuje da elementi izvornog paketa mogu biti prisutni i unutar ciljnog paketa. Opisuje da izvorni paket koristi neke elemente ciljnog paketa.
  • "zamjena" – specificira da klijent može biti zamijenjen dobavljačem tijekom izvođenja.
  • "pristup" – Određuje da izvorni paket pristupa elementima ciljnog paketa što se također naziva privatnim spajanjem.
  • "Uvoz" – Određuje da cilj može uvesti element izvornog paketa onako kako je definiran unutar cilj koji se također naziva javnim spajanjem.
  • "dozvola" – navodi da izvorni element ima pristup elementu dobavljača bez obzira na deklariranu vidljivost dobavljača.
  • «proširiti» – Pomaže vam da odredite da cilj može proširiti ponašanje izvornog elementa.
  • «uključiti» – Omogućuje vam da odredite izvorni element koji može uključiti ponašanje drugog elementa na određenoj lokaciji. (isto kao poziv funkcije u c/c++)
  • "postati" – Određuje da je cilj sličan izvoru s različitim vrijednostima i ulogama.
  • "poziv" – Određuje da izvor može pozvati metodu ciljnog objekta.
  • "kopirati" – Određuje da je ciljni objekt neovisan, kopija izvornog objekta.
  • «parametar» – dobavljač je parametar poslovanja klijenta.
  • «poslati» – klijent je operacija koja dobavljaču šalje neki nespecificirani cilj.

Stereotipi među državnim strojem

  • "poslati" – Određuje da izvorna operacija šalje ciljni događaj.

Generalizacija

To je odnos između općeg entiteta i jedinstvenog entiteta koji je prisutan unutar sustava.

U odnosu generalizacije, objektno orijentirani koncept tzv baština može se provesti. Odnos generalizacije postoji između dva objekta, koji se također nazivaju entiteti ili stvari. U odnosu generalizacije, jedan entitet je roditelj, a drugi je kao dijete. Ti se entiteti mogu predstaviti korištenjem nasljeđivanja.

Kod nasljeđivanja, dijete bilo kojeg roditelja može pristupiti, ažurirati ili naslijediti funkcionalnost kako je navedeno unutar nadređenog objekta. Objekt dijete može sebi dodati svoju funkcionalnost, kao i naslijediti strukturu i ponašanje nadređenog objekta.

Ovaj tip odnosa zajednički je poznat kao odnos generalizacije.

Stereotipi i njihova ograničenja

  • «provedba» – Ovaj se stereotip koristi za predstavljanje da nadređeni entitet implementira entitet dijete nasljeđivanjem strukture i ponašanja nadređenog objekta bez kršenja pravila.bilješke Ovaj stereotip ako se široko koristi u jednom baština.

Odnos generalizacije sadrži ograničenja kao što su potpuni, nepotpuni kako bi se provjerilo jesu li svi podređeni entiteti uključeni u odnos ili ne.

realizacija

U odnosu realizacije UML-a, jedan entitet označava neku odgovornost koja nije implementirana sama od sebe, a drugi entitet koji ih implementira. Ovaj odnos se uglavnom nalazi u slučaju sučelja.

Realizacija se može prikazati na dva načina:

  • Korištenje kanonski oblik
  • Korištenje an elidirani oblik
Realizacija u UML-u
Realizacija u UML-u

U gornjem dijagramu, poslovna pravila računa ostvaruju sučelje IRuleAgent.

Vrste realizacije

  1. Kanonski oblik U odnosu realizacije UML-a, kanonski oblik se koristi za realizaciju sučelja kroz sustav. Koristi stereotip sučelja za stvaranje sučelja, a odnos realizacije koristi se za realizaciju određenog sučelja. U kanonskom obliku, odnos realizacije označen je isprekidanom usmjerenom linijom s velikim otvorenim vrhom strelice. U gornjem dijagramu, sučelje Iruleagent realizirano je korištenjem objekta koji se zove Account Business Rules.
  2. Elidirani oblik Realizacija u UML dijagram klasa također se može prikazati pomoću elidirane forme. U elidiranom obliku, sučelje je označeno pomoću kruga koji se naziva i notacija lizalica. Ovo sučelje, kada se realizira korištenjem bilo čega prisutnog unutar sustava, stvara elided strukturu. U gornjem dijagramu, sučelje Iruleagent je označeno korištenjem elided oblika koji se realizira putem acctrule.dll.

Sastav

To nije standardni UML odnos, ali se još uvijek koristi u raznim aplikacijama.

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.

Kompozicija u UML-u

Kompozicija u UML-u

Mapa je struktura koja u sebi sadrži n datoteka. Mapa se koristi za pohranjivanje datoteka u njoj. Svaka mapa može biti povezana s neograničenim brojem datoteka. U računalnom sustavu svaka je datoteka dio barem jedne mape unutar sustava organizacije datoteka. Ista datoteka može biti i dio druge mape, ali nije obavezno. Svaki put kada se datoteka ukloni iz mape, mapa ostaje nepromijenjena, dok se podaci koji se odnose na tu datoteku uništavaju. Ako se operacija brisanja izvrši na mapi, to također utječe na sve datoteke koje se nalaze unutar mape. Sve datoteke povezane s mapom automatski se uništavaju kada se mapa ukloni iz sustava.

Ova vrsta odnosa u UML-u poznata je kao kompozitni agregacijski odnos.

sakupljanje

An sakupljanje je podtip asocijacijskog odnosa u UML-u. Agregacija i kompozicija su obje vrste asocijacijskih 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.

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 odnos naziva se agregacijski odnos.

rezime

  • Odnos u UML-u dopušta da se jedna stvar poveže s drugim stvarima unutar sustava.
  • Odnosi asocijacije, ovisnosti, generalizacije i realizacije definirani su UML-om.
  • Odnos sastava također se može koristiti za predstavljanje da objekt može biti dio samo jednog sastava u isto vrijeme.
  • Asocijacija se koristi za opisivanje da jedan objekt može biti povezan s drugim objektom.
  • Ovisnost označava da objekti mogu biti ovisni jedni o drugima.
  • Realizacija je smisleni odnos između klasifikatora.
  • Generalizacija se naziva i odnos roditelj-dijete.