Vous êtes sur la page 1sur 80

UML : Diagrammes d’UML

• Diagramme de classes :
• Il Donne la représentation statique du système à
développer, en intégrant dans chaque classe :
• La partie dédiée aux données
• Et celles consacrée aux traitements
• Cette représentation est centrée sur le concept
de classes et d’association entre classes,
• C’est le diagramme pivot de l’ensemble de la
modélisation d’un système.
UML : Diagrammes d’UML
• La description du diagramme de classe
est présentée en 3 points :
• Le concept d’objet,
• Le concept de classe comprenant les
attributs et les opérations,
• Les différents types d’association
entre classes.
UML : Diagrammes d’UML
• Formalisme général d’une classe :
Une classe se représente à l’aide d’un
rectangle comportant plusieurs
compartiments de base qui sont :
• La désignation de l’objet,
• La désignation des attributs,
• La désignation des opérations
Diagrammes d’UML / DCL
• Formalisme général d’une classe :

Nom de la classe

Attributs

Opérations
Diagrammes d’UML / DCL
• Formalisme général d’une classe :
• Attributs :
• Nom d’attribut : nom unique dans sa classe,
• Type : type de l’attribut
(entier, chaîne de caractères…),
• Valeur initiale : facultative,
• {propriétés} : valeurs étiquetées facultatives
exemple :
« interdit » pour mise-à-jour interdite)
Diagrammes d’UML / DCL
• Formalisme général d’une classe :
• Opérations :
• Nom de l’opération : le nom de l’opération (texte)
• Paramètres : liste des paramètres,
• Type résultat : type de(s) valeur(s) retournée(s)
,si pas de retour exemple : en C++ « void »
• {propriétés} : valeurs facultatives applicables.
exemple : {query} pour un comportement sans
influence sur l’état du système.
Diagrammes d’UML / DCL
• Formalisme général d’une classe :

Nom de la classe « stéréotype »

Attribut 1 : type = [valeur initiale]


Attribut 2 : type = [valeur initiale]
Attribut n : type = [valeur initiale]

Opération 1 (liste 1 de paramètres) : type résultat 1 en retour {propriété}


Opération 2 (liste 2 de paramètres) : type résultat 2 en retour {propriété}
Opération n (liste n de paramètres) : type résultat n en retour {propriété}
Diagrammes d’UML / DCL
• Formalisme général d’une classe : exemple

Voiture « véhicule »

Marque : texte
Puissance : entier
Cylindrée : entier
Année : entier
/ancienneté : entier

