Chapitre4 Cours UML2
Chapitre4 Cours UML2
Chapitre4 Cours UML2
Chapitre 4
R. Beltaifa
La Modélisation
Les diagrammes UML2.5
Fonctionnel Dynamique
Diagramme de Séquence
Diagramme de Use Case Diagramme de communication (UML 2.x)
Diagramme global d’interaction (UML 2.x)
Diagramme de temps (UML 2.x)
Diagramme d'Etats-Transitions 2
Diagramme d'Activité
Description
3
Qu’est ce qu’une classe?
• Une classe est une description abstraite d’un ensemble d’objets
ayant :
– des propriétés similaires,
– un comportement commun,
– des relations communes avec d’autres objets
– des sémantiques communes
• Chaque classe possède :
– une composante «statique» : attributs ou champs possédant une valeur
– une composante «dynamique» :
méthodes qui représentent le
comportement commun des
objets de la classe Nom de la classe
4
Dans les classes d’analyse:
Attributs et méthodes d’une classe • Les types des attributs ne sont
pas demandés. De même pour
• Un attribut de classe définit une propriété commune aux objets
les méthodes et leursd’une
classe. arguments.
Nom de classe
Nom d’attribut1
…
Méthode1( )
….
• Une opération définit une fonction appliquée à des objets d’une classe :
5
Exemple d’une classe
Article
Référence
Désignation
prix
TVA
calculerPrixHT()
6
Héritage
• Héritage
• Généralisation/spécialisation
7
Héritage : exemple
personne
Spécialisation
Généralisation
personnel étudiant
Administratif Enseignant
8
Exemple d’héritage
9
Héritage multiple
personne
personnel étudiant
Administratif Enseignant
DoctorantContrac.
10
Exemple d’héritage multiple
11
Contraintes de généralisation
• Une classe peut être spécialisée selon plusieurs critères
• Certaines contraintes peuvent être posées sur les relations de
généralisation
• Par défaut, la généralisation symbolise une décomposition
exclusive
12
Contraintes de généralisation :
{disjoint} ( = { exclusif } )
• La contrainte {Disjoint} (ou
{exclusif}) indique la
participation exclusive d’un
objet à l’une des collections
spécialisées
13
Contraintes de généralisation
{chevauchement} (={ inclusif })
• La contrainte
{chevauchement} (ou
{inclusif}) indique la
participation possible d’un
objet à plusieurs collections
spécialisées
14
Contraintes de généralisation
{Complète} ≠ {Incomplète}
• La contrainte {Complète} indique la généralisation est terminée :
tout ajout de sous-classe est alors impossible
15
Le polymorphisme
• Alors que l'héritage concerne les classes (et leur hiérarchie), le
polymorphisme est relatif aux méthodes des objets.
16
La classe générique
17
Association dans un diagramme de classes
• Une association représente une relation entre les classes
d’objets
Classe A Classe B
Société Personne
Voiture Personne
18
Association dans un diagramme de classes
• Une association qui contient des attributs et qui ne participe
pas à des relations avec d’autres classe est appelée classe
attribuée.
Classe A Classe B
Classe C
Attributs
19
Association dans un diagramme de classes
• Une association qui contient des attributs et qui ne participe
pas à des relations avec d’autres classe est appelée classe
attribuée.
20
Association n-aire
• Une association ternaire entre salle, étudiant et enseignant est
réifiée comme une classe cours ayant deux attributs : début et fin
Salle
Enseignant Classe
Cours
Début
Fin
21
Nommage des associations
• Généralement, on note les associations par une forme verbale, soit
active, soit passive
Classe A Classe B
Forme
verbale
Société Personne
< travaille
pour
Voiture Personne
Est la
proprièté de >
22
Nommage des rôles
• Toute association binaire possède 2 rôles
• un rôle définit la manière dont une classe intervient dans une
relation
• Le nommage des associations et le nommage des rôles ne sont pas
exclusifs l’un de l’autre
Société < travaille pour Personne
employeur employé
conduire 1
Avion Pilote Personne
voyager *
Passager
23
Association réflexive
• Nommage des rôles indispensable à la clarté du diagramme
Personne
Enfants
*
Parents 2
avoir
24
Multiplicité des associations
• La multiplicité est une information portée par le rôle, qui
quantifie le nombre de fois où un objet participe à une instance
de relation
25
Multiplicité des associations
• 1 : Chaque personne travaille pour une et une seule société (toute
les personnes ont un emploi)
employeur employé
26
Contraintes sur les associations
• Contrainte d’association : porte sur une relation ou sur un groupe de
relations (notée {contrainte })
1 {ordonnée}
27
Contraintes sur les associations
• La contrainte {sous-ensemble} indique qu’une collection est incluse
dans une autre collection
28
Restriction des associations
• La restriction (dite qualification en UML) d’une association
consiste à sélectionner un sous-ensemble d’objets parmi
l’ensemble des objets qui participent à une association réalisée au
moyen d’une clé, ensemble d’attributs particuliers.
29
Association particulière : Agrégation
• Une agrégation est une association non symétrique : l’une des
extrémités joue un rôle prédominant par rapport à l’autre
• Elle se justifie lorsque une classe B « fait partie » intégrante d’une
classe A.
31
Agrégation particulière : Composition
• La composition peut être modélisée au moyen d’attributs
32
Agrégation & Composition
33
Exercice :
35