Typer av UML-relationer: Association, beroende, generalisering

Vad är UML-relation?

Relationer i UML används för att representera ett samband mellan strukturella, beteendemässiga eller grupperande saker. Det kallas också för en länk som beskriver hur två eller flera saker kan relatera till varandra under exekveringen av ett system. Typ av UML-relation är Association, Dependency, Generalization och Realization.

Låt oss studera dem i detalj

Typer av UML-klassdiagramrelationer

UML klassdiagram relationer

Förening

Det är en uppsättning länkar som kopplar samman delar av UML-modellen. Den definierar också hur många objekt som deltar i den relationen.

Dependency

I ett beroendeförhållande, som namnet antyder, är två eller flera element beroende av varandra. I den här typen av relation, om vi gör en förändring av ett visst element, är det sannolikt möjligt att alla andra element också kommer att påverkas av förändringen.

Generalisering

Det kallas också en förälder-barn-relation. I generalisering är ett element en specialisering av en annan generell komponent. Det kan ersättas med det. Det används mest för att representera arv.

Insikt

I en realiseringsrelation av UML betecknar en enhet något ansvar som inte implementeras av sig själv och den andra enheten som implementerar dem. Detta förhållande finns mestadels i fallet med gränssnitt.

Förening

Det är en strukturell relation som representerar objekt som kan kopplas till eller associeras med ett annat objekt inuti systemet. Följande begränsningar kan tillämpas på associationsförhållandet.

  • {implicit} – Implicita begränsningar anger att förhållandet inte är uppenbart; den bygger på ett koncept.
  • {beordrade} – Ordnade begränsningar anger att uppsättningen objekt i ena änden av en association är på ett specifikt sätt.
  • {föränderlig} – Changeable constraint specificerar att kopplingen mellan olika objekt i systemet kan läggas till, tas bort och modifieras enligt kravet.
  • {addOnly} – Den specificerar att de nya anslutningarna kan läggas till från ett objekt som är beläget i andra änden av en association.
  • {frysta} – Den anger att när en länk läggs till mellan två objekt kan den inte ändras medan den frysta begränsningen är aktiv på den givna länken eller en anslutning.

Vi kan också skapa en klass som har associationsegenskaper; det kallas som en föreningsklass.

Reflexiv association

Den reflexiva associationen är en undertyp av associationsrelation inom UML. I en reflexiv association kan instanserna av samma klass relateras till varandra. En instans av en klass sägs också vara ett objekt.

Reflexiv association anger att en länk eller en koppling kan finnas inom objekten i samma klass.

Låt oss betrakta ett exempel på en klassfrukt. Fruktklassen har två instanser, som mango och äpple. Reflexiv association säger att en koppling mellan mango och äpple kan finnas eftersom de är instanser av samma klass, såsom frukt.

Riktad förening

Som namnet antyder är den riktade associationen relaterad till flödesriktningen inom föreningsklasser.

I en riktad association är flödet riktat. Associationen från en klass till en annan klass flyter endast i en enda riktning.

Det betecknas med en heldragen linje med en pilspets.

Exempelvis:

Man kan säga att det finns en riktad associationsrelation mellan en server och en klient. En server kan behandla förfrågningar från en klient. Detta flöde är enkelriktat, som endast flyter från server till klient. Därför kan en riktad associationsrelation finnas inom servrar och klienter i ett system.

Dependency

Med hjälp av ett beroendeförhållande i UML kan man relatera hur olika saker i ett visst system är beroende av varandra. Beroende används för att beskriva förhållandet mellan olika element i UML som är beroende av varandra.

Stereotyper

  • "binda" – Bind är en begränsning som anger att källan kan initiera mallen på en målplats med hjälp av angivna parametrar eller värden.
  • "härleda" – Det representerar att platsen för ett källobjekt kan beräknas från målobjektet.
  • "vän" – Den anger att källan har unik synlighet i målobjektet.
  • "instans av" – Den anger att instansen av en målklassificerare är källobjektet.
  • "instansiera" – Den anger att källobjektet kan skapa instanser av ett målobjekt.
  • "förfina" – Den specificerar att källobjektet har exceptionell abstraktion än målobjektets.
  • "använda sig av" – Det används när paket skapas i UML. Användningsstereotypen beskriver att elementen i ett källpaket också kan finnas i målpaketet. Den beskriver att källpaketet använder vissa delar av ett målpaket.
  • "ersättning" – anger att kunden kan ersätta leverantören under körning.
  • "tillgång" – Det anger att källpaketet får åtkomst till elementen i målpaketet som också kallas som en privat sammanslagning.
  • "Importera" – Den anger att målet kan importera elementet i ett källpaket som de är definierade i mål som också kallas som en offentlig sammanslagning.
  • "tillåta" – anger att källelementet har tillgång till leverantörselementet oavsett leverantörens deklarerade synlighet.
  • "förlänga" – Hjälper dig att specificera att målet kan utöka beteendet hos källelementet.
  • "omfatta" – Låter dig specificera källelementet som kan inkluderas beteendet hos ett annat element på en angiven plats. (samma som ett funktionsanrop i c/c++)
  • "bli" – Den specificerar att målet liknar källan med olika värden och roller.
  • "ring upp" – Den anger att källan kan anropa en målobjektmetod.
  • "kopiera" – Den anger att målobjektet är oberoende, kopia av ett källobjekt.
  • «parameter» – den leverantör är en parameter för kundens verksamhet.
  • "skicka" - klienten är en operation som skickar leverantören något ospecificerat mål.

