UML-relaties met VOORBEELD: afhankelijkheid, generalisatie, realisatie

Inhoudsopgave:

Anonim

Wat is een UML-relatie?

Relaties in UML worden gebruikt om een ​​verband weer te geven tussen structurele, gedragsmatige of groeperende dingen. Het wordt ook wel een link genoemd die beschrijft hoe twee of meer dingen zich tot elkaar kunnen verhouden tijdens de uitvoering van een systeem. Type UML-relatie zijn Associatie, Afhankelijkheid, Generalisatie en Realisatie.

Laten we ze in detail bestuderen

  • Vereniging

Het is een set links die elementen van het UML-model met elkaar verbindt. Het geeft ook aan hoeveel objecten aan die relatie deelnemen.

  • Afhankelijkheid

In een afhankelijkheidsrelatie zijn, zoals de naam suggereert, twee of meer elementen van elkaar afhankelijk. Als we in dit soort relatie een wijziging aanbrengen in een bepaald element, is het waarschijnlijk dat alle andere elementen ook door de wijziging worden beïnvloed.

  • Generalisatie

Het wordt ook wel een ouder-kindrelatie genoemd. Bij generalisatie is het ene element een specialisatie van een ander algemeen onderdeel. Het kan ervoor in de plaats komen. Het wordt meestal gebruikt om overerving weer te geven.

  • Realisatie

In een realisatierelatie van UML duidt de ene entiteit een verantwoordelijkheid aan die niet door haarzelf wordt geïmplementeerd en de andere entiteit die ze implementeert. Deze relatie wordt vooral gevonden bij interfaces.

In deze UML-zelfstudie leert u:

  • Vereniging
  • Afhankelijkheid
  • Generalisatie
  • Realisatie
  • Samenstelling
  • Aggregatie

Vereniging

Het is een structurele relatie die objecten vertegenwoordigt die kunnen worden verbonden met of geassocieerd met een ander object in het systeem. De volgende beperkingen kunnen worden toegepast op de associatierelatie.

  • {impliciet} - Impliciete beperkingen specificeren dat de relatie niet manifest is; het is gebaseerd op een concept.
  • {geordend} - Geordende beperkingen specificeren dat de set objecten aan het ene uiteinde van een associatie zich op een specifieke manier bevindt.
  • {veranderlijk} - Veranderlijke beperking geeft aan dat de verbinding tussen verschillende objecten in het systeem kan worden toegevoegd, verwijderd en gewijzigd volgens de vereiste.
  • {addOnly} - Het specificeert dat de nieuwe verbindingen kunnen worden toegevoegd vanuit een object dat zich aan het andere uiteinde van een associatie bevindt.
  • {bevroren} - Het specificeert dat wanneer een link wordt toegevoegd tussen twee objecten, deze niet kan worden gewijzigd terwijl de bevroren beperking actief is op de gegeven link of een verbinding.

We kunnen ook een klasse maken met associatie-eigenschappen; het wordt een associatieklasse genoemd.

Reflexieve associatie

De reflexieve associatie is een subtype van associatierelaties in UML. In een reflexieve associatie kunnen de instanties van dezelfde klasse aan elkaar gerelateerd zijn. Een instantie van een klasse wordt ook een object genoemd.

Reflexieve associatie stelt dat een link of een verbinding aanwezig kan zijn binnen de objecten van dezelfde klasse.

Laten we eens kijken naar een voorbeeld van een klassefruit. De fruitklasse kent twee gevallen, zoals mango en appel. Reflexieve associatie stelt dat een verband tussen mango en appel aanwezig kan zijn, aangezien het voorbeelden van dezelfde klasse zijn, zoals fruit.

Gerichte vereniging

Zoals de naam suggereert, is de gerichte associatie gerelateerd aan de stroomrichting binnen associatieklassen.

In een gerichte associatie is de stroom gericht. De associatie van de ene klasse naar de andere klasse stroomt slechts in één richting.

Het wordt aangegeven met een ononderbroken lijn met een pijlpunt.

Voorbeeld:

Je kunt zeggen dat er een gerichte associatierelatie is tussen een server en een client. Een server kan de verzoeken van een klant verwerken. Deze stroom is unidirectioneel, die alleen van server naar client stroomt. Daarom kan een gerichte associatierelatie aanwezig zijn binnen servers en clients van een systeem.

Afhankelijkheid

Met behulp van een afhankelijkheidsrelatie in UML kan men relateren hoe verschillende dingen binnen een bepaald systeem van elkaar afhankelijk zijn. Afhankelijkheid wordt gebruikt om de relatie te beschrijven tussen verschillende elementen in UML die van elkaar afhankelijk zijn.

