Mis on UML-suhe?
Seoseid UML-is kasutatakse seose kujutamiseks struktuuriliste, käitumuslike või grupeerivate asjade vahel. Seda nimetatakse ka lingiks, mis kirjeldab, kuidas kaks või enam asja saavad süsteemi käivitamisel üksteisega suhestuda. UML-seose tüübid on seos, sõltuvus, üldistamine ja realiseerimine.
Võimaldab neid üksikasjalikult uurida
- Ühing
See on linkide kogum, mis ühendab UML-mudeli elemente. Samuti määratletakse, kui palju objekte selles suhtes osaleb.
- Sõltuvus
Sõltuvussuhetes, nagu nimigi ütleb, sõltuvad kaks või enam elementi üksteisest. Sellises suhtes, kui muudame teatud elementi, on tõenäoline, et muudatus mõjutab ka kõiki teisi elemente.
- Üldistamine
Seda nimetatakse ka vanema ja lapse suhteks. Üldistades on üks element teise üldkomponendi spetsialiseerumine. See võib selle asendada. Enamasti kasutatakse seda pärandi tähistamiseks.
- Teostamine
UML-i realiseerimissuhtes tähistab üks olemus mingit vastutust, mida ta ise ei rakenda, ja teine üksus, kes neid rakendab. Seda seost leitakse enamasti liideste puhul.
Selles UML-i õpetuses saate teada:
- Ühing
- Sõltuvus
- Üldistamine
- Teostamine
- Kompositsioon
- Liitmine
Ühing
See on struktuuriline seos, mis esindab objekte, mida saab ühendada või seostada süsteemi sees oleva teise objektiga. Seostussuhtele saab rakendada järgmisi piiranguid.
- {implicit} - kaudsed piirangud täpsustavad, et suhe pole ilmne; see põhineb kontseptsioonil.
- {tellitud} - järjestatud piirangud määravad, et assotsiatsiooni ühes otsas olevate objektide kogum on kindlal viisil.
- {muutuv} - muudetav piirang täpsustab, et süsteemi erinevate objektide vahelist ühendust saab vastavalt nõudele lisada, eemaldada ja muuta.
- {addOnly} - see täpsustab, et uusi ühendusi saab lisada objektilt, mis asub assotsiatsiooni teises otsas.
- {Külmutatud} - see täpsustab, et kui link lisatakse kahe objekti vahele, ei saa seda muuta, kui külmutatud piirang on antud lingi või ühenduse puhul aktiivne.
Saame luua ka klassi, millel on assotsieerimisomadused; seda nimetatakse assotsiatsiooniklassiks.
Reflektiivne kooslus
Reflektiivne assotsiatsioon on UML-i seose alamtüüp. Reflektiivses koosluses võivad sama klassi eksemplarid olla omavahel seotud. Ühe klassi eksemplari öeldakse ka objektina.
Reflektiivne assotsiatsioon väidab, et link või ühendus võib esineda sama klassi objektides.
Vaatleme ühe klassi puuvilja näidet. Puuviljaklassi on kaks juhtumit, näiteks mango ja õun. Reflektiivne kooslus väidab, et seos mango ja õuna vahel võib esineda, kuna need on sama klassi isikud, näiteks puuvili.
Suunatud ühing
Nagu nimigi ütleb, on suunatud assotsiatsioon seotud voolusuunaga assotsiatsiooniklassides.
Suunatud koosluses on vool suunatud. Ühing ühest klassist teise liigub ainult ühes suunas.
Seda tähistatakse nooleotsaga pideva joone abil.
Näide:
Võite öelda, et serveri ja kliendi vahel on suunatud seos. Server saab töödelda kliendi taotlusi. See voog on ühesuunaline, mis liigub ainult serverist kliendini. Seega võib süsteemi serverites ja klientides olla suunatud seos.
Sõltuvus
Kasutades UML-is sõltuvussuhet, saab seostada, kuidas teatud süsteemi sees olevad erinevad asjad üksteisest sõltuvad. Sõltuvust kasutatakse UML-i erinevate üksteisest sõltuvate elementide vaheliste seoste kirjeldamiseks.
Stereotüübid
- «Köita» - sidumine on piirang, mis täpsustab, et allikas saab lähtestada malli sihtkohas, kasutades selleks ettenähtud parameetreid või väärtusi.
- «Tuletama» - see tähistab, et lähteobjekti asukoha saab arvutada sihtobjekti järgi.
- «Sõber» - see täpsustab, et allikal on sihtobjektis ainulaadne nähtavus.
- «InstanceOf» - see täpsustab, et lähteobjektiks on sihtklasseri eksemplar.
- «Instantiate» - see täpsustab, et lähteobjekt on võimeline looma sihtobjekti eksemplare.
- "Täpsustada" - see täpsustab, et lähteobjektil on erakordne abstraktsioon kui sihtobjektil.
- «Kasutamine» - seda kasutatakse pakettide loomisel UML-is. Kasutamise stereotüüp kirjeldab, et lähtekomplekti elemendid võivad esineda ka sihtpaketi sees. Selles kirjeldatakse, et lähtekomplekt kasutab mõnda sihtpaketi elementi.
- «Asendaja» - täpsustab, et klient võib käitaja ajal tarnijat asendada.
- «Juurdepääs» - see täpsustab, et lähtekomplekt pääseb ligi sihtpaketi elementidele, mida nimetatakse ka privaatseks ühendamiseks.
- «Import» - see täpsustab, et sihtmärk saab importida lähtekomplekti elementi nii, nagu need on määratletud sihtmärgi sees, mida nimetatakse ka avalikuks ühendamiseks.
- «Luba» - määrab, et lähtealusel on juurdepääs tarnijaelemendile, olenemata tarnija deklareeritud nähtavusest.
- «Laienda» - aitab teil täpsustada, et sihtmärk võib laiendada allikaelemendi käitumist.
- «Kaasata» - võimaldab teil määrata lähteelemendi, mis võib sisaldada teise elemendi käitumist määratud asukohas. (sama mis funktsioonikõnes jaotises c / c ++)
- «Muutunud» - see täpsustab, et sihtmärk sarnaneb erinevate väärtuste ja rollidega allikale.
- «Kõne» - see täpsustab, et allikas saab käivitada sihtobjekti meetodi.
- «Koopia» - see täpsustab, et sihtobjekt on sõltumatu, koopia lähteobjektist.
- «Parameeter» - tarnija on klienditoimingute parameeter .
- «Saada» - klient on toiming, mis saadab tarnijale mõne täpsustamata sihtmärgi.
Stereotüübid riigimasina seas
- «Saada» - määrab, et lähteoperatsioon saadab sihtürituse.
Üldistamine
See on suhe üldise üksuse ja süsteemis oleva ainulaadse üksuse vahel.
Üldistamissuhtes saab rakendada objektipõhist kontseptsiooni, mida nimetatakse pärandiks . Kahe objekti vahel on üldistav suhe, mida nimetatakse ka üksusteks või asjadeks. Üldistussuhtes on üks üksus vanem ja teine väidetavalt lapsena. Neid üksusi saab esindada pärimise abil.
Pärimisel saab iga vanema laps juurde pääseda, seda värskendada või pärida funktsionaalsusele, mis on määratletud vanema objekti sees. Lapseobjekt saab nii oma funktsionaalsuse lisada endale kui ka pärida vanemobjekti struktuuri ja käitumise.
Seda tüüpi suhe on üldtuntud kui üldistussuhe.
Stereotüübid ja nende piirangud
- «Juurutamine» - seda stereotüüpi kasutatakse selleks, et näidata, et alamüksust rakendab vanemüksus, pärides vanema objekti struktuuri ja käitumist reegleid rikkumata. Märkus. See stereotüüp, kui seda kasutatakse laialdaselt ühe pärandina .
Üldistav suhe sisaldab selliseid piiranguid nagu täielik, mittetäielik, et kontrollida, kas kõik alamüksused on suhtesse kaasatud või mitte.
Teostamine
UML-i realiseerimissuhtes tähistab üks olemus mingit vastutust, mida ta ise ei rakenda, ja teine üksus, kes neid rakendab. Seda seost leitakse enamasti liideste puhul.
Teostust saab esindada kahel viisil:
- Kanoonilise vormi kasutamine
- Varjatud vormi kasutamine
Ülaltoodud diagrammil realiseerivad konto ärireeglid liidese IRuleAgent.
Realiseerimise tüübid:
- Kanooniline vorm
UML-i realiseerimissuhtes kasutatakse kanoonilist vormi liideste realiseerimiseks kogu süsteemis. See kasutab liidese loomiseks liidese stereotüüpi ja konkreetse liidese realiseerimiseks kasutatakse realiseerimissuhet.
Kanoonilises vormis tähistatakse realiseerimissuhet katkendliku suunatud joone abil suure avatud nooleotsaga.
Ülaltoodud diagrammil realiseeritakse liides Iruleagent objekti, mida nimetatakse konto ärireegliteks.
- Elideeritud vorm
UML-klasside skeemi realiseerimist saab näidata ka elideeritud vormi abil. Varjatud kujul tähistatakse liidest ringi abil, mida nimetatakse ka pulgakommide tähistamiseks.
Kui see liides on realiseeritud süsteemis olevaga, loob see liidetud struktuuri.
Ülaltoodud diagrammil tähistatakse liidest Iruleagent varjatud kujul, mida realiseerib acctrule.dll.
Kompositsioon
See ei ole tavaline UML-suhe, kuid seda kasutatakse siiski erinevates rakendustes.
Komposiitagregaat on agregatsioonisuhte alamtüüp, mille omadused on järgmised:
- see on objektide vahel kahepoolne assotsiatsioon.
- See on suhe tervikuna / osaliselt.
- Kui komposiit kustutatakse, kustutatakse kõik muud sellega seotud osad.
Komposiitgruppi kirjeldatakse kui binaarset assotsiatsiooni, mis on kaunistatud täidise musta teemandiga agregaadi (terves) otsas.
Kaust on struktuur, milles on n arvu faile. Kaustu kasutatakse selles olevate failide salvestamiseks. Iga kausta saab seostada mis tahes arvu failidega. Arvutisüsteemis on iga üks fail osa vähemalt ühest kaustast failiorganisatsioonisüsteemis. Sama fail võib olla ka teise kausta osa, kuid see pole kohustuslik. Kui fail kaustast eemaldatakse, ei mõjuta see kausta, samas kui selle konkreetse failiga seotud andmed hävitatakse. Kui kaustas tehakse kustutustoiming, mõjutab see ka kõiki kaustas olevaid faile. Kõik kaustaga seotud failid hävitatakse automaatselt, kui kaust süsteemist eemaldatakse.
Seda tüüpi suhet UML-is tuntakse liitliitmise seose abil.
Liitmine
Liitmine on UML-i seose alamtüüp. Liitmine ja kompositsioon on mõlemad UML-i assotsiatsioonisuhete tüübid. Liitmise suhet võib kirjeldada lihtsate sõnadega kui "ühe klassi objekt võib omada teise klassi objekte või neile juurde pääseda".
Liitmisseos jääb sõltuv objekt suhte ulatusse ka siis, kui lähteobjekt hävitatakse.
Vaatleme näiteks autot ja ratast. Auto vajab korrektseks toimimiseks ratast, kuid ratas ei vaja alati autot. Seda saab kasutada ka koos ratta, jalgratta või mõne muu sõidukiga, kuid mitte konkreetse autoga. Siin on rattaobjekt mõttekas ka ilma autoobjektita. Sellist suhetüüpi nimetatakse liitmise suhteks.
Kokkuvõte
- Seos UML-is võimaldab ühte asja suhestada teiste asjadega süsteemis.
- Seose, sõltuvuse, üldistuse ja realiseerimissuhted määratleb UML.
- Kompositsioonisuhet saab kasutada ka selle esitamiseks, et objekt võib olla korraga ainult ühe komposiidi osa.
- Assotsiatsiooni kasutatakse selle kirjeldamiseks, et ühte objekti saab seostada teise objektiga.
- Sõltuvus tähendab, et objektid võivad üksteisest sõltuda.
- Teostus on klassifikaatorite tähenduslik suhe.
- Üldistamist nimetatakse ka vanema ja lapse suhteks.