UML kapcsolattípusok: asszociáció, függőség, általánosítás
⚡ Okos összefoglaló
Az UML kapcsolatok összekapcsolják a strukturális, viselkedési és csoportos elemeket.ping Egy modell elemei, amelyek bemutatják, hogyan függenek egymástól az objektumok végrehajtás közben. Ez az anyag elmagyarázza az asszociációt, a függőséget, az általánosítást, a realizációt, a kompozíciót és az aggregációt, jelöléssel és valós példákkal minden egyes típushoz.

Mi az UML kapcsolat?
Kapcsolatok az UML-ben strukturális, viselkedési vagy csoportos tényezők közötti kapcsolat ábrázolására szolgálnak.ping dolgok. Kapcsolatnak is nevezik, amely leírja, hogy két vagy több dolog hogyan kapcsolódhat egymáshoz egy rendszer végrehajtása során. Az UML kapcsolatok típusai az asszociáció, a függőség, az általánosítás és a realizáció.
Tanulmányozzuk őket részletesen
Az UML osztálydiagram-kapcsolatok típusai
Egyesület
Ez az UML modell elemeit összekötő hivatkozások halmaza. Azt is meghatározza, hogy hány objektum vesz részt ebben a relációban.
Függőség
Egy függőségi kapcsolatban, ahogy a neve is sugallja, két vagy több elem függ egymástól. Egy ilyen kapcsolatban, ha megváltoztatunk egy adott elemet, akkor valószínű, hogy az összes többi elemet is érinti a változás.
Általánosítás
Szülő-gyermek kapcsolatnak is nevezik. Az általánosításban az egyik elem egy másik általános komponens specializációja. Ez helyettesíthető vele. Leginkább az öröklődés ábrázolására használják.
Megvalósítás
Az UML megvalósítási kapcsolatában az egyik entitás olyan felelősséget jelöl, amelyet ő maga nem valósít meg, a másik entitás pedig, amely ezeket megvalósítja. Ez a kapcsolat leginkább abban az esetben található meg interfészek.
Egyesület
Ez egy strukturális kapcsolat, amely azt jelenti, hogy az objektumok összekapcsolhatók vagy társíthatók egy másik objektumhoz a rendszeren belül. A következő megkötések alkalmazhatók az asszociációs kapcsolatra.
- {beleértett} – Az implicit megszorítások azt adják meg, hogy a kapcsolat nem nyilvánvaló; koncepción alapul.
- {megrendelt} – A rendezett megszorítások azt határozzák meg, hogy a társítás egyik végén lévő objektumok meghatározott módon vannak.
- {változékony} – A módosítható megszorítás azt határozza meg, hogy a rendszer különböző objektumai közötti kapcsolat a követelményeknek megfelelően hozzáadható, eltávolítható és módosítható.
- {addOnly} – Meghatározza, hogy az új kapcsolatok olyan objektumból adhatók hozzá, amely a társítás másik végén található.
- {fagyott} – Meghatározza, hogy amikor két objektum közé egy hivatkozást adunk, akkor az nem módosítható, amíg a befagyasztott kényszer aktív az adott hivatkozáson vagy kapcsolaton.
Létrehozhatunk olyan osztályt is, amelynek asszociációs tulajdonságai vannak; asszociációs osztálynak nevezik.
Reflexív asszociáció
A reflexív asszociáció az asszociációs kapcsolat egy altípusa az UML-ben. Reflexív asszociációban az azonos osztály példányai egymáshoz kapcsolódhatnak. Egy osztály példányát objektumnak is nevezik.
A reflexív asszociáció azt állítja, hogy egy hivatkozás vagy kapcsolat lehet ugyanannak az osztálynak az objektumain belül.
Nézzünk egy példát egy osztálygyümölcsre. A gyümölcsosztálynak két példánya van, például a mangó és az alma. A reflexív asszociáció azt állítja, hogy a mangó és az alma között kapcsolat lehet, mivel ugyanazon osztály példányai, például gyümölcsök.
Irányított egyesület
Ahogy a neve is sugallja, az irányított asszociáció az asszociációs osztályokon belüli áramlás irányához kapcsolódik.
Irányított társulásban az áramlás irányított. Az egyik osztályról a másikra való társítás csak egyetlen irányban folyik.
Nyílhegyes folytonos vonallal jelöljük.
Példa:
Azt mondhatjuk, hogy egy kiszolgáló és egy kliens között irányított asszociációs kapcsolat van. A szerver képes feldolgozni a kliens kéréseit. Ez az áramlás egyirányú, csak a kiszolgálótól a kliensig folyik. Ezért egy irányított asszociációs kapcsolat jelen lehet a rendszer szerverein és kliensein belül.
Függőség
Az UML-ben egy függőségi kapcsolat segítségével megállapítható, hogy egy adott rendszeren belül hogyan függenek egymástól a különféle dolgok. A függőség az UML különböző elemei közötti kapcsolatok leírására szolgál, amelyek egymástól függenek.
sztereotípiák
- "kötni" – A kötés egy megszorítás, amely azt határozza meg, hogy a forrás inicializálhatja a sablont egy célhelyen a megadott paraméterek vagy értékek használatával.
- "származik" – Azt jelenti, hogy egy forrásobjektum helye kiszámítható a célobjektumból.
- "barát" – Meghatározza, hogy a forrás egyedi láthatósággal rendelkezik a célobjektumban.
- "Például az" – Meghatározza, hogy a célosztályozó példánya a forrásobjektum.
- "példányosítás" – Meghatározza, hogy a forrásobjektum képes-e létrehozni egy célobjektum példányait.
- "finomítani" – Meghatározza, hogy a forrásobjektum kivételes abszcisszával rendelkezik.tracmint a céltárgyé.
- "használat" – A csomagok UML-ben történő létrehozásakor használatos. A használati sztereotípia azt írja le, hogy a forráscsomag elemei a célcsomagon belül is jelen lehetnek. Leírja, hogy a forráscsomag a célcsomag egyes elemeit használja fel.
- "helyettes" – meghatározza, hogy az ügyfél futásidőben helyettesíthető a szállítóval.
- "hozzáférés" – Meghatározza, hogy a forráscsomag hozzáférjen a célcsomag elemeihez amelyet privát összeolvadásnak is neveznek.
- "Importálás" – Meghatározza, hogy a cél a forráscsomag elemeit importálhatja, ahogyan azok a csomagban vannak meghatározva cél, amelyet nyilvános összevonásnak is neveznek.
- "engedély" – meghatározza, hogy a forráselem hozzáférjen a szállítói elemhez, függetlenül a szállító deklarált láthatóságától.
- "kiterjeszt" – Segít meghatározni, hogy a cél kiterjeszthesse a forráselem viselkedését.
- "beleértve" – Lehetővé teszi annak a forráselemnek a megadását, amely egy másik elem viselkedését tartalmazza egy megadott helyen. (ugyanaz, mint egy függvényhívás c/c++-ban)
- "válik" – Meghatározza, hogy a cél hasonló a forráshoz, különböző értékekkel és szerepekkel.
- "hívás" – Meghatározza, hogy a forrás meghívhat egy célobjektum metódust.
- "másolat" – Meghatározza, hogy a célobjektum független, egy forrásobjektum másolata.
- "paraméter" – a beszállító az ügyfél működésének paramétere.
- "Küld" – az ügyfél egy olyan művelet, amely a szállítónak valamilyen meg nem határozott célpontot küld.
Sztereotípiák az államgépek között
- "Küld" – Megadja, hogy a forrásművelet küldje el a céleseményt.
Általánosítás
Ez egy kapcsolat egy általános entitás és egy egyedi entitás között, amely jelen van a rendszerben.
Általánosítási kapcsolatban az objektumorientált koncepció ún öröklés megvalósítható. Általánosító kapcsolat létezik két objektum között, amelyeket entitásoknak vagy dolgoknak is neveznek. Az általánosítási kapcsolatban az egyik entitás szülő, a másikról pedig azt mondják, hogy gyerek. Ezek az entitások örökléssel ábrázolhatók.
Az öröklődés során bármely szülő gyermeke hozzáférhet, frissítheti vagy örökölheti a szülőobjektumban meghatározott funkciókat. Egy gyermekobjektum hozzáadhatja saját funkcionalitását, valamint örökölheti egy szülőobjektum szerkezetét és viselkedését.
Ez a fajta kapcsolat gyűjtőnéven általánosító kapcsolat.
Sztereotípiák és korlátaik
- "végrehajtás" – Ez a sztereotípia arra szolgál, hogy az utód entitást a szülő entitás valósítsa meg úgy, hogy a szabályok megsértése nélkül örökli egy szülőobjektum szerkezetét és viselkedését. Jegyzet: Ez a sztereotípia széles körben elterjedt egyetlen területen is. öröklés.
Az általánosítási kapcsolat olyan megszorításokat tartalmaz, mint például a teljes vagy a hiányos, hogy ellenőrizze, hogy az összes alárendelt entitás benne van-e a kapcsolatban.
Megvalósítás
Az UML megvalósítási kapcsolatában az egyik entitás olyan felelősséget jelöl, amelyet ő maga nem valósít meg, a másik entitás pedig, amely ezeket megvalósítja. Ez a kapcsolat leginkább abban az esetben található meg interfészek.
A megvalósítás kétféleképpen ábrázolható:
- Egy kanonikus forma
- A elidált forma

