Vrste UML odnosa: pridruživanje, ovisnost, generalizacija
⚡ Pametni sažetak
UML odnosi povezuju strukturne, bihevioralne i grupne elemente.ping elementi modela, koji pokazuju kako objekti ovise jedan o drugome tijekom izvršavanja. Ovaj resurs objašnjava povezivanje, ovisnost, generalizaciju, realizaciju, sastav i agregaciju, s notacijom i primjerima iz stvarnog svijeta za svaku vrstu.

Što je UML odnos?
Odnosi u UML-u koriste se za predstavljanje veze između strukturnih, bihevioralnih ili grupnihping stvari. Također se naziva vezom koja opisuje kako se dvije ili više stvari mogu međusobno povezati tijekom izvršavanja sustava. Vrste UML odnosa su asocijacija, ovisnost, generalizacija i realizacija.
Proučimo ih detaljno
Vrste odnosa 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 iznimne abstraccija nego ona ciljnog 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 neku neodređenu metu.
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ška: Ovaj stereotip 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

U gornjem dijagramu, poslovna pravila računa ostvaruju sučelje IRuleAgent.
Vrste realizacije
- Kanonski oblik: U realizacijskom odnosu UML-a, kanonski oblik se koristi za realizaciju sučelja u sustavu. Koristi stereotip sučelja za stvaranje sučelja, a realizacijski odnos se koristi za realizaciju određenog sučelja. U kanonskom obliku, realizacijski odnos je označen isprekidanom usmjerenom linijom s velikim otvorenim vrhom strelice. Na gornjem dijagramu, sučelje Iruleagent realizirano je pomoću objekta nazvanog Account Business Rules.
- Izostavljeni oblik: Ostvarenje u UML dijagram klasa može se prikazati i pomoću elidiranog oblika. U elidiranom obliku, sučelje je označeno krugom koji se naziva i notacija lizalice. Ovo sučelje, kada se realizira korištenjem bilo čega prisutnog unutar sustava, stvara elidiranu strukturu. U gornjem dijagramu, sučelje Iruleagent označeno je pomoću elidiranog oblika koji se realizira pomoću 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.
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 odnosa asocijacije u UML-u. Agregacija i kompozicija su obje vrste odnosa asocijacije u UML-u. Odnos agregacije može se opisati jednostavnim riječima kao „objekt jedne klase može posjedovati ili pristupiti 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.

