Vous êtes sur la page 1sur 11

Cours Programmation Evénementielle Chapitre 1

Chapitre 1 : L’approche Objet


Objectifs :

- Comprendre l’historique de la genèse des méthodes objet


- Comprendre les différences entre les méthodes fonctionnelles et les méthodes objet.
- Apprendre les fondements de l’approche objet.

I. Introduction :

II. Les méthodes d’analyse et de conception :

1. A quoi sert une méthode :

Réalisé par : Bassem Boughzala (ISET RADES) Page 1/11


Cours Programmation Evénementielle Chapitre 1

2. Des méthodes fonctionnelles aux méthodes objet :

Réalisé par : Bassem Boughzala (ISET RADES) Page 2/11


Cours Programmation Evénementielle Chapitre 1

III. Pourquoi l’approche objet ?

D’une manière générale, la construction d’un logiciel est une suite d’itération du genre
« division - réunion ». Il faut « décomposer – diviser » pour comprendre et il faut
« composer - réunir » pour construire. Cela conduit à une situation paradoxale : il faut
diviser pour réunir. Face à ce paradoxe, le processus de décomposition a été dirigé
traditionnellement par un critère fonctionnel. Les fonctions du système sont identifiées,
puis décomposées en sous-fonctions et cela récursivement jusqu’à l’obtention
d’éléments simples directement représentables dans les langages de programmations
(par les fonctions et les procédures).

Fonction
Principale

Sous - Sous -
...
fonction 1 fonction 2

Sous - Sous - Sous - Sous -


... ...
fonction 1.1 fonction 1.2 fonction 2.1 fonction 2.2

... ...

Figure 1 - Décomposition fonctionnelle et hiérarchique

Réalisé par : Bassem Boughzala (ISET RADES) Page 3/11


Cours Programmation Evénementielle Chapitre 1

L’architecture logicielle est alors le reflet des fonctions du système. Cette démarche, apporte
des résultats satisfaisants lorsque les fonctions sont bien identifiées et lorsqu’elles sont bien
stable dans le temps. Toutefois, étant donné que la fonction induit la structure, les évolutions
fonctionnelles peuvent impliquer des modifications structurelles lourdes du fait du couplage
statique entre architecture et fonctions.
L’approche objet considère un système comme une totalité organisée, dont les éléments
solidaires ne peuvent être définis que les uns par rapport aux autres. Elle propose une méthode
de décomposition non pas basée uniquement sur ce que le système fait, mais plutôt sur
l’intégration de ce que le système est et fait.
L’approche objet est basé sur l’utilisation de l’objet en tant qu’abstraction du monde réel. Elle
a pour but une modélisation des propriétés statiques et dynamiques de l’environnement dans
lequel sont définis les besoins. Les fonctions se représentent alors par des formes de
collaboration entre les objets qui composent le système. Le couplage devient dynamique et les
évolutions fonctionnelles ne remettent plus en cause la structure statique du logiciel.

Figure 2 - Décomposition objet intégrant la structure et le comportement

En Conclusion : l’approche objet tire sa force de sa capacité à regrouper ce qui a été séparé, à
construire le complexe à partir de l’élémentaire et surtout à intégrer statiquement et
dynamiquement les constituant d’un système.

IV. Les fondements de l’approche objet :


1. L’objet : L’objet est une unité atomique formée de l’union d’un état et d’un comportement.
Il fournit une relation d’encapsulation qui assure à la fois une cohésion interne très forte et
un faible couplage entre ledit objet et l’extérieur.

Figure 3 - chaque objet contient un état interne qui lui est propre et un comportement accessible aux autres objets

Réalisé par : Bassem Boughzala (ISET RADES) Page 4/11


Cours Programmation Evénementielle Chapitre 1

En UML un objet se représente sous la forme d’un rectangle. Le nom de l’objet est souligné.

Figure 4 - En UML les objets se représentent au moyen d'icônes rectangulaires

Figure 5 - Représentation graphique d'objets ayant un lien entre eux.

Remarque : Parfois deux points précèdent le nom inscrit dans le rectangle de l’objet pour
préciser qu’il s’agit d’un objet anonyme.

Figure 6 - Représentation d'objets anonymes

