f.roda 2009 - lix.polytechnique.frroda/uml-class-diagrams.pdf · uml diagramme des classes f.roda...
TRANSCRIPT
![Page 1: F.Roda 2009 - lix.polytechnique.frroda/UML-class-diagrams.pdf · UML Diagramme des classes F.Roda 2009. Introduction •Le diagramme des classes contient principalement des classes](https://reader031.vdocuments.mx/reader031/viewer/2022022711/5c01d5cb09d3f20a538d48ba/html5/thumbnails/1.jpg)
UMLDiagramme des classesF.Roda 2009
![Page 2: F.Roda 2009 - lix.polytechnique.frroda/UML-class-diagrams.pdf · UML Diagramme des classes F.Roda 2009. Introduction •Le diagramme des classes contient principalement des classes](https://reader031.vdocuments.mx/reader031/viewer/2022022711/5c01d5cb09d3f20a538d48ba/html5/thumbnails/2.jpg)
Introduction
• Le diagramme des classes contient principalement des classes
• Une classe contient des attributs et des opérations
• Le diagramme des classes n’indique pas comment utiliser les opérations
• C’est une description statique
![Page 3: F.Roda 2009 - lix.polytechnique.frroda/UML-class-diagrams.pdf · UML Diagramme des classes F.Roda 2009. Introduction •Le diagramme des classes contient principalement des classes](https://reader031.vdocuments.mx/reader031/viewer/2022022711/5c01d5cb09d3f20a538d48ba/html5/thumbnails/3.jpg)
Définition
• Une classe est une description d’un ensemble d’objets ayant une sémantique, des attributs, des méthodes et des relations en commun.
• Un objet est une instance d’une classe
![Page 4: F.Roda 2009 - lix.polytechnique.frroda/UML-class-diagrams.pdf · UML Diagramme des classes F.Roda 2009. Introduction •Le diagramme des classes contient principalement des classes](https://reader031.vdocuments.mx/reader031/viewer/2022022711/5c01d5cb09d3f20a538d48ba/html5/thumbnails/4.jpg)
Représentation simplifiée d’une classe
NomCLasse
nomAttribut1
nomAttribut2
nomAttribut3
nomMéthod1()
nomMéthod2()
![Page 5: F.Roda 2009 - lix.polytechnique.frroda/UML-class-diagrams.pdf · UML Diagramme des classes F.Roda 2009. Introduction •Le diagramme des classes contient principalement des classes](https://reader031.vdocuments.mx/reader031/viewer/2022022711/5c01d5cb09d3f20a538d48ba/html5/thumbnails/5.jpg)
Nom de la classe
• Le nom d’une classe est au singulier• Il est constitué d’un nom commun• Ce nom est significatif de l’ensemble des objets
constituant la classe• Il représente la nature des instances d’une classe
[<<stéréotype>>]
[<NomDuPackage1>::..:<NomDuPaquetage N>::]
<NomDeLaClasse> [ { [abstract ] , [auteur] , [ état ] , …. }
![Page 6: F.Roda 2009 - lix.polytechnique.frroda/UML-class-diagrams.pdf · UML Diagramme des classes F.Roda 2009. Introduction •Le diagramme des classes contient principalement des classes](https://reader031.vdocuments.mx/reader031/viewer/2022022711/5c01d5cb09d3f20a538d48ba/html5/thumbnails/6.jpg)
Attributs
• Ceux-ci contiennent l’information portée par un objet.
• L’ensemble des attributs forme la structure de l’objet
NomClasse
<modificateur d’accès> [/]<NomAttribut>:
<NomClasse>[`[`multiplicité`]`] [ = valeur(s) initiale(s)]
![Page 7: F.Roda 2009 - lix.polytechnique.frroda/UML-class-diagrams.pdf · UML Diagramme des classes F.Roda 2009. Introduction •Le diagramme des classes contient principalement des classes](https://reader031.vdocuments.mx/reader031/viewer/2022022711/5c01d5cb09d3f20a538d48ba/html5/thumbnails/7.jpg)
Méthodes
• Celles-ci correspondent aux services offerts par l’objet• Elles peuvent modifier la valeur des attributs• L’ensemble des méthodes forme le comportement de
l’objet
NomClasse
<modificateur d’accés><nomDeLa Méthode ([ paramètres])>:
[<valeurRenvoyée>][{propriété}]
![Page 8: F.Roda 2009 - lix.polytechnique.frroda/UML-class-diagrams.pdf · UML Diagramme des classes F.Roda 2009. Introduction •Le diagramme des classes contient principalement des classes](https://reader031.vdocuments.mx/reader031/viewer/2022022711/5c01d5cb09d3f20a538d48ba/html5/thumbnails/8.jpg)
Encapsulation
• Elle permet de définir les droits d’accès aux propriétés d’une classe.
• UML définit quatre niveaux d’encapsulation d’une propriété d’une classe
public + Élément non encapsulé visible par tous
protégé # Élément encapsulé visible dans le
sous-classes de la classe
privé - Élément encapsulé visible seulement
dans la classe
paquetage ~ Élément encapsulé visible seulement
dans le s classes même paquetage
![Page 9: F.Roda 2009 - lix.polytechnique.frroda/UML-class-diagrams.pdf · UML Diagramme des classes F.Roda 2009. Introduction •Le diagramme des classes contient principalement des classes](https://reader031.vdocuments.mx/reader031/viewer/2022022711/5c01d5cb09d3f20a538d48ba/html5/thumbnails/9.jpg)
Relation entre classes: associations
![Page 10: F.Roda 2009 - lix.polytechnique.frroda/UML-class-diagrams.pdf · UML Diagramme des classes F.Roda 2009. Introduction •Le diagramme des classes contient principalement des classes](https://reader031.vdocuments.mx/reader031/viewer/2022022711/5c01d5cb09d3f20a538d48ba/html5/thumbnails/10.jpg)
Rôle
![Page 11: F.Roda 2009 - lix.polytechnique.frroda/UML-class-diagrams.pdf · UML Diagramme des classes F.Roda 2009. Introduction •Le diagramme des classes contient principalement des classes](https://reader031.vdocuments.mx/reader031/viewer/2022022711/5c01d5cb09d3f20a538d48ba/html5/thumbnails/11.jpg)
Exemple
![Page 12: F.Roda 2009 - lix.polytechnique.frroda/UML-class-diagrams.pdf · UML Diagramme des classes F.Roda 2009. Introduction •Le diagramme des classes contient principalement des classes](https://reader031.vdocuments.mx/reader031/viewer/2022022711/5c01d5cb09d3f20a538d48ba/html5/thumbnails/12.jpg)
Association Ternaire
![Page 13: F.Roda 2009 - lix.polytechnique.frroda/UML-class-diagrams.pdf · UML Diagramme des classes F.Roda 2009. Introduction •Le diagramme des classes contient principalement des classes](https://reader031.vdocuments.mx/reader031/viewer/2022022711/5c01d5cb09d3f20a538d48ba/html5/thumbnails/13.jpg)
Exemple
![Page 14: F.Roda 2009 - lix.polytechnique.frroda/UML-class-diagrams.pdf · UML Diagramme des classes F.Roda 2009. Introduction •Le diagramme des classes contient principalement des classes](https://reader031.vdocuments.mx/reader031/viewer/2022022711/5c01d5cb09d3f20a538d48ba/html5/thumbnails/14.jpg)
Cardinalité des associations
Spécification Cardinalités
0…1 zéro ou une fois
1 une et une seule fois
* de zéro à plusieurs fois
1…* de un à plusieurs fois
M…N Entre M et N fois
N N fois
![Page 15: F.Roda 2009 - lix.polytechnique.frroda/UML-class-diagrams.pdf · UML Diagramme des classes F.Roda 2009. Introduction •Le diagramme des classes contient principalement des classes](https://reader031.vdocuments.mx/reader031/viewer/2022022711/5c01d5cb09d3f20a538d48ba/html5/thumbnails/15.jpg)
Navigation
• Spécifier le sens de navigation utile se fait en dessinant
l’association sous forme d’une flèche
![Page 16: F.Roda 2009 - lix.polytechnique.frroda/UML-class-diagrams.pdf · UML Diagramme des classes F.Roda 2009. Introduction •Le diagramme des classes contient principalement des classes](https://reader031.vdocuments.mx/reader031/viewer/2022022711/5c01d5cb09d3f20a538d48ba/html5/thumbnails/16.jpg)
Association réflexive
![Page 17: F.Roda 2009 - lix.polytechnique.frroda/UML-class-diagrams.pdf · UML Diagramme des classes F.Roda 2009. Introduction •Le diagramme des classes contient principalement des classes](https://reader031.vdocuments.mx/reader031/viewer/2022022711/5c01d5cb09d3f20a538d48ba/html5/thumbnails/17.jpg)
Les classes-association
• Le liens entre les instances de classe peuvent porter des informations
• Dans ce cas, l’association qui décrit de tels liens reçoit le statut de classe
![Page 18: F.Roda 2009 - lix.polytechnique.frroda/UML-class-diagrams.pdf · UML Diagramme des classes F.Roda 2009. Introduction •Le diagramme des classes contient principalement des classes](https://reader031.vdocuments.mx/reader031/viewer/2022022711/5c01d5cb09d3f20a538d48ba/html5/thumbnails/18.jpg)
Objets composés: Association forte ou
Composition
• Les composants sont une partie de l’objet composé
• Chaque composant ne peut ainsi être partagé entre plusieurs objets composés
• La cardinalité maximale, au niveau de l’objet composé, est obligatoirement de un
• La suppression de l’objet composé entraine la suppression de ces composants
![Page 19: F.Roda 2009 - lix.polytechnique.frroda/UML-class-diagrams.pdf · UML Diagramme des classes F.Roda 2009. Introduction •Le diagramme des classes contient principalement des classes](https://reader031.vdocuments.mx/reader031/viewer/2022022711/5c01d5cb09d3f20a538d48ba/html5/thumbnails/19.jpg)
Composition
![Page 20: F.Roda 2009 - lix.polytechnique.frroda/UML-class-diagrams.pdf · UML Diagramme des classes F.Roda 2009. Introduction •Le diagramme des classes contient principalement des classes](https://reader031.vdocuments.mx/reader031/viewer/2022022711/5c01d5cb09d3f20a538d48ba/html5/thumbnails/20.jpg)
Association faible ou Agrégation
• Les composants peuvent être partagés par plusieurs composés
• La destruction du composé ne conduit pas à la destruction des composants
• Il est possible d’utiliser seulement l’agrégation puis, plus tard, de déterminer quelles associations d’agrégation sont des associations de composition
![Page 21: F.Roda 2009 - lix.polytechnique.frroda/UML-class-diagrams.pdf · UML Diagramme des classes F.Roda 2009. Introduction •Le diagramme des classes contient principalement des classes](https://reader031.vdocuments.mx/reader031/viewer/2022022711/5c01d5cb09d3f20a538d48ba/html5/thumbnails/21.jpg)
Association
![Page 22: F.Roda 2009 - lix.polytechnique.frroda/UML-class-diagrams.pdf · UML Diagramme des classes F.Roda 2009. Introduction •Le diagramme des classes contient principalement des classes](https://reader031.vdocuments.mx/reader031/viewer/2022022711/5c01d5cb09d3f20a538d48ba/html5/thumbnails/22.jpg)
Généralisation - spécialisation• Une classe est plus spécifique qu’une autre si
toutes ses instances sont également instances de cette autre classe
• La classe plus spécifique est dite sous-classe de l’autre classe
• Cette dernière, plus générale, est dite sur-classe
![Page 23: F.Roda 2009 - lix.polytechnique.frroda/UML-class-diagrams.pdf · UML Diagramme des classes F.Roda 2009. Introduction •Le diagramme des classes contient principalement des classes](https://reader031.vdocuments.mx/reader031/viewer/2022022711/5c01d5cb09d3f20a538d48ba/html5/thumbnails/23.jpg)
Généralisation
![Page 24: F.Roda 2009 - lix.polytechnique.frroda/UML-class-diagrams.pdf · UML Diagramme des classes F.Roda 2009. Introduction •Le diagramme des classes contient principalement des classes](https://reader031.vdocuments.mx/reader031/viewer/2022022711/5c01d5cb09d3f20a538d48ba/html5/thumbnails/24.jpg)
Généralisation
![Page 25: F.Roda 2009 - lix.polytechnique.frroda/UML-class-diagrams.pdf · UML Diagramme des classes F.Roda 2009. Introduction •Le diagramme des classes contient principalement des classes](https://reader031.vdocuments.mx/reader031/viewer/2022022711/5c01d5cb09d3f20a538d48ba/html5/thumbnails/25.jpg)
Héritage
• Les instances d’une classe sont aussi instances de ses surclasses
• Elles profitent des attributs et des méthodes introduits au niveau de leur surclasses
![Page 26: F.Roda 2009 - lix.polytechnique.frroda/UML-class-diagrams.pdf · UML Diagramme des classes F.Roda 2009. Introduction •Le diagramme des classes contient principalement des classes](https://reader031.vdocuments.mx/reader031/viewer/2022022711/5c01d5cb09d3f20a538d48ba/html5/thumbnails/26.jpg)
Classes concrètes et abstraites
• Une classe concrète possède des instances
• Elle constitue un modèle complet d’objet: tous les attributs et méthodes sont complètement décrits
• Une classe abstraite ne peut pas posséder d’instance directe car elle ne fournit pas une description complète
• Elle a pour vocation de posséder des sous classes concrètes et sert à factoriser des attributs et méthodes communs à ses sous classes.
• Une classe est représentée par le stéréotype <<abstract>>
![Page 27: F.Roda 2009 - lix.polytechnique.frroda/UML-class-diagrams.pdf · UML Diagramme des classes F.Roda 2009. Introduction •Le diagramme des classes contient principalement des classes](https://reader031.vdocuments.mx/reader031/viewer/2022022711/5c01d5cb09d3f20a538d48ba/html5/thumbnails/27.jpg)
Concrètes et abstraites
![Page 28: F.Roda 2009 - lix.polytechnique.frroda/UML-class-diagrams.pdf · UML Diagramme des classes F.Roda 2009. Introduction •Le diagramme des classes contient principalement des classes](https://reader031.vdocuments.mx/reader031/viewer/2022022711/5c01d5cb09d3f20a538d48ba/html5/thumbnails/28.jpg)
Interface
• Une interface est une classe totalement abstraite: sans attributs et dont toutes les méthodes sont publiques
• L’implantation des méthodes est réalisée par une ou plusieurs classes concrètes, sous classes de l’interface
• La relation d’héritage qui existe entre l’interface et une sous classe d’implantation est appelée relation de réalisation
• Elle est représentée par un trait pointillé
![Page 29: F.Roda 2009 - lix.polytechnique.frroda/UML-class-diagrams.pdf · UML Diagramme des classes F.Roda 2009. Introduction •Le diagramme des classes contient principalement des classes](https://reader031.vdocuments.mx/reader031/viewer/2022022711/5c01d5cb09d3f20a538d48ba/html5/thumbnails/29.jpg)
Réalisation