Što je UML odnos?
Odnosi u UML- u koriste se za predstavljanje veze između strukturnih, bihevioralnih ili grupirajućih stvari. Naziva se i poveznicom koja opisuje kako se dvije ili više stvari mogu međusobno povezati tijekom izvršavanja sustava. Tipovi UML odnosa su udruživanje, ovisnost, generalizacija i realizacija.
Proučimo ih detaljno
- Udruživanje
To je skup poveznica koji povezuje elemente UML modela. Također definira koliko predmeta sudjeluje u toj vezi.
- Ovisnost
U odnosu ovisnosti, kao što i samo ime govori, dva ili više elemenata međusobno ovise. U ovoj vrsti odnosa, ako napravimo promjenu na određenom elementu, tada je vjerojatno da će na promjenu utjecati i svi ostali elementi.
- Generalizacija
Naziva se još i odnos roditelja i djeteta. U generalizaciji, jedan je element specijalizacija druge opće komponente. Može ga zamijeniti. Uglavnom se koristi za predstavljanje nasljedstva.
- Realizacija
U odnosu realizacije UML-a, jedan entitet označava neku odgovornost koja se ne provodi sama od sebe, a drugi entitet koji ih provodi. Taj se odnos uglavnom nalazi u slučaju sučelja.
U ovom UML tutorialu naučit ćete:
- Udruživanje
- Ovisnost
- Generalizacija
- Realizacija
- Sastav
- Zbrajanje
Udruživanje
To je strukturni odnos koji predstavlja objekte koji se mogu povezati ili povezati s drugim objektom unutar sustava. Na odnos pridruživanja mogu se primijeniti sljedeća ograničenja.
- {implicitno} - Implicitna ograničenja određuju da odnos nije manifestiran; temelji se na konceptu.
- {poredano} - Uređena ograničenja određuju da je skup objekata na jednom kraju asocijacije na određeni način.
- {promjenjivo} - Promjenjivo ograničenje navodi da se veza između različitih objekata u sustavu može dodavati, uklanjati i mijenjati prema zahtjevu.
- {addOnly} - Određuje da se nove veze mogu dodati iz objekta koji se nalazi na drugom kraju asocijacije.
- {zamrznuto} - Navodi da kada se doda veza između dva objekta, tada se ne može mijenjati dok je zamrznuto ograničenje aktivno na datoj vezi ili vezi.
Također možemo stvoriti klasu koja ima svojstva pridruživanja; naziva se asocijacijskim razredom.
Refleksivna asocijacija
Refleksivna asocijacija podtip je odnosa asocijacije u UML-u. U refleksivnoj asocijaciji primjerci iste klase mogu se međusobno povezati. Za primjerak klase također se kaže da je objekt.
Refleksivna asocijacija navodi da veza ili veza mogu biti prisutni unutar objekata iste klase.
Razmotrimo primjer razrednog voća. Klasa voća ima dva slučaja, poput manga i jabuke. Refleksivna asocijacija navodi da može postojati veza između manga i jabuke jer su primjerci iste klase, poput voća.
Usmjereno udruživanje
Kao što i samo ime govori, usmjereno povezivanje povezano je sa smjerom toka unutar klasa udruživanja.
U usmjerenoj asocijaciji usmjerava se tok. Asocijacija iz jedne klase u drugu klasu teče samo u jednom smjeru.
Označava se pomoću pune crte s vrhom strelice.
Primjer:
Možete reći da postoji usmjerena povezanost između poslužitelja i klijenta. Poslužitelj može obrađivati zahtjeve klijenta. Taj je tok jednosmjeran, teče samo od poslužitelja do klijenta. Stoga usmjereni odnos pridruživanja može biti prisutan unutar poslužitelja i klijenata sustava.
Ovisnost
Koristeći odnos ovisnosti u UML-u, može se povezati kako su različite stvari unutar određenog sustava međusobno ovisne. Ovisnost se koristi za opis odnosa između različitih elemenata u UML-u koji su međusobno ovisni.
Stereotipi
- «Vezanje» - vezanje je ograničenje koje određuje da izvor može inicijalizirati predložak na ciljnom mjestu, koristeći predviđene parametre ili vrijednosti.
- «Izvesti» - predstavlja da se mjesto izvornog objekta može izračunati iz ciljnog objekta.
- «Prijatelj» - navodi da izvor ima jedinstvenu vidljivost u ciljnom objektu.
- «InstanceOf» - specificira da je instanca ciljnog klasifikatora izvorni objekt.
- «Instancija» - Određuje da je izvorni objekt sposoban stvoriti instance ciljnog objekta.
- «Pročišćavanje» - specificira da izvorni objekt ima izuzetnu apstrakciju od ciljanog objekta.
- «Use» - 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 ciljanog paketa.
- «Zamjena» - određuje da klijent može zamijeniti dobavljača tijekom izvođenja.
- «Pristup» - Određuje da izvorni paket pristupa elementima ciljnog paketa koji se naziva i privatnim spajanjem.
- «Uvoz» - Određuje da cilj može uvesti element izvornog paketa onako kako su definirani unutar cilja, što 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či» - omogućuje vam da odredite izvorni element koji može biti uključen u ponašanje drugog elementa na određenom mjestu. (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.
- «Copy» - Određuje da je ciljni objekt neovisan, kopija izvornog objekta.
- «Parametar» - dobavljač je parametar klijentovih operacija .
- «Slati» - klijent je operacija koja dobavljaču šalje neki neodređeni cilj.
Stereotipi među državnim strojevima
- «Pošalji» - Navodi 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 generalizacijskom odnosu može se provesti objektno orijentirani koncept nazvan nasljeđivanje . Postoji odnos generalizacije između dva predmeta, koji se nazivaju i entiteti ili stvari. U generalizacijskom odnosu jedan je entitet roditelj, a za drugog se kaže da je dijete. Ti se entiteti mogu predstaviti nasljeđivanjem.
U nasljeđivanju, dijete bilo kojeg roditelja može pristupiti, ažurirati ili naslijediti funkcionalnost kako je navedeno unutar nadređenog objekta. Podređeni objekt može dodati svoju funkcionalnost sebi, kao i naslijediti strukturu i ponašanje roditeljskog objekta.
Ova vrsta odnosa zajednički je poznata kao odnos generalizacije.
Stereotipi i njihova ograničenja
- «Implementacija» - Ovaj se stereotip koristi za predstavljanje da nadređeni entitet implementira podređeni entitet nasljeđivanjem strukture i ponašanja nadređenog objekta bez kršenja pravila. Napomena Ovaj stereotip ako se široko koristi u pojedinačnom nasljeđivanju .
Generalizacijski odnos sadrži ograničenja kao što su potpuna, nepotpuna kako bi se provjerilo jesu li svi podređeni entiteti uključeni u vezu ili ne.
Realizacija
U odnosu realizacije UML-a, jedan entitet označava neku odgovornost koja se ne provodi sama od sebe, a drugi entitet koji ih provodi. Taj se odnos uglavnom nalazi u slučaju sučelja.
Realizacija se može predstaviti na dva načina:
- Upotrebom kanonskog oblika
- Korištenjem elidiranog obrasca
U gornjem dijagramu, poslovna pravila računa ostvaruju sučelje IRuleAgent.
Vrste realizacije:
- Kanonski oblik
U odnosu realizacije UML-a, kanonski se oblik koristi za ostvarivanje sučelja u cijelom sustavu. Koristi stereotip sučelja za stvaranje sučelja, a odnos realizacije koristi se za ostvarenje određenog sučelja.
U kanonskom se obliku odnos realizacije označava crtkanom usmjerenom linijom s velikim otvorenim vrhom strelice.
U gornjem dijagramu, sučelje Iruleagent realizirano je pomoću objekta koji se naziva poslovna pravila računa.
- Izbrisan oblik
Realizacija u dijagramu UML klase također se može prikazati pomoću elidiranog obrasca. U izbačenom obliku, sučelje se označava pomoću kruga koji se naziva i oznaka lizalice.
Ovo sučelje, kad se ostvari pomoću bilo čega što je prisutno u sustavu, stvara izbačenu strukturu.
U gornjem dijagramu sučelje Iruleagent označeno je pomoću izbačenog oblika koji je ostvaren pomoću acctrule.dll.
Sastav
To nije standardni UML odnos, ali se i dalje koristi u raznim aplikacijama.
Složeno agregiranje je podvrsta agregacijskog odnosa s karakteristikama kao:
- to je dvosmjerna asocijacija između predmeta.
- To je odnos cjelina / dio.
- Ako se kompozit izbriše, brišu se svi ostali dijelovi povezani s njim.
Kompozitna agregacija opisana je kao binarna asocijacija ukrašena ispunjenim crnim dijamantom na kraju agregata (cijelog).
Mapa je struktura koja sadrži n broj datoteka u sebi. Mapa se koristi za spremanje datoteka u nju. Svaka mapa može biti povezana s bilo kojim brojem datoteka. U računalnom sustavu svaka je datoteka dio barem jedne mape unutar sustava organizacije datoteka. Ista datoteka također može biti dio druge mape, ali nije obavezna. Kad god se datoteka ukloni iz mape, mapa ostaje nepromijenjena, dok se podaci koji se odnose na tu određenu datoteku uništavaju. Ako se na mapi izvrši operacija brisanja, to također utječe na sve datoteke koje se nalaze u mapi. Sve datoteke povezane s mapom automatski se uništavaju nakon što se mapa ukloni iz sustava.
Ova vrsta odnosa u UML-u poznata je po složenom odnosu agregacije.
Zbrajanje
Agregacija je podvrsta odnosa pridruživanja u UML-u. Agregacija i sastav obje su vrste odnosa udruživanja u UML-u. Odnos agregiranja može se jednostavnim riječima opisati kao "objekt jedne klase može posjedovati ili pristupiti objektima druge klase."
U odnosu agregacije, ovisni objekt ostaje u opsegu odnosa čak i kada je izvorni objekt uništen.
Razmotrimo primjer automobila i kotača. Automobil treba 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 i s određenim automobilom. Ovdje je predmet kotača smislen i bez predmeta automobila. Takav tip odnosa naziva se agregacijski odnos.
Sažetak
- Odnos u UML-u omogućuje povezivanje jedne stvari s drugim stvarima unutar sustava.
- Odnosi udruživanja, ovisnosti, generalizacije i realizacije definirani su UML-om.
- Odnos kompozicije može se koristiti i za predstavljanje da objekt istovremeno može biti dio samo jednog kompozita.
- Asocijacija se koristi za opisivanje da se jedan objekt može povezati s drugim objektom.
- Ovisnost označava da objekti mogu biti međusobno ovisni.
- Ostvarenje je smislen odnos između klasifikatora.
- Generalizacija se naziva i odnosom roditelja i djeteta.