Vous êtes sur la page 1sur 35

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

Vous aimerez peut-être aussi