Stereotypen

  • « Bind » - Bind is een beperking die specificeert dat de bron de sjabloon op een doellocatie kan initialiseren, met behulp van de opgegeven parameters of waarden.
  • «Afleiden» - Het geeft aan dat de locatie van een bronobject kan worden berekend op basis van het doelobject.
  • «Vriend» - Het specificeert dat de bron een unieke zichtbaarheid heeft in het doelobject.
  • «InstanceOf» - Het specificeert dat de instantie van een doelclassificatie het bronobject is.
  • «Instantiëren» - Het specificeert dat het bronobject in staat is om instanties van een doelobject te creëren.
  • «Verfijnen» - Het specificeert dat het bronobject een uitzonderlijke abstractie heeft dan die van het doelobject.
  • «Gebruik» - Het wordt gebruikt wanneer pakketten worden aangemaakt in UML. Het stereotype gebruik beschrijft dat de elementen van een bronpakket ook in het doelpakket aanwezig kunnen zijn. Het beschrijft dat het bronpakket gebruik maakt van enkele elementen van een doelpakket.
  • «Substituut» - geeft aan dat de klant tijdens runtime in de plaats mag komen van de leverancier.
  • «Access» - Het specificeert dat het bronpakket toegang heeft tot de elementen van het doelpakket dat ook wel een private merging wordt genoemd.
  • «Import» - Het specificeert dat het doel het element van een bronpakket kan importeren zoals ze binnen het doel zijn gedefinieerd, wat ook wel een openbare samenvoeging wordt genoemd.
  • «Vergunning» - specificeert dat het bronelement toegang heeft tot het leverancierselement, ongeacht de verklaarde zichtbaarheid van de leverancier.
  • «Uitbreiden» - Helpt u om aan te geven dat het doel het gedrag van het bronelement kan uitbreiden.
  • «Include» - Hiermee kunt u het bronelement specificeren dat het gedrag van een ander element op een gespecificeerde locatie kan bevatten. (hetzelfde als een functieaanroep in c / c ++)
  • «Worden» - Het specificeert dat het doel vergelijkbaar is met de bron met verschillende waarden en rollen.
  • «Call» - Het specificeert dat de bron een doelobjectmethode kan aanroepen.
  • «Kopiëren» - Het specificeert dat het doelobject onafhankelijk is, een kopie van een bronobject.
  • «Parameter» - de leverancier is een parameter van de cliëntbewerkingen .
  • «Verzenden» - de klant is een bewerking die de leverancier een niet-gespecificeerd doelwit stuurt.

Stereotypen onder de staatsmachine

  • «Verzenden» - Specificeert dat de bronbewerking de doelgebeurtenis verzendt.

Generalisatie

Het is een relatie tussen een algemene entiteit en een unieke entiteit die binnen het systeem aanwezig is.

In een generalisatierelatie kan het objectgeoriënteerde concept genaamd overerving worden geïmplementeerd. Er bestaat een generalisatierelatie tussen twee objecten, ook wel entiteiten of dingen genoemd. In een generalisatierelatie is de ene entiteit een ouder en wordt de andere als een kind beschouwd. Deze entiteiten kunnen worden weergegeven met overerving.

Bij overerving kan een kind van een ouder toegang krijgen tot de functionaliteit, deze bijwerken of overnemen, zoals gespecificeerd in het bovenliggende object. Een onderliggend object kan zijn functionaliteit aan zichzelf toevoegen en de structuur en het gedrag van een bovenliggend object erven.

Dit type relatie staat gezamenlijk bekend als een generalisatierelatie.

Stereotypen en hun beperkingen

  • «Implementatie» - Dit stereotype wordt gebruikt om aan te geven dat de onderliggende entiteit wordt geïmplementeerd door de bovenliggende entiteit door de structuur en het gedrag van een bovenliggend object te erven zonder de regels te overtreden. Opmerking Dit stereotype wordt veel gebruikt in een eenmalige overerving .

Generalisatierelatie bevat beperkingen zoals compleet, onvolledig om te controleren of alle onderliggende entiteiten in de relatie worden opgenomen of niet.

Realisatie

In een realisatierelatie van UML duidt de ene entiteit een verantwoordelijkheid aan die niet door haarzelf wordt geïmplementeerd en de andere entiteit die ze implementeert. Deze relatie wordt vooral gevonden bij interfaces.

