UML ryšiai su PAVYZDŽIU: Priklausomybė, apibendrinimas, realizavimas

Turinys:

Anonim

Kas yra UML ryšys?

Santykiai UML naudojami ryšiui tarp struktūrinių, elgesio ar grupavimo dalykų. Jis taip pat vadinamas nuoroda, apibūdinančia, kaip du ar daugiau dalykų gali būti susiję vienas su kitu vykdant sistemą. UML ryšio tipas yra asociacija, priklausomybė, apibendrinimas ir realizavimas.

Leiskite juos išsamiai išnagrinėti

  • Asociacija

Tai nuorodų rinkinys, jungiantis UML modelio elementus. Taip pat apibrėžiama, kiek objektų dalyvauja tame santykyje.

  • Priklausomybė

Priklausomybės santykiuose, kaip rodo pavadinimas, du ar daugiau elementų yra priklausomi vienas nuo kito. Tokiuose santykiuose, jei pakeisime tam tikrą elementą, tikėtina, kad visi kiti elementai taip pat turės įtakos.

  • Apibendrinimas

Tai dar vadinama tėvų ir vaikų santykiais. Apibendrinant, vienas elementas yra kito bendrojo komponento specializacija. Tai gali būti pakeista. Jis dažniausiai naudojamas paveldėjimui atstovauti.

  • Realizacija

UML realizavimo santykyje vienas subjektas žymi tam tikrą atsakomybę, kurios neįgyvendina ji pati, o kitas subjektas, kuris jas įgyvendina. Šis ryšys dažniausiai sutinkamas sąsajų atveju .

Šioje UML pamokoje sužinosite:

  • Asociacija
  • Priklausomybė
  • Apibendrinimas
  • Realizacija
  • Kompozicija
  • Apibendrinimas

Asociacija

Tai yra struktūrinis ryšys, kuris vaizduoja objektus, kurie gali būti prijungti arba susieti su kitu objektu sistemos viduje. Asociacijos santykiams gali būti taikomi šie apribojimai.

  • {implicit} - implicitiniai apribojimai nurodo, kad santykiai nėra akivaizdūs; jis remiasi koncepcija.
  • {Užsakyta} - Pagal užsakytus apribojimus nurodoma, kad objektų rinkinys viename asociacijos gale yra specifinis.
  • {keičiamas} - keičiamas apribojimas nurodo, kad ryšį tarp įvairių sistemos objektų galima pridėti, pašalinti ir modifikuoti pagal reikalavimą.
  • {addOnly} - Tai nurodo, kad naujus ryšius galima pridėti iš objekto, esančio kitame asociacijos gale.
  • {Užšaldytas} - tai nurodo, kad kai nuoroda pridedama tarp dviejų objektų, jos negalima modifikuoti, kol užšaldytas apribojimas yra aktyvus duotoje nuorodoje ar ryšyje.

Taip pat galime sukurti klasę, turinčią asociacijos savybių; ji vadinama asociacijos klase.

Refleksija asociacija

Reflektyvioji asociacija yra UML asociacijos santykio potipis. Refleksiškoje asociacijoje tos pačios klasės egzemplioriai gali būti susiję vienas su kitu. Taip pat sakoma, kad klasės egzempliorius yra objektas.

Reflektyvioji asociacija teigia, kad tos pačios klasės objektuose gali būti nuoroda arba ryšys.

Panagrinėkime klasės vaisių pavyzdį. Vaisių klasė turi du atvejus, pavyzdžiui, mangų ir obuolių. Refleksija asociacija teigia, kad ryšys tarp mango ir obuolio gali būti, nes tai yra tos pačios klasės atvejai, pavyzdžiui, vaisiai.

Režisuota asociacija

Kaip rodo pavadinimas, nukreipta asociacija yra susijusi su srauto kryptimi asociacijos klasėse.

Nukreiptoje asociacijoje srautas yra nukreiptas. Asociacija iš vienos klasės į kitą vyksta tik viena kryptimi.

Jis žymimas ištisine linija su strėlės antgaliu.

Pavyzdys:

Galima sakyti, kad tarp serverio ir kliento yra nukreipti ryšiai. Serveris gali apdoroti kliento užklausas. Šis srautas yra vienakryptis, jis teka tik iš serverio į klientą. Taigi nukreipti ryšiai gali būti serveriuose ir sistemos klientuose.

Priklausomybė

Naudojant priklausomybės ryšį UML, galima susieti, kaip įvairūs dalykai tam tikroje sistemoje yra priklausomi vienas nuo kito. Priklausomybė naudojama apibūdinti santykį tarp įvairių vienas nuo kito priklausančių UML elementų.

Stereotipai

  • « Susieti » - susiejimas yra apribojimas, nurodantis, kad šaltinis gali inicijuoti šabloną tikslinėje vietoje, naudodamas pateiktus parametrus ar reikšmes.
  • «Išvesti» - tai reiškia, kad šaltinio objekto vietą galima apskaičiuoti pagal tikslinį objektą.
  • «Draugas» - tai nurodo, kad šaltinis turi unikalų matomumą tiksliniame objekte.
  • «InstanceOf» - Nurodo, kad tikslinio klasifikatoriaus egzempliorius yra šaltinio objektas.
  • «Momentinis» - jis nurodo, kad šaltinio objektas gali sukurti tikslinio objekto egzempliorius.
  • «Patikslinti» - tai nurodo, kad šaltinio objektas turi išskirtinę abstrakciją nei tikslinis objektas.
  • «Naudoti» - jis naudojamas, kai paketai kuriami UML. Naudojimo stereotipas apibūdina, kad šaltinio paketo elementai gali būti ir tiksliniame pakete. Jame aprašoma, kad šaltinio pakete naudojami kai kurie tikslinio paketo elementai.
  • «Pakaitalas» - nurodo, kad klientas gali pakeisti tiekėją vykdymo metu.
  • «Prieiga» - tai nurodo, kad šaltinio paketas pasiekia tikslinio paketo elementus, kurie dar vadinami privačiu sujungimu.
  • «Importas» - tai nurodo, kad taikinys gali importuoti šaltinio paketo elementą taip, kaip jis yra apibrėžtas taikinyje, kuris taip pat vadinamas viešu sujungimu.
  • «Leidimas» - nurodo, kad šaltinio elementas turi prieigą prie tiekėjo elemento, nepaisant deklaruoto tiekėjo matomumo.
  • «Išplėsti» - padeda jums nurodyti, kad taikinys gali išplėsti šaltinio elemento veikimą.
  • «Įtraukti» - leidžia nurodyti šaltinio elementą, į kurį galima įtraukti kito elemento elgseną nurodytoje vietoje. (tas pats, kas funkcijos iškvietimas c / c ++)
  • «Tapti» - tai nurodo, kad taikinys yra panašus į šaltinį, turintis skirtingas vertes ir vaidmenis.
  • «Skambutis» - tai nurodo, kad šaltinis gali pasinaudoti tikslinio objekto metodu.
  • «Kopija» - tai nurodo, kad tikslinis objektas yra nepriklausomas, šaltinio objekto kopija.
  • «Parametras» - tiekėjas yra kliento operacijų parametras .
  • «Siųsti» - klientas yra operacija, kuri siunčia tiekėjui nenurodytą tikslą.

Stereotipai tarp valstybinės mašinos

  • «Siųsti» - nurodo, kad šaltinio operacija siunčia tikslinį įvykį.

Apibendrinimas

Tai yra santykis tarp bendro subjekto ir unikalaus subjekto, esančio sistemoje.

Esant apibendrinimo ryšiui, galima įgyvendinti į objektą orientuotą koncepciją, vadinamą paveldėjimu . Tarp dviejų objektų, dar vadinamų esybėmis ar daiktais, egzistuoja apibendrinantis ryšys. Apibendrinant santykius, vienas subjektas yra vienas iš tėvų, o kitas - kaip vaikas. Šie subjektai gali būti pavaizduoti naudojant paveldėjimą.

Paveldėdamas bet kurio iš tėvų vaikas gali pasiekti, atnaujinti ar paveldėti funkcijas, nurodytas tėvų objekte. Vaiko objektas gali pridėti savo funkcionalumą, taip pat paveldėti pagrindinio objekto struktūrą ir elgesį.

Šis santykių tipas bendrai žinomas kaip apibendrinimo santykis.

Stereotipai ir jų suvaržymai

  • «Įgyvendinimas» - šis stereotipas naudojamas norint parodyti, kad antrinį subjektą įgyvendina pagrindinis subjektas paveldėdamas pagrindinio objekto struktūrą ir elgesį nepažeisdamas taisyklių. Pastaba Šis stereotipas, jei plačiai naudojamas pavieniui paveldėjimui .

Apibendrinantis ryšys apima tokius apribojimus, kaip pilnas, neišsamus, siekiant patikrinti, ar visi antriniai subjektai yra įtraukti į santykius, ar ne.

Realizacija

UML realizavimo santykyje vienas subjektas žymi tam tikrą atsakomybę, kurios neįgyvendina ji pati, o kitas subjektas, kuris jas įgyvendina. Šis ryšys dažniausiai sutinkamas sąsajų atveju .

Realizacija gali būti pateikiama dviem būdais:

  • Naudojant kanoninę formą
  • Naudojant elided formą

Pirmiau pateiktoje diagramoje paskyros verslo taisyklės realizuoja sąsają „IRuleAgent“.

Įgyvendinimo tipai:

  1. Kanoninė forma

    UML realizavimo sąsajoje kanoninė forma naudojama sąsajoms visoje sistemoje realizuoti. Jis naudoja sąsajos stereotipą sąsajai sukurti ir realizavimo ryšys naudojamas konkrečiai sąsajai realizuoti.

    Kanonine forma realizavimo ryšys žymimas naudojant punktyrinę nukreiptą liniją su dideliu atviru rodyklės antgaliu.

    Pirmiau pateiktoje diagramoje sąsaja „Iruleagent“ realizuojama naudojant objektą, vadinamą „Paskyros verslo taisyklėmis“.

  2. Panaikinta forma

    Realizacija UML klasės diagramoje taip pat gali būti parodyta naudojant elided formą. Elided forma sąsaja žymima naudojant apskritimą, kuris taip pat vadinamas ledinuko užrašu.

    Ši sąsaja, realizuota naudojant viską, kas yra sistemos viduje, sukuria eliduotą struktūrą.

    Pirmiau pateiktoje diagramoje sąsaja „Iruleagent“ žymima naudojant elided formą, kurią realizuoja acctrule.dll.

Kompozicija

Tai nėra standartinis UML ryšys, tačiau jis vis tiek naudojamas įvairiose programose.

Sudėtinis agregavimas yra agregacijos, susijusios su tokiais parametrais, potipis:

  • tai yra dvipusis ryšys tarp objektų.
  • Tai yra visos / dalies santykis.
  • Jei kompozitas ištrinamas, ištrinamos visos kitos su juo susijusios dalys.

Sudėtinis agregatas apibūdinamas kaip dvejetainė asociacija, papuošta užpildytu juodu deimantu agregato (viso) gale.

Aplankas yra struktūra, kurioje yra n failų skaičius. Aplankas naudojamas failams jame laikyti. Kiekvieną aplanką galima susieti su bet kokiu failų skaičiumi. Kompiuterinėje sistemoje kiekvienas failas yra bent vieno aplanko, esančio failų organizavimo sistemoje, dalis. Tas pats failas taip pat gali būti kito aplanko dalis, tačiau jis nėra privalomas. Kai failas pašalinamas iš aplanko, aplankas lieka nepaveiktas, o duomenys, susiję su konkrečiu failu, sunaikinami. Jei ištrynimo operacija atliekama aplanke, tai taip pat veikia visus failus, esančius aplanke. Pašalinus aplanką iš sistemos, visi su aplanku susieti failai automatiškai sunaikinami.

Šis UML santykių tipas žinomas pagal sudėtinius agregavimo ryšius.

Apibendrinimas

Apibendrinimas yra UML susiejimo santykio potipis. Apibendrinimas ir sudėtis yra abu asociacijos santykių tipai UML. Agregavimo ryšį galima apibūdinti paprastais žodžiais, kaip „vienos klasės objektas gali turėti kitos klasės objektus arba prie jų prieiti“.

Apibendrinant sąryšį, priklausomas objektas lieka santykių sferoje, net kai sunaikinamas šaltinio objektas.

Panagrinėkime automobilio ir rato pavyzdį. Norint, kad automobilis veiktų teisingai, automobiliui reikia rato, tačiau ratui ne visada reikia automobilio. Jis taip pat gali būti naudojamas su dviračiu, dviračiu ar bet kuria kita transporto priemone, bet ne su konkrečiu automobiliu. Čia rato objektas yra prasmingas net be automobilio objekto. Toks santykių tipas vadinamas agregacijos ryšiu.

Santrauka

  • Ryšys UML leidžia vieną dalyką susieti su kitais sistemos viduje esančiais dalykais.
  • Asociaciją, priklausomybę, apibendrinimą ir realizavimo ryšius apibrėžia UML.
  • Kompozicijos ryšys taip pat gali būti naudojamas vaizduoti, kad objektas vienu metu gali būti tik vieno kompozito dalis.
  • Asociacija naudojama apibūdinti, kad vieną objektą galima susieti su kitu objektu.
  • Priklausomumas reiškia, kad objektai gali būti priklausomi vienas nuo kito.
  • Realizacija yra prasmingas klasifikatorių santykis.
  • Apibendrinimas taip pat vadinamas tėvų ir vaikų santykiais.