UML Relationstyper: Association, afhængighed, generalisering

Hvad er UML-forhold?

Relationer i UML bruges til at repræsentere en sammenhæng mellem strukturelle, adfærdsmæssige eller grupperende ting. Det kaldes også et link, der beskriver, hvordan to eller flere ting kan relatere til hinanden under udførelsen af ​​et system. Type UML-forhold er Association, Afhængighed, Generalisering og Realisering.

Lad os studere dem i detaljer

Typer af UML-klassediagramrelationer

UML klassediagram relationer

Association

Det er et sæt links, der forbinder elementer i UML-modellen. Det definerer også, hvor mange objekter der deltager i denne relation.

Afhængighed

I et afhængighedsforhold, som navnet antyder, er to eller flere elementer afhængige af hinanden. I denne form for et forhold, hvis vi foretager en ændring af et bestemt element, er det sandsynligt, at alle de andre elementer også bliver påvirket af ændringen.

Generalisering

Det kaldes også et forældre-barn-forhold. Ved generalisering er et element en specialisering af en anden generel komponent. Det kan erstattes af det. Det bruges mest til at repræsentere arv.

erkendelse af

I et realiseringsforhold for UML betegner en enhed et eller andet ansvar, som ikke er implementeret af sig selv, og den anden enhed, der implementerer dem. Dette forhold findes for det meste i tilfælde af grænseflader.

Association

Det er et strukturelt forhold, der repræsenterer objekter, der kan forbindes eller associeres med et andet objekt inde i systemet. Følgende begrænsninger kan anvendes på foreningsforholdet.

  • {implicit} – Implicitte begrænsninger specificerer, at forholdet ikke er åbenlyst; det er baseret på et koncept.
  • {bestilt} – Ordnede begrænsninger angiver, at sættet af objekter i den ene ende af en tilknytning er på en bestemt måde.
  • {foranderlig} – Changeable constraint specificerer, at forbindelsen mellem forskellige objekter i systemet kan tilføjes, fjernes og ændres i henhold til kravet.
  • {addOnly} – Det specificerer, at de nye forbindelser kan tilføjes fra et objekt, der er placeret i den anden ende af en association.
  • {Frosset} – Det specificerer, at når der tilføjes et link mellem to objekter, så kan det ikke ændres, mens den fastfrosne begrænsning er aktiv på det givne link eller en forbindelse.

Vi kan også oprette en klasse, der har foreningsegenskaber; det kaldes som en foreningsklasse.

Refleksiv association

Den refleksive association er en undertype af associationsforhold i UML. I en refleksiv association kan instanserne af samme klasse relateres til hinanden. En forekomst af en klasse siges også at være et objekt.

Refleksiv association angiver, at et link eller en forbindelse kan være til stede inden for objekterne i samme klasse.

Lad os overveje et eksempel på en klassefrugt. Frugtklassen har to forekomster, såsom mango og æble. Refleksiv association angiver, at en forbindelse mellem mango og æble kan være til stede, da de er forekomster af samme klasse, såsom frugt.

Styret forening

Som navnet antyder, er den rettede association relateret til flowretningen inden for foreningsklasser.

I en rettet forening er flowet rettet. Associationen fra en klasse til en anden klasse flyder kun i en enkelt retning.

Det er angivet ved hjælp af en ubrudt linje med en pilespids.

Eksempel:

Man kan sige, at der er et rettet tilknytningsforhold mellem en server og en klient. En server kan behandle anmodninger fra en klient. Dette flow er ensrettet, som kun flyder fra server til klient. Derfor kan et rettet tilknytningsforhold være til stede inden for servere og klienter i et system.

Afhængighed

Ved hjælp af et afhængighedsforhold i UML kan man relatere, hvordan forskellige ting inde i et bestemt system er afhængige af hinanden. Afhængighed bruges til at beskrive forholdet mellem forskellige elementer i UML, der er afhængige af hinanden.

