Académique Documents
Professionnel Documents
Culture Documents
36
Chapitre 4 Développement par Approche Objet
37
Chapitre 4 Développement par Approche Objet
supportée par la notation UML. Les phases correspondant au modèle logique sont une partie
de l’analyse, la conception et une partie de la conception détaillée. Les acteurs du modèle
logique sont des concepteurs expérimentés connaissant, bien entendu, la notation unifiée.
3.3 Le modèle physique :
Le modèle physique permet d’exprimer la solution technique informatique dans le contexte
réel en prenant en compte l’environnement de développement, l’architecture matérielle et
logicielle existante et les contraintes exprimées. Ce modèle correspond à une partie de la
conception et à la phase de codage. Les développeurs sont chargés de mettre en œuvre le
modèle physique. Ils doivent être expérimentés dans l’utilisation de l’environnement de
développement considéré. La connaissance, en tant que lecteur, d’un dossier de conception
réalisé en utilisant UML est requise.
Chaque objet contient un état interne qui lui est propre et un comportement visible par les
autres objets.
38
Chapitre 4 Développement par Approche Objet
a- L’état :
L’état regroupe les valeurs instantanées de tous les attributs d’un objet (l’attribut est une
information qualifiant l’objet qui le contient).
L’état d’un objet, à un instant donné, correspond à une sélection de valeurs, parmi toutes les
valeurs possibles des différents attributs.
Le diagramme suivant montre une voiture qui contient les valeurs de trois attributs différents :
La couleur, la masse et la puissance fiscale dont la représentation graphique est:
Voiture
Couleur = bleu
Masse=979kg
Puissance= 12 cv
b- Le comportement :
Le comportement regroupe toutes les compétences d’un objet et décrit les actions et les
réactions de cet objet. Chaque atome de comportement est appelé opération. Les opérations
d’un objet sont déclenchées suite à une stimulation externe, représentée sous la forme d’un
message envoyé par un autre objet.
Dans le diagramme suivant, selon la valeur du message, l’opération1 ou l’opération2 est
déclenchée.
Un autre objet
Un message
Un objet
….}
{…
1
ation
Opér
….}
{…
2
ation
Opér
39
Chapitre 4 Développement par Approche Objet
c- L’identité :
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.
Ainsi il est possible, entre autres, de distinguer deux objets dont toutes les valeurs d’attributs
sont 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
jamais modifiée.
4.1-2 Les messages entre les objets :
Les objets d’un système informatique travaillent en synergie pour réaliser les fonctions de
l’application.
-Le comportement global d’une application repose sur la communication entre les objets
qui la compose
-Il existe une grande richesse de communication entre les objets.
- Le message est la représentation des interactions entre les objets.
-Il relie de façon dynamique les objets qui ont été séparés par le processus de
décomposition
-Il est un intégrateur dynamique qui permet de reconstituer une fonction de l’application
par la mise en collaboration d’un groupe d’objets.
-Les messages sont représentés par des flèches placées le long des liens qui unissent les
objets
Élimine
: Héros : Ennemi
: Expéditeur : Destinataire
40
Chapitre 4 Développement par Approche Objet
4.2-Les classes :
La classe décrit le domaine de définition d’un ensemble d’objets. Chaque objet appartient à
une classe. Les généralités sont contenues dans la classe et les particularités sont contenues
dans les objets. Les objets informatiques sont construit à partir de la classe, par un processus
appelé instanciation. De ce fait, tout objet est une instance de classe.
Classe A
Objet A
Lapin
Nom : string
buts
attri
Age : entier
2
41
Chapitre 4 Développement par Approche Objet
Chaque objet, instance d’une classe, donne des valeurs particulières à tous les attributs définis
dans sa classe et fixe par son état.
Il existe cinq principales catégories d’opérations :
- les constructeurs qui créent des objets.
- Les destructeurs qui détruisent des objets.
- Les sélecteurs (ou opérations de consultation) qui renvoient tout ou partie de
l’état d’un l’objet.
- Les modificateurs qui changent tout ou partie de l’état d’un objet.
- Les itératifs qui visitent l’état d’un objet ou le contenu d’une structure de
données qui contiennent plusieurs objets.
4.2-2 Représentation graphique des classes :
Chaque classe est représentée sous la forme d’un rectangle généralement divisé en trois
compartiments. Le premier compartiment contient le nom de la classe, le second les attributs
et le dernier les opérations. Par défaut, les attributs sont cachés et les opérations sont visibles.
Les compartiments peuvent être supprimés pour alléger les diagrammes.
Attributs
Opérations ()
42
Chapitre 4 Développement par Approche Objet
4.2-4 L’encapsulation :
L'encapsulation est un mécanisme consistant à rassembler les données et les méthodes au sein
d'une structure en cachant l'implémentation de l'objet, c'est-à-dire en empêchant l'accès aux
données par un autre moyen que les services proposés. L'encapsulation permet donc de
garantir l'intégrité des données contenues dans l'objet.
Il existe trois niveaux d’encapsulation :
-privé (-) : attribut non vu de l’extérieur d’objet.
-protégé (#) : attribut vu par des classes dérivées.
-public (+) : attribut visible pour toutes les classes.
4.3 Les relations entre les classes :
Les liens particuliers qui relient les objets peuvent être vus de manière abstraite dans le monde
des classes : à chaque famille de liens entre objets correspond une relation entre les classes de
ces mêmes objets. De même que les objets sont des instances des classes, les liens entre objets
sont des instances des relations entre classes.
Une association
Classe A Classe B
a- L’association :
Instance A : Classe A Instance B : Classe B
L’association exprime une connexion sémantique bidirectionnelle entre classes.
Un lien
Une association est une abstraction des liens existent entre les objets instances des classes
associées. Le diagramme suivant représente des objets liés entre eux et les classes associées
correspondantes.
Un lien
X : étudiant
F Abes : université
Un lien
Y : étudiant
43
Chapitre 4 Développement par Approche Objet
Les liens entre l’université et les étudiants sont des instances de l’association entre la classe
université et la classe étudiant.
Les associations se représentent de la même manière que les liens. La distinction entre un lien
et une association est opérée en fonction du contexte du diagramme. Il faut noter que
l’association est un concept de même niveau d’abstraction que les classes. L’association n’est
pas contenue par les classes ou subordonnée aux classes ; elle est le reflet d’une connexion
qui existe dans le domaine d’application.
-Le nommage des associations facilite la compréhension des modèles.
-Le rôle d’une association décrit comment une classe voit une autre classe à travers d’une
association.
a-1 La décoration des associations :
Pour améliorer la lisibilité des diagrammes, il est possible de décorer l’association d’une
forme verbale active ou passive.
Le sens de lecture est précisé par les signes < et >.
Héberge >
Université Etudiant
Etudiant
Université Personne
Employeur Enseignant
Chaque extrémité d’une association peut porter une information de multiplicité qui précise le
nombre d’instances qui participent à la relation. L’information de multiplicité apparait dans
les diagrammes de classes à proximité de la classe concernée et du rôle de cette classe, s’il est
spécifié. Le tableau suivant résume les valeurs de multiplicité les plus courantes.
1 Un et un seul
0..1 Zéro ou un
M..N De M à N (entiers naturels)
* De zéro à plusieurs
44
0..* De zéro à plusieurs
1..* D’un à plusieurs
Chapitre 4 Développement par Approche Objet
Etudiant
1 *
Université Personne
0..1 *
Employeur Enseignant
b- L’agrégation :
L’agrégation est une forme particulière d’association qui exprime un couplage plus fort entre
les classes. Une des clase joue un rôle plus important que l’autre dans la relation.
L’agrégation permet d’exprimer des relations de type maitre et esclaves.
Les agrégations représentent des connexions bidirectionnelles dissymétriques.
*
Agrégat Composant
*
c- La composition :
La composition est une forme d’agrégation avec un couplage plus important. Ce couplage de
composition indique que les composants ne sont pas partageables et que la destruction de
l’agrégat entraine la destruction des composants agrégés. Les termes conteneur et composite
sont parfois utilisés pour designer l’agrégat dans les relations de compositions. La valeur
maximale de multiplicité du coté du conteneur ne doit pas excéder 1 puisque les objets,
instances de la classe des composants, doivent tout appartenir au même objet conteneur. UML
offre deux possibilités pour la représentation de la composition :
-utilisation d’un losange plein, comme décoration de l’association du coté da la classe
composite.
-utilisation d’une représentation emboitée : la classe composite englobe les classes
composantes.
45
Chapitre 4 Développement par Approche Objet
Composite
Composite
Composant *
*
Composant
L’exemple suivant présente le cas des voitures, chaque voiture possède un moteur qui ne peut
être partagé entre plusieurs voitures. La destruction de la voiture entraine la destruction du
moteur.
1
Voiture 1 Moteur
46
b- L’héritage :
L'héritage est un mécanisme destiné à exprimer les similitudes entre classes. Il met en œuvre
les principes de généralisation et de spécialisation en partageant explicitement les attributs et
méthodes communs au moyen d'une hiérarchie de classes.
Exemple :
Transporteur
La classe fille hérite des caractéristiques de sa classe mère (attributs et méthodes) mais elle se
distingue par ses caractéristiques propres.
Il faudra distinguer : l'héritage simple, l'héritage multiple et l'héritage à répétition.
1- Héritage simple :
Une classe fille n'a qu'une seule classe mère et elle hérite d'une partie des attributs et
méthodes de celle-ci en ayant ses spécifications propres. Cette notion est celle qui est utilisée
dans les méthodes objets hiérarchiques (ex : HOOD).
2- Héritage multiple :
Une classe fille hérite de plusieurs classes mères. Elle hérite d'une partie des attributs et des
Animal
méthodes de chacune de ses classes mères, en plus de ses spécifications propres. Beaucoup de
langages à objets ne proposent pas d’héritage multiple.
Herbivore Carnivore
47
Omnivore
Chapitre 4 Développement par Approche Objet
c- Le polymorphisme :
Le terme de polymorphisme décrit la caractéristique d’un élément qui peut prendre plusieurs
formes.
En informatique, le polymorphisme désigne un concept de la théorie des types, selon lequel
un nom d’objet peut désigner des instances de classes différentes issues d’une même
arborescence.
La notion de polymorphisme recouvre en fait deux aspects :
-Le premier est la possibilité de surcharger des fonctions ou redéfinir des méthodes à
l’intérieur de classes dérivées. Dans le cas de la surcharge, c’est le nombre et le type des
arguments qui déterminent la version de la fonction à exécuter (liaison statique).
-Le deuxième aspect, dans le contexte de l’héritage, est celui qui permet de ne connaitre qu’au
moment de l’exécution du programme la version de la fonction à exécuter (liaison
dynamique).
5 Conclusion:
L'approche objet présente de nombreux avantage en terme d'abstraction, réutilisation et de
flexibilité.
Les outils de modélisation : objet et classe d'objet ainsi les principes de l'approche de
développement objet ont été présenté dans ce chapitre.
Dans le chapitre suivant on les utilise via le langage de modélisation unifiée UML pour
développer notre application.
48