Mikä on UML-suhde?
UML: n suhteita käytetään edustamaan yhteyttä rakenteellisten, käyttäytymis- tai ryhmittely-asioiden välillä. Sitä kutsutaan myös linkiksi, joka kuvaa kuinka kaksi tai useampi asia voi olla yhteydessä toisiinsa järjestelmän suorituksen aikana. UML-suhteiden tyypit ovat assosiaatio, riippuvuus, yleistys ja toteutus.
Antaa tutkia niitä yksityiskohtaisesti
- Yhdistys
Se on joukko linkkejä, jotka yhdistävät UML-mallin elementit. Se määrittelee myös, kuinka monta objektia osallistuu kyseiseen suhteeseen.
- Riippuvuus
Riippuvuussuhteessa, kuten nimestä voi päätellä, kaksi tai useampia elementtejä ovat riippuvaisia toisistaan. Jos teemme tällaisessa suhteessa muutoksen tiettyyn elementtiin, on todennäköistä, että muutos vaikuttaa myös kaikkiin muihin elementteihin.
- Yleistys
Sitä kutsutaan myös vanhemman ja lapsen suhteeksi. Yleisesti ottaen yksi elementti on erikoistuminen toiseen yleiseen komponenttiin. Se voidaan korvata se. Sitä käytetään enimmäkseen edustamaan perintöä.
- Toteutus
UML: n toteuttamissuhteessa yksi yksikkö merkitsee vastuuta, jota itse ei toteuta, ja toinen yksikkö, joka toteuttaa ne. Tämä suhde löytyy enimmäkseen rajapinnoista.
Tässä UML-opetusohjelmassa opit:
- Yhdistys
- Riippuvuus
- Yleistys
- Toteutus
- Sävellys
- Yhteenveto
Yhdistys
Se on rakenteellinen suhde, joka edustaa esineitä, jotka voidaan yhdistää tai liittää toiseen järjestelmässä olevaan objektiin. Seuraavia rajoituksia voidaan soveltaa assosiointisuhteeseen.
- {implisiitti} - implisiittiset rajoitukset tarkoittavat, että suhde ei ole ilmeinen; se perustuu käsitteeseen.
- {järjestetty} - Järjestetyt rajoitukset tarkoittavat, että yhdistyksen toisessa päässä olevat joukot ovat tietyllä tavalla.
- {muutettava} - Muutettavissa oleva rajoitus määrittää, että järjestelmän eri objektien välinen yhteys voidaan lisätä, poistaa ja muokata vaatimuksen mukaisesti.
- {addOnly} - Se määrittää, että uudet yhteydet voidaan lisätä objektista, joka sijaitsee assosiaation toisessa päässä.
- {Jäädytetty} - Se määrittää, että kun linkki lisätään kahden objektin väliin, sitä ei voi muuttaa, kun jäädytetty rajoitus on aktiivinen annetulla linkillä tai yhteydellä.
Voimme myös luoda luokan, jolla on assosiaatio-ominaisuuksia; sitä kutsutaan yhdistysluokaksi.
Heijastava yhdistys
Refleksiivinen assosiaatio on UML: n assosiaation alatyyppi. Refleksiivisessa assosiaatiossa saman luokan esiintymät voivat olla yhteydessä toisiinsa. Luokan esiintymän sanotaan myös olevan objekti.
Refleksiivinen assosiaatio kertoo, että linkki tai yhteys voi olla läsnä saman luokan kohteissa.
Tarkastellaanpa esimerkkiä luokan hedelmistä. Hedelmäluokalla on kaksi tapausta, kuten mango ja omena. Heijastava yhdistys toteaa, että yhteys mangon ja omenan välillä voi olla läsnä, koska ne ovat saman luokan esiintymiä, kuten hedelmiä.
Ohjattu yhdistys
Kuten nimestä voi päätellä, ohjattu assosiaatio liittyy virtaussuuntaan assosiaatioluokkien sisällä.
Ohjatussa assosiaatiossa virtaus ohjataan. Yhdistys luokasta toiseen kulkee vain yhteen suuntaan.
Se on merkitty käyttämällä yhtenäistä viivaa, jossa on nuolenpää.
Esimerkki:
Voit sanoa, että palvelimen ja asiakkaan välillä on suunnattu yhdistyssuhde. Palvelin voi käsitellä asiakkaan pyyntöjä. Tämä virtaus on yksisuuntainen, joka kulkee vain palvelimelta asiakkaalle. Ohjattu yhdistämissuhde voi siten olla läsnä järjestelmän palvelimissa ja asiakkaissa.
Riippuvuus
Käyttämällä riippuvuussuhdetta UML: ssä voidaan kertoa, kuinka tietyn järjestelmän sisällä olevat asiat ovat riippuvaisia toisistaan. Riippuvuutta käytetään kuvaamaan UML: n erilaisten toisistaan riippuvien elementtien suhdetta.
Stereotypiat
- «Sitoa» - sidonta on rajoitus, joka määrittää, että lähde voi alustaa mallin kohdepaikassa annettuja parametreja tai arvoja käyttäen.
- «Derive» - Se tarkoittaa, että lähdeobjektin sijainti voidaan laskea kohdeobjektista.
- «Ystävä» - Se määrittää, että lähteellä on ainutlaatuinen näkyvyys kohdeobjektissa.
- «InstanceOf» - Se määrittää, että kohdeluokittelijan ilmentymä on lähdeobjekti.
- «Instantiate» - Se määrittää, että lähdeobjekti pystyy luomaan kohdeobjektin esiintymiä.
- «Tarkenna» - Se määrittää, että lähdeobjektilla on poikkeuksellinen abstraktio kuin kohdeobjektilla.
- «Käyttö» - Sitä käytetään, kun paketteja luodaan UML: ssä. Käyttöstereotypia kuvaa, että lähdepaketin elementit voivat olla läsnä myös kohdepaketin sisällä. Siinä kuvataan, että lähdepaketti käyttää joitain kohdepaketin elementtejä.
- «Korvaava» - määrittää, että asiakas voidaan korvata toimittajalla ajon aikana.
- «Access» - Se määrittää, että lähdepaketti käyttää kohdepaketin elementtejä, joita kutsutaan myös yksityisiksi sulautuksiksi.
- «Tuonti» - Se määrittää, että kohde voi tuoda lähdekoodipaketin elementin, kuten ne määritellään kohteen sisällä, jota kutsutaan myös julkiseksi sulautumiseksi.
- «Lupa» - määrittää, että lähde-elementillä on pääsy toimittajaelementtiin toimittajan ilmoitetusta näkyvyydestä riippumatta.
- «Laajenna» - Auttaa määrittämään, että kohde voi laajentaa lähde-elementin käyttäytymistä.
- «Sisällytä» - Voit määrittää lähde-elementin, joka voidaan sisällyttää toisen elementin käyttäytyminen määritetyssä paikassa. (sama kuin funktion kutsu c / c ++)
- «Tullut» - Se määrittää, että kohde on samanlainen kuin lähde, jolla on erilaiset arvot ja roolit.
- «Kutsu» - Se määrittää, että lähde voi käyttää kohdeobjektimenetelmää.
- «Kopio» - Se määrittää, että kohdeobjekti on riippumaton, kopio lähdeobjektista.
- «Parametri» - toimittaja on asiakastoimintojen parametri .
- «Lähetä» - asiakas on toiminto, joka lähettää toimittajalle määrittelemättömän kohteen.
Stereotypiat valtion koneiden keskuudessa
- «Lähetä» - Määrittää, että lähdetoiminto lähettää kohdetapahtuman.
Yleistys
Se on suhde yleisen kokonaisuuden ja järjestelmän sisällä olevan ainutlaatuisen kokonaisuuden välillä.
Yleistymissuhteessa voidaan toteuttaa perinnöksi kutsuttu objektiivinen käsite . Kahden objektin välillä on yleistyssuhde, jota kutsutaan myös kokonaisuuksiksi tai asioiksi. Yleistymissuhteessa yksi kokonaisuus on vanhempi ja toisen sanotaan olevan lapsi. Nämä entiteetit voidaan edustaa perinnöllä.
Perinnössä minkä tahansa vanhemman lapsi voi käyttää, päivittää tai periä vanhempainobjektissa määritellyt toiminnot. Lapsiobjekti voi lisätä toiminnallisuutensa itselleen sekä periä vanhemman objektin rakenteen ja käyttäytymisen.
Tämän tyyppinen suhde tunnetaan yhdessä nimellä yleistyssuhde.
Stereotypiat ja niiden rajoitteet
- «Toteutus» - Tätä stereotyyppiä käytetään kuvaamaan, että emoyritys toteuttaa aliyksikön perimällä vanhemman objektin rakenteen ja käyttäytymisen rikkomatta sääntöjä. Huomaa Tämä stereotyyppi, jos sitä käytetään laajalti yksittäisessä perinnössä .
Yleistyssuhde sisältää rajoituksia, kuten täydelliset, puutteelliset, jotta voidaan tarkistaa, sisällytetäänkö kaikki alatason yksiköt suhteeseen.
Toteutus
UML: n toteuttamissuhteessa yksi yksikkö merkitsee vastuuta, jota itse ei toteuta, ja toinen yksikkö, joka toteuttaa ne. Tämä suhde löytyy enimmäkseen rajapinnoista.
Toteutusta voidaan esittää kahdella tavalla:
- Kanonisen muodon avulla
- Elidoidun lomakkeen käyttäminen
Edellä olevassa kaaviossa tilin liiketoimintasäännöt toteuttavat IRuleAgent-käyttöliittymän.
Toteutustyypit:
- Kanoninen muoto
UML: n toteutussuhteessa kanonista muotoa käytetään liitäntöjen toteuttamiseen järjestelmän yli. Se käyttää rajapinnan stereotypiaa käyttöliittymän luomiseen ja toteutussuhdetta käytetään tietyn käyttöliittymän toteuttamiseen.
Kanonisessa muodossa toteutussuhde on merkitty katkoviivaisella suunnatulla viivalla, jossa on suuri avoin nuolenpää.
Yllä olevassa kaaviossa käyttöliittymä Iruleagent toteutetaan käyttämällä objektia, jota kutsutaan tilin liiketoimintasäännöksi.
- Elidel muoto
Toteutus UML-luokkakaaviossa voidaan näyttää myös elidoidulla lomakkeella. Elidoidussa muodossa rajapinta on merkitty käyttämällä ympyrää, jota kutsutaan myös tikkari-merkinnäksi.
Kun tämä käyttöliittymä toteutetaan käyttämällä mitä tahansa järjestelmän sisällä olevaa osaa, se luo korostetun rakenteen.
Yllä olevassa kaaviossa Iruleagent-rajapinta on merkitty käyttäen elidoitua muotoa, jonka acctrule.dll toteuttaa.
Sävellys
Se ei ole tavallinen UML-suhde, mutta sitä käytetään silti erilaisissa sovelluksissa.
Yhdistetty aggregaatti on aggregaatiosuhteen alatyyppi seuraavilla ominaisuuksilla:
- se on kaksisuuntainen assosiaatio esineiden välillä.
- Se on koko / osa-suhde.
- Jos komposiitti poistetaan, kaikki muut siihen liittyvät osat poistetaan.
Komposiittiyhdistelmää kuvataan binäärisenä yhdistelmänä, joka on koristeltu täytetyllä mustalla timantilla aggregaatin (koko) päässä.
Kansio on rakenne, johon mahtuu n määrä tiedostoja. Kansiota käytetään tiedostojen tallentamiseen sen sisälle. Jokainen kansio voidaan liittää mihin tahansa määrään tiedostoja. Tietokonejärjestelmässä jokainen tiedosto on osa vähintään yhtä kansiota tiedostojärjestelyjärjestelmässä. Sama tiedosto voi olla myös osa toista kansiota, mutta se ei ole pakollinen. Aina kun tiedosto poistetaan kansiosta, kansio ei muutu, kun taas kyseiseen tiedostoon liittyvät tiedot tuhoutuvat. Jos poistotoiminto suoritetaan kansiossa, se vaikuttaa myös kaikkiin kansiossa oleviin tiedostoihin. Kaikki kansioon liittyvät tiedostot tuhoutuvat automaattisesti, kun kansio poistetaan järjestelmästä.
Tämän tyyppinen suhde UML: ssä tunnetaan yhdistetyllä aggregaatiosuhteella.
Yhteenveto
Yhdistelmä on UML: n assosiointisuhteen alatyyppi. Yhdistäminen ja koostumus ovat molemmat UML: n assosiaatiotyyppejä. Yhdistelmäsuhde voidaan kuvata yksinkertaisilla sanoilla "yhden luokan esine voi omistaa toisen luokan objekteja tai käyttää niitä".
Yhdistelmäsuhteessa riippuva objekti pysyy suhteen laajuudessa, vaikka lähdeobjekti tuhoutuisi.
Tarkastellaanpa esimerkkiä autosta ja pyörästä. Auto tarvitsee pyörän toimiakseen oikein, mutta pyörä ei aina tarvitse autoa. Sitä voidaan käyttää myös polkupyörän, polkupyörän tai muiden ajoneuvojen kanssa, mutta ei tietyn auton kanssa. Tässä pyörän esineellä on merkitystä myös ilman auton esinettä. Tällaista suhdetyyppiä kutsutaan aggregaatiosuhteeksi.
Yhteenveto
- UML-suhde antaa yhden asian olla yhteydessä muihin järjestelmän sisällä oleviin asioihin.
- UML määrittelee assosiaation, riippuvuuden, yleistämisen ja toteutussuhteet.
- Sommittelusuhdetta voidaan käyttää myös edustamaan, että esine voi olla osa vain yhtä yhdistelmää kerrallaan.
- Assosiaatiota käytetään kuvaamaan, että yksi esine voidaan liittää toiseen objektiin.
- Riippuvuus tarkoittaa, että objektit voivat olla riippuvaisia toisistaan.
- Toteutus on merkityksellinen suhde luokittelijoiden välillä.
- Yleistämistä kutsutaan myös vanhemman ja lapsen suhteeksi.