Démarrer()
Rouler()
Freiner()
Arrêter()
Diagrammes d’UML / DCL
• Visibilité des attributs et opérations :
• Public (+) :
attribut ou opération visible par tous,
• Protégé (#) :
attribut ou opération visible uniquement à l’intérieur
de la classe et pour toutes les sous-classes de la classe,
• Privé (-) :
attribut ou opération seulement visible à l’intérieur de
la classe
Diagrammes d’UML / DCL
• Visibilité des attributs et opérations :
exemple (Symboles de visibilité)

Voiture
+ Marque
+ Puissance
+ Cylindrée
# Année
- Chiffre d’affaire

# Démarrer()
# Rouler()
# Freiner()
# Arrêter()
Diagrammes d’UML / DCL
• Attribut ou opération de niveau classe :
• Un attribut qui est une constante pour toutes
les instances d’une classe,
• Une opération Créer() qui peut être définie au
niveau de la classe et applicable à la classe même.
Diagrammes d’UML / DCL
• Attribut ou opération de niveau classe :
c’est le soulignement qui caractérise cette
propriété
Voiture
+ Marque
+ Puissance
+ Cylindrée
# Année
-Chiffre d’affaire
# ristourne
-Créer ()
-# Démarrer()
# Rouler()
# Freiner()
# Arrêter()
Diagrammes d’UML / DCL
• Associations entre classes :
• Un lien est une connexion physique ou
conceptuelle entre instances de classes donc
entre objets,
• Une association décrit un groupe de liens ayant
une même structure et une même sémantique,
• Un lien est une instance d’une association,
• Chaque association peut être identifiée par son
nom,
Diagrammes d’UML / DCL
• Associations entre classes : Formalisme & Exemple

Nom de la classe A Nom de la classe B


Nom de l’Association
Attributs Attributs

Opérations Opérations

Personne Voiture
Possède
Diagrammes d’UML / DCL
• Rôle d’association :
•Le rôle tenu par une classe vis-à-vis d’une
association peut être précisé sur l’association,
• Voici un exemple de rôle d’association :

Personne Entreprise

Nom Travailler dans Nom Entreprise


Prénom employé employeur adresse

Opérations Opérations
Diagrammes d’UML / DCL
• Multiplicité :
• La multiplicité indique un domaine de
valeur pour les cardinalités entre classes et
association,
• La multiplicité est utilisé aussi pour un
attribut multi value
Diagrammes d’UML / DCL
• Multiplicité :
• Le domaine de valeur est décrit :
• un intervalle fermé : 2, 3…15,
• des valeurs définies : 3, 5, 8,
• une valeur indéterminée notée * : 1.. *
Diagrammes d’UML / DCL
• Multiplicité :
• Dans le cas de multiplicité
d’associations, il faut indiquer les
valeurs minimales et maximales
d’instances d’une classe vis-à-vis
d’une instance d’une autre classe.
• 0..* peut être noté seulement avec *
Diagrammes d’UML / DCL
• Multiplicité : Exemples
• A une instance de A correspond 0 ou 1
instance de B
• A une instance de B correspond 0 à un
nombre non déterminé d’instances de A.

* 0, 1
A B
Diagrammes d’UML / DCL
• Multiplicité : Exemples
• A une instance de A correspond 1 à un
nombre non déterminé d’instances de B
• A une instance de B correspond 2 à 10
instances de A.

2..10 1.. *
A B
Diagrammes d’UML / DCL
• Multiplicité : Exemples
• A une instance de A correspond 2 à 4
instances de B
• A une instance de B correspond 1 ou 3
instances de A.

1, 3 2..4
A B
Diagrammes d’UML / DCL
• Propriétés particulières d’une association :
• Ordre de tri : pour une association de
multiplicité > 1, les liens peuvent être non
ordonné (par défaut) ou ordonnés : (1 contrainte)

Personne Entreprise

Nom 1.. * Travailler dans 1, 2 Nom Entreprise


Prénom {ordonné} adresse
Diagrammes d’UML / DCL
• Propriétés particulières d’une association :
• Navigabilité :
• Bidirectionnelle (par défaut),
• Unidirectionnelle (une flèche) : A une personne sont
associées ses copies d’examen mais l’inverse n’est pas
possible

Personne Copie d’examen

Nom 1 Produit 1..5 Numéro copie


Prénom
Diagrammes d’UML / DCL
• Propriétés particulières d’une association :
• Propriétés de mise à jour de liens :
• il est possible d’indiquer des
contraintes particulières relatives aux
conditions de mise à jour des liens :
• {interdit} : interdit l’ajout, la suppression
ou la mise à jour des liens,
• {ajout seul} : n’autorise que l’ajout de
liens,
Diagrammes d’UML / DCL
• Interface :
• Une classe d’interface permet de décrire
la vue externe d’une classe,
• La classe d’interface est identifiée par son
nom,
• La classe d’interface comporte la liste des
opérations accessibles par les autres
classes,
• Le comportement des attributs ne fait pas
partie de la description d’une interface
Diagrammes d’UML / DCL
• Interface :
• Une classe d’interface est aussi
matérialisée par un petit cercle associé à la
classe source,
• La classe utilisatrice de l’interface est
reliée au symbole de l’interface par une
flèche en pointillé,
• La classe d’interface est une spécification
et non une classe réelle (assimilable à une
classe abstraite).
Diagrammes d’UML / DCL
• Interface :
• Exemple type de représentation d’une interface :

Fenêtre Autorisation Mot de passe

Code Numéro
Déplacer() 1.. * Donne accès à 1
Ouvrir()
Contrôler()
Fermer()

«Réalise» «utilise»
Indique la
classe qui «interface»
réalise Autorisation
l’interface
Ouvrir()
Diagrammes d’UML / DCL
• Classe paramétrable :
• Une classe paramétrable
représente un modèle d’une
famille de classes qui peut générer
des classes suivant les valeurs
prises par des paramètres.
Diagrammes d’UML / DCL
• Classe paramétrable : Exemple

Classe T,k : entiers Paramètres


paramétrable Tableau

«Classe liée» (mois,12)

ListeMois Tableau Nouvelle


<jour,7> classe
possible
Diagrammes d’UML / DCL
• Association de dimension > 2 & classe
association : Exemple
Projet

Personne Code projet Entreprise


Affecter()
Nom Nom entreprise
*
Prénom Mobiliser adresse
* *
Travailler Employer

Affectation
classe
Date début association
Date fin
Diagrammes d’UML / DCL
• Agrégation entre classes :
• L’agrégation
est une association
qui permet de représenter un lien
de type «ensemble» comprenant
des «éléments»,
Diagrammes d’UML / DCL
• Agrégation entre classes :
•Il s’agit d’une relation entre
•une classe représentant le
niveau «ensemble» et
•1 à n classes de niveau
«éléments »,
Diagrammes d’UML / DCL
• Agrégation entre classes :
• L’agrégation modélise un lien
structurel entre une classe et une
ou plusieurs autres classes.
Diagrammes d’UML / DCL
• Agrégation entre classes : Formalisme
Classe 1

Classe 2
Diagrammes d’UML / DCL
• Agrégation entre classes : Exemple
Ordinateur
Puissance
Marque

1 1 1
U.C. Clavier Ecran
Diagrammes d’UML / DCL
• Composition entre classes : Formalisme
Classe 1
«Classe composé»

Classe 2
«Classe composant»
Diagrammes d’UML / DCL
• Relation de composition entre classes : Exemple
• 1ère forme :
Commande

1 1.. *
Entête Lignes Commandes
Diagrammes d’UML / DCL
• Relation de composition entre classes : Exemple
• 2ème forme :

Commande

Entête 1

Lignes commandes 1.. *


Diagrammes d’UML / DCL
• Association qualifiée :
• La qualification d’une relation entre deux
classes permet de :
• Préciser la sémantique de l’association,
• Et de qualifier de manière restrictive
les liens entre les instances.
Diagrammes d’UML / DCL
• Association qualifiée :
• Seules les instances possédant
l’attribut indiqué dans la qualification
sont concernées par l’association,
• Cet attribut ne fait pas partie de
l’association
Diagrammes d’UML / DCL
• Association qualifiée : Formalisme & Exemple
• A un répertoire est associé 0 à n
fichiers,
• Si on veut restreindre cette
association pour ne considérer qu’un
fichier associé à son répertoire, la
relation qualifiée est alors utilisée
pour cela.
Diagrammes d’UML / DCL

Répertoire 1 Contenir * Fichier

1 1 Fichier
Répertoire
Nom de fichier
Diagrammes d’UML / DCL
• Généralisation, Spécialisation et héritage
simple :
• La généralisation est la relation entre une
classe et deux autres classes ou plus
partageant un sous-ensemble commun
d’attributs et / ou d’opérations,
Diagrammes d’UML / DCL
• Généralisation, Spécialisation et héritage
simple :
•La classe qui est affinée s’appelle
superclasse,
•Les classes affinées s’appellent sous-classes,
Diagrammes d’UML / DCL
• Généralisation, Spécialisation et héritage
simple :
•L’opération qui consiste à créer une
superclasse à partir de classes s’appelle la
généralisation (inversement la spécialisation
consiste à créer des sous-classes à partir
d’une classe),
Diagrammes d’UML / DCL
• Généralisation, Spécialisation et héritage
simple :
• Les attributs et opérations d’une
superclasse sont transmis aux sous-classes
par héritage.
Diagrammes d’UML / DCL
• Généralisation, Spécialisation et héritage simple :
• Formalisme & Exemple :
Spécialisation Généralisation

Classe A

Sous-classe Sous-classe
A1 A2
Diagrammes d’UML / DCL
• Généralisation, Spécialisation et héritage
simple : Exemple
• La sous-classe A1 hérite de A, c’est une
spécialisation de A,
• La sous-classe A2 hérite de A, c’est
une spécialisation de A
Diagrammes d’UML / DCL
• Généralisation, Spécialisation et héritage
simple :
• La sous-classe hérite
• Des attributs et
• Opérations de la classe dont elle
dépend,
Diagrammes d’UML / DCL
• Généralisation, Spécialisation et héritage
simple :
• Un discriminant peut être utilisé pour
exploiter le critère de spécialisation entre
une classe et ses sous-classes,
Diagrammes d’UML / DCL
• Généralisation, Spécialisation et héritage
simple :
• Le discriminant est simplement indiqué sur
le schéma,
Puisque les valeurs prises par ce
discriminant correspondent à chaque sous-
classe.
Diagrammes d’UML / DCL
• Généralisation, Spécialisation et héritage simple :
• Exemple :
Employé
Nom
Prénom
Date naissance
Calculer âge()

Employé Horaire Employé salarié Vacataire


Taux horaire
Taux hebdomadaire Taux journalier
Taux horaire supplémentaire
Calculer paie() Calculer paie() Calculer paie()
Diagrammes d’UML / DCL
• Classe abstraite :
• une classe abstraite est une classe qui n’a
pas d’instance directe mais dont les classes
descendantes ont des instances,
• Dans une relation d’héritage, la superclasse
est par définition une classe abstraite,
Diagrammes d’UML / DCL
• Héritage avec recouvrement :
• Par défaut les sous-classes sont disjointes
les unes par rapport aux autres,
• Dans certains cas il existe un recouvrement
d’instances entre les sous-classes.
Diagrammes d’UML / DCL
• Héritage avec recouvrement :
• En général, il y a 4 cas :
• {Chevauchement},
•{Disjoint},
•{complète},
• {incomplète}.
Diagrammes d’UML / DCL
• Héritage avec recouvrement :
• En général, il y a 4 cas :
• {Chevauchement} :
2 sous-classes peuvent avoir , parmi leurs
instances, des instances identiques,
Diagrammes d’UML / DCL
• Héritage avec recouvrement :
• En général, il y a 4 cas :
• {Disjoint} :
les instances d’une sous-classe ne
peuvent être incluses dans une autre
sous-classe de la même classe,
Diagrammes d’UML / DCL
• Héritage avec recouvrement :
• En général, il y a 4 cas :
• {complète} :
la généralisation ne peut être étendue,
Diagrammes d’UML / DCL
• Héritage avec recouvrement :
• En général, il y a 4 cas :
• {incomplète} :
la généralisation peut être étendue.
Diagrammes d’UML / DCL
• Héritage avec recouvrement d’instances :
• Exemple : Personne

{chevauchement}
Etudiant Employé

Être inscrit 1..* Travailler 1..*

Université Entreprise
Diagrammes d’UML / DCL
• Extension et restriction de classe :
• En général, il y a 4 cas :
• L’ajout de propriétés dans une sous-
classe correspond à une extension de
classe,
• Le masquage de propriétés dans une
sous-classe correspond à une restriction
de classe.
Diagrammes d’UML / DCL
• Héritage avec Extension et restriction de propriétés :
• Exemple : Classe A1
Nom
Prénom
Âge
créer

Classe A1 Classe A2
Nom
Prénom Nom
Âge extension âge
sexe
restriction
créer
créer
Diagrammes d’UML / DCL
• Héritage multiple :
• Dans certains cas, il est nécessaire de faire
hériter une même classe de deux classes
parentes distinctes,
• ce cas correspond à un héritage multiple.
Diagrammes d’UML / DCL
• Héritage multiple :
• Exemple : Véhicule

Véhicule terrestre Véhicule marin

Auto Véhicule amphibie Bateau


Diagrammes d’UML / DCL
• Stéréotypes de classes :
• Afin de décrire les spécificités propres à
l’implémentation, des stéréotypes de classe,
sont proposés par UML (en plus de ceux déjà
présentés
Diagrammes d’UML / DCL
• Stéréotypes de classes :
• classe d’implémentation : ce stéréotype
est utilisé pour décrire classes de niveau
physique,
Diagrammes d’UML / DCL
• Stéréotypes de classes :
• type : ce stéréotype permet de spécifier
des opérations applicables à un domaine
d’objets (ex : type integer d’1 langage de
programmation),
Diagrammes d’UML / DCL
• Stéréotypes de classes :
• Utilitaire : ce stéréotype qualifie toutes
les fonctions utilitaires de base utilisées
par les objets,
• MétaClasse : permet de regrouper des
classes dans une famille de classes,
• Power type : ce stéréotype est utilisé
pour représenter des méta classes du
point de vue des utilisateurs et non des
concepteurs.
Diagrammes d’UML / DCL
• Exercice (Enoncé) :
• Il est demandé de représenter le
diagramme de classes d’une gestion
technique de documents. Chaque
document est composé d’un ou plusieurs
feuillets. Un feuillet comporte un ou
plusieurs objets graphiques supportant
des opérations de type : Sélectionner,
Copier, Couper, Coller et Déplacer.
Diagrammes d’UML / DCL
• Exercice (Enoncé) :
• Chaque Object graphique comporte du
texte et des objets géométriques.
Diagrammes d’UML / DCL
• Exercice (Enoncé) :
• Nous considérons les 4 objets
géométriques suivants :
• cercle,
• ellipse,
• carré,
• rectangle.
Diagrammes d’UML / DCL
• Exercice (Enoncé) :
• Il est demandé d’utiliser les propriétés de
la généralisation et de la spécialisation
afin de représenter au mieux ces objets
géométriques.
Diagrammes d’UML / DCL
• Exercice (Enoncé) : exemple récapitulatif
• Une entreprise nationale de vente
d’appareil électroménager souhaite
réaliser une première expérience
d’analyse objet avec la méthode UML sur
un petit sous-ensemble de son SI.
Diagrammes d’UML / DCL
• Exercice (Enoncé) : exemple récapitulatif
• Ce sous-ensemble concerne le suivi des
personnels des agences locales
implantées dans les régions.
Diagrammes d’UML / DCL
• Exercice (Enoncé) : exemple récapitulatif
• Chaque région est pilotée par une
direction régionale qui a en charge un
certain nombre d’agences locales.
Diagrammes d’UML / DCL
• Exercice (Enoncé) : exemple récapitulatif
• Une direction régionale est caractérisée
par un code et un libellé.
Diagrammes d’UML / DCL
• Exercice (Enoncé) : exemple récapitulatif
• Chaque agence est caractérisée par un
code, un intitulé, une date de création et
une date de fermeture.
Diagrammes d’UML / DCL
• Exercice (Enoncé) : exemple récapitulatif
• A une agence sont rattachées une à
plusieurs personnes.
Diagrammes d’UML / DCL
• Exercice (Enoncé) : exemple récapitulatif
• Chaque personne est caractérisée par les
données : numéro, qualité (M., Mme,
Mlle), nom, prénom, date de naissance,
date prévisionnelle d’arrivée, date
d’arrivée et date de départ.
Diagrammes d’UML / DCL
• Exercice (Enoncé) : exemple récapitulatif
• Il est demandé d’élaborer le DCL de ce
premier sous-ensemble du SI de cette
entreprise.

Vous aimerez peut-être aussi