logo

Association UML, agrégation ou composition

Dans les diagrammes UML, les relations sont utilisées pour relier plusieurs choses. C'est un lien entre des éléments structurels, comportementaux ou de regroupement. Voici les relations UML standard répertoriées ci-dessous :

  • Association
  • Dépendance
  • Généralisation
  • La concrétisation

Association

La relation d'association est une relation structurelle dans laquelle différents objets sont liés au sein du système. Il présente une relation binaire entre les objets représentant une activité. Il décrit la relation entre des objets, comme un enseignant, qui peut être associé à plusieurs enseignants.

js chaîne multiligne

Elle est représentée par une ligne entre les classes suivie d'une flèche qui oriente la direction, et lorsque la flèche est des deux côtés, on parle alors d'association bidirectionnelle. On peut préciser la multiplicité d'une association en ajoutant les ornements sur la ligne qui désignera l'association.

Exemple:

1) Un seul enseignant a plusieurs élèves.

Association UML, agrégation ou composition

2) Un seul étudiant peut s'associer à plusieurs enseignants.

Association UML, agrégation ou composition

La composition et l'agrégation sont deux sous-ensembles de l'association. Dans les deux cas, l’objet d’une classe appartient à l’objet d’une autre classe ; la seule différence est qu'en composition, l'enfant n'existe pas indépendamment de son parent, alors qu'en agrégation, l'enfant ne dépend pas de son parent, c'est-à-dire qu'il est autonome. Une agrégation est une forme particulière d'association, et la composition est la forme particulière d'agrégation.

Association UML, agrégation ou composition

Agrégation

L'agrégation est un sous-ensemble de l'association, c'est un ensemble de choses différentes. Cela représente une relation. C'est plus spécifique qu'une association. Il décrit une relation partielle ou partielle. Il s’agit d’une association binaire, c’est-à-dire qu’elle ne fait intervenir que deux classes. C'est une sorte de relation dans laquelle l'enfant est indépendant de son parent.

Par exemple:

tri de liste de tableaux Java

Ici, nous considérons un exemple de voiture et de roue. Une voiture ne peut pas se déplacer sans roue. Mais la roue peut être utilisée indépendamment avec le vélo, le scooter, le cycle ou tout autre véhicule. L'objet roue peut exister sans l'objet voiture, ce qui s'avère être une relation d'agrégation.

Association UML, agrégation ou composition

Composition

La composition fait partie de l’agrégation et dépeint la relation globale. Il décrit la dépendance entre un composite (parent) et ses parties (enfants), ce qui signifie que si le composite est supprimé, ses parties seront également supprimées. Il existe entre des objets similaires.

Comme vous pouvez le voir dans l'exemple ci-dessous, la relation d'association de composition relie la classe Personne à la classe Cerveau, à la classe Cœur et à la classe Jambes. Si la personne est détruite, le cerveau, le cœur et les jambes seront également jetés.

Association UML, agrégation ou composition

Association vs agrégation vs composition

Association Agrégation Composition
La relation d'association est représentée par une flèche. La relation d'agrégation est représentée par une ligne droite avec un losange vide à une extrémité. La relation de composition est représentée par une ligne droite avec un losange noir à une extrémité.
En UML, il peut exister entre deux ou plusieurs classes. Cela fait partie de la relation d’association. Cela fait partie de la relation d’agrégation.
Il intègre des associations un-à-un, un-à-plusieurs, plusieurs-à-un et plusieurs-à-plusieurs entre les classes. Cela montre une sorte de relation faible. Il présente un type de relation fort.
Il peut associer plusieurs objets ensemble. Dans une relation d'agrégation, les objets associés existent indépendamment dans le périmètre du système. Dans une relation de composition, les objets associés ne peuvent pas exister indépendamment dans le cadre du système.
En cela, les objets sont liés entre eux. En cela, les objets liés sont indépendants les uns des autres. Ici, les objets liés dépendent les uns des autres.
Cela peut ou non affecter l'autre élément associé si un élément est supprimé. La suppression d'un élément dans la relation d'agrégation n'affecte pas les autres éléments associés. Cela affecte l'autre élément si l'un de ses éléments associés est supprimé.
Exemple : Un tuteur peut s'associer à plusieurs étudiants, ou un étudiant peut s'associer à plusieurs enseignants. Exemple : Une voiture a besoin d’une roue pour son bon fonctionnement, mais elle n’a peut-être pas besoin de la même roue. Il peut également fonctionner avec une autre roue. Exemple : si un fichier est placé dans un dossier et que ce dossier est supprimé. Le fichier résidant dans ce dossier sera également supprimé au moment de la suppression du dossier.