A fenti diagramon a fiók üzleti szabályai megvalósítják az IRuleAgent felületet.
A megvalósítás típusai
- Kanonikus forma: Az UML realizációs kapcsolataiban a kanonikus formát használják a rendszer interfészeinek megvalósítására. Egy interfész sztereotípiát használnak egy interfész létrehozásához, és a realizációs kapcsolatot használják az adott interfész megvalósításához. Kanonikus formában a realizációs kapcsolatot egy szaggatott irányított vonal jelöli, amely egy méretes nyitott nyílhegyet tartalmaz. A fenti ábrán az Iruleagent interfész egy Account Business Rules nevű objektummal valósul meg.
- Eltávolított forma: Megvalósulás a UML osztálydiagram elhagyott alakban is ábrázolható. Egy elhagyott alakban az interfészt egy körrel jelöljük, amelyet nyalóka jelölésnek is nevezünk. Ez az interfész, ha a rendszeren belüli bármivel megvalósítjuk, elhagyott struktúrát hoz létre. A fenti ábrán az Iruleagent interfész elhagyott alakban van jelölve, amelyet az acctrule.dll valósít meg.
Összetétel
Ez nem egy szabványos UML kapcsolat, de különféle alkalmazásokban továbbra is használják.
Az összetett aggregáció az aggregációs reláció egy altípusa, amelynek jellemzői a következők:
- ez egy kétirányú asszociáció az objektumok között.
- Ez egy egész/rész kapcsolat.
- Ha egy kompozitot törölnek, a hozzá tartozó összes többi rész törlődik.
Az összetett aggregációt bináris asszociációként írják le, amelyet kitöltött fekete gyémánt díszít az aggregátum (egész) végén.
A mappa egy olyan szerkezet, amely n számú fájlt tartalmaz. Egy mappa a benne lévő fájlok tárolására szolgál. Minden mappa tetszőleges számú fájlhoz társítható. Egy számítógépes rendszerben minden egyes fájl legalább egy mappa része a fájlszervezési rendszeren belül. Ugyanez a fájl egy másik mappa része is lehet, de ez nem kötelező. Amikor egy fájlt eltávolítanak a mappából, a mappa érintetlen marad, míg az adott fájlhoz kapcsolódó adatok megsemmisülnek. Ha törlési műveletet hajtanak végre a mappán, akkor az a mappában található összes fájlra is hatással lesz. A mappához tartozó összes fájl automatikusan megsemmisül, amint a mappát eltávolítják a rendszerből.
Az UML ilyen típusú kapcsolatait összetett aggregációs kapcsolatként ismerjük.
összesítése
An összesítés az UML-ben az asszociációs kapcsolatok egyik altípusa. Az aggregáció és a kompozíció egyaránt az asszociációs kapcsolatok típusai az UML-ben. Az aggregációs kapcsolatok egyszerűen leírhatók a következőképpen: „egy osztályba tartozó objektum birtokolhatja vagy elérheti egy másik osztály objektumait”.
Aggregációs kapcsolatban a függő objektum akkor is a kapcsolat hatókörében marad, ha a forrásobjektum megsemmisül.
Nézzünk egy példát egy autóra és egy kerékre. Az autónak kerékre van szüksége a megfelelő működéshez, de a kerékhez nem mindig van szüksége autóra. Használható kerékpárral, kerékpárral vagy bármilyen más járművel, de nem egy adott autóval. Itt a kerék objektum az autótárgy nélkül is értelmes. Az ilyen típusú kapcsolatokat aggregációs relációnak nevezzük.