Stereotyper

  • "binde" – Bind er en begrænsning, der specificerer, at kilden kan initialisere skabelonen på en målplacering ved hjælp af angivne parametre eller værdier.
  • «aflede» – Det repræsenterer, at placeringen af ​​et kildeobjekt kan beregnes ud fra målobjektet.
  • "ven" – Det specificerer, at kilden har unik synlighed i målobjektet.
  • "forekomst af" – Det specificerer, at forekomsten af ​​en målklassifikator er kildeobjektet.
  • "instansiere" – Det specificerer, at kildeobjektet er i stand til at skabe forekomster af et målobjekt.
  • "raffinere" – Det specificerer, at kildeobjektet har en exceptionel abstraktion end målobjektets.
  • "brug" – Det bruges, når pakker oprettes i UML. Brugsstereotypen beskriver, at elementerne i en kildepakke også kan være til stede i målpakken. Den beskriver, at kildepakken gør brug af nogle elementer i en målpakke.
  • "erstatning" – specificerer, at kunden kan erstatte leverandøren under drift.
  • "adgang" – Det specificerer, at kildepakken har adgang til elementerne i målpakken som også kaldes som en privat sammenlægning.
  • "Importere" – Det specificerer, at målet kan importere elementet i en kildepakke, som de er defineret i mål, som også kaldes en offentlig fusion.
  • "tilladelse" – angiver, at kildeelementet har adgang til leverandørelementet uanset leverandørens erklærede synlighed.
  • "forlænge" – Hjælper dig med at angive, at målet kan udvide kildeelementets adfærd.
  • "omfatte" – Giver dig mulighed for at specificere kildeelementet, som kan inkludere adfærden for et andet element på en specificeret placering. (samme som et funktionskald i c/c++)
  • "blive" – Det specificerer, at målet ligner kilden med forskellige værdier og roller.
  • "opkald" – Det specificerer, at kilden kan kalde en målobjektmetode.
  • "kopi" – Det specificerer, at målobjektet er uafhængigt, kopi af et kildeobjekt.
  • «parameter» – den leverandør er en parameter for kundens drift.
  • "send" - klienten er en operation, der sender leverandøren et uspecificeret mål.

Stereotyper blandt statsmaskiner

  • "sende" – Angiver, at kildehandlingen sender målhændelsen.

Generalisering

Det er et forhold mellem en generel enhed og en unik enhed, som er til stede inde i systemet.

I et generaliseringsforhold kaldes det objektorienterede begreb arv kan implementeres. Der eksisterer et generaliseringsforhold mellem to objekter, også kaldet entiteter eller ting. I et generaliseringsforhold er en enhed en forælder, og en anden siges at være som barn. Disse enheder kan repræsenteres ved hjælp af arv.

Ved nedarvning kan et barn af enhver forælder få adgang til, opdatere eller arve funktionaliteten som angivet i det overordnede objekt. Et underordnet objekt kan tilføje sin funktionalitet til sig selv samt arve strukturen og adfærden af ​​et overordnet objekt.

Denne type forhold, samlet kendt som et generaliseringsforhold.

Stereotyper og deres begrænsninger

  • «implementering» – Denne stereotype bruges til at repræsentere, at den underordnede enhed implementeres af den overordnede enhed ved at arve strukturen og adfærden af ​​et overordnet objekt uden at overtræde reglerne.Bemærk Denne stereotype, hvis meget brugt i en enkelt arv.

Generaliseringsrelationen indeholder begrænsninger såsom komplet, ufuldstændig for at kontrollere, om alle underordnede enheder er inkluderet i forholdet eller ej.

erkendelse af

I et realiseringsforhold for UML betegner en enhed et eller andet ansvar, som ikke er implementeret af sig selv, og den anden enhed, der implementerer dem. Dette forhold findes for det meste i tilfælde af grænseflader.

