UML-förhållanden med EXEMPEL: Beroende, generalisering, förverkligande

Innehållsförteckning:

Anonim

Vad är UML-relation?

Relationer i UML används för att representera en koppling mellan strukturella, beteendemässiga eller grupperande saker. Det kallas också en länk som beskriver hur två eller flera saker kan relatera till varandra under körningen av ett system. Typ av UML-förhållande är associering, beroende, generalisering och realisering.

Låt oss studera dem i detalj

  • Förening

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

  • Beroende

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

  • Generalisering

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

  • Insikt

I ett realiseringsförhållande för UML anger en enhet ett visst 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.

I denna UML-handledning lär du dig:

  • Förening
  • Beroende
  • Generalisering
  • Insikt
  • Sammansättning
  • Aggregering

Förening

Det är ett strukturellt förhållande som representerar objekt som kan kopplas till eller associeras med ett annat objekt inuti systemet. Följande begränsningar kan tillämpas på associeringsförhållandet.

  • {implicit} - implicita begränsningar anger att förhållandet inte är manifest; den bygger på ett koncept.
  • {beställd} - Beställda begränsningar anger att uppsättningen objekt i ena änden av en association är på ett specifikt sätt.
  • {förändringsbar} - Ändringsbar begränsning anger att anslutningen mellan olika objekt i systemet kan läggas till, tas bort och modifieras enligt kravet.
  • {addOnly} - Det specificerar att de nya anslutningarna kan läggas till från ett objekt som ligger i andra änden en association.
  • {fryst} - 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 associeringsegenskaper; det kallas som en föreningsklass.

Reflexiv förening

Den reflexiva associeringen är en undertyp av associeringsrelationen i UML. I en reflexiv förening kan förekomsten av samma klass relateras till varandra. En förekomst av en klass sägs också vara ett objekt.

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

Låt oss överväga ett exempel på en klassfrukt. Fruktklassen har två instanser, som mango och äpple. Reflexiv förening säger att en länk mellan mango och äpple kan finnas eftersom de är fall av samma klass, såsom frukt.

Regisserad association

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

I en riktad förening riktas flödet. Föreningen från en klass till en annan klass flyter bara i en enda riktning.

Det betecknas med en hel linje med en pilspets.

Exempel:

Du kan säga att det finns ett riktat associeringsförhållande mellan en server och en klient. En server kan behandla en klients förfrågningar. Det här flödet är enkelriktat, det flödar bara från server till klient. Därför kan ett riktat associeringsförhållande förekomma inom servrar och klienter i ett system.

Beroende

Med hjälp av en beroendeförhållande i UML kan man berätta 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

  • « Bind » - Bind är en begränsning som anger att källan kan initiera mallen på en målplats med angivna parametrar eller värden.
  • «Härled» - 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.
  • «InstanceOf» - Den anger att förekomsten av en målklassificering är källobjektet.
  • «Instantiate» - Den anger att källobjektet kan skapa instanser av ett målobjekt.
  • «Förfina» - Det anger att källobjektet har exceptionell abstraktion än målobjektets.
  • «Användning» - Den används när paket skapas i UML. Användarstereotypen beskriver att elementen i ett källkodspaket också kan finnas i målpaketet. Den beskriver att källpaketet använder vissa element i ett målpaket.
  • «Ersättare» - anger att klienten kan ersättas med leverantören vid körning.
  • «Access» - Den anger att källkodspaketet får åtkomst till elementen i målpaketet som också kallas som en privat sammanslagning.
  • «Import» - Det specificerar att målet kan importera elementet i ett källkodspaket som de är definierade inuti målet som också kallas en offentlig sammanslagning.
  • «Tillstånd» - anger att källelementet har tillgång till leverantörselementet oavsett leverantörens synliga synlighet.
  • «Förlänga» - Hjälper dig att specificera att målet kan utöka källelementets beteende.
  • «Inkludera» - Låter dig specificera källelementet som kan inkluderas beteendet hos ett annat element på en viss plats. (samma som ett funktionsanrop i c / c ++)
  • «Bli» - Det anger att målet liknar källan med olika värden och roller.
  • «Samtal» - Den anger att källan kan åberopa en målobjektmetod.
  • «Kopia» - Den anger att målobjektet är oberoende, kopia av ett källobjekt.
  • «Parameter» - leverantören är en parameter för klientverksamheten .
  • «Skicka» - klienten är en operation som skickar leverantören något ospecificerat mål.

