Mi az UML kapcsolat?
Az UML-rel való kapcsolatok a strukturális, viselkedési vagy csoportosítási dolgok közötti kapcsolat képviseletére szolgálnak. Linknek 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 kapcsolat típusa az asszociáció, a függőség, az általánosítás és a megvalósítás.
Tanulmányozzuk őket részletesen
- Egyesület
Ez egy olyan linkkészlet, amely összeköti az UML modell elemeit. Meghatározza azt is, hogy hány objektum vesz részt ebben a relációban.
- Függőség
Függőségi kapcsolatban, amint a neve is mutatja, két vagy több elem függ egymástól. Ebben a fajta kapcsolatban, ha változtatunk egy adott elemen, akkor valószínű, hogy az összes többi elemre is hatással lesz 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. Lehet, hogy helyettesíti. Leginkább az öröklés képviseletére szolgál.
- Megvalósítás
Az UML megvalósítási kapcsolatában az egyik entitás valamilyen felelősséget jelöl, amelyet önmagában nem hajt végre, és a másik entitással, amely ezeket végrehajtja. Ez a kapcsolat leginkább az interfészek esetében található meg .
Ebben az UML oktatóanyagban megtudhatja:
- Egyesület
- Függőség
- Általánosítás
- Megvalósítás
- Fogalmazás
- Összesítés
Egyesület
Ez egy strukturális kapcsolat, amely az objektumokat a rendszeren belül egy másik objektumhoz kötheti vagy társíthatja. A társítási kapcsolatra a következő korlátozások alkalmazhatók.
- {implicit} - Az implicit korlátozások meghatározzák, hogy a kapcsolat nem nyilvánvaló; koncepción alapszik.
- {rendezett} - A rendezett korlátozások megadják, hogy az egyesületek egyik végén lévő objektumok halmaza meghatározott módon legyen.
- {változtatható} - A változtatható kényszer meghatározza, hogy a rendszer különböző objektumai közötti kapcsolat hozzáadható, eltávolítható és módosítható a követelményeknek megfelelően.
- {addOnly} - Megadja, hogy az új kapcsolatok hozzáadhatók egy objektumból, amely egy társítás másik végén található.
- {fagyasztva} - Megadja, hogy ha egy link két objektum közé kerül, akkor azt nem lehet módosítani, amíg a rögzített kényszer aktív az adott linken vagy egy kapcsolaton.
Készíthetünk olyan osztályt is, amelynek társítási tulajdonságai vannak; asszociációs osztálynak hívják.
Reflexív asszociáció
A reflexív asszociáció az UML asszociációs kapcsolatának egyik altípusa. Reflexív asszociációban ugyanazon osztály példányai kapcsolatba hozhatók egymással. Az osztály egy példányát objektumnak is mondják.
A reflexív asszociáció azt állítja, hogy egy kapcsolat vagy kapcsolat jelen lehet ugyanazon osztály objektumain belül.
Vegyünk egy példát egy osztály gyümölcsére. A gyümölcsosztálynak két példája van, például a mangó és az alma. A reflexív asszociáció szerint a mangó és az alma közötti kapcsolat fennállhat, mivel ugyanannak az osztálynak a példányai, például a gyümölcs.
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 asszociációban az áramlás irányított. Az egyesülések az egyik osztályból a másikba csak egyetlen irányban folynak.
Nyilakkal ellátott folytonos vonallal jelöljük.
Példa:
Mondhatjuk, hogy irányított társítási kapcsolat van a szerver és az ügyfél között. A szerver képes feldolgozni az ügyfél kéréseit. Ez az áramlás egyirányú, és csak szerverről kliensre áramlik. Ezért irányított társítási kapcsolat lehet jelen a rendszer szerverein és kliensein belül.
Függőség
Az UML függőségi viszonyát felhasználva megállapítható, hogy az adott rendszeren belüli különféle dolgok mennyire függnek egymástól. A függőség az UML különböző, egymástól függő elemei közötti kapcsolat leírására szolgál.
Sztereotípiák
- « Bind » - A Bind olyan kényszer, amely meghatározza, hogy a forrás inicializálhatja a sablont egy célhelyen, megadott paraméterek vagy értékek felhasználásával.
- «Derive» - Azt jelzi, hogy a forrásobjektum helye kiszámítható a célobjektumból.
- «Barát» - Megadja, hogy a forrás egyedi láthatósággal rendelkezik a célobjektumban.
- «InstanceOf» - Megadja, hogy a célosztályozó példánya a forrásobjektum.
- «Instantiate» - Megadja, hogy a forrásobjektum képes létrehozni egy célobjektum példányait.
- «Finomítás» - Megadja, hogy a forrásobjektum kivételes absztrakcióval rendelkezik, mint a célobjektumé.
- «Használat» - Akkor használják, ha a csomagokat UML-ben hozzák létre. A használati sztereotípia leírja, hogy egy forráscsomag elemei jelen lehetnek a célcsomagban is. Leírja, hogy a forráscsomag a célcsomag egyes elemeit használja.
- «Helyettesítő» - meghatározza, hogy az ügyfél futás közben helyettesítse a szállítót.
- «Hozzáférés» - Megadja, hogy a forráscsomag hozzáférjen a célcsomag elemeihez, amelyet privát egyesítésnek is neveznek.
- «Import» - Megadja, hogy a cél importálhatja a forráscsomag elemét, ahogyan azt a célon belül definiálják, amelyet nyilvános összevonásnak is neveznek.
- «Engedély» - meghatározza, hogy a forráselem hozzáférjen-e a szállító elemhez, függetlenül a szállító deklarált láthatóságától.
- «Kiterjesztés» - Segít meghatározni, hogy a cél kiterjesztheti a forráselem viselkedését.
- «Include» - Lehetővé teszi annak a forráselemnek a megadását, amely tartalmazhatja egy másik elem viselkedését egy adott helyen. (ugyanaz, mint egy függvényhívás a c / c ++ verzióban)
- «Lett» - Megadja, hogy a cél hasonló a forráshoz, különböző értékekkel és szerepekkel.
- «Hívás» - Megadja, hogy a forrás meghívhatja a célobjektum-módszert.
- «Copy» - Megadja, hogy a célobjektum független, egy forrásobjektum másolata.
- «Paraméter» - a szállító az ügyfél műveleteinek paramétere .
- «Küldés» - az ügyfél egy olyan művelet, amely a szállítónak néhány meg nem határozott célt küld.
Sztereotípiák az állami gép között
- «Send» - Megadja, hogy a forrás mű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 összefüggésben megvalósítható az öröklésnek nevezett objektum-orientált koncepció . Két objektum között általánosítási kapcsolat van, más néven entitások vagy dolgok. Egy általánosítási kapcsolatban az egyik entitás szülő, a másikról azt mondják, hogy gyermekként. Ezeket az entitásokat örökléssel lehet ábrázolni.
Öröklésben bármely szülő gyermeke elérheti, frissítheti vagy örökölheti a szülőobjektumon belül megadott funkciókat. A gyermekobjektum hozzáadhatja saját funkcionalitását, valamint örökölheti a szülőobjektum szerkezetét és viselkedését.
Ez a kapcsolattípus összefoglalóan általánosítási kapcsolatként ismert.
Sztereotípiák és azok korlátai
- «Megvalósítás» - Ezt a sztereotípiát használják annak ábrázolására, hogy a gyermek entitást a szülő entitás valósítja meg úgy, hogy a szabályok megsértése nélkül örökli egy szülő objektum szerkezetét és viselkedését. Megjegyzés: Ez a sztereotípia, ha széles körben használják egyetlen öröklésben .
Az általánosító kapcsolat olyan megszorításokat tartalmaz, mint például teljes, hiányos annak ellenőrzésére, hogy az összes alárendelt entitás szerepel-e a kapcsolatban.
Megvalósítás
Az UML megvalósítási kapcsolatában az egyik entitás valamilyen felelősséget jelöl, amelyet önmagában nem hajt végre, és a másik entitással, amely ezeket végrehajtja. Ez a kapcsolat leginkább az interfészek esetében található meg .
A megvalósítást kétféleképpen lehet ábrázolni:
- Kanonikus forma felhasználásával
- Elidált forma használata
A fenti ábrán a fiók üzleti szabályai valósítják meg az IRuleAgent felületet.
A megvalósítás típusai:
- Kanonikus forma
Az UML megvalósítási kapcsolatában a kanonikus formát használják a rendszeren keresztüli interfészek megvalósítására. Interfész sztereotípiát használ az interfész létrehozásához, és megvalósítási kapcsolatot használnak az adott interfész megvalósításához.
Kanonikus formában a megvalósítási összefüggést a szaggatott irányított vonallal jelöljük, méretes nyitott nyílheggyel.
A fenti ábrán az Iruleagent interfész egy Account Business Rules néven meghívott objektum segítségével valósul meg.
- Elidált forma
Az UML osztálydiagramban való megvalósítás egy elideált űrlap segítségével is megjeleníthető. Elided formában az interfészt egy kör segítségével jelöljük, amelyet nyalóka jelölésnek is nevezünk.
Ez az interfész, ha a rendszer belsejében lévő bármely dolog felhasználásával valósul meg, elidézett struktúrát hoz létre.
A fenti diagramban az Iruleagent felületet egy elidált formában jelöljük, amelyet az acctrule.dll hajt végre.
Fogalmazás
Ez nem egy szokásos UML kapcsolat, de még mindig használják a különféle alkalmazásokban.
Az összetett összesítés az összesítés relációjának egyik altípusa, a következő jellemzőkkel:
- kétirányú asszociáció az objektumok között.
- Ez egy egész / egy rész kapcsolat.
- Ha egy kompozit törlésre kerül, a hozzá társított összes többi rész törlődik.
Az összetett aggregációt bináris asszociációként írják le, amelyet az aggregátum (egész) végén töltött fekete gyémánt díszít.
A mappa olyan struktúra, amely n számú fájlt tartalmaz. A mappát a fájlok tárolására használják benne. Minden mappa tetszőleges számú fájlhoz társítható. 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 nem kötelező. Amikor egy fájlt eltávolítanak a mappából, a mappa nincs érintve, míg az adott fájlhoz kapcsolódó adatok megsemmisülnek. Ha a mappán törlési műveletet hajtanak végre, akkor az a mappában található összes fájlt is érinti. A mappához társított összes fájl automatikusan megsemmisül, amint a mappát eltávolítja a rendszerből.
Ez a fajta kapcsolat az UML-ben összetett összesítési kapcsolat révén ismert.
Összesítés
Az összesítés az UML társítási kapcsolatának altípusa. Az összesítés és az összetétel egyaránt az asszociációs kapcsolat típusa az UML-ben. Az összesítési kapcsolat egyszerű szavakkal leírható, mint "az egyik osztály objektuma egy másik osztály objektumaival rendelkezhet, vagy hozzájuk férhet hozzá".
Egy összesítési kapcsolatban a függő objektum akkor is a kapcsolat hatókörében marad, ha a forrás objektum megsemmisül.
Vegyünk egy példát egy autóra és egy kerékre. Egy autónak szüksége van egy kerékre a helyes működéshez, de a kerékhez nem mindig van szükség autóra. Használható kerékpárral, kerékpárral vagy bármely más járművel is, de nem egy adott autóval. Itt a keréktárgy az autó tárgya nélkül is értelmes. Az ilyen típusú kapcsolatokat aggregációs relációnak nevezzük.
Összegzés
- Az UML-ben való kapcsolat lehetővé teszi, hogy egy dolog kapcsolódjon a rendszeren belül más dolgokhoz.
- A társítást, a függőséget, az általánosítást és a realizációs kapcsolatokat az UML határozza meg.
- Kompozíciós kapcsolat is felhasználható annak ábrázolására, hogy az objektum egyszerre csak egy összetett része lehet.
- A társítás leírja, hogy egy objektum társítható egy másik objektumhoz.
- A függőség azt jelzi, hogy az objektumok függhetnek egymástól.
- A megvalósítás az osztályozók közötti értelmes kapcsolat.
- Az általánosítást szülő-gyermek kapcsolatnak is nevezik.