Realisering kan repræsenteres på to måder:

  • Ved hjælp af en kanonisk form
  • Brug af en udgået form
Realisering i UML
Realisering i UML

I ovenstående diagram realiserer kontoforretningsregler grænsefladen IRuleAgent.

Typer af realisering

  1. Kanonisk formI et realiseringsforhold af UML bruges den kanoniske form til at realisere grænseflader på tværs af systemet. Den bruger en grænsefladestereotype til at skabe en grænseflade, og realiseringsforhold bruges til at realisere den særlige grænseflade. I en kanonisk form er realiseringsforholdet angivet ved hjælp af den stiplede rettede linje med en betydelig åben pilespids. I ovenstående diagram er grænsefladen Iruleagent realiseret ved hjælp af et objekt kaldet Account Business Rules.
  2. Elideret form Realisering i UML klasse diagram kan også vises ved hjælp af en elided formular. I en elided form er grænsefladen angivet ved hjælp af en cirkel, som også kaldes som en slikkepind. Denne grænseflade, når den realiseres ved hjælp af noget, der findes inde i systemet, skaber en elided struktur. I ovenstående diagram er grænsefladen Iruleagent angivet ved hjælp af en elided form, som realiseres af acctrule.dll.

Sammensætning

Det er ikke et standard UML-forhold, men det bruges stadig i forskellige applikationer.

Sammensat aggregering er en undertype af aggregeringsrelation med karakteristika som:

  • det er en to-vejs association mellem objekterne.
  • Det er et hel/del forhold.
  • Hvis en komposit slettes, slettes alle andre dele, der er knyttet til den.

Sammensat aggregering beskrives som en binær association dekoreret med en fyldt sort diamant i den samlede (hele) ende.

Sammensætning i UML

Sammensætning i UML

En mappe er en struktur, der rummer n antal filer i den. En mappe bruges til at gemme filerne i den. Hver mappe kan tilknyttes et vilkårligt antal filer. I et computersystem er hver enkelt fil en del af mindst én mappe inde i filorganisationssystemet. Den samme fil kan også være en del af en anden mappe, men det er ikke obligatorisk. Når en fil fjernes fra mappen, forbliver mappen upåvirket, mens data relateret til den pågældende fil bliver ødelagt. Hvis der udføres en sletningsoperation på mappen, så påvirker det også alle de filer, der findes i mappen. Alle filer, der er knyttet til mappen, bliver automatisk ødelagt, når mappen fjernes fra systemet.

Denne type forhold i UML er kendt af sammensat aggregeringsforhold.

Sammenlægning

An aggregering er en undertype af et associationsforhold i UML. Aggregation og sammensætning er begge typer af associationsforhold i UML. Et aggregeringsforhold kan beskrives med enkle ord som "et objekt i en klasse kan eje eller få adgang til objekter i en anden klasse."

I en aggregeringsrelation forbliver det afhængige objekt i en relations omfang, selv når kildeobjektet ødelægges.

Lad os overveje et eksempel på en bil og et hjul. En bil har brug for et hjul for at fungere korrekt, men et hjul behøver ikke altid en bil. Den kan også bruges med cyklen, cyklen eller andre køretøjer, men ikke en bestemt bil. Her er hjulobjektet meningsfuldt selv uden bilobjektet. En sådan type relation kaldes en aggregeringsrelation.

Resumé

  • Relation i UML tillader én ting at relatere til andre ting inde i systemet.
  • En association, afhængighed, generalisering og realiseringsrelationer er defineret af UML.
  • Sammensætningsforhold kan også bruges til at repræsentere, at objektet kun kan være en del af én sammensætning ad gangen.
  • Association bruges til at beskrive, at et objekt kan associeres med et andet objekt.
  • Afhængighed betyder, at objekter kan være afhængige af hinanden.
  • En erkendelse er et meningsfuldt forhold mellem klassifikatorer.
  • Generalisering kaldes også som et forældre-barn-forhold.