logo

Associació UML vs. agregació vs. composició

En els diagrames UML, les relacions s'utilitzen per enllaçar diverses coses. És una connexió entre coses estructurals, de comportament o d'agrupació. A continuació es mostren les relacions UML estàndard que es mostren a continuació:

  • Associació
  • Dependència
  • Generalització
  • Realització

Associació

La relació d'associació és una relació estructural en la qual diferents objectes estan vinculats dins del sistema. Mostra una relació binària entre els objectes que representen una activitat. Representa la relació entre objectes, com ara un professor, que es pot associar amb diversos professors.

Es representa amb una línia entre les classes seguida d'una fletxa que navega per la direcció i, quan la fletxa està a ambdós costats, s'anomena associació bidireccional. Podem especificar la multiplicitat d'una associació afegint els adorns a la línia que denotarà l'associació.

Exemple:

1) Un sol professor té diversos alumnes.

Associació UML vs. agregació vs. composició

2) Un sol alumne pot associar-se amb molts professors.

Khan arià
Associació UML vs. agregació vs. composició

La composició i l'agregació són dos subconjunts d'associació. En tots dos casos, l'objecte d'una classe és propietat de l'objecte d'una altra classe; l'única diferència és que en la composició, el fill no existeix independentment del seu progenitor, mentre que en l'agregació, el fill no depèn del seu progenitor, és a dir, autònom. Una agregació és una forma especial d'associació, i la composició és la forma especial d'agregació.

Associació UML vs. agregació vs. composició

Agregació

L'agregació és un subconjunt d'associació, és una col·lecció de coses diferents. Representa que té una relació. És més específic que una associació. Descriu una part del tot o una part de la relació. És una associació binària, és a dir, només implica dues classes. És una mena de relació en la qual el nen és independent del seu progenitor.

Per exemple:

Aquí estem considerant un exemple d'un cotxe i una roda. Un cotxe no es pot moure sense una roda. Però la roda es pot utilitzar de manera independent amb la bicicleta, el patinet, el cicle o qualsevol altre vehicle. L'objecte roda pot existir sense l'objecte cotxe, que demostra ser una relació d'agregació.

Associació UML vs. agregació vs. composició

Composició

La composició és una part de l'agregació i retrata la relació de tota la part. Representa la dependència entre un compost (pare) i les seves parts (fills), cosa que significa que si es descarta el compost, també se suprimiran les seves parts. Existeix entre objectes semblants.

Com podeu veure a l'exemple que es mostra a continuació, la relació d'associació de composició connecta la classe Persona amb la classe Cervell, la classe Cor i la classe Cames. Si la persona és destruïda, el cervell, el cor i les cames també es descartaran.

Associació UML vs. agregació vs. composició

Associació vs. agregació vs. composició

Associació Agregació Composició
La relació d'associació es representa amb una fletxa. La relació d'agregació es representa amb una línia recta amb un diamant buit en un extrem. La relació de composició està representada per una línia recta amb un diamant negre en un extrem.
En UML, pot existir entre dues o més classes. Forma part de la relació d'associació. Forma part de la relació d'agregació.
Incorpora l'associació un a un, un a molts, molts a un i molts a molts entre les classes. Mostra una mena de relació feble. Mostra un tipus de relació fort.
Pot associar un objecte més. En una relació d'agregació, els objectes associats existeixen independentment dins de l'àmbit del sistema. En una relació de composició, els objectes associats no poden existir independentment dins de l'àmbit del sistema.
En això, els objectes s'uneixen entre si. En això, els objectes enllaçats són independents els uns dels altres. Aquí els objectes enllaçats depenen els uns dels altres.
Pot o no afectar l'altre element associat si se suprimeix un element. La supressió d'un element de la relació d'agregació no afecta els altres elements associats. Afecta l'altre element si s'elimina un dels seus elements associats.
Exemple: un tutor pot associar-se amb diversos estudiants, o un estudiant pot associar-se amb diversos professors. Exemple: un cotxe necessita una roda per al seu bon funcionament, però pot ser que no necessiti la mateixa roda. També pot funcionar amb una altra roda. Exemple: si un fitxer es col·loca en una carpeta i aquesta s'elimina. El fitxer que resideix dins d'aquesta carpeta també s'eliminarà en el moment de la supressió de la carpeta.