Vous êtes sur la page 1sur 6

AGREGATION ET COMPOSITION

Par Sillery TALLA.


Enseignant Ing es Informatique .GL
Programmation Evènementielle et IHM2
UV : PROGRAMMATION EVENENEMENTIELLE
CHAPITRE I - Leçon 3 : Agrégation et composition / décomposition
Durée : 4H CM / 2H TP

Table des matières


I. REFLECHISSONS .................................................................................................................. 2
1. TRAVAIL DE REFLEXION 1 ................................................................................................ 2
2. TRAVAIL DE REFLEXION 2 ................................................................................................ 2
II. L’agrégation ........................................................................................................................ 3
1. Définition concept.................................................................................................... 3
2. Notation UML d’une agrégation .............................................................................. 3
3. Représentation code en VB .NET POO ..................................................................... 3
III. La Composition ................................................................................................................... 4
1. Définition Concept .......................................................................................................... 4
2. Notation UML d’une composition ................................................................................... 4
3. Représentation VB d’une situation de composition ....................................................... 5

Cours par Sillery Philinte TALLA.


ENS, ING es d’informatique : Génie Logiciel
tel : 691748658 Email : tsillery@ymail.com
UV : PROGRAMMATION EVENENEMENTIELLE
CHAPITRE I - Leçon 3 : Agrégation et composition / décomposition
Durée : 4H CM / 2H TP

Objectifs de la leçon
- Comprendre les principes d’agrégation , comprendre les principe de composition
conceptuellement parlant, savoir reconnaitre ces cas de figure dans des cas de projet
pratique et savoir les implémenté via le langage de programmation utilisé : VB
Prérequis
avoir fait la programmation évènementielle I et avoir des connaissance avérée en Algorithme
et en Informatique fondamental

I. REFLECHISSONS
1. TRAVAIL DE REFLEXION 1
Considérons la situation de conception logiciel suivante : Une bibliothèque peut contenir 0 ou
plusieurs livres, et un livre peut contenir 1 ou plusieurs pages. Une bibliothèque es définit
par : le nombre de livre qui y est entreposé, le nombre de table et de chaises dans la
bibliothèque, le nombre d’ordinateur dans la bibliothèque. Un livre est défini par la liste des
page (on considère la couverture comme une page), son auteur, sa date d’Edition et sa maison
de production. Une page est définie par : le nombre de ligne, le nombre de lettre par ligne et
le type de page.
Remarques
✓ Les entités qui découlent de ce cas d’utilisation sont :
o La Bibliothèque (nbre_livre, nbre_table, nbre_ordinateur)
o Le livre (list_page, auteur, maison_edition, date_edition)
o La page (nbre_ligne, nbre_lettre, type_page)
✓ Une Bibliothèque peut contenir plusieurs livres ou aucun livre. Mais techniquement la
bibliothèque ne dépend pas de la présence du livre a l’intérieur. Cela veut dire que si
je supprime tous les livre de la bibliothèque, la bibliothèque demeure toujours et existe
et est prête à accueillir d’autre livre quand il y en aura. J’espère que je ne vous perds
pas jusqu’ici. On peut conclure que le livre est un composant de la bibliothèque, bien
qu’il soit lui-même une entité.
✓ Un livre par contre dépends fortement et étroitement des pages qu’il contient. Ce qui
veux dire que pour que le livre existe il faut qu’il ait au moins une page. Rappelons que
le cas d’utilisation décrit plus haut à spécifier que même la couverture du livre est
considérée comme une page. Ce qui veux dire que lorsque la Liste de page est = 0 sa
veux simplement dire que le livre n’existe pas. On ne peut pas avoir un livre de 0 page.
On peut aussi conclure que la(les) page(s) sont les composant du livre bien que page
soit une entité aussi à part entière avec ces propriétés.
Conclusion
Des deux remarques précédentes on en tire deux sortes de relation entre les entités.
Les deux sont des relations de contenant as contenu (la bibliothèque contient des livres et le
livre contient des page). Seulement la différence entre l’un est l’autre est que la suppression
de contenu chez l’un entraine forcement la suppression du contenant, ce qui n’est pas le cas
chez l’autre.

2. TRAVAIL DE REFLEXION 2
Considérons, un système d’université, qui contient plusieurs départements. Chacun des
départements contient un agrégat de professeur qui constitue le département. La destruction

Cours par Sillery Philinte TALLA.


