diagramme de classe.pptx

download diagramme de classe.pptx

of 130

Transcript of diagramme de classe.pptx

  • 8/18/2019 diagramme de classe.pptx

    1/130

    M.E.D.A.L.

    Module d’Enseignement à Distancepour l’Architecture Logicielle

    Alain VAILLYDiapositive n° 1 Université de NANTES

    MIAGE 3ème année

    Diagramme de classes

  • 8/18/2019 diagramme de classe.pptx

    2/130

    Alain VAILLYDiapositive n° 2 Université de NANTES

    L’usage de ce document, sous quelque forme que ce soit (électronique,papier…), à titre personnel ou devant des étudiants, est autorisé et libre de

    droits, à la condition expresse qu’il soit conservé dans l’état (et notammentqu’il comporte la page de garde et cet avertissement).Tout autre usage, notamment commercial, toute diffusion via un serveur

    informatique, une liste de diffusion… est soumis à l’accord PRÉALABLEde son auteur.

    Ce document constitue un TOUT. Toute coupe, toute modification nonautorisée par son auteur sera assimilée à une atteinte aux droits de l’auteuret poursuivie comme telle devant les tribunaux.

    AVERTISSEMENT

  • 8/18/2019 diagramme de classe.pptx

    3/130

  • 8/18/2019 diagramme de classe.pptx

    4/130

    Alain VAILLYDiapositive n° 4 Université de NANTES

    M.E.D.A.L.

    Cours magistral

    - Processus

    - Conclusion

    - Outils

    1) Introduction

    2) Approche pragmatique des classes

    3) Diagramme de classes

    4) Utilisation du diagramme de classes

    5) Conclusion

    PLAN

    - Analyse des besoins

    - Analyse

    - Conception

    - Introduction

  • 8/18/2019 diagramme de classe.pptx

    5/130

    Alain VAILLYDiapositive n° 5

    1) Introduction

    Université de NANTES

    M.E.D.A.L.

    L’activité d’analyse construit la structure conceptuelle dusystème en terme de classes. La fin de l’activité précédente,celle d’analyse des besoins, se termine fréquemment par un

    modèle du domaine ( Domain Model). Ce dernier est bâti à partir de classes.

    Nous commençons donc ce chapitre par l’étude de ce type dediagramme ; après avoir regardé comment l’on passe d’unschéma E-A-P à un ensemble de classes, nous passons en

    revue les diff érentes notions utilisables et terminons par unediscussion autour de l’usage que l’on peut (et que l’on doit)faire de ce type de schémas.

    Objets mé tiers

  • 8/18/2019 diagramme de classe.pptx

    6/130

    Alain VAILLYDiapositive n° 6

    2) Approche pragmatique des classes

    Université de NANTES

    M.E.D.A.L.

    Une classe est définie par un ensemble de caractéristiques(attributs et opérations) optionnellement typés.

    Les caractéristiques de la classe sont partagées par toutes lesinstances de la classe.

     Nom de la

    classe

     Attributs de la

    classeOpé rations de la

    classe

     Il y en a d’autres.

  • 8/18/2019 diagramme de classe.pptx

    7/130

    Alain VAILLYDiapositive n° 7

    2) Approche pragmatique des classes

    Université de NANTES

    M.E.D.A.L.

    Le passage d’un schéma E-A-P (entités-associations-propriétés) de type Merise se fait, pour l’essentiel,

    simplement mais au prix de quelques « difficultés » :

    -  Il n’y a pas d’identifiant dans un diagramme de classes ;-  Les cardinalités sont positionnées à l’envers par rapport au

    schéma d’origine ;-  Un schéma Merise ne contient que des informations ; la

    partie opérations du diagramme de classes est donc nonconcernée par cette traduction.

  • 8/18/2019 diagramme de classe.pptx

    8/130

    Alain VAILLYDiapositive n° 8

    2) Approche pragmatique des classes

    Université de NANTES

    M.E.D.A.L.

    Le passage se fait sans perte d’information…sauf celle relative

    au fait que le numéro sert d’identifiant.

    Ent_1Personne

    Num ro

    Nom

    Pr nom usuel

     Adresse

    Code postal

    Ville

    T l phone

    Date naissance

    Lieu naissance

    On peut y

    remé dier.

  • 8/18/2019 diagramme de classe.pptx

    9/130

    Alain VAILLYDiapositive n° 9

    2) Approche pragmatique des classes

    Université de NANTES

    M.E.D.A.L.

    Un diagramme de classes est un réseau de classes, dans lequelles nœuds correspondent aux classes et les arcs aux relations

    existant entre ces classes.

    Il y a (principalement) trois types de relations : association,spécialisation et dépendance.

    -  L’association est une abstraction d’un ensemble de liens

    entre objets ;-

     La dépendance définit une causalité générale entre classes ;-  La spécialisation correspond à l’héritage.

     Mais encore ?

  • 8/18/2019 diagramme de classe.pptx

    10/130

    Alain VAILLYDiapositive n° 10

    2) Approche pragmatique des classes

    Université de NANTES

    M.E.D.A.L.

    Ces relations sont

    modélisées de la façonsuivante (dans l’ordre

    d’apparition) :

    -  association

    « simple »-  association orientée-  agrégation-

     composition-  spécialisation-  dépendance-  réalisation

  • 8/18/2019 diagramme de classe.pptx

    11/130

    Alain VAILLYDiapositive n° 11

    2) Approche pragmatique des classes

    Université de NANTES

    M.E.D.A.L.

    Lors de la traduction, les associations perdent… du « poids ».

    0,nPersonne

    Num ro_INSEE

    Nom

    Pr nom

    0,nVoiture

    Immatriculation

    Marque

    Conduit

  • 8/18/2019 diagramme de classe.pptx

    12/130

    Alain VAILLYDiapositive n° 12

    2) Approche pragmatique des classes

    Université de NANTES

    M.E.D.A.L.

    sauf dans le cas d’associations n-aires (avec n > 2) :

    Ceci a é t é  ajout é  « à la main », car non disponibledans la palette graphique de l’outil utilisé .

  • 8/18/2019 diagramme de classe.pptx

    13/130

    Alain VAILLYDiapositive n° 13

    2) Approche pragmatique des classes

    Université de NANTES

    M.E.D.A.L.

    ou des associations porteuses d’information(s) :

    On a là ce que l’on appelleune classe-association.

    0,nPersonne

    Num ro_INSEE

    Nom

    Pr nom

    0,nVoiture

    Immatriculation

    Marque

    Conduit

    Date

  • 8/18/2019 diagramme de classe.pptx

    14/130

    Alain VAILLYDiapositive n° 14

    2) Approche pragmatique des classes

    Université de NANTES

    M.E.D.A.L.

    Les cardinalités sont inversées (comme dans toutes lesnotations d’origine anglo-saxone).

    1,nPersonne

    0,nVoitureConduit

  • 8/18/2019 diagramme de classe.pptx

    15/130

    Alain VAILLYDiapositive n° 15

    2) Approche pragmatique des classes

    Université de NANTES

    M.E.D.A.L.

    Le vocabulaire pour noter les cardinalités est (un peu) plusriche que celui employé dans Merise :

    1

    0..1

    N

    M..N

    *

    0..*1..*

    un et un seul

    zéro ou un (de zéro à un)N (entier naturel)

    de M à N (entiers naturels)de zéro à plusieursde zéro à plusieursde un à plusieurs

  • 8/18/2019 diagramme de classe.pptx

    16/130

    Alain VAILLYDiapositive n° 16

    2) Approche pragmatique des classes

    Université de NANTES

    M.E.D.A.L.

    L’inversion des cardinalités rend leur interprétationparticulièrement difficile dans le cas des associations n-aires.

    1

    Cela concerne quelle classe ?

  • 8/18/2019 diagramme de classe.pptx

    17/130

    Alain VAILLYDiapositive n° 17

    2) Approche pragmatique des classes

    Université de NANTES

    M.E.D.A.L.

    De fait, UML privilégie les associations binaires, quitte à transformer les classes-associations en classes :

  • 8/18/2019 diagramme de classe.pptx

    18/130

    0,n

    0,n

    Permis

    Num ro permis

    Liell

    0,nT! pePermis

    Type permis

    0,n

    apprenti

    0,n

    0,n

    0,1

    est " illeul

    0,n

    est parrain

    0,n

    tuteur 

    Personne

    Num ro personneNom personne

    Pr nom personne

    0,n

    Voiture

    N places assises

    Tracteur 

    Puissance

    Char#e utile

    1,1V hicule

    Immatriculation

    Marque

    Est d$un

    Conduit une

    Est propri taire de

    Poss de un

    N points

    Est responsale de

    X   XT

    Alain VAILLYDiapositive n° 18

    2) Approche pragmatique des classes

    Université de NANTES

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    19/130

    0..*

    Alain VAILLYDiapositive n° 19

    2) Approche pragmatique des classes

    Université de NANTES

    M.E.D.A.L.

    0..1

  • 8/18/2019 diagramme de classe.pptx

    20/130

    Alain VAILLYDiapositive n° 20

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

    Une classe se compose d’un ensemble d’attributs, d’un

    ensemble d’opérations. Elle a un nom qui définit ce qu’elle estet non ce qu’elle fait. Il est possible de lui ajouter un ensemble

    d’exceptions et un ensemble de responsabilités.

    Un stéréotype(une sorte de

    comportement

    standard) peut lui

    être accolé.

    Nom classe

    Attributs

    Opérations

    Exceptions

    Responsabilités

  • 8/18/2019 diagramme de classe.pptx

    21/130

    Alain VAILLYDiapositive n° 21

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

    Les attributs sont notés comme ceci :

    Visibilité Nom_attribut [ ‘[‘ Multiplicité ’]’ ’:’  Type_attribut [ ‘=‘ Valeur_initiale ] { ‘{‘ Propriété ‘}’} ]

    Visibilité ::= ‘+’ | ‘-’ | ‘#’Multiplicité ::= (Intervalle | Nombre) [ ‘,’ Multiplicité]Intervalle ::= Limite_inférieure ‘..’ Limite_supérieureNombre ::= Entier_positif | ‘*’ (illimité)

    Entier_positif :entier naturel

    Type_attribut :spécification du type de l’attributValeur_initiale :expression qui définit la valeur initialed’un objet nouvellement crééPropriété :une propriété et sa valeur

    syntaxe officielle

  • 8/18/2019 diagramme de classe.pptx

    22/130

    Alain VAILLYDiapositive n° 22

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

    Un attribut ou une opération sera plus ou moins visible selon lavaleur donnée à la propriété Visibilité. UML définit trois niveaux

    de visibilité :

    -un attribut public est visible de tous les « clients » de la classe;

    -  un attribut privé ne sera visible que de la classe ;-  un attribut protégé ne sera visible que de la classe et de ses

    sous-classes.

    Certains outils ajoutent un quatrième niveau, celui du package.Un attribut ayant ce niveau de visibilité sera visible de toutes les

    classes du package (paquetage en français).

    + (valeur par d é  faut)

    -

    # c’est quoi un paquetage ?

  • 8/18/2019 diagramme de classe.pptx

    23/130

    Alain VAILLYDiapositive n° 23

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

    Les paquetages permettent de structurer les modèles et lediagramme de classes en particulier. Chaque paquetage contient

    un ou plusieurs diagrammes de classes. Il contient

    éventuellement d’autres types de diagrammes.

    Le découpage en paquetages correspond à une structurationverticale des applications.

  • 8/18/2019 diagramme de classe.pptx

    24/130

    Alain VAILLYDiapositive n° 24

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

    Les participations entre paquetages sont modélisées grâce auxrelations de dépendance.

    La gestion des contrats nécessite, implique, fait appel à lagestion des auteurs signant les contrats.

    d é  pend 

  • 8/18/2019 diagramme de classe.pptx

    25/130

    Alain VAILLYDiapositive n° 25

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

    On peut associer à cette relation de dépendance entrepaquetages deux stéréotypes :

    - « importe » : les classes (et les autres éléments) du paquetagede destination sont ajoutées à l’espace de nommage défini par

    le paquetage source.

    Les classes visibles du paquetage de droite sont accessibles aux

    classes de gauche.

  • 8/18/2019 diagramme de classe.pptx

    26/130

    Alain VAILLYDiapositive n° 26

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

    On peut associer à cette relation de dépendance entrepaquetages deux stéréotypes :

    - « accède » : les classes (et les autres éléments) du paquetagede destination peuvent être réf érencées par les classes du

    paquetage source.

    Les classes visibles du paquetage de droite sont réf érençablespar les classes de gauche. La dépendance « accède » n’est pas

    transitive.

  • 8/18/2019 diagramme de classe.pptx

    27/130

    Alain VAILLYDiapositive n° 27

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

    Par d é  faut, tout est public.

     privé e

    syntaxe StarUML

  • 8/18/2019 diagramme de classe.pptx

    28/130

    Alain VAILLYDiapositive n° 28

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

    Ces liaisons entre paquetages ne doivent pas être circulaires :

    NB : ce schéma a pourtant été accepté par StarUML...

  • 8/18/2019 diagramme de classe.pptx

    29/130

    Alain VAILLYDiapositive n° 29

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

    Il faut également éviter des dépendances circulaires transitivescomme celle ci-dessous :

  • 8/18/2019 diagramme de classe.pptx

    30/130

    Alain VAILLYDiapositive n° 30

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

    Revenons à la propriété de visibilité. Il est possible de définir lavisibilité d’une classe ou d’une association, comme le montre

    l’exemple ci-après :

    Nous reviendrons sur cet exemple.

    Par d é  faut, tout est public.

     privé e

    syntaxe StarUML

    M E D A L

  • 8/18/2019 diagramme de classe.pptx

    31/130

    Alain VAILLYDiapositive n° 31

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

    Par défaut, la portée lexicale d’un attribut ou d’une opération estcelle de l’instance d’une classe.

    Il est possible d’étendre

    cette portée en définissantdes attributs et des

    opérations de classe. Ceciautorise toutes les

    instances de la classe à 

    partager ces attributs etopérations. Ces attributset opérations de classe

    seront soulignés.

    attribut de classe

    M E D A L

  • 8/18/2019 diagramme de classe.pptx

    32/130

    Alain VAILLYDiapositive n° 32

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

    Le type des attributs peut être une classe, un type primitif(Entier, Chaîne...) ou une expression complexe dont la syntaxe

    n’est pas précisée par UML (Tableau[x] de Points...).

    La propriété associée aux attributs exprime les possibilités dechangements liés à ceux-ci, par le biais des valeurs suivantes :

    -  gelé: attribut non modifiable ;-  variable: propriété par défaut d’un attribut modifiable ;-

     ajoutUniquement: seul l’ajout d’une valeur est possible (nesert que pour un attribut dont la multiplicité est supérieure à 1).

    M E D A L

  • 8/18/2019 diagramme de classe.pptx

    33/130

    Alain VAILLYDiapositive n° 33

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

    {gelé}

    syntaxe StarUML

    M E D A L

  • 8/18/2019 diagramme de classe.pptx

    34/130

    Alain VAILLYDiapositive n° 34

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

    Il est possible, en UML, de définir des propriétés calculables.Ce qui était complètement interdit dans un schéma entités-associations-propriétés (E-A-P) de type Merise est autorisé 

    dans un diagramme de classes UML.

    Il est conseillé de donner, dans une note, la formule de calcul.

    M E D A L

  • 8/18/2019 diagramme de classe.pptx

    35/130

    Alain VAILLYDiapositive n° 35

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

    Ces propriétés calculables seront remplacées, lors de laconception, par des opérations. Il est possible (ie. conseillé) de

    le faire tout de suite si l’on peut.

    M E D A L

  • 8/18/2019 diagramme de classe.pptx

    36/130

    Alain VAILLYDiapositive n° 36

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

    Les opérations sont notées comme ceci :

    Visibilité Nom_opération ’(‘ [Arguments] ’)’ [ ’:’  Type_retourné { ‘{‘ Propriété ‘}’} ]

    Visibilité ::= ‘+’ | ‘-’ | ‘#’Arguments ::= Direction Nom_argument ‘:’ Type_argument

    [‘=‘ Valeur_par_défaut] [‘,’ Arguments]Direction ::= in | out | inout

    Nom_argument :nom de l’argument

    Type_argument: spécification du type de l’argumentValeur_par_défaut :valeur donnée par défaut à l’argumentType_retourné :précise le type retourné par l’opérationPropriété :une propriété et sa valeur

    syntaxe officielle

    M E D A L

  • 8/18/2019 diagramme de classe.pptx

    37/130

    Alain VAILLYDiapositive n° 37

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

    Parmi les propriétés qu’il est possible d’affecter à uneopération, on peut citer :

     abstraite : l’opération est abstraite, c’est-à-dire qu’elle n’a

    pas de corps. Elle n’est pas implémentée dans la classe.

    estFeuille : l’opération ne peut pas être redéfinie dans unesous-classe.

    estRacine : l’opération est définie pour la première fois.

    M E D A L

  • 8/18/2019 diagramme de classe.pptx

    38/130

    Alain VAILLYDiapositive n° 38

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

    Il est possible de stéréotyper les opérations, ce qui permet deles ranger en fonction de leur effet :

    M E D A L

  • 8/18/2019 diagramme de classe.pptx

    39/130

    Alain VAILLYDiapositive n° 39

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

    abstraites

    syntaxe StarUML

    M E D A L

  • 8/18/2019 diagramme de classe.pptx

    40/130

    Alain VAILLYDiapositive n° 40

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

    Il est aussi possible de stéréotyper les attributs, ce qui peutpermettre de « régler » le problème, évoqué précédemment, dela perte de l’information relative à la qualité d’identifiant d’un

    attribut.

    Personne

    N um ro

    Nom

    Pr nom

     Adresse

    Code postal

    Ville

    T l phone

    Date naissance

    Lieu naissance

    M E D A L

  • 8/18/2019 diagramme de classe.pptx

    41/130

    Alain VAILLYDiapositive n° 41

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

    Il y a plusieurs forme de classes :

    - Une classe abstraite est une classe qui ne peut avoir

    d’instances :

     À quoi ça sert ?Nom en italique

    M E D A L

  • 8/18/2019 diagramme de classe.pptx

    42/130

    Alain VAILLYDiapositive n° 42

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

    Les classes abstraites sont souvent utilisées pour structurer ungraphe de spécialisation / généralisation.

     Elles servent

    à mieux factoriser

    attributs et

    opé rations.

    relation de

    spé cialisation

    M E D A L

  • 8/18/2019 diagramme de classe.pptx

    43/130

    Alain VAILLYDiapositive n° 43

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

    Une classe abstraite peut posséder des attributs, desopérations. Ses opérations ne sont pas forcément abstraites.Elles peuvent donc avoir une implémentation (un corps, une

    méthode).

    Une classe abstraite peut être impliquée dans des associationsavec d’autres classes, abstraites ou non. Elle peut être privée

    ou protégée (comme elle peut être publique).

    Une classe abstraite ne peut pas être une classe interface (carelle a des attributs et elle est peut être impliquée dans desassociations). Une classe abstraite ne peut pas être réalisée.

    M E D A L

  • 8/18/2019 diagramme de classe.pptx

    44/130

    Alain VAILLYDiapositive n° 44

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

    - Une métaclasse est une classe dont les instances sont des

    classes et non pas des objets.

    Elle contiendra des attributs et des opérations quiconcernent la classe plutôt que les instances de la classe.

    relation de

    d é  pendance

    M E D A L

  • 8/18/2019 diagramme de classe.pptx

    45/130

    Alain VAILLYDiapositive n° 45

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

    - Un interface est un moyen, pour une classe, de rendre

    visible les opérations qu’elle propose, sans pour autant enrévéler l’implantation. Un interface correspond donc au

    comportement visible de la classe. Il n’y a pas d’attribut dans

    un interface. Il ne peut pas non plus être impliqué dans desassociations.

    syntaxe StarUML

    (pas terrible !)

    M E D A L

  • 8/18/2019 diagramme de classe.pptx

    46/130

    Alain VAILLYDiapositive n° 46

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

    La classe qui réalise l’interface propose une implémentation-une méthode- de tout ou partie des opérations de cet

    interface.

    La classe X réaliseune partie del’interface A et tout

    l’interface B. Celui-

    ci est égalementréalisé par la classe

    Y (de façondiff érente de la

    classe X).

    relation de

    r é alisation

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    47/130

    Alain VAILLYDiapositive n° 47

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

    Ce « service » proposé est décrit dans la partie opérationsde la classe « réalisatrice ». Il pourra être mis en oeuvre parune ou plusieurs réalisations et utilisé par une ou plusieurs

    classes :

    syntaxe StarUML

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    48/130

    Alain VAILLYDiapositive n° 48

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

    syntaxe StarUML

    Les classes Banque et Assurance sont des interfaces (elles

    offrent au « public » des opérations). Les classes Entrepriseet Client utilisent certaines de ces opérations. La classe

    Banque propose en plus une implémentation de certaines

    des opérations de Assurance.

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    49/130

    Alain VAILLYDiapositive n° 49

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

    - Une classe active est une classe qui met en oeuvre un ou

    plusieurs flots de contrôle. Elle a son propre comportement(celui-ci sera représenté par un ou plusieurs diagrammes

    d’activités).

    Une classe active est une classe à part entière.

    active

    syntaxe StarUML

     passive

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    50/130

    Alain VAILLYDiapositive n° 50

    3) Diagramme de classes

    Université de NANTES

    . . . . .

    En général, un compartiment est ajouté à la classe, pour mettreen évidence les événements émis ou signaux traités. On peut

    aussi stéréotyper les opérations correspondantes.

    é vé nementé mis par la

    classe

    syntaxe StarUML

    signal reçuet trait é  par

    la classe

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    51/130

    Alain VAILLYDiapositive n° 51

    3) Diagramme de classes

    Université de NANTES

    Les classes peuvent être reliées entre elles par des associations.Celles-ci représentent une relation existant entre ces classes,relation pouvant s’exprimer par un verbe, à la voix active ou

    passive.

    Un client passe une commande ; celle-ci comprend des articles.

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    52/130

    Alain VAILLYDiapositive n° 52

    3) Diagramme de classes

    Université de NANTES

    Ces associations sont binaires (recommandé par UML), enboucle ou bien présentant une arité supérieure.

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    53/130

    Alain VAILLYDiapositive n° 53

    3) Diagramme de classes

    Université de NANTES

    Les associations peuvent être nommées :

    Ces noms n’étant pas toujours très parlants, il est possible d’enrenforcer l’expressivité en ajoutant le sens de lecture des

    noms.

    sens de lecture

    syntaxe StarUML

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    54/130

    Alain VAILLYDiapositive n° 54

    3) Diagramme de classes

    Université de NANTES

    Il est également possible de donner des noms aux rôles jouéspar les classes dans l’association.

    Ces noms peuvent être « cumulés », une même associationayant un nom et deux rôles (pour une association binaire).

     pas recommand é 

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    55/130

    Alain VAILLYDiapositive n° 55

    3) Diagramme de classes

    Université de NANTES

    Outre le nom, un rôle peut être affublé de propriétés :

    - ordonné : les objets de la classe qui sont impliqués dansl’association sont rangés d’une certaine façon. Le ou les

    critères de tri ne sont pas précisés.

    -  modification : cette propriété peut prendre trois valeurs,variable (l’instance de la classe peut être modifiée), gelé (l’instance n’est pas modifiable) ou ajoutUniquement (il

    est possible d’ajouter des instances mais pas d’en retirer).

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    56/130

    Alain VAILLYDiapositive n° 56

    3) Diagramme de classes

    Université de NANTES

    Ces associations peuvent être porteuses d’informations, celles-ci étant relatives (ie. ayant du sens par rapport) à l’ensemble

    des classes participant à cette association.

    Classeassociation

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    57/130

    Alain VAILLYDiapositive n° 57

    3) Diagramme de classes

    Université de NANTES

    Bien qu’ayant l’apparence (?) d’une association, il s’agit bien

    d’une classe, avec la possibilité d’avoir des attributs, desopérations...

    Une classe association n’est pas obligatoirement nommée. Ellepeut, par contre, avoir un nom. Seules les classes associations

    qui ne participent pas à d’autres associations et qui ont desattributs sont appelées associations attribuées. Elles n’ont

    alors pas de nom.

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    58/130

    Alain VAILLYDiapositive n° 58

    3) Diagramme de classes

    Université de NANTES

    association

    attribué e

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    59/130

    Alain VAILLYDiapositive n° 59

    3) Diagramme de classes

    Université de NANTES

    Une association n-aire ou une association binaire porteuse

    d’informations (attributs) peuvent toujours être transforméesen un ensemble d’associations binaires.

    faux

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    60/130

    Alain VAILLYDiapositive n° 60

    3) Diagramme de classes

    Université de NANTES

    Ce n’est pas la même chose !

    Contrairement au schéma E-A-P,cette transformation est gratuite.Il n’y a pas d’attribut à ajouter.

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    61/130

    Alain VAILLYDiapositive n° 61

    3) Diagramme de classes

    Université de NANTES

    Il est possible de « placer » plusieurs associations

    diff érentes entre deux classes, à la condition expressequ’elles expriment des concepts structurels diff érents.

    Il n’y aura pas multiples associations si ces lois

    expriment simplement des messages transitant d’une

    classe à l’autre.

    faux

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    62/130

    Alain VAILLYDiapositive n° 62

    3) Diagramme de classes

    Université de NANTES

    Une association entre des classes correspond à unestructure statique. C’est également le support de la

    collaboration entre les objets des classes.

    Autrement dit, une association correspond à une sortede tuyau par lequel les messages vont passer.

    Par une seule association, plusieurs messages passeront.

    asso

    message 1

    message 1message 2

    message 2

    message 3 message 3asso

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    63/130

    Alain VAILLYDiapositive n° 63

    3) Diagramme de classes

    Université de NANTES

    Cette notion de tuyau est renforcée par celle denavigabilité. Les associations peuvent être vues comme

    des canaux de navigation entre les objets. Ces canaux

    permettent de se déplacer dans le modèle.

    Par défaut, les associations sont navigables dans lesdeux directions. Il est possible de restreindre cette

    navigabilité à une seule direction :

    sens unique

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    64/130

    Alain VAILLYDiapositive n° 64

    3) Diagramme de classes

    Université de NANTES

    Toutes les instances de A ont un « accès » aux instances de B ;toutes les instances de B ont un « accès » aux instances de A.

    Toutes les instances de A ont un « accès » aux instances de B ;aucune instance de B n’a « accès » aux instances de A.

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    65/130

    Alain VAILLYDiapositive n° 65

    3) Diagramme de classes

    Université de NANTES

    La mise en place d’une association « à sens unique » aura desconséquences sur la définition des diff érents diagrammes (de

    séquences, de collaborations). Les envois de messages nepourront pas « emprunter les sens interdits ».

    La mise en place d’une association à sens unique aura aussi desconséquences sur l’implémentation, une classe pouvant ou pas

    être vue d’une autre en fonction de la navigation.

     B ne voit pas A.

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    66/130

    Alain VAILLYDiapositive n° 66

    3) Diagramme de classes

    Université de NANTES

    Chaque association comporte, en ses extrémités, un couple (leplus souvent) de cardinalités. Celles-ci, nous n’avons dé jà dit,

    sont inversées par rapport à des schémas de type E-A-P.

    Chaque instance de A est liée à une et une seule instance de B ;chaque instance de B est liée à une ou plusieurs instances de A.

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    67/130

    Alain VAILLYDiapositive n° 67

    3) Diagramme de classes

    Université de NANTES

    Comme dans le cas des attributs, il est possible de faire figurer

    dans un diagramme de classes une association redondante.

    L’association travaille_pour  est

    calculée, c’est-à-dire que c’est lesystème informatique qui, à partirdes liaisons participe et finance,

    calcule les liaisons travaille_pour .

          f    n    a    n    c    e     >

     /  <  t r a

     v a  i  l  l e

    _  p o u

     r

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    68/130

    Alain VAILLYDiapositive n° 68

    3) Diagramme de classes

    Université de NANTES

    Plusieurs contraintes ensemblistes peuvent être placées entredeux associations :

     

    - {ou-exclusif } : une instance appartient à un ensemble ou à unautre mais pas aux deux ;

    -  {sous-ensemble} : une instance qui appartient à un ensembleappartient obligatoirement à l’autre ;

    - ... il y en a d’autres.

    Ces contraintes sont (souvent) exprimées en OCL (ObjectConstraint Language).

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    69/130

    Alain VAILLYDiapositive n° 69

    3) Diagramme de classes

    Université de NANTES

    {sous-ensemble}

    {ou-exclusif}

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    70/130

    Alain VAILLYDiapositive n° 70

    3) Diagramme de classes

    Université de NANTES

    ATTENTION au placement de ces contraintes. Certaines

    positions ont des significations diff érentes :

    Cas A : exclusion entre les instances de B 

    participant à l’association « du haut » et cellesparticipant à l’association « du bas ».

    {ou-exclusif}

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    71/130

    Alain VAILLYDiapositive n° 71

    3) Diagramme de classes

    Université de NANTES

    Cas B : exclusion entre les couples d’instances de

    A et de B participant à l’association « du haut » etceux qui participent à l’association « du bas ».

    {ou-exclusif}

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    72/130

    Alain VAILLYDiapositive n° 72

    3) Diagramme de classes

    Université de NANTES

    Cas C : exclusion entre les instances de A 

    participant à l’association « du haut » et ceux quiparticipent à l’association « du bas ».

    {ou-exclusif}

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    73/130

    Alain VAILLYDiapositive n° 73

    3) Diagramme de classes

    Université de NANTES

    Il est une autre façon de signaler qu’un attribut peut servird’identifiant au travers de la notion de qualification.

    Une association qualifiée, selon P.A. MULLER, est même plus

    adaptée à modéliser un identifiant qu’un attribut.

     L’attribut qualificatif fait partie de la classe B !

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    74/130

    Alain VAILLYDiapositive n° 74

    3) Diagramme de classes

    Université de NANTES

    La qualification (aussi appelée restriction) d’une associationconsiste à sélectionner un sous-ensemble d’objets parmi ceux qui

    participent à cette association. Elle est opérée à l’aide d’unensemble d’attributs utilisé conjointement avec un objet de la

    classe source. La restriction réduit (...) le nombre d’instances quiparticipent à une association.

    (identifiant d’une partie des instances de la classe)

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    75/130

    Alain VAILLYDiapositive n° 75

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    76/130

    Alain VAILLYDiapositive n° 76

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    77/130

    Alain VAILLYDiapositive n° 77

    3) Diagramme de classes

    Université de NANTES

    L’instanciation d’une association qualifiée définit le nom desobjets source et destination et la valeur du qualificatif. Chaque

    instance de la classe A, accompagnée de la valeur du qualificatif,identifie un sous-ensemble des instances de la classe B qui

    participent à l’association.ensemble desinstances de B qui

     participent à l’association

    ensemble des instances de B qui

     participent à l’association et qui ont

    une valeur de clé  donné e

    ensemble des

    instances de B

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    78/130

    Alain VAILLYDiapositive n° 78

    3) Diagramme de classes

    Université de NANTES

    L’agrégation est une relation dans laquelle une des classes joue

    un rôle prépondérant. Elle est transitive, non symétrique etréflexive.

    La disparition des parents n’entra î ne pas obligatoirement celledes enfants.

    0..2

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    79/130

    Alain VAILLYDiapositive n° 79

    3) Diagramme de classes

    Université de NANTES

    2..*Une promotion

    comprend plusieurs

    groupes ; un groupe est

    constitué de plusieursétudiants.

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    80/130

    Alain VAILLYDiapositive n° 80

    3) Diagramme de classes

    Université de NANTES

    La composition est une relation mettant en oeuvre un couplage

    encore plus fort que l’agrégation. Elle est transitive, nonsymétrique et non réflexive.

    Les composants font partie du composite. Ils ne sont pas

    partagés. Les cardinalités du côté du composite sontobligatoirement 1. La disparition du composition entra î ne

    nécessairement celle des composants.

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    81/130

    Alain VAILLYDiapositive n° 81

    3) Diagramme de classes

    Université de NANTES

    Un bâtimentcomprend plusieurs

    étages. Un étage estconstitué de

    plusieurs salles.La destruction du bâtiment entra î ne celle des étages et, par

    « ricochet », celle des salles.

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    82/130

    Alain VAILLYDiapositive n° 82

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    83/130

    Alain VAILLYDiapositive n° 83

    3) Diagramme de classes

    Université de NANTES

    Il ne peut y avoir qu’une seule décoration de typeagrégation ou composition par association. Les

    cardinalités liées à la composition sont obligatoirement de

    1 (1..1) du côté du composite.

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    84/130

    Alain VAILLYDiapositive n° 84

    3) Diagramme de classes

    Université de NANTES

    Les relations de spécialisation / généralisation 

    permettent de faire de la classification. Les classes sont

    structurées de façon à permettre la mise en facteur des

    attributs ou des opérations.

    Ces relations créent une hiérarchie entre les classes,des plus concrètes aux plus abstraites.

    Généralisation et spécialisation sont deux points de vueantagonistes de cette hiérarchisation.

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    85/130

    Alain VAILLYDiapositive n° 85

    3) Diagramme de classes

    Université de NANTES

    spécialisation

    généralisation

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    86/130

    Alain VAILLYDiapositive n° 86

    3) Diagramme de classes

    Université de NANTES

    La mise en place de cette hiérarchie n’est pas une opérationsimple. Une bonne classification est stable et extensible. Le

    critère de classification doit être permanent.

    Il n’y a pas une mais des classifications, en fonction des

    usages. À un usage donné correspondra une classification.

    Les classifications doivent conduire à des niveaux

    d’abstraction équilibrés.

    M.E.D.A.L.Un moniteur deviendra

    j f

  • 8/18/2019 diagramme de classe.pptx

    87/130

    Alain VAILLYDiapositive n° 87

    3) Diagramme de classes

    Université de NANTES

    un jour professeur.

    Une chenille

    deviendra un jour

    chrysalide ; une

    chrysalide deviendra

    un jour imago.

     La gé né ralisationn’est pas adapt é e

     pour repr é senter lamutabilit é .

    faux

    faux

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    88/130

    Alain VAILLYDiapositive n° 88

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    89/130

    Alain VAILLYDiapositive n° 89

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

    U h ill ’ t

  • 8/18/2019 diagramme de classe.pptx

    90/130

    Alain VAILLYDiapositive n° 90

    3) Diagramme de classes

    Université de NANTES

    Il est possible de placer des

    contraintes sur des relations

    de type spécialisation /généralisation :

    - {disjoint} : les objets de la

    « branche » de gauche sont

    distincts de ceux de la

    branche de droite.

    {is!oint}

    Une chenille n’est

     pas une chrysalide.

    Une chrysalide n’est

     pas une chenille.

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    91/130

    Alain VAILLYDiapositive n° 91

    3) Diagramme de classes

    Université de NANTES

    Il est possible de placer des

    contraintes sur des relations de type

    spécialisation / généralisation :

    - {complet} : tous les objets de la sur-

    classe sont impliqués dans la relationde généralisation / spécialisation.

    {complet}

     Il n’y a pas de statut

    qui ne soit ni moniteur,

    ni professeur.

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    92/130

    Alain VAILLYDiapositive n° 92

    3) Diagramme de classes

    Université de NANTES

    Il est possible de placer des

    contraintes sur des

    relations de type

    spécialisation /

    généralisation :

    - {incomplet} : certains

    objets de la sur-classe ne

    sont pas impliqués dans larelation de généralisation /

    spécialisation.

    {incomplet}

     Il y a d’autre(s)

    stade(s) que chenille

    et chrysalide.

  • 8/18/2019 diagramme de classe.pptx

    93/130

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    94/130

    Alain VAILLYDiapositive n° 94

    3) Diagramme de classes

    Université de NANTES

    Un moniteur peut aussi

    ouvrir un compte,

    opé ration qu’il reçoit enhé ritage de la classe

    Personne.

    Un professeur peut

    ouvrir un compte,

    opé ration qu’il reçoiten hé ritage de laclasse Personne.

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    95/130

    Alain VAILLYDiapositive n° 95

    3) Diagramme de classes

    Université de NANTES

    Une opération peut, elle aussi, être redéfinie dans diff érentessous-classes (de façon diff érente). Il y a alors surcharge.

    Un é tudiant travaille en prenantdes notes durant les cours.

    Un professeur travaille

    en lisant ses notes

    durant les cours.

    Une personne travaille.

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    96/130

    Alain VAILLYDiapositive n° 96 Université de NANTES

    source P.A. MULLER

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    97/130

    Alain VAILLYDiapositive n° 97

    3) Diagramme de classes

    Université de NANTES

    Il est bien entendu

    possible de

    combiner les deux

    types de relations

    précédentes :

    Un composé  contient un ou plusieurs composants. Un

    composé  est lui-même uncomposant (il entre donc dans

    la composition d’un autre

    composé ).

    Un composant est contenudans un seul composé . Il

     peut ne pas l’être (c’est lecomposé  racine).

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    98/130

    Alain VAILLYDiapositive n° 98

    3) Diagramme de classes

    Université de NANTES

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    99/130

    Alain VAILLYDiapositive n° 99

    4) Utilisation du diagramme de classes

    Université de NANTES

    Si, durant la phase d’analyse des besoins, les cas d’utilisation

    étaient au coeur de l’activité de modélisation, durant la phased’analyse c’est le diagramme de classes qui est l’objet de toutes

    les attentions.

    Il n’y a pas un seul diagramme mais plusieurs, patiemment

    constitués, au fur et à mesure que l’existant, les problèmesposés et la solution sont étudiés.

    Chacun des diagrammes produits (diagramme de séquences,diagramme de collaboration... ) sera cohérent avec le

    diagramme de classe et contribuera à l’enrichir.

    important !

    M.E.D.A.L.

    dC : diagramme de classes

  • 8/18/2019 diagramme de classe.pptx

    100/130

    Alain VAILLYDiapositive n° 100

    4) Utilisation du diagramme de classes

    Université de NANTES

    dC1

    dET1

    dS1

    dET : diagramme

    états-transitions dS : diagramme deséquences

    dCol : diagramme de

    collaborations

    dCol1

    M.E.D.A.L.

    dC : diagramme de classes

  • 8/18/2019 diagramme de classe.pptx

    101/130

    dC2

    dS2

    Alain VAILLYDiapositive n° 101

    4) Utilisation du diagramme de classes

    Université de NANTES

    dC1

    dET1

    dS1

    dET : diagramme

    états-transitions

    dCol : diagramme de

    collaborations

    dS : diagramme de

    séquences

    dCol2

    dCol1

    M.E.D.A.L.

    dC : diagramme de classes

  • 8/18/2019 diagramme de classe.pptx

    102/130

    dS4dC3

    dCol3

    dS3

    dET2

    dC2

    dCol2

    dS2

    Alain VAILLYDiapositive n° 102

    4) Utilisation du diagramme de classes

    Université de NANTES

    dC1

    dCol1

    dET1

    dS1

    dET : diagramme

    états-transitions

    dCol : diagramme de

    collaborations

    dS : diagramme de

    séquences

    M.E.D.A.L.

    objets

    é i

  • 8/18/2019 diagramme de classe.pptx

    103/130

    Alain VAILLYDiapositive n° 103

    4) Utilisation du diagramme de classes

    Université de NANTES

    Le point de départ de cette série de diagrammesde classes est le Domain Model, le modèle métier.

    Celui-ci est créé en fin d’analyse des besoins etsert essentiellement à définir les concepts

    manipulés. Il s’agit, peu ou prou, d’un schéma de

    type E-A-P avec presque exclusivement desattributs.

    mé tiers

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    104/130

    Alain VAILLYDiapositive n° 104

    4) Utilisation du diagramme de classes

    Université de NANTES

    Ce premier diagramme sera ensuite retouché, pour prendre encompte :

    -  le typage des attributs,

    - les diff érentes opérations,

    -  des classes plus techniques résultant de la mise en oeuvrede principes de modélisation,

    -  un effort de rationalisation des concepts.

    NB : tout cela se situe, rappelons-le, au niveau de l’analyse. Iln’est pas question ici d’incorporer au diagramme des classes

    comme les utilitaires.

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    105/130

    Alain VAILLYDiapositive n° 105

    4) Utilisation du diagramme de classes

    Université de NANTES

    Nous préconisons l’application de quelques principes simples :1) tout ce qui concerne un concept et qui appara î t dans

    un diagramme de collaborations ou de séquences fait

    partie de la classe correspondante du diagramme de

    classes.

    ⇒) toutes les classes citées dans le diagramme decollaborations sont décrites dans le diagramme de classes.

    ⇒) toutes les classes citées dans le diagramme de séquencessont décrites dans le diagramme de classes.

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    106/130

    Alain VAILLYDiapositive n° 106

    4) Utilisation du diagramme de classes

    Université de NANTES

    Nous préconisons l’application de quelques principes simples :1)

    2)   À chaque fois qu’il faut gérer une instance d’une classe

    A (qu’il s’agisse d’un ajout, d’un test d’existence,

    d’une suppression), ne sachant pas si l’environnement

    de développement qui sera mis en place autorisera la

    notion de métaclasse, nous préconisons la création

    d’une classe spécifique à une seule instance, appelée

    EnsDeA.

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    107/130

    Alain VAILLYDiapositive n° 107

    4) Utilisation du diagramme de classes

    Université de NANTES

    "ns#e$ermis "ns#e$ersonnes

    "ns#e%onuites "ns#e&oitures

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    108/130

    Alain VAILLYDiapositive n° 108

    4) Utilisation du diagramme de classes

    Université de NANTES

    Cette classe EnsDeXX  a un unique objet (rôle), celui de gérerl’ensemble des occurrences de XX. Elle est dotée d’un attribut

    (virtuel) listeDeXX , d’opérations standard de création, desuppression... Elle est liée à XX par une relation d’agrégation.

    Cette classe EnsDeXX, comme toutes ses « soeurs », fait

    partie du diagramme de classes.

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    109/130

    Alain VAILLYDiapositive n° 109

    4) Utilisation du diagramme de classes

    Université de NANTES

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    110/130

    Alain VAILLYDiapositive n° 110

    4) Utilisation du diagramme de classes

    Université de NANTES

    Nous préconisons l’application de quelques principes simples :1)

    2)

    3) En application (partielle) des principes préconisés par

    le modèle MVC (Modèle - Vue - Contrôleur), et

    souhaitant mettre en place un contrôle centralisé, nous

    associons à chaque requête XXX faite au système une

    classe spéciale (que nous nommons F.GestionDeXXX)

    qui va mettre en oeuvre les traitements nécessaires à la

    satisfaction de la requête XXX.

     MVC, quezacko ??

    M.E.D.A.L.

    V

  • 8/18/2019 diagramme de classe.pptx

    111/130

    Alain VAILLYDiapositive n° 111

    4) Utilisation du diagramme de classes

    Université de NANTES

    Le modèle MVC a été mis au point en 1979, par T.REENSKAUG, chez XEROX, lorsqu’il travaillait sur le

    langage objet Smalltalk.

    Ce modèle impose la séparation entre les données (le Modèle),les traitements (le Contrôleur) et la présentation (la Vue).

    La partie M représente le comportement de l’application. Elledécrit les données manipulées par cette application et définit

    les méthodes d’accès.

    C

    M

    M.E.D.A.L.

    V

  • 8/18/2019 diagramme de classe.pptx

    112/130

    Alain VAILLYDiapositive n° 112

    4) Utilisation du diagramme de classes

    Université de NANTES

    La partie V correspond à l’interface avec laquellel’utilisateur interagit. La vue n’effectue aucun

    traitement, elle se contente d’afficher les traitements

    effectués par le modèle.

    La partie C prend en charge la synchronisation des

    événements. Elle n’effectue aucun traitement, nemodifie aucune donnée. Elle analyse la demande et

    appelle le modèle adéquat.

    C

    M

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    113/130

    Alain VAILLYDiapositive n° 113

    4) Utilisation du diagramme de classes

    Université de NANTES

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    114/130

    Alain VAILLYDiapositive n° 114

    4) Utilisation du diagramme de classes

    Université de NANTES

     traitement permettant de satisfaire la requête A(voir le chapitre concernant le diagramme de séquences)

     A concerne les XX 

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    115/130

    Alain VAILLYDiapositive n° 115

    4) Utilisation du diagramme de classes

    Université de NANTES

    Cette classe F.GestionDeXX ,

    comme toutes ses « soeurs »,

    fait partie du diagramme de

    classes.

    Cette fenêtre de contrôle est une classe.Elle est très souvent (la plupart dutemps) active, c’est-à-dire qu’ellea un comportement que l’on peut

    décrire (un diagramme d’activités

    lui est donc souvent associé).

    classe active, selonla notation

    StarUML

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    116/130

    Alain VAILLYDiapositive n° 116

    4) Utilisation du diagramme de classes

    Université de NANTES

    Ces classes « spéciales » (ie. les ensembles et lescontrôleurs) peuvent être regroupées dans un

    paquetage dédié. Elles sont aussi factorisables.

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    117/130

    Alain VAILLYDiapositive n° 117

    4) Utilisation du diagramme de classes

    Université de NANTES

    Ces classes « spéciales » (ie. les ensembles et lescontrôleurs) peuvent être regroupées dans un

    paquetage dédié. Elles sont aussi factorisables.

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    118/130

    Alain VAILLYDiapositive n° 118

    4) Utilisation du diagramme de classes

    Université de NANTES

    Ens% &tatistiques

    ' statistiques()

    Ens% Adh rents

    ' untitled()

    ' nou*el_adh rent()

    ' untitled()

    Ens% +ilms

    ' recherche_"ilm()

    ' liste_"ilms()

    Ens% enres

    Ens% -outiques

    ' e.iste_outiq()

    /nstanceEnsemle d$instances

    ' aouter()

    ' e.iste()

    instances

    Ens% EmpruntsEmprunt

    ( "rom M tier)instances

    Ens% Cassettes

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    119/130

    Alain VAILLYDiapositive n° 119

    4) Utilisation du diagramme de classes

    Université de NANTES

    Le typage des attributs est un

    travail minutieux, long...

    mais simple à faire. Sans

    doute une des dernièresretouches à apporter audiagramme de classes.

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    120/130

    Alain VAILLYDiapositive n° 120

    4) Utilisation du diagramme de classes

    Université de NANTES

    Les opérations proviennent pour l’essentiel des cas d’utilisation (ça,c’est l’amorce) et des schémas suivants (diagrammes de

    séquences et diagrammes de collaborations).

    Tout message reçu déclenche l’exécution d’une opérationappartenant au receveur du message.

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    121/130

    Alain VAILLYDiapositive n° 121

    4) Utilisation du diagramme de classes

    Université de NANTES

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    122/130

    Alain VAILLYDiapositive n° 122 Université de NANTES

    Les messages passant d’une classe à l’autre empruntent les tuyaux (les

    associations) existant entre elles.

    M.E.D.A.L.

    Ces opérations seront, elles aussi, typées etl èt é i é

  • 8/18/2019 diagramme de classe.pptx

    123/130

    Alain VAILLYDiapositive n° 123 Université de NANTES

    leurs paramètres précisés.

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    124/130

    Alain VAILLYDiapositive n° 124

    4) Utilisation du diagramme de classes

    Université de NANTES

    Une des dernières retouches apportées au diagramme declasses vise à préparer la réutilisation de concepts dans

    une future application.

    Il s’agit là de rationaliser les notations, de tenter unegénéralisation, éventuellement d’ajouter une ou deux

    opérations... bref de préparer l’émergence decomposants logiciels bien conçus.

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    125/130

    Alain VAILLYDiapositive n° 125

    4) Utilisation du diagramme de classes

    Université de NANTES

    - uniformiser les notations,- regrouper les classes proches,- introduire une hiérarchie de classes,

    -offrir des services complets, tant au niveau des constructeursqu’à celui des observateurs,

    - ...

    ... ne pas hésiter non plus à décrire formellement lescontraintes, avec OCL

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    126/130

    Alain VAILLYDiapositive n° 126

    5) Conclusion

    Université de NANTES

    Le diagramme de classes est le fondement du niveau

    logique auquel appartient cette phase d’analyse. Il

    s’agit de construire la structure conceptuelle du systèmeen termes de classes.

    Chaque scénario est développé pour faire appara î tre cettestructure. Pour cela, on va spécialiser les objets en

    objets d’interface, reliés aux acteurs, objets de contrôlequi pilotent une activité et objets métier, qui détiennentles informations. Cette spécialisation se dénote via les

    stéréotypes.

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    127/130

    Alain VAILLYDiapositive n° 127

    5) Conclusion

    Université de NANTES

    Il n’y a pas un diagramme de classes mais plusieurs, chacun

    étant une évolution du précédent et une ébauche du suivant.

    Ce diagramme de classes est cohérent avec les autres

    diagrammes (de séquences, de collaborations...). Il est enpermanence mis à jour lors du déroulement de la phased’analyse, diagramme après diagramme.

    Cette exigence rend quasiment obligatoire le recours à un outillogiciel d’aide à la spécification... même si celui-ci peut, de

    temps en temps, présenter quelques lacunes.

    Bibliographie (sommaire)

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    128/130

    Alain VAILLYDiapositive n° 128

    g p ( )

    Université de NANTES

    Pour compléter laformation... ;-)))

    la réf érence :-)P. ANDRE, A. VAILLY,« Spécifications des logiciels ;Deux exemples de pratiques

    récentes : Z et UML »,Editions Ellipses, juillet 2001,

    ISBN 2-7298-0774-8

    P-A. MULLER, N. GAERTNER,

    « Modélisation objet avec UML »,Editions EYROLLES, 2003,

    ISBN 2-212-11397-8

     

    M.E.D.A.L.

    Webographie (sommaire)

  • 8/18/2019 diagramme de classe.pptx

    129/130

    Alain VAILLYDiapositive n° 129 Université de NANTES

    g p

    S’il n’y avait qu’un seul site Internet à consulter régulièrement…

    'uic()ime et un+compresseur ), non compress+/

    sont reuis pour visionner cette imae. http://conception.developpez.com/ 

    M.E.D.A.L.

  • 8/18/2019 diagramme de classe.pptx

    130/130

    Fin