Stereotyper bland statsmaskiner

  • "skicka" – Anger att källåtgärden skickar målhändelsen.

Generalisering

Det är ett förhållande mellan en allmän enhet och en unik enhet som finns i systemet.

I ett generaliseringsförhållande kallas det objektorienterade begreppet arv kan genomföras. En generaliseringsrelation existerar mellan två objekt, även kallade som entiteter eller saker. I ett generaliseringsförhållande är en enhet en förälder och en annan sägs vara som barn. Dessa enheter kan representeras med hjälp av arv.

Vid arv kan ett barn till vilken förälder som helst komma åt, uppdatera eller ärva funktionaliteten som specificeras i det överordnade objektet. Ett underordnat objekt kan lägga till sin funktionalitet till sig självt samt ärva strukturen och beteendet hos ett överordnat objekt.

Denna typ av relation kallas kollektivt ett generaliseringsförhållande.

Stereotyper och deras begränsningar

  • "genomförande" – Denna stereotyp används för att representera att den underordnade enheten implementeras av den överordnade enheten genom att ärva strukturen och beteendet hos ett överordnat objekt utan att bryta mot reglerna.Anmärkningar Denna stereotyp om ofta används i en singel arv.

Generaliseringsrelationen innehåller begränsningar som komplett, ofullständig för att kontrollera om alla underordnade enheter ingår i relationen eller inte.

Insikt

I en realiseringsrelation av UML betecknar en enhet något ansvar som inte implementeras av sig själv och den andra enheten som implementerar dem. Detta förhållande finns mestadels i fallet med gränssnitt.

Realisering kan representeras på två sätt:

  • Med hjälp av en kanonisk form
  • Använda en utdragen form
Genomförande i UML
Genomförande i UML

I diagrammet ovan realiserar konto affärsregler gränssnittet IRuleAgent.

Typer av realisering

  1. Kanonisk formI en realiseringsrelation av UML används den kanoniska formen för att realisera gränssnitt över systemet. Den använder en gränssnittsstereotyp för att skapa ett gränssnitt och realiseringsrelation används för att realisera det specifika gränssnittet. I en kanonisk form betecknas realiseringsförhållandet med den streckade riktade linjen med en stor öppen pilspets. I diagrammet ovan realiseras gränssnittet Iruleagent med hjälp av ett objekt som kallas Account Business Rules.
  2. Eliderad form Realisering i UML klassdiagram kan också visas med hjälp av ett elided form. I en eliderad form betecknas gränssnittet med en cirkel som också kallas en klubba-notation. Detta gränssnitt, när det realiseras med något som finns inuti systemet, skapar en eliderad struktur. I diagrammet ovan betecknas gränssnittet Iruleagent med hjälp av en eliderad form som realiseras av acctrule.dll.

Sammansättning

Det är inte ett standard UML-förhållande, men det används fortfarande i olika applikationer.

Sammansatt aggregation är en undertyp av aggregationsrelation med egenskaper som:

  • det är en tvåvägsassociation mellan objekten.
  • Det är en hel/del relation.
  • Om en komposit raderas raderas alla andra delar som är associerade med den.

Sammansatt aggregering beskrivs som en binär association dekorerad med en fylld svart diamant i aggregatets (hela) ände.

Komposition i UML

Komposition i UML

En mapp är en struktur som innehåller n antal filer. En mapp används för att lagra filerna i den. Varje mapp kan kopplas till valfritt antal filer. I ett datorsystem är varje enskild fil en del av minst en mapp i filorganisationssystemet. Samma fil kan också vara en del av en annan mapp, men det är inte obligatoriskt. Närhelst en fil tas bort från mappen förblir mappen opåverkad medan data relaterade till den specifika filen förstörs. Om en raderingsoperation utförs på mappen, påverkar det också alla filer som finns i mappen. Alla filer som är associerade med mappen förstörs automatiskt när mappen tas bort från systemet.

Denna typ av relation i UML är känd som sammansatt aggregeringsrelation.

aggregation

An aggregation är en undertyp av en associationsrelation i UML. Aggregation och sammansättning är båda typerna av associationsrelationer i UML. En aggregeringsrelation kan med enkla ord beskrivas som "ett objekt i en klass kan äga eller komma åt objekt i en annan klass."

I en aggregeringsrelation förblir det beroende objektet inom ramen för en relation även när källobjektet förstörs.

Låt oss överväga ett exempel på en bil och ett hjul. En bil behöver ett hjul för att fungera korrekt, men ett hjul behöver inte alltid en bil. Den kan också användas med cykeln, cykeln eller andra fordon men inte en speciell bil. Här är hjulobjektet meningsfullt även utan bilobjektet. En sådan typ av relation kallas en aggregeringsrelation.

Sammanfattning

  • Relation i UML tillåter en sak att relatera till andra saker i systemet.
  • En association, beroende, generalisering och realiseringsrelationer definieras av UML.
  • Kompositionsrelation kan också användas för att representera att objektet kan vara en del av endast en sammansättning åt gången.
  • Association används för att beskriva att ett objekt kan associeras med ett annat objekt.
  • Beroende betyder att objekt kan vara beroende av varandra.
  • En insikt är ett meningsfullt förhållande mellan klassificerare.
  • Generalisering kallas också en förälder-barn-relation.