Hvad er et UML-komponentdiagram? Notationer, eksempel

โšก Smart opsummering

UML-komponentdiagrammet i OOAD modellerer et stort system ved at opdele det i mindre, hรฅndterbare delsystemer og vise, hvordan udskiftelige komponenter forbindes via grรฆnseflader. Denne ressource forklarer komponentnotation, porte, delsystemer, tegnetrin og et bearbejdet eksempel.

  • ๐Ÿงฉ Kerneidรฉ: Et komponentdiagram opdeler et stort system i mindre, udskiftelige og eksekverbare delsystemer.
  • โฌ› komponent: Hver komponent er en sort boks, hvis adfรฆrd er defineret af dens leverede og nรธdvendige grรฆnseflader.
  • ๐Ÿ”Œ interfaces: Medfรธlgende og nรธdvendige grรฆnseflader forbindes via et samlestik for at forbinde komponenterne sammen.
  • ๐Ÿšช Porte: En port er et interaktionspunkt, der grupperer en komponents leverede og nรธdvendige grรฆnseflader.
  • ๐Ÿ› ๏ธ Anvendelse: Komponentdiagrammer modellerer struktur under kรธrsel og understรธtter systemtest og organisering af delsystemer.

Hvad er et UML-komponentdiagram

Hvad er komponentdiagram i UML?

UML-komponentdiagrammer bruges til at modellere store systemer til mindre undersystemer, som nemt kan administreres. UML-komponentdiagrammer bruges til at reprรฆsentere forskellige komponenter i et system. Ved modellering af store objektorienterede systemer er det nรธdvendigt at nedbryde systemet i hรฅndterbare undersystemer.

En komponent er en udskiftelig og eksekverbar del af et system, hvis implementeringsdetaljer er skjulte. En komponent leverer det sรฆt af grรฆnseflader, som en komponent realiserer eller implementerer. Komponenter krรฆver ogsรฅ grรฆnseflader for at udfรธre en funktion.

Komponentdiagramnotationer

Fรธlgende er UML-komponentdiagramnotationerne:

Component

Komponentnotation i komponentdiagram
Komponentnotation i komponentdiagram

Node

Nodenotation i komponentdiagram

Nodenotation i komponentdiagram

Hvad er komponent i OOAD?

En komponent er en udskiftelig og eksekverbar del af et system, hvis implementeringsdetaljer er skjulte. En komponent leverer det sรฆt af grรฆnseflader, som en komponent realiserer eller implementerer. Komponenter krรฆver ogsรฅ grรฆnseflader for at udfรธre en funktion.

Det er en modulรฆr del af et system, der indkapsler dets indhold. De er de logiske elementer i et system, der spiller en vรฆsentlig rolle under udfรธrelsen af โ€‹โ€‹et system.

En komponent ligner en sort boks, hvis eksterne adfรฆrd er defineret af en tilvejebragt grรฆnseflade og nรธdvendige grรฆnseflader.

Struktur af en UML-komponent

En komponent er reprรฆsenteret med klassificerende rektangel stereotyper som:

<< komponent >>: Komponentdetaljer er skjult for omverdenen. Navnet pรฅ en komponent er placeret i midten af โ€‹โ€‹et rektangel. Et komponentikon vises i รธverste hรธjre hjรธrne af et rektangel, hvilket er valgfrit.

En komponent i UML er reprรฆsenteret som fรธlger:

Struktur af en UML-komponent

Struktur af en UML-komponent

Interface i komponentdiagram

Interfacet er et navngivet sรฆt offentlige funktioner. Den adskiller specifikationen af โ€‹โ€‹funktionalitet fra dens implementering med en klassediagram eller et delsystem. Et grรฆnsefladesymbol kan ikke instansieres. Det erklรฆrer en ulempetract, der kan realiseres af nul eller flere klassifikatorer, sรฅsom en klasse eller et delsystem.

Alt, der realiserer en grรฆnseflade, accepterer grรฆnsefladenes funktionaliteter og accepterer at overholde betingelserne.tract defineret af grรฆnsefladen.

Hvis implementeringssproget ikke understรธtter grรฆnseflader, skal abs brugestract-klasser, grรฆnseflader navngives ligesom klasser, i UpperCamelCase.

Der er to typer grรฆnseflader i komponentdiagrammet:

  1. Leverede grรฆnseflader
  2. Nรธdvendige grรฆnseflader

Vi kan forbinde medfรธlgende og nรธdvendige grรฆnseflader ved hjรฆlp af samlestik.

Fordele

  • Det รธger fleksibiliteten og udvidelsesmulighederne for en klasse.
  • Det mindsker implementeringsafhรฆngighederne.

Ulemper

  • Ekstra fleksibilitet fรธrer til komplekse klasser.
  • For mange grรฆnseflader gรธr systemer svรฆre at forstรฅ.

Komponentdiagram undersystemer

Det er en komponentbase, der fungerer som en nedbrydningsenhed for stรธrre systemer. Det er en logisk konstruktion, som bruges til at nedbryde et omfattende system i mindre systemer, der er kendt som undersystemer. Denne proces gรธr det nemt at administrere hvert delsystem effektivt.

Et undersystem kan ikke instansieres under kรธrsel, men deres indhold kan initialiseres. Nรฅr delsystemer er forbundet, skaber det et enkelt system.

Port i komponentdiagram

En port er et interaktionspunkt mellem en klassifikator og et eksternt miljรธ. Den grupperer semantisk sammenhรฆngende sรฆt af forudsatte og nรธdvendige grรฆnseflader. En port kan bruges i UML uden at angive navnet pรฅ porten. En port kan have synlighed. Nรฅr en port er trukket over grรฆnsen for en klassifikator, betyder det, at havnen er offentlig. Det betyder ogsรฅ, at alle de anvendte grรฆnseflader er offentliggjort.

