Imagerie Medical Recalage Chapitre 4

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