UML Association vs. Aggregasjon vs. Komposisjon [EKSEMPEL]
Relasjoner i UML-diagram brukes til å representere en sammenheng mellom ulike ting. Et forhold er en forbindelse mellom ting som strukturelle, atferdsmessige eller gruppering av ting i det enhetlige modelleringsspråket.
Følgende er de forskjellige typene standardforhold i UML,
- Association
- Avhengighet
- Generalisering
- realisering
Annet enn disse tillater UML bruk av aggregering og et sammensetningsforhold.
UML foreningen
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å UML Association-forholdet.
- {implisitt} – Implisitte begrensninger spesifiserer at forholdet ikke er åpenbart; den er basert på et konsept.
- {bestilt} – Ordnede begrensninger spesifiserer at settet med objekter i den ene enden av en assosiasjon er på en bestemt måte.
- {changable} – Changeable constraint spesifiserer at forbindelsen mellom ulike objekter i systemet kan legges til, fjernes og endres i henhold til kravet.
- {addOnly} – Den spesifiserer at de nye forbindelsene kan legges til fra et objekt som ligger i den andre enden av en assosiasjon.
- {frossen} – Den spesifiserer at når en kobling settes inn mellom to objekter, kan den ikke endres mens den frosne begrensningen er aktiv på den gitte koblingen eller en forbindelse.
Vi kan også opprette en klasse som har UML Association-egenskaper; det kalles som en foreningsklasse.
refleksiv forening
Den refleksive assosiasjonen er en undertype av assosiasjonsforhold i UML. I en refleksiv assosiasjon kan forekomstene av samme klasse relateres til hverandre. En forekomst av en klasse sies også å være et objekt.
Refleksiv assosiasjon sier at en kobling eller en forbindelse kan være tilstede innenfor objektene til samme klasse.
Eksempel:
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 da de er forekomster av samme klasse, for eksempel frukt.
Styret Forening
Som navnet antyder, er den rettet assosiasjonen knyttet til strømningsretningen innenfor foreningsklasser.
I en rettet assosiasjon er strømmen rettet. Assosiasjonen fra en klasse til en annen klasse flyter bare i en enkelt retning.
Det er angitt med en heltrukket linje med en pilspiss.
UML Association Eksempel:
Du kan si at det er et rettet assosiasjonsforhold mellom en server og en klient.
En server kan behandle forespørsler fra en klient. Denne flyten er enveis, som bare flyter fra server til klient. Derfor kan et rettet assosiasjonsforhold være tilstede i servere og klienter til et system.
UML-sammensetning
Det er ikke en standard UML-forhold, men den brukes fortsatt i forskjellige applikasjoner.
Sammensatt aggregering er en undertype av aggregeringsforhold med egenskaper som:
- Det er en toveis assosiasjon mellom objektene.
- Det er en hel/del-relasjon.
- Hvis en kompositt slettes, slettes alle andre deler knyttet til den.
Sammensatt aggregering beskrives som en binær assosiasjon dekorert med en fylt svart diamant i den samlede (hele) enden.
Mappen kan inneholde mange filer, mens hver fil har nøyaktig én mappeforelder. Hvis en mappe slettes, fjernes også alle filene.
I en sammensatt aggregering kan et objekt være en del av bare én kompositt om gangen.
Eksempel på UML-sammensetning:
For eksempel, i et vindussystem, hører en ramme til nøyaktig ett vindu. I en sammensatt aggregering er hele systemet ansvarlig for disponeringen av delene, noe som betyr at kompositten må håndtere opprettelsen og ødeleggelsen av delene.
UML aggregasjon
En aggregering er en undertype av et assosiasjonsforhold i UML. Aggregasjon og komposisjon er begge typene assosiasjonsforhold i UML. Et aggregeringsforhold kan beskrives med enkle ord som "et objekt fra 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.
UML Aggregasjonseksempel:
La oss se på et eksempel på en bil og et hjul.
En bil trenger et hjul for å fungere korrekt, men et hjul trenger ikke alltid en bil. Den kan også brukes med sykkelen, sykkelen eller andre kjøretøy, men ikke en bestemt bil. Her er hjulobjektet meningsfylt også uten bilobjektet. En slik type relasjon kalles UML Aggregation-relasjon.
Forening vs. Aggregasjon vs. Komposisjon
Association | aggregering | sammensetning |
---|---|---|
Tilknytningsforhold er angitt med en pil. | Aggregasjonsforhold er angitt ved hjelp av en rett linje med en tom pilspiss i den ene enden. | Sammensetningsforhold er angitt ved hjelp av en rett linje med en fylt pilspiss i en av endene. |
Tilknytning kan eksistere mellom to eller flere klasser i UML. | Aggregasjon er en del av et assosiasjonsforhold. | Sammensetningen er en del av et assosiasjonsforhold. |
Det kan være en-en, en-mange, mange-en, og mange-mange forening tilstede mellom foreningsklassene. | Aggregasjon anses som en svak type assosiasjon. | Sammensetningen anses som en sterk type assosiasjon. |
I et assosiasjonsforhold kan ett eller flere objekter assosieres med hverandre. | I et aggregeringsforhold kan objekter som er assosiert med hverandre forbli i omfanget av et system uten hverandre. | I et komposisjonsforhold kan ikke objekter som er knyttet til hverandre forbli i omfanget uten hverandre. |
Objekter er knyttet til hverandre. | Koblede objekter er ikke avhengige av det andre objektet. | Objekter er svært avhengige av hverandre. |
I UML Association kan sletting av ett element påvirke et annet assosiert element eller ikke. | I UML Aggregation påvirker ikke sletting av ett element et annet assosiert element. | I UML Composition påvirker sletting av ett element et annet assosiert element. |
Eksempel: En lærer er knyttet til flere elever. Or en lærer gir instruksjoner til elevene. |
Eksempel: En bil trenger et hjul, men det krever ikke alltid det samme hjulet. En bil kan fungere tilstrekkelig med et annet hjul også. |
Eksempel: En fil er plassert inne i mappen. Hvis man sletter mappen, slettes også filen knyttet til den gitte mappen. |
Sammendrag
- Et forhold er en sammenheng mellom ting.
- Assosiasjon, avhengighet, generalisering og realisering er forskjellige relasjoner levert av UML.
- Bortsett fra standardforhold, brukes sammensetning og aggregering inne i UML.
- Aggregasjon og sammensetning er begge typene assosiasjonsforhold i UML.
- UML-sammensetningen er et toveisforhold som også kalles som et binært forhold.
Sjekk vår artikkel om Beste UML-verktøy:- Klikk her