Nรฅr en port er tegnet inde i klassificereren, sรฅ er den enten beskyttet eller privat.

En port har ogsรฅ multiplicitet, der angiver antallet af forekomster af portklassifikatoren vil have. En port i UML-diagram er angivet som angivet nedenfor:

Portnotation i komponentdiagram

Portnotation i komponentdiagram

Her er port1 trukket over grรฆnsen, hvilket betyder, at den har synlighed som offentlig.

Sรฅdan tegner du komponentdiagram

Sรฅdan kan du tegne et UML-komponentdiagram:

Trin 1) En komponent er intet andet end en eksekverbar del af et system. Forskellige komponenter udgรธr tilsammen et enkelt system. Komponentdiagrammer bruges i vid udstrรฆkning under udfรธrelsesfasen af โ€‹โ€‹ethvert system.

Trin 2) Fรธr man modellerer komponentdiagrammet, skal man kende alle komponenterne i systemet. Funktionen af โ€‹โ€‹hver komponent skal nรฆvnes. Komponentdiagrammer bruges til at analysere udfรธrelsen af โ€‹โ€‹et system.

Trin 3) Man bรธr ogsรฅ udforske hver komponent i dybden for at forstรฅ sammenhรฆngen mellem en komponent og andre fysiske artefakter i systemet.

Trin 4) Forholdet mellem forskellige artefakter, biblioteker og filer er de vรฆsentlige ting, der krรฆves under modellering af et komponentdiagram.

Eksempel pรฅ UML-komponentdiagram

Nedenfor er et eksempel pรฅ UML-komponentdiagram:

Eksempel pรฅ UML-komponentdiagram

Eksempel pรฅ UML-komponentdiagram

Hvorfor bruge Component Diagram?

UML-komponentdiagrammer har vรฆsentlig betydning. Komponentdiagrammet adskiller sig forskelligt fra andre diagrammer. Mens andre diagrammer bruges til at reprรฆsentere systemet, fungerer et system eller arkitekturen af โ€‹โ€‹et system. Komponentdiagrammer bruges til at beskrive, hvordan forskellige komponenter i et system fungerer og fungerer.

Det reprรฆsenterer, hvordan hver komponent virker under udfรธrelsen af โ€‹โ€‹et system.

Dette er de statiske diagrammer af det forenede modelleringssprog. Et komponentdiagram bruges til at reprรฆsentere strukturen og organiseringen af โ€‹โ€‹komponenter i enhver tid.

Komponentdiagrammer bruges til modellering af delsystemerne. Disse undersystemer reprรฆsenterer tilsammen hele arbejdsbilledet af ethvert system. En enkelt komponent kan ikke visualisere hele systemet, men samlingen af โ€‹โ€‹flere komponenter kan.

Sรฅ komponentdiagrammer bruges til:

  • At reprรฆsentere komponenterne i ethvert system under kรธrsel.
  • Det hjรฆlper under test af et system.
  • Den visualiserer sammenhรฆngen mellem forskellige komponenter.

Hvornรฅr skal man bruge komponentdiagram?

Komponentdiagrammer er forskellige fra alle andre diagrammer i UML. Komponentdiagrammer bruges til at vise forskellige komponenter i et softwaresystem sรฅvel som undersystemer i et enkelt system. De bruges til at reprรฆsentere fysiske ting eller komponenter i et system. Det visualiserer generelt strukturen og en organisation af et system.

Den beskriver, hvordan forskellige komponenter tilsammen udgรธr et enkelt, fuldt funktionelt system. Vi kan vise hver komponent individuelt eller samlet som en enkelt enhed.

  1. Komponentdiagrammer bruges til at modellere komponentorganiseringen af โ€‹โ€‹et system.
  2. De bruges til at opdele et enkelt system i forskellige undersystemer i henhold til funktionaliteten.

Ofte Stillede Spรธrgsmรฅl

Et komponentdiagram viser softwarekomponenterne og deres grรฆnseflader. Et implementeringsdiagram viser de fysiske hardwarenoder og hvor komponenter kรธrer pรฅ dem. Komponentdiagrammer modellerer softwarestruktur; implementeringsdiagrammer modellerer runtime-hardwaremiljรธet.

En samlingsforbindelse forbinder en nรธdvendig grรฆnseflade pรฅ รฉn komponent med den leverede grรฆnseflade pรฅ en anden. Den viser, at รฉn komponent leverer en tjeneste, som den anden har brug for, ved at forbinde komponenterne til et fungerende system.

Kuglesymbolet (slikkepind) reprรฆsenterer en grรฆnseflade, som en komponent tilbyder, og soklen (halvcirkel) reprรฆsenterer en pรฅkrรฆvet grรฆnseflade, den har brug for. Nรฅr kuglen sรฆttes i soklen, viser det sig, at รฉn komponent leverer, hvad en anden krรฆver.

AI-vรฆrktรธjer kan lรฆse en systembeskrivelse eller modulliste og foreslรฅ et komponentdiagram med komponenter, grรฆnseflader og stik. Dette hjรฆlper arkitekter med at udarbejde struktur hurtigere, selvom grรฆnser og afhรฆngigheder stadig krรฆver ekspertgennemgang.

Ja. Reverse-ingeniรธr- og AI-vรฆrktรธjer kan scanne en kodebase, gruppere filer i komponenter og kortlรฆgge deres grรฆnseflader og afhรฆngigheder i et kladdekomponentdiagram. RevSe outputtet, fordi AI muligvis overskrider de tilsigtede arkitektoniske grรฆnser.

Opsummer dette indlรฆg med: