Upload
labraidji
View
214
Download
0
Embed Size (px)
Citation preview
8/9/2019 Imagerie Medical Recalage Chapitre 4
1/13
Chapitre 4 Dveloppement par Approche Objet
IV- Dveloppement par Approche Objet
1. Introduction :
La conception oriente objets repose sur une solide assise thorique ayant dj obtenus des
rsultats concrets. La rapidit de dveloppement et surtout de maintenance peut rpondre auxattentes croissantes des utilisateurs et des dirigeants. Lapproche oriente objets permet la
matrise complte du processus, non seulement au niveau de la modlisation (analyse,
conception) mais galement la conduite de projet, la dfinition des activits, les rgles de
production, la dmarche qualit, la rutilisabilit des modles.
Les nouveaux logiciels commercialiss sont de plus en plus souvent conus et bass sur le
concept objet.
2. Schmas de dveloppement : [Mic97]
Les schmas de dveloppement les plus significatifs sont :
Dveloppement avec des spcifications excutables.
Dveloppement classique.
Dveloppement interactif ou incrmental.
Dveloppement dans un environnement objet.
Dveloppement dans un environnement objet : le dveloppement est incrmentale et
seffectue par des cycles imbriqus :
Construction de classes / Cration d'objets
excution.
Ce mode permet :
La rutilisation des classes pour en laborer des nouvelles.
Ajout au systme de nouvelles fonctions utilisant les anciennes.
36
8/9/2019 Imagerie Medical Recalage Chapitre 4
2/13
Chapitre 4 Dveloppement par Approche Objet
3. Les phases dabstraction:
Un cycle de dveloppement peut tre abord sous langle de labstraction. Les couches
dabstractions considres sont les suivantes :
Couche de modlisation conceptuelle.
Couche de modlisation logique.
Couche de modlisation physique.
3.1 Le modle conceptuel :
Le modle conceptuel est relatif lensemble des lments du systme concernant
uniquement le domaine dapplication. Seul laspect connaissances des processus du point de
vue des utilisateurs est ici considr. Les phases correspondant ce niveau dabstraction sont
les spcifications du systme, ltude prliminaire ainsi que lanalyse du domaine. Les acteurs
relatifs un modle conceptuel sont les utilisateurs et des concepteurs ayant, avant tout, une
connaissance effective du domaine mtier considr.
3.2 Le modle logique :
Le modle logique constitue lexpression dune solution objet sans quon ait considrer des
contraintes techniques particulires. Le modle logique constitue la partie la plus importance
37
Fig10 : Dveloppement orient objet
8/9/2019 Imagerie Medical Recalage Chapitre 4
3/13
Chapitre 4 Dveloppement par Approche Objet
supporte par la notation UML. Les phases correspondant au modle logique sont une partie
de lanalyse, la conception et une partie de la conception dtaille. Les acteurs du modle
logique sont des concepteurs expriments connaissant, bien entendu, la notation unifie.
3.3 Le modle physique :Le modle physique permet dexprimer la solution technique informatique dans le contexte
rel en prenant en compte lenvironnement de dveloppement, larchitecture matrielle et
logicielle existante et les contraintes exprimes. Ce modle correspond une partie de la
conception et la phase de codage. Les dveloppeurs sont chargs de mettre en uvre le
modle physique. Ils doivent tre expriments dans lutilisation de lenvironnement de
dveloppement considr. La connaissance, en tant que lecteur, dun dossier de conception
ralis en utilisant UML est requise.4. Les outils de lapproche objet:[Pie02]
La programmation oriente objet, en abrg POO, facilite la description et la manipulation
dobjets; le programmeur spcifie ce quil faut faire avec un objet, plutt que comment le
faire. La programmation oriente objet permet dorganiser et dexploiter des types abstraits de
donnes laide des techniques :
Dencapsulation,
Dhritage,
De liaison dynamiques et polymorphisme
Tout en crant objet individuel, classe d'objet, objet complexe,classes abstraites
4.1 Les objets :
Lobjet est une entit atomique forme de lunion dun tat et dun comportement. Il fournit
une relation dencapsulation qui assure la fois une cohsion interne trs forte et un faible
couplage entre le dit objet et lextrieur. Lobjet rvle son vrai rle et sa vraie responsabilit
lorsque, par lintermdiaire de lenvoi de messages, il sinsre dans un scnario de
communication.
Chaque objet contient un tat interne qui lui est propre et un comportement visible par les
autres objets.
38
Objet A[Un tat interne cach]
Comportement visible
8/9/2019 Imagerie Medical Recalage Chapitre 4
4/13
Un message
Chapitre 4 Dveloppement par Approche Objet
4.1-1 Caractristiques fondamentales dun objet :
La prsentation des caractristiques fondamentales dun objet permet de rpondre de manire
plus formelle la question : quest ce qui dfinit un objet ? Tout objet prsente les trois
caractristiques suivantes : un tat, un comportement et une identit.
a- Ltat :
Ltat regroupe les valeurs instantanes de tous les attributs dun objet (lattribut est une
information qualifiant lobjet qui le contient).
Ltat dun objet, un instant donn, correspond une slection de valeurs, parmi toutes les
valeurs possibles des diffrents attributs.
Le diagramme suivant montre une voiture qui contient les valeurs de trois attributs diffrents :
La couleur, la masse et la puissance fiscale dont la reprsentation graphique est:
b- Le comportement :
Le comportement regroupe toutes les comptences dun objet et dcrit les actions et les
ractions de cet objet. Chaque atome de comportement est appel opration. Les oprations
dun objet sont dclenches suite une stimulation externe, reprsente sous la forme dun
message envoy par un autre objet.
Dans le diagramme suivant, selon la valeur du message, lopration1 ou lopration2 est
dclenche.
39
Voiture
Couleur = bleuMasse=979kgPuissance= 12 cv
Un autre objet
Un objet Op
r
ation
1{
.}
Op
r
ation
2{
.}
Objet = Etat + Comportement + Identit
8/9/2019 Imagerie Medical Recalage Chapitre 4
5/13
limine
(Un seul objet la fois est actif)
Chapitre 4 Dveloppement par Approche Objet
c- Lidentit :
Un objet possde une identit qui caractrise son existence propre. Lidentit permet de
distinguer tout objet de faon non ambigu, et cela indpendamment de son tat.
Ainsi il est possible, entre autres, de distinguer deux objets dont toutes les valeurs dattributs
sont identiques
Lidentit est un concept, elle ne se reprsente pas de manire spcifique en modlisation.
Chaque objet possde une identit attribue de manire implicite la cration de lobjet et
jamais modifie.
4.1-2 Les messages entre les objets :
Les objets dun systme informatique travaillent en synergie pour raliser les fonctions de
lapplication.
-Le comportement global dune 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 reprsentation des interactions entre les objets.
-Il relie de faon dynamique les objets qui ont t spars par le processus de
dcomposition-Il est un intgrateur dynamique qui permet de reconstituer une fonction de lapplication
par la mise en collaboration dun groupe dobjets.
-Les messages sont reprsents par des flches places le long des liens qui unissent les
objets
4.1-3 Formes de synchronisation de messages :
La notion de synchronisation prcise la nature de la communication, et les rgles qui rgissent
le passage de messages.
-Envoi simple :
40
: Hros : Ennemi
: Expditeur : Destinataire
8/9/2019 Imagerie Medical Recalage Chapitre 4
6/13
x (Expditeur bloqu jusqu acceptation destinataire)
Chapitre 4 Dveloppement par Approche Objet
-Envoi synchrone :
-Envoi drobant :
-Envoi minut :
-Envoi asynchrone :
4.2-Les classes :
La classe dcrit le domaine de dfinition dun ensemble dobjets. Chaque objet appartient
une classe. Les gnralits sont contenues dans la classe et les particularits 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.
4.2-1 Les attributs et les oprations :
Les attributs dune classe correspondent aux proprits de la classe. Ils sont dfinis par un
nom, un type et ventuellement une valeur initiale.
41
Classe A
Objet A
OObjet A : Classe A
Lapin
Nom : stringAge : entier 2 at
tri
buts
(Destinataire bloqu jusqu rception du message)
(Bloque lexpditeur pendant un temps donn)
(Ninterrompent pas lexcution de lexpditeur)
8/9/2019 Imagerie Medical Recalage Chapitre 4
7/13
Chapitre 4 Dveloppement par Approche Objet
Chaque objet, instance dune classe, donne des valeurs particulires tous les attributs dfinis
dans sa classe et fixe par son tat.
Il existe cinq principales catgories doprations :
- les constructeurs qui crent des objets.- Les destructeurs qui dtruisent des objets.
- Les slecteurs (ou oprations de consultation) qui renvoient tout ou partie de
ltat dun lobjet.
- Les modificateurs qui changent tout ou partie de ltat dun objet.
- Les itratifs qui visitent ltat dun objet ou le contenu dune structure de
donnes qui contiennent plusieurs objets.
4.2-2 Reprsentation graphique des classes :Chaque classe est reprsente sous la forme dun rectangle gnralement divis en trois
compartiments. Le premier compartiment contient le nom de la classe, le second les attributs
et le dernier les oprations. Par dfaut, les attributs sont cachs et les oprations sont visibles.
Les compartiments peuvent tre supprims pour allger les diagrammes.
4.2-3 Description des classes :
La description des classes est spare en deux parties :
- La spcification dune classe qui dcrit le domaine de dfinition et les proprits des
instances de cette classe, et qui correspond la notion de type telle quelle est dfinie
dans les langages de programmation classiques.
- La ralisation qui dcrit comment la spcification est ralise et qui contient le corps
des oprations ncessaires leur fonctionnement.
Une classe passe un contrat avec dautres classes ; elle sengage fournir les services publis
dans sa spcification et les autres classes sengagent ne pas faire usage de connaissances
autres que celles dcrites dans cette spcification.
42
Nom de classe
Attributs
Oprations ()
Nom de classe
8/9/2019 Imagerie Medical Recalage Chapitre 4
8/13
Un lien
Un lien
Association
Chapitre 4 Dveloppement par Approche Objet
4.2-4 Lencapsulation :
L'encapsulation est un mcanisme consistant rassembler les donnes et les mthodes au sein
d'une structure en cachant l'implmentation de l'objet, c'est--dire en empchant l'accs aux
donnes par un autre moyen que les services proposs. L'encapsulation permet donc degarantir l'intgrit des donnes contenues dans l'objet.
Il existe trois niveaux dencapsulation :
-priv (-) : attribut non vu de lextrieur dobjet.
-protg (#) : attribut vu par des classes drives.
-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 manire abstraite dans le mondedes classes : chaque famille de liens entre objets correspond une relation entre les classes de
ces mmes objets. De mme que les objets sont des instances des classes, les liens entre objets
sont des instances des relations entre classes.
a- Lassociation :
Lassociation exprime une connexion smantique bidirectionnelle entre classes.
Une association est une abstraction des liens existent entre les objets instances des classes
associes. Le diagramme suivant reprsente des objets lis entre eux et les classes associes
correspondantes.
43
Une association
Classe A
Instance B : Classe BInstance A : Classe A
Classe B
Un lien
F Abes : universit
Y : tudiant
X : tudiant
EtudiantUniversit
8/9/2019 Imagerie Medical Recalage Chapitre 4
9/13
Hberge >
< Etudie dans
Etudiant
EnseignantEmployeur
Chapitre 4 Dveloppement par Approche Objet
Les liens entre luniversit et les tudiants sont des instances de lassociation entre la classe
universit et la classe tudiant.
Les associations se reprsentent de la mme manire que les liens. La distinction entre un lien
et une association est opre en fonction du contexte du diagramme. Il faut noter que
lassociation est un concept de mme niveau dabstraction que les classes. Lassociation nest
pas contenue par les classes ou subordonne aux classes ; elle est le reflet dune connexion
qui existe dans le domaine dapplication.
-Le nommage des associations facilite la comprhension des modles.
-Le rle dune association dcrit comment une classe voit une autre classe travers dune
association.
a-1 La dcoration des associations :
Pour amliorer la lisibilit des diagrammes, il est possible de dcorer lassociation dune
forme verbale active ou passive.
Le sens de lecture est prcis par les signes < et >.
Il est possible de prciser le rle des classes intervenant dans une association : un nom de rle
peut tre spcifi chaque extrmit dune association.
Chaque extrmit dune association peut porter une information de multiplicit qui prcise le
nombre dinstances qui participent la relation. Linformation de multiplicit apparait dans
les diagrammes de classes proximit de la classe concerne et du rle de cette classe, sil est
spcifi. Le tableau suivant rsume les valeurs de multiplicit les plus courantes.
1 Un et un seul
0..1 Zro ou unM..N De M N (entiers naturels)
* De zro plusieurs
0..* De zro plusieurs
1..* Dun plusieurs
44
Universit Etudiant
Universit Etudiant
Universit Personne
8/9/2019 Imagerie Medical Recalage Chapitre 4
10/13
Etudiant
EnseignantEmployeur
1 *
0..1 *
*
*
Chapitre 4 Dveloppement par Approche Objet
b- Lagrgation :
Lagrgation est une forme particulire dassociation qui exprime un couplage plus fort entreles classes. Une des clase joue un rle plus important que lautre dans la relation.
Lagrgation permet dexprimer des relations de type maitre et esclaves.
Les agrgations reprsentent des connexions bidirectionnelles dissymtriques.
c- La composition :
La composition est une forme dagrgation avec un couplage plus important. Ce couplage de
composition indique que les composants ne sont pas partageables et que la destruction de
lagrgat entraine la destruction des composants agrgs. Les termes conteneur et composite
sont parfois utiliss pour designer lagrgat dans les relations de compositions. La valeurmaximale de multiplicit du cot du conteneur ne doit pas excder 1 puisque les objets,
instances de la classe des composants, doivent tout appartenir au mme objet conteneur. UML
offre deux possibilits pour la reprsentation de la composition :
-utilisation dun losange plein, comme dcoration de lassociation du cot da la classe
composite.
-utilisation dune reprsentation emboite : la classe composite englobe les classes
composantes.
45
Universit Personne
Agrgat Composant
8/9/2019 Imagerie Medical Recalage Chapitre 4
11/13
1
1
1
*
Abstraction plus gnrale
Chapitre 4 Dveloppement par Approche Objet
Lexemple suivant prsente le cas des voitures, chaque voiture possde un moteur qui ne peut
tre partag entre plusieurs voitures. La destruction de la voiture entraine la destruction du
moteur.
4.4 Les hirarchies de classes :
Les hirarchies de classes ou classifications permettent de grer la complexit on ordonnant
les objets au sein darborescences de classes dabstraction croissante.
a- Gnralisation et spcialisation :
La gnralisation et la spcialisation sont des points de vue ports sur les hirarchies de
classes. La gnralisation consiste factoriser les lments communs (attributs, oprations et
contraintes) dun ensemble de classes dans une classe plus gnrale appel superclasse.
Les classes sont ordonnes selon une hirarchie : une superclasse est une abstraction de ses
sous-classes. La gnralisation est une dmarche assez difficile car elle demande une bonne
capacit dabstraction. La mise au point dune hirarchie optimale est dlicate et itrative.
Les arbres de classes ne poussent pas partir de leur racine. Au contraire, ils se dterminent
en partant des feuilles car les feuilles appartiennent au monde rel alors que les niveaux
suprieurs sont des abstractions construites pour ordonner et comprendre.
Lexemple suivant montre une hirarchie des moyens de transport. La flche qui symbolise la
gnralisation entre deux classes pointe vers la classe plus gnrale.
46
Composite
Composant
CompositeComposant *
Voiture Moteur
Vhicule
Vhicule terrestre Vhicule arien
HlicoptreCamionVoiture Avion
8/9/2019 Imagerie Medical Recalage Chapitre 4
12/13
Chapitre 4 Dveloppement par Approche Objet
b- Lhritage :
L'hritage est un mcanisme destin exprimer les similitudes entre classes. Il met en uvre
les principes de gnralisation et de spcialisation en partageant explicitement les attributs etmthodes communs au moyen d'une hirarchie de classes.
Exemple :
La classe fille hrite des caractristiques de sa classe mre (attributs et mthodes) mais elle se
distingue par ses caractristiques propres.
Il faudra distinguer : l'hritage simple, l'hritage multiple et l'hritage rptition.
1- Hritage simple :
Une classe fille n'a qu'une seule classe mre et elle hrite d'une partie des attributs et
mthodes de celle-ci en ayant ses spcifications propres. Cette notion est celle qui est utilise
dans les mthodes objets hirarchiques (ex : HOOD).
2- Hritage multiple :
Une classe fille hrite de plusieurs classes mres. Elle hrite d'une partie des attributs et des
mthodes de chacune de ses classes mres, en plus de ses spcifications propres. Beaucoup de
langages objets ne proposent pas dhritage multiple.
47
Transporteur
Transporteur statiqueTransporteur dynamique
NavettesChariot
Filo-guideConvoyeur a
BandesConvoyeur a
Accumulations
Animal
Omnivore
CarnivoreHerbivore
8/9/2019 Imagerie Medical Recalage Chapitre 4
13/13
Chapitre 4 Dveloppement par Approche Objet
c- Le polymorphisme :
Le terme de polymorphisme dcrit la caractristique dun lment qui peut prendre plusieurs
formes.
En informatique, le polymorphisme dsigne un concept de la thorie des types, selon lequel
un nom dobjet peut dsigner des instances de classes diffrentes issues dune mmearborescence.
La notion de polymorphisme recouvre en fait deux aspects :
-Le premier est la possibilit de surcharger des fonctions ou redfinir des mthodes
lintrieur de classes drives. Dans le cas de la surcharge, cest le nombre et le type des
arguments qui dterminent la version de la fonction excuter (liaison statique).
-Le deuxime aspect, dans le contexte de lhritage, est celui qui permet de ne connaitre quau
moment de lexcution du programme la version de la fonction excuter (liaison
dynamique).
5 Conclusion:
L'approche objet prsente de nombreux avantage en terme d'abstraction, rutilisation et de
flexibilit.
Les outils de modlisation : objet et classe d'objet ainsi les principes de l'approche de
dveloppement objet ont t prsent dans ce chapitre.
Dans le chapitre suivant on les utilise via le langage de modlisation unifie UML pour
dvelopper notre application.
48