Petite précision en UML (signification de deux signes)

Eléphant du PHP | 453 Messages

17 mai 2009, 22:35

Salut tout le monde,

Je ne savais pas où poster ce sujet. Je suis profondément désolé si je me suis trompé de forum. :/

En ce moment, je potasse l'UML entres autres. J'ai une question à propos de deux signes dans un diagrame de classe. J'ai vu deux signes où j'ai une ambiguité sur leurs significations. Disons qu'il y a trois classes, classeA relier à classeC par un trait avec losange plein et classeA relier à classeB par par un trait avec losange vide.

Prenons l'exemple d'une modélisation d'un refrigirateur (ClasseA). La porte du réfrigirateur est ce classeB ou classeC ? Le bac à légumes est ce classeB ou classeC ?

Suivant ce que j'ai compris, la porte du frigo serait la classeC (losange plein) et le bac à légumes serait la classeB (losange vide). Est ce bien cela ?

Merci de me donner des indications ou de me signaler mon erreur.

Au plaisir de vous lire et bonne soirée à vous :)
La Tux attitude avec les kiw'z syou plait
Komodo Edit - Inkscape - Dia

ViPHP
ViPHP | 5924 Messages

18 mai 2009, 02:15

Suivant ce que j'ai compris, la porte du frigo serait la classeC (losange plein) et le bac à légumes serait la classeB (losange vide). Est ce bien cela ?
Oui, mais dans tous les cas, ce n'est que question de justification.
Le "losange vide", c'est une aggrégation, le "losange plein", c'est une aggrégation forte.
Pour l'aggrégation (forte ou faible), on considère que l'objet cible est une partie de l'autre.
Pour l'aggréagtion forte, c'est une aggrégation pour laquelle l'objet aggrégateur n'a aucun sens sans l'objet aggrégé. L'objet aggrégé est d'ailleurs créé dès la création de l'autre. Après c'est à toi de placer la limite entre les aggrégations forte et faible.