ENS, ING es d’informatique : Génie Logiciel
tel : 691748658 Email : tsillery@ymail.com
UV : PROGRAMMATION EVENENEMENTIELLE
CHAPITRE I - Leçon 3 : Agrégation et composition / décomposition
Durée : 4H CM / 2H TP

d’un département n’entrainera pas la destruction de l’université. La destruction de


l’université entraine elle la destruction des départements qui la compose, alors que la
destruction d’une faculté n’implique pas la destruction des professeurs liés a cette faculté par
une relation d’agrégation.

II. L’agrégation
1. Définition concept
En programmation informatique et plus précisément en programmation orientée objet,
l'agrégation permet de définir une entité comme étant liée à plusieurs entités de classe
différentes. D’autre document explique le concept de l’agrégation comme étant une
association correspondant à une relation qui lorsqu'elle est lue dans un sens signifie "est une
partie de" et lorsqu'elle est lue dans l'autre sens elle signifie "est composé de".
Exemple : Un enseignant est une partie d’un département, et un département est composé
d’un enseignant.
UML disposant de plusieurs raffinements possibles nous utiliserons l'agrégation
comme composition par valeur en ce sens que la construction du tout implique la construction
automatique de toutes les parties et que la destruction du tout entraîne en cascade la
destruction de chacune de ses parties.
A la seule petite différence que l’objet en lui-même continue d’exister de manière
autonome quand son contenant n’existe plus. Il a même la capacité d’être utiliser par plusieurs
autre contenant à la fois. La destruction du département informatique entraine la
destruction des enseignant qui le constitue, mais ces enseignant ne cesse pas d’exister et
peuvent même être utiliser dans d’autre département.
Exemple : Pour construire un livre il faut aux moins 2 pages (la page de couverture et la
dernière des couverture) ; si on détruit un livre, il entraine systématiquement la destruction
de toutes les pages de ce livre.
2. Notation UML d’une agrégation

Contenant Contenu

On note en UML la relation d’agrégation définit par un contenant et un contenu par


une flèche portant à son extrémité un losange blanc du côté du contenant.

3. Représentation code en VB .NET POO

Considérons le système du livre et de page. La représentation graphique UML de ce système


est défini comme suit :

1-* 1-*
Département Enseignant

Cours par Sillery Philinte TALLA.


ENS, ING es d’informatique : Génie Logiciel
tel : 691748658 Email : tsillery@ymail.com
UV : PROGRAMMATION EVENENEMENTIELLE
CHAPITRE I - Leçon 3 : Agrégation et composition / décomposition
Durée : 4H CM / 2H TP

Contrairement à la modélisation merise, La cardinalité en UML se lit sur le coté opposé a


l’entité pour laquelle on voudrait lire cette entité. Ainsi pour la représentation ci-dessus
- Un Département a 1 ou plusieurs enseignant
- Un Enseignant appartient à 1 ou plusieurs départements

La classe Enseignant est une partie de la classe Département

La classe Département est composé de plusieurs Enseignants

III. La Composition
1. Définition Concept
Si un objet A contient un objet B, c'est-à-dire que l’objet B est un attribut d’un objet A,
nous précisons alors que A et B sont reliés par une relation de composition. C’est une relation
très forte, si l’objet A est détruit, alors l’objet B est aussi détruit.

2. Notation UML d’une composition

Contenant Contenu

On note en UML la relation d’agrégation définit par un contenant et un contenu par


une flèche portant à son extrémité un losange plein du côté du contenant.

Cours par Sillery Philinte TALLA.


ENS, ING es d’informatique : Génie Logiciel
tel : 691748658 Email : tsillery@ymail.com
UV : PROGRAMMATION EVENENEMENTIELLE
CHAPITRE I - Leçon 3 : Agrégation et composition / décomposition
Durée : 4H CM / 2H TP

3. Représentation VB d’une situation de composition


Considérons le système du livre et des pages qui sont contenu dans le livre. La page est
une partie du livre et le livre est composé de page. La destruction du livre entraine
automatiquement la destruction des pages. Seulement une page d’un livre est destinée à un
et un seul livre. Et ne peut donc pas être utilisé en même temps par d’autre livre.

Livre Page

TAF pareil que pour la classe département et enseignant.

Cours par Sillery Philinte TALLA.


ENS, ING es d’informatique : Génie Logiciel
tel : 691748658 Email : tsillery@ymail.com

Vous aimerez peut-être aussi