Realisatie kan op twee manieren worden weergegeven:

  • Gebruik een canoniek formulier
  • Met behulp van een weggelaten formulier

In het bovenstaande diagram realiseren account bedrijfsregels de interface IRuleAgent.

Soorten realisaties:

  1. Canonieke vorm

    In een realisatierelatie van UML wordt de canonieke vorm gebruikt om interfaces over het systeem te realiseren. Het gebruikt een interfacestereotype om een ​​interface te creëren en de realisatierelatie wordt gebruikt om de specifieke interface te realiseren.

    In een canonieke vorm wordt de realisatierelatie aangegeven met de gestippelde gerichte lijn met een flinke open pijlpunt.

    In het bovenstaande diagram wordt interface Iruleagent gerealiseerd met behulp van een object genaamd Account Business Rules.

  2. Weggelaten vorm

    Realisatie in het UML-klassendiagram kan ook worden weergegeven met een weggelaten formulier. In een weggelaten vorm wordt de interface aangeduid met een cirkel die ook wel een lolly-notatie wordt genoemd.

    Deze interface, wanneer gerealiseerd met behulp van alles dat aanwezig is in het systeem, creëert een weggelaten structuur.

    In het bovenstaande diagram wordt de interface Iruleagent aangeduid met een weggelaten vorm die wordt gerealiseerd door acctrule.dll.

Samenstelling

Het is geen standaard UML-relatie, maar wordt nog steeds in verschillende toepassingen gebruikt.

Samengestelde aggregatie is een subtype van aggregatierelaties met kenmerken als:

  • het is een wederzijdse associatie tussen de objecten.
  • Het is een hele / gedeeltelijke relatie.
  • Als een composiet wordt verwijderd, worden alle andere onderdelen die eraan zijn gekoppeld, verwijderd.

Samengestelde aggregatie wordt beschreven als een binaire associatie versierd met een gevulde zwarte diamant aan het geaggregeerde (hele) uiteinde.

Een map is een structuur die n aantal bestanden bevat. Er wordt een map gebruikt om de bestanden erin op te slaan. Elke map kan aan een willekeurig aantal bestanden worden gekoppeld. In een computersysteem maakt elk afzonderlijk bestand deel uit van ten minste één map in het bestandsorganisatiesysteem. Hetzelfde bestand kan ook deel uitmaken van een andere map, maar dit is niet verplicht. Telkens wanneer een bestand uit de map wordt verwijderd, blijft de map onaangetast, terwijl de gegevens met betrekking tot dat specifieke bestand worden vernietigd. Als er een verwijderbewerking wordt uitgevoerd op de map, heeft dit ook invloed op alle bestanden die in de map aanwezig zijn. Alle bestanden die aan de map zijn gekoppeld, worden automatisch vernietigd zodra de map uit het systeem is verwijderd.

Dit type relatie in UML is bekend onder de samengestelde aggregatierelatie.

Aggregatie

Een aggregatie is een subtype van een associatierelatie in UML. Aggregatie en samenstelling zijn beide soorten associatierelaties in UML. Een aggregatierelatie kan in eenvoudige woorden worden beschreven als "een object van de ene klasse kan eigenaar zijn van of toegang krijgen tot de objecten van een andere klasse".

In een aggregatierelatie blijft het afhankelijke object binnen het bereik van een relatie, zelfs wanneer het bronobject wordt vernietigd.

Laten we eens kijken naar een voorbeeld van een auto en een wiel. Een auto heeft een wiel nodig om goed te functioneren, maar een wiel heeft niet altijd een auto nodig. Het kan ook worden gebruikt met de fiets, fiets of andere voertuigen, maar niet met een bepaalde auto. Hier heeft het wielobject betekenis, zelfs zonder het auto-object. Een dergelijk type relatie wordt een aggregatierelatie genoemd.

Overzicht

  • Door een relatie in UML kan één ding verband houden met andere dingen in het systeem.
  • Een associatie-, afhankelijkheids-, generalisatie- en realisatierelaties worden gedefinieerd door UML.
  • De compositierelatie kan ook worden gebruikt om aan te geven dat het object slechts deel kan uitmaken van één composiet tegelijk.
  • Associatie wordt gebruikt om te beschrijven dat een object kan worden geassocieerd met een ander object.
  • Afhankelijkheid geeft aan dat objecten van elkaar afhankelijk kunnen zijn.
  • Een realisatie is een betekenisvolle relatie tussen classificatoren.
  • Generalisatie wordt ook wel een ouder-kindrelatie genoemd.