UML-forhold med EKSEMPEL: Avhengighet, generalisering, realisering

Innholdsfortegnelse:

Anonim

Hva er UML-forhold?

Relasjoner i UML brukes til å representere en sammenheng mellom strukturelle, atferdsmessige eller grupperende ting. Det kalles også en lenke som beskriver hvordan to eller flere ting kan forholde seg til hverandre under utførelsen av et system. Type UML-forhold er tilknytning, avhengighet, generalisering og realisering.

Lar oss studere dem i detalj

  • assosiasjon

Det er et sett med lenker som forbinder elementer i UML-modellen. Den definerer også hvor mange objekter som deltar i den relasjonen.

  • Avhengighet

I et avhengighetsforhold, som navnet antyder, er to eller flere elementer avhengige av hverandre. I denne typen forhold, hvis vi gjør en endring i et bestemt element, er det sannsynlig mulig at alle de andre elementene også vil bli påvirket av endringen.

  • Generalisering

Det kalles også et foreldre-barn-forhold. Generelt er ett element en spesialisering av en annen generell komponent. Det kan erstattes av det. Det brukes mest til å representere arv.

  • Realisering

I et realiseringsforhold av UML, angir en enhet noe ansvar som ikke er implementert av seg selv og den andre enheten som implementerer dem. Dette forholdet er hovedsakelig funnet når det gjelder grensesnitt.

I denne UML-opplæringen lærer du:

  • assosiasjon
  • Avhengighet
  • Generalisering
  • Realisering
  • Sammensetning
  • Aggregering

assosiasjon

Det er et strukturelt forhold som representerer objekter som kan kobles til eller assosieres med et annet objekt inne i systemet. Følgende begrensninger kan brukes på foreningsforholdet.

  • {implisitt} - implisitte begrensninger angir at forholdet ikke er manifestert; det er basert på et konsept.
  • {bestilt} - Bestilte begrensninger angir at settet med objekter i den ene enden av en tilknytning er på en bestemt måte.
  • {changeable} - Endringsbar begrensning angir at forbindelsen mellom forskjellige objekter i systemet kan legges til, fjernes og endres i henhold til kravet.
  • {addOnly} - Det spesifiserer at de nye tilkoblingene kan legges til fra et objekt som ligger i den andre enden en tilknytning.
  • {frossen} - Den spesifiserer at når en kobling legges til mellom to objekter, kan den ikke endres mens den frosne begrensningen er aktiv på den gitte lenken eller en tilkobling.

Vi kan også lage en klasse som har tilknytningsegenskaper; det kalles som en assosiasjonsklasse.

Refleksiv assosiasjon

Refleksiv assosiasjon er en undertype av assosiasjonsforhold i UML. I en refleksiv assosiasjon kan forekomster av samme klasse relateres til hverandre. En forekomst av en klasse sies også å være et objekt.

Refleksiv assosiasjon sier at en lenke eller en forbindelse kan være tilstede innenfor objektene til samme klasse.

La oss se på et eksempel på en klassefrukt. Fruktklassen har to forekomster, som mango og eple. Refleksiv assosiasjon sier at en kobling mellom mango og eple kan være til stede ettersom de er forekomster av samme klasse, for eksempel frukt.

Regissert tilknytning

Som navnet antyder, er den dirigerte tilknytningen relatert til strømningsretningen innen foreningsklasser.

I en rettet forening styres flyten. Assosiasjonen fra en klasse til en annen klasse flyter bare i en retning.

Det er betegnet ved hjelp av en hel linje med en pilspiss.

Eksempel:

Du kan si at det er et rettet tilknytningsforhold mellom en server og en klient. En server kan behandle forespørsler fra en klient. Denne strømmen er ensrettet, og flyter bare fra server til klient. Derfor kan et rettet tilknytningsforhold være tilstede på servere og klienter i et system.

Avhengighet

Ved å bruke et avhengighetsforhold i UML, kan man fortelle hvordan forskjellige ting i et bestemt system er avhengige av hverandre. Avhengighet brukes til å beskrive forholdet mellom ulike elementer i UML som er avhengige av hverandre.

