UML 2 pour les bases de données
168
© Éditions Eyrolles
L’exemple 2-85 met en œuvre une composition avec les composants ecran, disques et
peripheriques, parties intégrantes de la classe Ordinateur. Les valeurs composantes
n’ont pas d’existence propre, elles doivent appartenir à un objet de la classe Ordinateur.
Supposons qu’un objet composant puisse appartenir à différentes compositions. La figure 2-86
illustre le schéma objet, qui utilise deux collections de références. Des objets des classes
Disque, Ecran et Peripherique peuvent avoir une existence distincte (indépendamment
d’un objet de la classe Ordinateur). La contrainte de composition stricte est abandonnée.
Il sera possible de combiner ces deux approches (composition stricte et agrégation partagée)
en ne partageant que certains objets.
Figure 2-85 Composition
Figure 2-86 Agrégation partagée
Ordinateur[ noserie, prix, ecran(noserie, taille),
disques { noserie, capacite, marque} ,
peripheriques{noserie, type}]
Ordinateur [ noserie , prix,
@refEcran, disques{ @refDisque }, periph s{ @refPerif } ]
Ecran[ noserie, taille]
Disque[ noserie, capacite, marque]
Peripherique[ noserie , type }]
168
© Éditions Eyrolles
L’exemple 2-85 met en œuvre une composition avec les composants ecran, disques et
peripheriques, parties intégrantes de la classe Ordinateur. Les valeurs composantes
n’ont pas d’existence propre, elles doivent appartenir à un objet de la classe Ordinateur.
Supposons qu’un objet composant puisse appartenir à différentes compositions. La figure 2-86
illustre le schéma objet, qui utilise deux collections de références. Des objets des classes
Disque, Ecran et Peripherique peuvent avoir une existence distincte (indépendamment
d’un objet de la classe Ordinateur). La contrainte de composition stricte est abandonnée.
Il sera possible de combiner ces deux approches (composition stricte et agrégation partagée)
en ne partageant que certains objets.
Figure 2-85 Composition
Figure 2-86 Agrégation partagée
Ordinateur[ noserie, prix, ecran(noserie, taille),
disques { noserie, capacite, marque} ,
peripheriques{noserie, type}]
Ordinateur [ noserie , prix,
@refEcran, disques{ @refDisque }, periph s{ @refPerif } ]
Ecran[ noserie, taille]
Disque[ noserie, capacite, marque]
Peripherique[ noserie , type }]