Stereotyper bland statsmaskiner

  • «Skicka» - Anger att källfunktionen skickar målhändelsen.

Generalisering

Det är en relation mellan en allmän enhet och en unik enhet som finns i systemet.

I ett generaliseringsförhållande kan det objektorienterade konceptet som kallas arv implementeras. Det finns ett generaliseringsförhållande mellan två objekt, även kallade enheter eller saker. I ett generaliseringsförhållande är en enhet en förälder och en annan sägs vara som ett barn. Dessa enheter kan representeras med arv.

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

Denna typ av relation kallas allmänt som ett generaliseringsförhållande.

Stereotyper och deras begränsningar

  • «Implementering» - 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. Obs! Denna stereotyp om den används allmänt i ett enda arv .

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

Insikt

I ett realiseringsförhållande för UML anger en enhet ett visst 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örverkligandet kan representeras på två sätt:

  • Med hjälp av en kanonisk form
  • Med hjälp av en elided form

I ovanstående diagram realiserar kontoföretagsregler gränssnittet IRuleAgent.

Typer av förverkligande:

  1. Kanonisk form

    I ett realiseringsförhållande för UML används den kanoniska formen för att förverkliga gränssnitt över hela systemet. Den använder en gränssnittsstereotyp för att skapa ett gränssnitt och realiseringsförhållande används för att förverkliga det specifika gränssnittet.

    I en kanonisk form betecknas realiseringsförhållandet med den streckade riktade linjen med en stor öppen pilspets.

    I ovanstående diagram realiseras gränssnittet Iruleagent med ett objekt som kallas Account Business Rules.

  2. Eliderad form

    Förverkligande i UML-klassdiagrammet kan också visas med hjälp av en formad form. I en avskild form betecknas gränssnittet med en cirkel som också kallas som en klubba-notation.

    Detta gränssnitt skapar en utvidgad struktur när den realiseras med allt som finns i systemet.

    I ovanstående diagram betecknas gränssnittet Iruleagent med hjälp av en formad form som realiseras av acctrule.dll.

Sammansättning

Det är inte en vanlig UML-relation, men den används fortfarande i olika applikationer.

Sammansatt aggregering är en undertyp av aggregeringsrelation med egenskaper som:

  • det är en tvåvägsförening 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 förening dekorerad med en fylld svart diamant i den sammanlagda (hela) änden.

En mapp är en struktur som innehåller n antal filer i den. En mapp används för att lagra filerna inuti den. Varje mapp kan associeras med valfritt antal filer. I ett datorsystem är varje 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är en fil tas bort från mappen förblir mappen opåverkad medan data relaterade till den aktuella filen förstörs. Om en borttagningsåtgärd utförs i 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 genom sammansatt förhållande.

Aggregering

En aggregering är en undertyp av en associeringsrelation i UML. Aggregation och komposition är båda typerna av associeringsrelationer i UML. Ett aggregeringsförhållande kan beskrivas med enkla ord som "ett objekt i en klass kan äga eller få tillgång till objekt i en annan klass."

I ett aggregeringsförhållande förblir det beroende objektet inom ramen för ett förhållande ä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 viss bil. Här är hjulobjektet meningsfullt även utan bilobjektet. En sådan typ av relation kallas en aggregeringsrelation.

Sammanfattning

  • Förhållandet i UML tillåter en sak att relatera till andra saker i systemet.
  • En relation, beroende, generalisering och realiseringsrelationer definieras av UML.
  • Kompositionsförhållande kan också användas för att representera att objektet kan vara en del av endast en komposit åt gången.
  • Association används för att beskriva att ett objekt kan associeras med ett annat objekt.
  • Beroende anger att objekt kan vara beroende av varandra.
  • En förverkligande är en meningsfull relation mellan klassificerare.
  • Generalisering kallas också som ett förälder-barn-förhållande.