UML Diagrammes de Classes - M1/uml/UML-ClassesObjets.pdf · PDF fileUML est basé...

Click here to load reader

  • date post

    10-Sep-2018
  • Category

    Documents

  • view

    240
  • download

    0

Embed Size (px)

Transcript of UML Diagrammes de Classes - M1/uml/UML-ClassesObjets.pdf · PDF fileUML est basé...

  • Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006 daprs Jean-Marie Favre

    UMLUMLDiagrammes de ClassesDiagrammes de Classes

    Objet, Classe, Attribut, MthodeObjet, Classe, Attribut, MthodeLien, Association, CardinalitLien, Association, Cardinalit

    Gnralisation, Composition,Gnralisation, Composition, Agrgation,Agrgation,Classe associative, Association qualifieClasse associative, Association qualifie

  • 2 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006

    Concepts de baseConcepts de base

    UML est bas sur diffrents concepts de base :UML est bas sur diffrents concepts de base : Objet, ClasseObjet, Classe Lien, AssociationLien, Association ContrainteContrainte

    UML propose des notations et des diagrammesUML propose des notations et des diagrammes Diagramme de classes (description au niveau modlisation, cas gnral)Diagramme de classes (description au niveau modlisation, cas gnral) Diagramme dDiagramme dobjets (description au niveau instance, exemples)objets (description au niveau instance, exemples)

  • 3 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006

    Compte

    numro : entiersolde : reldcouvertMax : entierconsulterSolde() : entiercrditer( somme : entier)dbiter( somme : entier)

    Nom de la classeAttributs

    nomtype

    Mthodesnomparamtretype du rsultat

    Contraintes{ solde > dcouvertMax }

    Gre les informations etoprations dun comptebancaire

    PrcisionsResponsabilitExceptions

    Notation pour les classesNotation pour les classes

  • 4 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006

    Notations simplifiesNotations simplifiespour les classespour les classes

    Compte

    numrosolde : reldcouvertMax : entier

    consulterSolde() : entiercrditer( somme : entier)dbiter( somme )

    Comptenumrosolde...crditer()dbiter()...

    Comptenumrosolde...

    Comptecrditer()dbiter()...

    Compte

    Conventions : les noms de classes commencent par une majuscule les noms dattributs et de mthodes commencent par une minuscule

  • 5 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006

    Notations pour les objetsNotations pour les objets

    leCompteDePaul : Compte

    numro = 6688solde = 5000dcouvertMax = -100

    leCompteDePaul

    : Compte

    leCompteDePaul : Compte

    Convention : les noms dobjets commencent par une minuscule et sont souligns

  • 6 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006

    Liens (entre objets)Liens (entre objets)

    c1 : Compte

    c2 : Compte

    paul : Client

    pierre : Client

    marie : Client c3 : Compte

    APourCompte>

    APourCompte>

    APourCompte>

    Un lien indique une connexion entre deux objets

    Conventions : les noms des liens sont des formes verbales et commencent par une majuscule > indique le sens de la lecture (ex: paul APourCompte c1 )

  • 7 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006

    RlesRles

    c1 : Comptepierre : ClientAPourCompte>

    titulaire compte

    Chacun des deux objets joue un rle diffrent dans le lien

    Conventions : choisir un groupe nominal pour dsigner un rle si un nom de rle est omis, le nom de la classe fait office de nom

    pierre assume le rle de titulaire pour le compte c1c1 assume le rle de compte pour pierre

  • 8 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006

    Associations (entre classes)Associations (entre classes)

    c1 : Compte

    c2 : Compte

    paul : Client

    pierre : Client

    marie : Client c3 : Compte

    APourCompte>

    APourCompte>

    APourCompte>

    Diagrammedobjets

    (instances)

    Diagrammede classes

    (modlisation)Client Compte

    APourCompte>

    Une association dcrit un ensemble de liens de mme smantique

  • 9 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006

    Liens vs. AssociationsLiens vs. Associations

    Un lien lie deux objetsUn lien lie deux objets Une association lie deux classesUne association lie deux classes

    Un lien est une instance dUn lien est une instance dassociationassociation Une association dcrit un ensemble de liensUne association dcrit un ensemble de liens

    Des liens peuvent tre ajouts ou crs pendant lDes liens peuvent tre ajouts ou crs pendant lexcution,excution,(ce n(ce nest pas le cas des associations)est pas le cas des associations)

  • 10 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006

    Cardinalits dCardinalits dune associationune association

    Prcise combien dPrcise combien dobjets peuvent tre lis un seul objet sourceobjets peuvent tre lis un seul objet source Cardinalit minimale et cardinalit maximale (Cardinalit minimale et cardinalit maximale (CCminmin....CCmaxmax))

    Client Compte1

    c1 : Compte

    c2 : Compte

    paul : Client

    pierre : Client

    marie : Client c3 : Compte

    APourCompte>

    APourCompte>

    APourCompte>

    APourCompte> 0..*

    titulaire comptes

    Un client a 0 ou plusieurs comptes Un compte a toujours 1 et 1 seul titulaire

  • 11 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006

    Client Compte1 APourCompte> 0..*

    titulaire comptes

    c1 : Compte

    c2 : Compte

    paul : Client

    pierre : Client

    marie : Client c3 : Compte

    APourCompte>

    APourCompte>

    APourCompte>

    paul.comptes = {c1}pierre.comptes = {c2,c3}marie.comptes = {}c1.titulaire = paulc2.titulaire = pierrec3.titulaire = pierre

    Utiliser les rles pour accder aux objetsUtiliser les rles pour accder aux objets

  • 12 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006

    Contraintes entre associationsContraintes entre associations

    ClientCompte

    numrosolde...

    1 0..*titulairePrincipal

    co-titulaires0..* 0..*

    titulaires1..* 0..*

    (1) Un client ne peut pas tre la fois titulaireprincipal et co-titulaire dun mme compte.(2) Les titulaires dun compte sont le titulaireprincipal et les co-titulaires le cas chant

    Les cardinalits ne permettent pas dexprimer toutes les contraintes...

    dcrire les contraintesen langue naturelle(ou en OCL le langage decontrainte dUML)

  • 13 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006

    Diagramme de classesDiagramme de classes

    Client1..4 0..*titulaires

    Consortium

    Comptenumrosolde...

    1..*

    0..1

    1

    Banquenumronom

    Distributeur 0..*

    1

    0..*

    1..*

    signataire1

    0..* CarteBleue

    CoderetraitMax

    1..*EstAcceptPar>

    (1) Le signataire de la carte bleue associe un compte est lun des titulaires de ce compte.(2) Une carte bleue est accepte au moins dans tous les distributeurs appartenant auxconsortiums de la banque correspondant au compte associ la carte bleue.(3) Un virement est possible entre deux comptes distincts si les banques correspondantesappartiennent un mme consortium.

    virementPossible

    0..*

  • 14 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006

    Diagrammes dDiagrammes dobjetsobjets

    c1 : Compte

    c2 : Compte

    paul : Client

    pierre : Client

    marie : Client c3 : Compte

    titulaires

    titulaires

    : CarteBleue

    titulaires

    titulaires

    signataire

    : CarteBleue

    sophie : Client

    : Banque

    : Banque

    fred : Client c4 : Comptetitulaires

    : Banque

    signataire

    : Consortium

    : Consortium

    : Distributeur

    : CarteBleuesignataire

    : Distributeur

    EstAcceptPar>

    EstAcceptPar>

    EstAcceptPar>

  • 15 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006

    Diagrammes de classesDiagrammes de classes vs. dvs. dobjetsobjets

    Un diagramme de classesUn diagramme de classes dfinit ldfinit lensemble de tous les tats possiblesensemble de tous les tats possibles les contraintes doivent toujours tre vrifiesles contraintes doivent toujours tre vrifies

    Un diagramme dUn diagramme dobjetsobjets dcrit un tat possible un instant t, un cas particulierdcrit un tat possible un instant t, un cas particulier doit tre conforme au modle de classesdoit tre conforme au modle de classes

    Les diagrammes dLes diagrammes dobjets peuvent tre utiliss pourobjets peuvent tre utiliss pour expliquer un diagramme de classe (donner un exemple)expliquer un diagramme de classe (donner un exemple) valider un diagramme de classe (le "tester")valider un diagramme de classe (le "tester")

  • 16 Cyrille Desmoulins Cours UML MIAGE 3. 2005-2006

    Diagrammes de classesDiagrammes de classes vs. dvs. dobjetsobjets

    Client1..4 0..*

    titulaires

    Consortium

    Compte

    numrosolde...

    1..*

    0..1

    1

    Banque

    numronom

    Distributeur0..*

    1

    0..*

    1..*

    signataire1

    0..*CarteBleue

    CoderetraitMax

    1..*

    EstAcceptPar>

    virementPossible

    0..*

    titulaires

    titulaires

    :Banque

    signataire

    :Dist ributeur

    :Compte:Compte

    :Client:

    Client

    :Compte

    titulaires

    :

    titulaires

    ::

    Client

    :Banque:Banque

    :Client

    : : :Consortium

    :Consortium:

    Dist ributeur

    : :

    >>

    >

    ...:Compte:Compte

    :Client:

    Client

    :Compte

    titulaires

    :

    titulaires

    ::

    Client

    :Banque:Banque

    :Client

    : : :Consortium

    :Consortium:

    Dist ributeur

    : :

    >>

    >

    :Compte:Compte

    :Client:

    Client

    :Compte

    titulaires

    :

    titulaires

    ::

    Client

    :Banque:Banque

    :Client

    : : :Consortium

    :Consortium:

    Dist ributeur

    : :

    >>

    >

    t1 t2 t3