Dans les diagrammes de classe, une association est une relation structurelle qui indique que les objets d'un discriminant, comme une classe ou une interface, sont connectés et peuvent naviguer vers les objets d'un autre discriminant.
Une association connecte deux discriminants : le discriminant fournisseur et le discriminant client. Les associations peuvent vous aider à prendre des décisions de conception sur la structure de vos données. Vous pouvez prendre des décisions non seulement sur les classes nécessaires pour contenir les données, mais également sur les classes nécessaires pour partager les données avec d'autres classes. Une association prend en charge le partage des données entre les classes ou, dans le cas d'une association automatique, entre des objets d'une même classe.
Par exemple, une classe Client possède une seule association (1) avec une classe Compte, ce qui signifie que chaque instance Compte est détenue par une instance Client. Si vous avez un compte, vous pouvez localiser le client propriétaire de ce compte et si vous avez un client, vous pouvez trouver son compte. L'association entre la classe Client et la classe Compte est importante car elle montre la structure entre les deux discriminants.
Les informations de multiplicité peuvent être liées à une association pour montrer combien d'instances de la classe A sont liées aux instances de la classe B. Les informations de multiplicité peuvent être liées aux deux extrémités des relations d'association.
Dans les diagrammes de classe, les relations d'association dans une application C/C++ sont les suivantes :
Dans le mappage de visualisation, les variables d'instance d'une application C/C++ deviennent des attributs de discriminants dans les diagrammes de classe. Par défaut, toutes les zones C/C++ sont affichées comme des attributs.
Un connecteur de relation d'association est représenté par un trait plein entre deux discriminants.
L'illustration ci-dessous contient un exemple de code source et est une représentation graphique d'une relation d'association.
Code source C/C++ | Visualisation UML |
![]() |
![]() |