logo

UML asociācija pret apkopošanu un kompozīciju

UML diagrammās attiecības tiek izmantotas, lai saistītu vairākas lietas. Tā ir saikne starp strukturālām, uzvedības vai grupēšanas lietām. Tālāk ir norādītas standarta UML attiecības:

cik 0 no miljarda
  • asociācija
  • Atkarība
  • Vispārināšana
  • Realizācija

asociācija

Asociācijas attiecības ir strukturālas attiecības, kurās dažādi objekti ir saistīti sistēmā. Tas parāda bināras attiecības starp objektiem, kas attēlo darbību. Tas attēlo attiecības starp objektiem, piemēram, skolotāju, var saistīt ar vairākiem skolotājiem.

To attēlo līnija starp klasēm, kam seko bultiņa, kas virza virzienu, un, ja bultiņa atrodas abās pusēs, to sauc par divvirzienu asociāciju. Mēs varam norādīt asociācijas daudzveidību, pievienojot rotājumus uz līnijas, kas apzīmēs asociāciju.

Piemērs:

1) vienam skolotājam ir vairāki skolēni.

UML asociācija pret apkopošanu un kompozīciju

2) Viens skolēns var sazināties ar daudziem skolotājiem.

UML asociācija pret apkopošanu un kompozīciju

Sastāvs un apkopojums ir divas asociācijas apakškopas. Abos gadījumos vienas klases objekts pieder citas klases objektam; vienīgā atšķirība ir tā, ka pēc sastāva bērns neeksistē neatkarīgi no sava vecāka, turpretim kopumā bērns nav atkarīgs no sava vecāka, t.i., atsevišķs. Apvienošana ir īpaša asociācijas forma, un sastāvs ir īpaša apvienošanas forma.

UML asociācija pret apkopošanu un kompozīciju

Apkopošana

Apkopošana ir asociācijas apakškopa, ir dažādu lietu kopums. Tas nozīmē, ka ir attiecības. Tas ir specifiskāks nekā asociācija. Tas apraksta daļēju veselumu vai daļu attiecību. Tā ir bināra asociācija, t.i., tajā ir iesaistītas tikai divas klases. Tās ir sava veida attiecības, kurās bērns ir neatkarīgs no vecākiem.

Piemēram:

Šeit mēs apsveram automašīnu un riteņu piemēru. Automašīna nevar pārvietoties bez riteņa. Bet riteni var izmantot neatkarīgi ar velosipēdu, skrejriteni, velosipēdu vai jebkuru citu transportlīdzekli. Riteņa objekts var pastāvēt bez automašīnas objekta, kas izrādās agregācijas attiecības.

UML asociācija pret apkopošanu un kompozīciju

Sastāvs

Kompozīcija ir daļa no apkopojuma, un tā atspoguļo visas daļas attiecības. Tas attēlo atkarību starp kompozītmateriālu (vecāku) un tā daļām (bērniem), kas nozīmē, ka, ja kompozīts tiek izmests, tā daļas tiks dzēstas. Tas pastāv starp līdzīgiem objektiem.

Kā redzams tālāk sniegtajā piemērā, kompozīcijas asociācijas attiecības savieno personu klasi ar klasi Smadzeņu, Sirds klasi un Kāju klasi. Ja cilvēks tiek iznīcināts, tiks izmestas arī smadzenes, sirds un kājas.

UML asociācija pret apkopošanu un kompozīciju

Asociācija pret agregāciju un sastāvu

asociācija Apkopošana Sastāvs
Asociācijas attiecības tiek attēlotas, izmantojot bultiņu. Apkopošanas attiecības attēlo taisna līnija ar tukšu dimantu vienā galā. Kompozīcijas attiecības attēlo taisna līnija ar melnu dimantu vienā galā.
UML tas var pastāvēt starp divām vai vairākām klasēm. Tā ir daļa no asociācijas attiecībām. Tā ir daļa no agregācijas attiecībām.
Tas ietver saistību starp klasēm viens pret vienu, viens pret daudziem, daudzi pret vienu un daudzi pret daudziem. Tas parāda sava veida vājas attiecības. Tas demonstrē spēcīgu attiecību veidu.
Tas var saistīt kopā vēl vienu objektu. Apkopošanas attiecībās saistītie objekti sistēmas ietvaros pastāv neatkarīgi. Kompozīcijas attiecībās saistītie objekti nevar pastāvēt neatkarīgi sistēmas ietvaros.
Šajā gadījumā objekti ir savienoti kopā. Šajā gadījumā saistītie objekti ir neatkarīgi viens no otra. Šeit saistītie objekti ir atkarīgi viens no otra.
Ja viens elements tiek dzēsts, tas var ietekmēt vai neietekmēt otru saistīto elementu. Viena elementa dzēšana apkopošanas attiecībās neietekmē citus saistītos elementus. Tas ietekmē otru elementu, ja tiek izdzēsts viens no ar to saistītajiem elementiem.
Piemērs. Skolotājs var būt saistīts ar vairākiem studentiem vai viens students var būt saistīts ar vairākiem skolotājiem. Piemērs. Automašīnai ir nepieciešams ritenis, lai tā pareizi darbotos, taču tai var nebūt vajadzīgs tas pats ritenis. Tas var darboties arī ar citu riteni. Piemērs: ja fails ir ievietots mapē un šī mape tiek izdzēsta. Mapes dzēšanas laikā tiks izdzēsts arī šajā mapē esošais fails.