Stereotyper

  • «Bind» - Bind er en begrensning som spesifiserer at kilden kan initialisere malen på et målsted ved hjelp av angitte parametere eller verdier.
  • «Avled» - Det representerer at plasseringen av et kildeobjekt kan beregnes fra målobjektet.
  • «Venn» - Den spesifiserer at kilden har unik synlighet i målobjektet.
  • «InstanceOf» - Den spesifiserer at forekomsten av en målklasser er kildeobjektet.
  • «Instantiate» - Den spesifiserer at kildeobjektet er i stand til å skape forekomster av et målobjekt.
  • «Avgrense» - Den spesifiserer at kildeobjektet har eksepsjonell abstraksjon enn målobjektets.
  • «Bruk» - Den brukes når pakker opprettes i UML. Bruk stereotypen beskriver at elementene i en kildepakke også kan være tilstede i målpakken. Den beskriver at kildepakken bruker noen elementer i en målpakke.
  • «Erstatning» - spesifiserer at klienten kan erstattes av leverandøren ved kjøretid.
  • «Tilgang» - Den spesifiserer at kildepakken får tilgang til elementene i målpakken, som også kalles en privat sammenslåing.
  • «Import» - Den spesifiserer at målet kan importere elementet i en kildepakke slik de er definert inne i målet, som også kalles en offentlig sammenslåing.
  • «Tillatelse» - spesifiserer at kildeelementet har tilgang til leverandørelementet uansett leverandørens synlige synlighet.
  • «Utvide» - Hjelper deg med å spesifisere at målet kan utvide oppførselen til kildeelementet.
  • «Inkluderer» - Lar deg spesifisere kildeelementet som kan inkluderes oppførselen til et annet element på et spesifisert sted. (samme som en funksjonsanrop i c / c ++)
  • «Bli» - Den spesifiserer at målet ligner på kilden med forskjellige verdier og roller.
  • «Samtale» - Den spesifiserer at kilden kan påkalle en målobjektmetode.
  • «Kopi» - Den spesifiserer at målobjektet er uavhengig, kopi av et kildeobjekt.
  • «Parameter» - leverandøren er en parameter for klientoperasjonen .
  • «Send» - klienten er en operasjon som sender leverandøren noe uspesifisert mål.

Stereotyper blant statsmaskiner

  • «Send» - Spesifiserer at kildeoperasjonen sender målhendelsen.

Generalisering

Det er et forhold mellom en generell enhet og en unik enhet som er tilstede i systemet.

I et generaliseringsforhold kan det objektorienterte begrepet kalt arv implementeres. Det eksisterer et generaliseringsforhold mellom to objekter, også kalt enheter eller ting. I et generaliseringsforhold er en enhet foreldre, og en annen sies å være som barn. Disse enhetene kan representeres ved hjelp av arv.

I arv kan et barn til enhver forelder få tilgang til, oppdatere eller arve funksjonaliteten som spesifisert i det overordnede objektet. Et underordnet objekt kan legge til funksjonaliteten i seg selv, samt arve strukturen og oppførselen til et foreldreobjekt.

Denne typen forhold kjent som et generaliseringsforhold.

Stereotyper og deres begrensninger

  • «Implementering» - Denne stereotypen brukes til å representere at den underordnede enheten blir implementert av den overordnede enheten ved å arve strukturen og oppførselen til et overordnet objekt uten å bryte reglene. Merk Denne stereotypen hvis den er mye brukt i en enkelt arv .

Generaliseringsforhold inneholder begrensninger som fullstendig, ufullstendig for å sjekke om alle barneenhetene blir inkludert i forholdet eller ikke.

Realisering

I et realiseringsforhold av UML, angir en enhet noe ansvar som ikke er implementert av seg selv og den andre enheten som implementerer dem. Dette forholdet er hovedsakelig funnet når det gjelder grensesnitt.