Tout objet présente trois caractéristiques : un état, un comportement et une identité :

Réalisé par : Bassem Boughzala (ISET RADES) Page 5/11


Cours Programmation Evénementielle Chapitre 1

1.a L’état :

Figure 7- L'état regroupe les valeurs des différents attributs qui caractérisent un objet

Figure 8 – L’état d'un objet à un moment donné est la conséquence des comportements passés

Réalisé par : Bassem Boughzala (ISET RADES) Page 6/11


Cours Programmation Evénementielle Chapitre 1

1.b Le comportement :

Figure 9 - En réponse à un message, l'objet destinataire déclenche un comportement. Le message sert de


sélecteur, il détermine l'opération à exécuter.

1.c L’identité :

En plus de son état, un objet possède une identité qui caractérise son existence propre.
L’identité permet de distinguer tout objet de façon non ambiguë et cela indépendamment de
son état. Cela permet de distinguer deux objets dont toutes les valeurs d’attributs sont
identiques.

Figure 10 - Des identités différentes pour des objets ayant des valeurs d'attributs identiques

L’identité est un concept elle ne se représente pas de manière spécifique en modélisation.


Chaque objet possède une identité attribuée de manière implicite à la création de l’objet et n’est
jamais modifiée.

Réalisé par : Bassem Boughzala (ISET RADES) Page 7/11


Cours Programmation Evénementielle Chapitre 1

2. Communication entre objets :

Lors de l’exécution d’un programme, les objets contribuent solidairement au bon déroulement
de l’application informatique. Le comportement global d’une application repose donc sur la
communication entre les objets qui la composent. L’unité de communication entre les objets
est le message. Les messages sont représentés par des flèches étiquetées, placées le long des
liens qui unissent les objets.

Figure 11 - les objets communiquent en échangeant des messages

3. Les classes :

3.a Les attributs d’une classe :

Les attributs d’une classe correspondent aux propriétés de la classe. Ils sont définis par
un nom, un type et éventuellement une valeur initiale. Chaque objet, instance d’une
classe donne des valeurs particulières à tous les attributs définis dans sa classe et fixe
par la même son état.

Réalisé par : Bassem Boughzala (ISET RADES) Page 8/11


Cours Programmation Evénementielle Chapitre 1

Figure 12 - Classe Lapin et objet lapin (instance de la classe lapin)

3.b Les méthodes d’une classe :

La spécification du comportement d’un objet est définie par les opérations décrites dans sa
classe. Il existe 4 principales catégories d’opérations :

- Les constructeurs qui créent l’objet.


- Les destructeurs qui détruisent des objets.
- Les sélecteurs qui renvoient tout ou partie de l’état d’un objet.
- Les modificateurs qui changent tout ou partie de l’état d’un objet.

3.c Représentation graphique des classes :

Figure 13 - Représentation graphique des classes

Exemple : Classe Motocyclette

Réalisé par : Bassem Boughzala (ISET RADES) Page 9/11


Cours Programmation Evénementielle Chapitre 1

Les trois niveaux d’encapsulation retenus sont :

• Le niveau le plus fort appelé niveau « privé ». La partie privée de la classe est
alors totalement opaque et seuls les amis peuvent accéder aux attributs placés
dans la partie privée.
• Certains attributs sont placés dans la partie protégée de la classe ces attributs sont
alors visibles à la fois par les amis et les classes dérivées. Pour toutes les autres
classes les attributs restent invisibles.
• Le niveau le plus faible est obtenu en plaçant les attributs dans la partie publique
de la classe. Dans ce cas les attributs sont visibles pour toutes les classes.

Figure 14 - Précision des niveaux de visibilité dans les représentations graphiques des classes

Exemple :

Remarque : l’encapsulation réduit le couplage au sein du modèle, favorise la modularité et


facilite la maintenance des logiciels.

Réalisé par : Bassem Boughzala (ISET RADES) Page 10/11


Cours Programmation Evénementielle Chapitre 1

4. Association entre classes :

Les liens entre les universités et les étudiants sont tous instances entre la classe « Université »
et la classe « Etudiant ».

Réalisé par : Bassem Boughzala (ISET RADES) Page 11/11