Hvad er UML-forhold?
Forhold i UML bruges til at repræsentere en sammenhæng mellem strukturelle, adfærdsmæssige eller grupperende ting. Det kaldes også et link, der beskriver, hvordan to eller flere ting kan relateres til hinanden under udførelsen af et system. Type UML-forhold er tilknytning, afhængighed, generalisering og realisering.
Lad os studere dem i detaljer
- Forening
Det er et sæt links, der forbinder elementer i UML-modellen. Det definerer også, hvor mange objekter der deltager i den forbindelse.
- Afhængighed
I et afhængighedsforhold, som navnet antyder, er to eller flere elementer afhængige af hinanden. I denne form for et forhold, hvis vi foretager en ændring af et bestemt element, så er det sandsynligt muligt, at alle de andre elementer også bliver påvirket af ændringen.
- Generalisering
Det kaldes også et forhold mellem forældre og barn. I generalisering er et element en specialisering af en anden generel komponent. Det kan erstattes af det. Det bruges mest til at repræsentere arv.
- erkendelse af
I et realiseringsforhold af UML angiver en enhed noget ansvar, der ikke implementeres af sig selv og den anden enhed, der implementerer dem. Dette forhold findes hovedsagelig i tilfælde af grænseflader.
I denne UML-tutorial lærer du:
- Forening
- Afhængighed
- Generalisering
- erkendelse af
- Sammensætning
- Aggregering
Forening
Det er et strukturelt forhold, der repræsenterer objekter, der kan forbindes eller forbindes med et andet objekt inde i systemet. Følgende begrænsninger kan anvendes på foreningsforholdet.
- {implicit} - implicitte begrænsninger angiver, at forholdet ikke er manifest; det er baseret på et koncept.
- {bestilt} - Bestilte begrænsninger angiver, at sæt objekter i den ene ende af en tilknytning er på en bestemt måde.
- {skiftelig} - Skiftelig begrænsning angiver, at forbindelsen mellem forskellige objekter i systemet kan tilføjes, fjernes og ændres i henhold til kravet.
- {addOnly} - Det specificerer, at de nye forbindelser kan tilføjes fra et objekt, der er placeret i den anden ende en tilknytning.
- {frozen} - Det specificerer, at når et link tilføjes mellem to objekter, kan det ikke ændres, mens den frosne begrænsning er aktiv på det givne link eller en forbindelse.
Vi kan også oprette en klasse, der har tilknytningsegenskaber; det kaldes som en associeringsklasse.
Refleksiv forening
Den refleksive tilknytning er en undertype af tilknytningsforhold i UML. I en refleksiv forening kan forekomsterne af den samme klasse relateres til hinanden. En forekomst af en klasse siges også at være et objekt.
Refleksiv tilknytning siger, at et link eller en forbindelse kan være til stede inden for objekterne i den samme klasse.
Lad os overveje et eksempel på en klassefrugt. Frugtklassen har to forekomster, såsom mango og æble. Refleksiv forening siger, at en forbindelse mellem mango og æble kan være til stede, da de er forekomster af samme klasse, såsom frugt.
Direktforening
Som navnet antyder, er den rettede tilknytning relateret til strømningsretningen inden for foreningsklasser.
I en rettet forening er strømmen rettet. Foreningen fra en klasse til en anden klasse flyder kun i en enkelt retning.
Det er betegnet ved hjælp af en fast linje med en pilespids.
Eksempel:
Du kan sige, at der er et rettet tilknytningsforhold mellem en server og en klient. En server kan behandle en klients anmodninger. Denne strøm er ensrettet, der kun flyder fra server til klient. Derfor kan et rettet tilknytningsforhold være til stede inden for servere og klienter i et system.
Afhængighed
Ved hjælp af et afhængighedsforhold i UML kan man fortælle, hvordan forskellige ting inde i et bestemt system er afhængige af hinanden. Afhængighed bruges til at beskrive forholdet mellem forskellige elementer i UML, der er afhængige af hinanden.
Stereotyper
- «Bind» - Bind er en begrænsning, der specificerer, at kilden kan initialisere skabelonen på en målplacering ved hjælp af angivne parametre eller værdier.
- «Afled» - Det repræsenterer, at placeringen af et kildeobjekt kan beregnes ud fra målobjektet.
- «Ven» - Det specificerer, at kilden har unik synlighed i målobjektet.
- «InstanceOf» - Det specificerer, at forekomsten af en målklasser er kildeobjektet.
- «Instantiate» - Det specificerer, at kildeobjektet er i stand til at skabe forekomster af et målobjekt.
- «Forfine» - Det specificerer, at kildeobjektet har ekstraordinær abstraktion end målobjektets.
- «Brug» - Det bruges, når pakker oprettes i UML. Anvendelsesstereotypen beskriver, at elementerne i en kildepakke også kan være til stede inde i målpakken. Den beskriver, at kildepakken bruger nogle elementer i en målpakke.
- «Erstatning» - specificerer, at klienten kan erstattes af leverandøren ved kørsel.
- «Adgang» - Det specificerer, at kildepakken får adgang til elementerne i målpakken, som også kaldes som en privat fletning.
- «Import» - Det specificerer, at målet kan importere elementet i en kildepakke, som de er defineret inde i målet, som også kaldes en offentlig fusion.
- «Tilladelse» - specificerer, at kildeelementet har adgang til leverandørelementet uanset leverandørens erklærede synlighed.
- «Udvid» - Hjælper dig med at specificere, at målet kan udvide kildeelementets opførsel.
- «Inkluderer» - Giver dig mulighed for at specificere det kildeelement, der kan inkluderes et andet elements adfærd på et bestemt sted. (samme som et funktionsopkald i c / c ++)
- «Blive» - Det specificerer, at målet svarer til kilden med forskellige værdier og roller.
- «Opkald» - Det specificerer, at kilden kan påberåbe sig en målobjektmetode.
- «Kopi» - Det specificerer, at målobjektet er uafhængigt, kopi af et kildeobjekt.
- «Parameter» - leverandøren er en parameter for klientens operationer .
- «Send» - klienten er en operation, der sender leverandøren et eller andet uspecificeret mål.
Stereotyper blandt statsmaskiner
- «Send» - Angiver, at kildehandlingen sender målhændelsen.
Generalisering
Det er et forhold mellem en generel enhed og en unik enhed, der er til stede inde i systemet.
I et generaliseringsforhold kan det objektorienterede koncept kaldet arv implementeres. Der findes et generaliseringsforhold mellem to objekter, også kaldet enheder eller ting. I et generaliseringsforhold er en enhed forælder, og en anden siges at være som barn. Disse enheder kan repræsenteres ved hjælp af arv.
I arv kan et barn fra en hvilken som helst forælder få adgang til, opdatere eller arve funktionaliteten som specificeret i det overordnede objekt. Et underordnet objekt kan tilføje dets funktionalitet til sig selv såvel som at arve et overordnet objekts struktur og opførsel.
Denne type forhold kaldes kollektivt et generaliseringsforhold.
Stereotyper og deres begrænsninger
- «Implementering» - Denne stereotype bruges til at repræsentere, at den underordnede enhed implementeres af den overordnede enhed ved at arve et overordnet objekts struktur og opførsel uden at overtræde reglerne. Bemærk Denne stereotype, hvis den er meget brugt i en enkelt arv .
Generaliseringsforholdet indeholder begrænsninger som komplet, ufuldstændig for at kontrollere, om alle de underordnede enheder er inkluderet i forholdet eller ej.
erkendelse af
I et realiseringsforhold af UML angiver en enhed noget ansvar, der ikke implementeres af sig selv og den anden enhed, der implementerer dem. Dette forhold findes hovedsagelig i tilfælde af grænseflader.
Realisering kan repræsenteres på to måder:
- Brug af en kanonisk form
- Brug en formet form
I ovenstående diagram realiserer kontovirksomhedsregler grænsefladen IRuleAgent.
Typer af realisering:
- Kanonisk form
I et realiseringsforhold af UML bruges den kanoniske form til at realisere grænseflader på tværs af systemet. Den bruger en stereotype interface til at skabe en grænseflade, og realiseringsforhold bruges til at realisere den bestemte grænseflade.
I en kanonisk form betegnes realiseringsforholdet ved hjælp af den stiplede rettet linje med en betydelig åben pilespids.
I ovenstående diagram realiseres interface Iruleagent ved hjælp af et objekt kaldet Account Business Rules.
- Elidet form
Realisering i UML-klassediagrammet kan også vises ved hjælp af en formet form. I en elidet form er grænsefladen betegnet ved hjælp af en cirkel, der også kaldes en lollipop-notation.
Denne grænseflade skaber en udvidet struktur, når den realiseres ved hjælp af noget, der er til stede i systemet.
I ovenstående diagram er interface Iruleagent betegnet ved hjælp af en elidet form, der realiseres af acctrule.dll.
Sammensætning
Det er ikke et standard UML-forhold, men det bruges stadig i forskellige applikationer.
Sammensat aggregering er en undertype af aggregeringsrelation med karakteristika som:
- det er en tovejsforbindelse mellem objekterne.
- Det er et hel / del forhold.
- Hvis en komposit slettes, slettes alle andre dele, der er knyttet til den.
Sammensat aggregering beskrives som en binær forening dekoreret med en fyldt sort diamant i den samlede ende.
En mappe er en struktur, der indeholder n antal filer i den. En mappe bruges til at gemme filerne inde i den. Hver mappe kan tilknyttes et vilkårligt antal filer. I et computersystem er hver enkelt fil en del af mindst en mappe inde i filorganisationssystemet. Den samme fil kan også være en del af en anden mappe, men det er ikke obligatorisk. Når en fil fjernes fra mappen, forbliver mappen upåvirket, mens data relateret til den pågældende fil ødelægges. Hvis en sletning udføres i mappen, påvirker den også alle de filer, der findes i mappen. Alle filer, der er knyttet til mappen, ødelægges automatisk, når mappen er fjernet fra systemet.
Denne type forhold i UML er kendt af sammensat sammenlægningsforhold.
Aggregering
En sammenlægning er en undertype af et tilknytningsforhold i UML. Aggregering og sammensætning er begge typer tilknytningsforhold i UML. Et aggregeringsforhold kan beskrives i enkle ord som "et objekt i en klasse kan eje eller få adgang til objekterne i en anden klasse."
I et aggregeringsforhold forbliver det afhængige objekt inden for omfanget af et forhold, selv når kildeobjektet ødelægges.
Lad os overveje et eksempel på en bil og et hjul. En bil har brug for et hjul for at fungere korrekt, men et hjul har ikke altid brug for en bil. Det kan også bruges med cyklen, cyklen eller andre køretøjer, men ikke en bestemt bil. Her er hjulobjektet meningsfuldt selv uden bilobjektet. En sådan type forhold kaldes en aggregeringsrelation.
Resumé
- Forholdet i UML tillader en ting at forholde sig til andre ting inde i systemet.
- En tilknytning, afhængighed, generalisering og realiseringsforhold defineres af UML.
- Sammensætningsforhold kan også bruges til at repræsentere, at objektet kun kan være en del af en sammensat ad gangen.
- Association bruges til at beskrive, at et objekt kan associeres med et andet objekt.
- Afhængighed angiver, at objekter kan være afhængige af hinanden.
- En erkendelse er et meningsfuldt forhold mellem klassifikatorer.
- Generalisering kaldes også som et forhold mellem forældre og barn.