Realisering kan representeres på to måter:

  • Ved hjelp av en kanonisk form
  • Ved hjelp av en utvidet form

I diagrammet ovenfor realiserer forretningsreglene for grensesnittet IRuleAgent.

Typer realisering:

  1. Kanonisk form

    I et realiseringsforhold av UML brukes den kanoniske formen til å realisere grensesnitt på tvers av systemet. Den bruker en grensesnittstereotype for å lage et grensesnitt, og realiseringsforhold brukes til å realisere det bestemte grensesnittet.

    I en kanonisk form er realiseringsforholdet betegnet ved hjelp av den stiplete rettet linje med en betydelig åpen pilspiss.

    I diagrammet ovenfor realiseres grensesnittet Iruleagent ved hjelp av et objekt som kalles Account Business Rules.

  2. Elidet form

    Realisering i UML-klassediagrammet kan også vises ved hjelp av et utvidet skjema. I en formet form er grensesnittet betegnet ved hjelp av en sirkel som også kalles en lollipop-notasjon.

    Dette grensesnittet, når det blir realisert ved hjelp av alt som er tilstede i systemet, skaper en utvidet struktur.

    I diagrammet ovenfor er grensesnittet Iruleagent betegnet ved hjelp av en elidet form som blir realisert av acctrule.dll.

Sammensetning

Det er ikke et standard UML-forhold, men det brukes fortsatt i forskjellige applikasjoner.

Sammensatt aggregering er en undertype av aggregeringsrelasjon med egenskaper som:

  • det er en toveis tilknytning mellom objektene.
  • Det er et helt / delvis forhold.
  • Hvis en kompositt slettes, slettes alle andre deler som er tilknyttet den.

Sammensatt aggregering er beskrevet som en binær forening dekorert med en fylt svart diamant i den samlede enden.

En mappe er en struktur som inneholder n antall filer i den. En mappe brukes til å lagre filene i den. Hver mappe kan knyttes til et hvilket som helst antall filer. I et datasystem er hver enkelt fil en del av minst en mappe i filorganisasjonssystemet. Den samme filen kan også være en del av en annen mappe, men det er ikke obligatorisk. Når en fil blir fjernet fra mappen, forblir mappen upåvirket, mens dataene knyttet til den aktuelle filen blir ødelagt. Hvis en slettingsoperasjon utføres i mappen, påvirker den også alle filene som er tilstede i mappen. Alle filene som er tilknyttet mappen, blir automatisk ødelagt når mappen er fjernet fra systemet.

Denne typen forhold i UML er kjent av sammensatt aggregeringsforhold.

Aggregering

En aggregering er en undertype av et tilknytningsforhold i UML. Aggregering og sammensetning er begge typer tilknytningsforhold i UML. Et aggregeringsforhold kan beskrives med enkle ord som "et objekt i en klasse kan eie eller få tilgang til objektene til en annen klasse."

I et aggregeringsforhold forblir det avhengige objektet innenfor omfanget av et forhold selv når kildeobjektet blir ødelagt.

La oss se på et eksempel på en bil og et hjul. En bil trenger et hjul for å fungere riktig, men et hjul trenger ikke alltid en bil. Den kan også brukes med sykkel, sykkel eller andre kjøretøyer, men ikke en bestemt bil. Her er hjulobjektet meningsfullt selv uten bilobjektet. En slik type forhold kalles en aggregeringsrelasjon.

Sammendrag

  • Forholdet i UML lar en ting forholde seg til andre ting i systemet.
  • En tilknytning, avhengighet, generalisering og realiseringsforhold er definert av UML.
  • Sammensetningsforhold kan også brukes til å representere at objektet kan være en del av bare en kompositt om gangen.
  • Assosiasjon brukes til å beskrive at ett objekt kan assosieres med et annet objekt.
  • Avhengighet betegner at objekter kan være avhengige av hverandre.
  • En erkjennelse er et meningsfylt forhold mellom klassifikatorer.
  • Generalisering kalles også som et foreldre-barn-forhold.