Title: Agr
1Agrégationset composition
- Un peu plus de détails
- (tiré de Odell J.J., Six Different Kinds of
Aggregation)
2Définition
- Agrégation est un mécanisme pour créer un objet
(appelé le tout ou le composé) en partant
dautres objets (les parties) (Odell) - Une type dassociation qui spécifie une
relation tout-partie entre un agrégat (le tout)
et une partie qui le constitue (UML).
3Exemples
- Un humain est constitué de matière et desprit.
- Un humain est constitué de bras, jambes
- Une montre est constitué de cadran, aiguille et
mouvement dhorlogerie. - Un mouvement dhorlogerie est constitué dancre,
daxe, de balancier, etc. - Leau est constituée dOxygènes et dHydrogène.
4Exemple
5Question pour une typologie des agrégations
- Quel type de lien existe-t-il entre les parties
et le tout ? (Configuration) - Structurels
- Fonctionnels.
- Est-ce que les parties sont du même genre que le
tout ? (Homéomérie) - Est-ce que les parties peuvent être séparées du
tout? (Invariance)
6Questions à propos des voitures
- Une voiture est constituée de moteur, de châssis,
de roues - Est-ce quune voiture sans moteur est une
voiture ? - Quand une voiture cesse-t-elle dêtre une voiture
si on lui enlève des parties ? - Une voiture sans moteur ne sert pas pour se
déplacer à moins quelle ne soit au sommet dune
montagne. - Mais une voiture sans moteur peut avoir une
amende pour stationnement interdit ! - Est-ce quun moteur dauto existe sans la
voiture ? - Certes ! Il peut servir pour tout autre chose
pour faire tourner dautres types de roues
7Questions à propos des moteurs
- Un moteur est constitué de pistons, de
carburateur, des bielles - Un piston est constitué de tête, de corps, de
tige - Le corps est constitué dacier.
- Est-ce que lacier fait parte du piston comme
le piston fait partie du moteur ? - Non, parce que lacier ne peut pas être séparé
du piston tandis que le piston peut être séparé
du moteur.
8Questions à propos du Canada
- Le Canada est constitué de Québec, Ontario, etc.
- Est-ce que les parties et le tout sont du même
type ? - Oui.
- Est-ce que les parties ont un lien fonctionnel ou
structurel ? - Oui.
- Est-ce que le Québec peut être séparé du Canada
(ça dépend si vous considérez le problème
politique ou le Québec comme partie physique de
la terre ).
9Genres pour classifier les agrégations
- Configuration indique si les parties ont une
relation structurelle ou fonctionnelle entre
elles ou avec le tout. - Homéomérie (homogénéité) indique si les parties
et le tout sont du même genre. - Invariance indique si les parties peuvent être
séparées du tout.
10Note pour la lecture des type dagrégation
- À côté du titre entre parenthèse il y a trois
caractères qui peuvent être O (oui) ou N (non) - Dans lordre configuration, homéomérie,
invariance - ExemplePartie comme substance (O, N, O)
- Configuration oui, homéomérie non et invariance
oui.
111. Partie comme composant (O,N,N)
- Le tout est un système et les parties ont des
relations fonctionnelles et/ou structurelles
entre elles et avec le tout (les parties peuvent
être enlevées) - Les roues sont une partie de lauto
- Les scènes sont des partie dun opéra
- H2 et O sont des parties de leau
- Les îlots de Langerhans sont des parties du
pancréas - Le tout est un objet dont les constituants ne
peuvent pas être agencés au hasard - Une roue détachée dune voiture nest pas une
partie de la voiture mais une pièce de voiture
122. Partie comme substance (fait de) (O,N,O)
- Les parties ne peuvent pas être enlevées
- Le fromage est fait de lait (aussi)
- Le pain est fait de blé (aussi)
- Une moto est fait dacier (aussi)
133 Partie comme portion (O,O,N)
- Les parties sont homéomères avec le tout
- Une tranche de jambon fait partie du jambon
- Une seconde fait partie des minutes
- Les parties héritent des caractéristiques du tout
(change la quantité)
144 Partie comme lieu (O,O,O)
- Les parties sont homéomères et ne peuvent pas
être enlevées du tout - Montréal fait partie du Québec
- Le Québec fait partie du Canada (!?)
- Lestuaire fait partie du fleuve
- Le salon fait partie de la maison
155 Partie comme membre dune collection (N,N,N)
- Il ny a pas de relations structurelles ou
fonctionnelles - Un disque fait partie de linventaire de la
famille Yak - Un étudiant fait partie de lassociation sportive
- Souvent cest la proximité physique ou sociale
qui crée ce type dagrégation
166 Partie comme membre essentiel dun groupe
(N,N,O)
- Une association plus forte que celle de la
collection car les partie ne peuvent pas être
séparées du tout - Mari et femmes (catholiques) font partie du
mariage - Stan Laurel fait partie de Laurel et Hardy
17Ce ne sont pas des agrégations
- Inclusion topologique
- relation entre un contenant et un contenu sans
autres liens. - Le spectateur est dans le cinéma. Le spectateur
ne fait pas partie du cinéma. - Classification.
- Satisfaction fait partie des chansons rocks ?
Où est-elle une chanson rock? - Elle est une chanson rock (est une instance de
chanson rock et une chanson rock est une chanson)
18Ce nest pas une agrégation
- Attributs
- une voiture a une couleur mais nest pas
constituée de couleur. La couleur est lune des
propriétés de la voiture. - Est-ce que donc on peut dire que la couleur nest
pas un objet ? Dans ce cas oui, mais dans le cas
dun physicien qui étudie les caractéristiques
des couleurs, cest toute autre chose. .
19Ce nest pas une agrégation
- Propriété
- Jean a une voiture
- Jean a deux bras.
- Les bras ont une relation dagrégation avec Jean,
mais pas la voiture ! - Est-ce Jean le propriétaire de ses reins ? Ou les
reins sont-ils une partie de son corps (le tout)
? - Puisque lon peut vendre ses reins
- Lexemple des reins pour montrer que, lors de
lanalyse, les relations entre les concepts sont
souvent très difficiles à établir si elles ne
sont pas contraintes par les objectifs
20Transitivités des agrégations
- Si les agrégations font partie de la même
catégorie alors la propriété de transitivité est
vraie Si A fait partie de B et B de C alors A
fait partie de C. Dans les autres cas il faut
analyser. - Si un département est constitué dInformaticiens
qui sont constitués de bras, jambes, etc. Est-ce
quun département dinformatique est constitué de
têtes, bras, etc. ? Certainement pas ! (au moins
selon la manière de voir courante)
21Composition (UML)
- Une forme forte dagrégation avec le composé qui
a chaque moment a une possession exclusive des
parties. Le temps de vie des parties coïncide
avec celui du composé. - Représentation losange rempli du côté du
composé. - Côté composé la multiplicité doit être 0 ou 1
22Une lettre peut avoir 0 ou une signature. Une
transaction a une signature. La signature est sur
la lettre ou sur la transaction ou
23La signature fait partie dune lettre ou dune
transaction. Par rapport au schéma précédent on a
enlevé la possibilité que la signature apparaisse
autre part que dans une lettre ou une transaction
24Lagrégation entre transaction et signature est
dérivée de lagrégation entre document et
signature ce que lon ne peut pas faire avec
Rational Rose (version UML 1). Par rapport au
schéma précédent on indique quune transaction a
toujours une signature.
25Composition (Analyse versus conception)
- La différence entre composition et agrégation est
surtout utile en conception et en programmation. - Le tout meurt alors toutes ses parties
meurent - Les parties naissent avec le tout ou après le
tout. - Dans le modèle logique le concept de
composition est moins bien défini et doit être
appliqué lorsquil est opportun (Manuel UML 2)