logo

UML-forening vs. aggregasjon vs. sammensetning

I UML-diagrammer brukes relasjoner for å koble flere ting. Det er en sammenheng mellom strukturelle, atferdsmessige eller grupperende ting. Følgende er standard UML-relasjoner oppført nedenfor:

  • assosiasjon
  • Avhengighet
  • Generalisering
  • Realisering

assosiasjon

Assosiasjonsrelasjon er et strukturelt forhold der ulike objekter er koblet sammen i systemet. Den viser et binært forhold mellom objektene som representerer en aktivitet. Den skildrer forholdet mellom objekter, for eksempel en lærer, kan assosieres med flere lærere.

Den er representert med en linje mellom klassene etterfulgt av en pil som navigerer i retningen, og når pilen er på begge sider, kalles den da en toveis assosiasjon. Vi kan spesifisere mangfoldet av en assosiasjon ved å legge til prydene på linjen som skal betegne assosiasjonen.

Eksempel:

hvordan konvertere streng til heltall

1) En enkelt lærer har flere elever.

kryssing av tre
UML-forening vs. aggregasjon vs. sammensetning

2) En enkelt elev kan omgås mange lærere.

UML-forening vs. aggregasjon vs. sammensetning

Sammensetningen og aggregeringen er to undergrupper av assosiasjoner. I begge tilfellene eies objektet til en klasse av objektet til en annen klasse; den eneste forskjellen er at i sammensetning eksisterer ikke barnet uavhengig av forelderen, mens barnet i sammensetning ikke er avhengig av forelderen, dvs. frittstående. En aggregering er en spesiell form for assosiasjon, og sammensetning er den spesielle formen for aggregering.

UML-forening vs. aggregasjon vs. sammensetning

Aggregasjon

Aggregasjon er en undergruppe av assosiasjon, er en samling av forskjellige ting. Det representerer har et forhold. Det er mer spesifikt enn en assosiasjon. Den beskriver en del-hel eller en del av forholdet. Det er en binær assosiasjon, dvs. den involverer bare to klasser. Det er et slags forhold der barnet er uavhengig av sin forelder.

For eksempel:

css bakgrunn

Her vurderer vi et bil- og et hjuleksempel. En bil kan ikke bevege seg uten hjul. Men hjulet kan brukes uavhengig med sykkelen, scooteren, sykkelen eller et hvilket som helst annet kjøretøy. Hjulobjektet kan eksistere uten bilobjektet, noe som viser seg å være et aggregeringsforhold.

UML-forening vs. aggregasjon vs. sammensetning

Komposisjon

Komposisjonen er en del av aggregering, og den skildrer forholdet i hele delen. Den viser avhengighet mellom en kompositt (foreldre) og dens deler (barn), noe som betyr at hvis kompositten blir forkastet, vil dens deler også bli slettet. Det eksisterer mellom lignende objekter.

Som du kan se fra eksemplet nedenfor, forbinder sammensetningsassosiasjonsforholdet Person-klassen med Hjerne-, Hjerte- og Leg-klassen. Hvis personen blir ødelagt, vil hjernen, hjertet og bena også bli kastet.

UML-forening vs. aggregasjon vs. sammensetning

Assosiasjon vs. aggregasjon vs. sammensetning

assosiasjon Aggregasjon Komposisjon
Assosiasjonsforhold er representert ved hjelp av en pil. Aggregasjonsforhold er representert av en rett linje med en tom diamant i den ene enden. Sammensetningsforholdet er representert av en rett linje med en svart diamant i den ene enden.
I UML kan det eksistere mellom to eller flere klasser. Det er en del av foreningsforholdet. Det er en del av aggregeringsforholdet.
Den inkluderer en-til-en, en-til-mange, mange-til-en og mange-til-mange assosiasjon mellom klassene. Det viser et slags svakt forhold. Det viser en sterk type forhold.
Den kan knytte ett objekt til sammen. I et aggregeringsforhold eksisterer de tilknyttede objektene uavhengig innenfor systemets omfang. I et sammensetningsforhold kan ikke de tilknyttede objektene eksistere uavhengig innenfor systemets omfang.
I denne er objekter knyttet sammen. I dette er de koblede objektene uavhengige av hverandre. Her er de koblede objektene avhengige av hverandre.
Det kan eller kan ikke påvirke det andre tilknyttede elementet hvis ett element slettes. Sletting av ett element i aggregeringsforholdet påvirker ikke andre tilknyttede elementer. Det påvirker det andre elementet hvis et av dets tilknyttede elementer slettes.
Eksempel: En veileder kan assosiere med flere elever, eller en student kan assosiere med flere lærere. Eksempel: En bil trenger et hjul for at den skal fungere, men det kan hende den ikke krever det samme hjulet. Det kan også fungere med et annet hjul. Eksempel: Hvis en fil er plassert i en mappe og det er mappen slettes. Filen som ligger i den mappen vil også bli slettet når mappen slettes.