Unified Modeling Language
*** UML2 ***
Chapitre 4
Diagramme de classes d’analyse
R. Beltaifa
La Modélisation
Les diagrammes UML2.5
Axes de Modélisation avec UML
Statique
Diagramme de Classes
Diagramme d’Objets
Diagramme de Composants
Diagramme de Déploiement
Diagramme de paquetages
Diagramme de structure composite (UML 2.x)
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
• Un diagramme de classes représente la structure du système sous
la forme de classes et de relations entre ces classes.
• Il modélise l’aspect statique du système
• Le diag de classes d’analyse contient les classes candidates/métiers
du système
• Les classes/objets métiers doivent être stockés et gérés.
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
Liste des attributs
Liste des méthodes
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
– Mécanisme de transmission des propriétés (attributs,
comportement) d’une classe vers ses sous classes
– Ce qui est générique est défini au niveau de la super-classe, ce qui
est spécifique est défini au niveau de la sous-classes
• Généralisation/spécialisation
– Généralisation : mise en commun des propriétés communes entre
différentes classes dans une super-classe.
– Spécialisation : création d’une sous-classe par mise en avant de
propriétés spécifiques non communes à toutes les classes de la
super-classe
7
Héritage : exemple
personne
Spécialisation
Généralisation
personnel étudiant
Administratif Enseignant
8
Exemple d’héritage
9
Héritage multiple
une classe peut hériter des propriétés de plusieurs super-
classes
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
Les contraintes ne sont pas
demandées dans la phase
d’analyse
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
• à l’inverse, la contrainte {Incomplète} indique une généralisation
extensible
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
étudiant Pile <étudiant>
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é
• Intérêt des rôles dans le cas où plusieurs associations lient deux
classes : distinction des concepts attachés aux associations
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)
• 0 .. * : Une société emploie de zéro à plusieurs personnes
Société 1 < travaille pour 0..* Personne
employeur employé
26
Contraintes sur les associations
• Contrainte d’association : porte sur une relation ou sur un groupe de
relations (notée {contrainte })
• Par exemple, placée sur un rôle, la contrainte {ordonnée} définit une
relation d’ordre entre les objets de la collection (les comptes) qui
sont liés à une personne
Personne Propriétaire 0..n Compte
1 {ordonnée}
27
Contraintes sur les associations
• La contrainte {sous-ensemble} indique qu’une collection est incluse
dans une autre collection
Classe élèves * Personne
{Sous ensemble}
Délégués *
• La contrainte {Ou-exclusif} précise que, pour un objet donné, une
seule association parmi un groupe d’associations est valide
Université Enseignants * Personne
{OU-exclusif}
Étudiants *
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.
• Un objet qualifié et une valeur de qualificatif génèrent un objet
cible lié unique
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.
• L’agrégation peut être multiple comme une association classique :
• En tant que « propriétaire », une personne est un agrégat d’immeubles …
Les immeubles dont elle est propriétaire font partie de la description
d’une personne
30
Agrégation particulière : Composition
• La composition est une forme particulière d’agrégation
• Le composant est « physiquement » contenu dans l’agrégat
• La composition implique une contrainte sur la valeur de la multiplicité
du coté de l’agrégat : (0 ou 1)
31
Agrégation particulière : Composition
• La composition peut être modélisée au moyen d’attributs
• La notation par composition doit être retenue lorsqu’un attribut
participe à des relations
32
Agrégation & Composition
Contraintes liées à la composition :
1. Un objet composant ne peut être que dans 1 seul objet composite
2. Un objet composant n’existe pas sans son objet composite
3. Si un objet composite est détruit, ses composants aussi
33
Exercice :
Description d’un système de fichiers :
Un utilisateur possède au moins un répertoire
Un répertoire appartient à un et un seul utilisateur
Un répertoire peut contenir d’autres répertoires
Un utilisateur peut accéder à au moins un répertoire
Un répertoire peut être accédé par au moins un utilisateur
34
Exercice :
Supposons que le sys de fichiers est celui de
UNIX/Linux. Est-ce que vous proposez des
modifications du diagramme déjà crée.
35