Vous êtes sur la page 1sur 38

Faculté des Sciences - Département MI

2ème année Licence Ingénierie S.I. et Génie Logiciel

Génie Logiciel GL1


N
Chapitre 3 : Modélisation du SI avec UML
2020/2021
Le Diagramme des classes

N. Taibouni, n_taibouni@esi.dz
Programme
Chapitre 1 : Introduction au Génie Logiciel
1.1 Le logiciel : définition, caractéristiques, classification
1.2 Le Génie logiciel : définition, apparition, objectif et qualité de logiciel
1.3 Développement de logiciel
1.4 Introduction aux méthodes de développement de logiciel
Chapitre 2 : Modélisation avec UML
2.1 Introduction à la modélisation
2.2 UML et l’orienté objet (Historique, principe de l’orienté objet)
2.3 Les différents diagrammes d’UML
Chapitre 3. Diagramme UML de cas d’utilisation : vue fonctionnelle
3.1. Intérêt et définition, Notation
Chapitre 4. Diagrammes UML de classes et d’objets : vue statique
4.1. Diagramme de classes
4.2. Diagramme d’objets
Chapitre 5. Diagrammes UML : vue dynamique
5.1. Diagramme d’activités
5.2. Diagramme d’interaction (Séquence et collaboration)
5.3. Diagramme d’états/transitions
N. Taibouni, n_taibouni@esi.dz 2020/2021
Chapitre 4 Diagrammes UML de classes et d’objets : vue statique
Diagramme de classes
4.1 Introduction :
 Le diagramme de classes est au cœur d’un développement
orienté objet,
Il représente l’aspect statique de la réalité étudiée (les
données manipulées dans la réalité),
Il est utilisé d’abord dans la phase d’analyse où :
 il a pour objectif de décrire la structure des entités
manipulées par les utilisateurs, en identifiant les Classes
Candidates (appelées aussi Concepts)
 Il est ensuite affiné dans la phase de conception où :
 le diagramme de classes représente la structure d’un
code orienté objet : les classes sont détaillées
N. Taibouni, n_taibouni@esi.dz 2020/2021
Chapitre 4 Diagrammes UML de classes et d’objets : vue statique
Diagramme de classes
4.2 Définition des concepts de base :
 Le diagramme de classes est constitué de classes, qui sont
reliées entre elles par des associations. Chaque classe
contient des attributs et des opérations,

Représentation graphique
d’un diagramme de classes :

N. Taibouni, n_taibouni@esi.dz 2020/2021


Chapitre 4 Diagrammes UML de classes et d’objets : vue statique
Diagramme de classes
4.2 Définition des concepts de base :
1. Une classe est un descripteur d’un ensemble d’objets qui
possèdent les mêmes caractéristiques et les mêmes
comportements. On peut parler également de type.
 Exemples : la classe Enseignant, la classe Module.
2. Un objet est une abstraction d'une entité de la réalité
étudiée, qui est décrit par un ensemble d’attributs et un
ensemble d'opérations.
 Exemples : les attributs (NomEnseignant,
GradeEnseignant, NomModule, VhoraireModule,…);
les opérations (Affecter(),Consulter(),AvancerGrade()…)
N. Taibouni, n_taibouni@esi.dz 2020/2021
Chapitre 4 Diagrammes UML de classes et d’objets : vue statique
Diagramme de classes
4.2 Définition des concepts de base :
 Un objet possède une frontière bien définie, une identité
et encapsule un état et un comportement. Un objet est
une instance (ou occurrence) d’une classe.
 Exemple : Nora TAIBOUNI est un objet instance de la
classe Enseignant. Le cours Génie Logiciel est une
instance de la classe Module.
L’état de l’objet est l’ensemble des valeurs de ses attributs
Le comportement de l’objet est représenté par les
opérations qu’il peut effectuer.

N. Taibouni, n_taibouni@esi.dz 2020/2021


Chapitre 4 Diagrammes UML de classes et d’objets : vue statique
Diagramme de classes
4.2 Définition des concepts de base :
 Notation :
 Quatre façons de représenter graphiquement une classe :

N. Taibouni, n_taibouni@esi.dz 2020/2021


Chapitre 4 Diagrammes UML de classes et d’objets : vue statique
Diagramme de classes
4.2 Définition des concepts de base :
 Notation classe :

N. Taibouni, n_taibouni@esi.dz 2020/2021


Chapitre 4 Diagrammes UML de classes et d’objets : vue statique
Diagramme de classes
4.2 Définition des concepts de base :
 Notation :
 Utiliser la convention UpperCamelCase. Le nom de classe
est en minuscules et la première lettre en majuscules. Si le
nom de la classe est composite, le nom de chaque mot
composant est en minuscule et la première lettre en
majuscule. Par exemple : Agent, Compte, LigneFacture,
MandatPostalValide.
 Eviter les abbréviations : par exemple utiliser
FactureValideDetaillee au lieu de FactureVD.
 La visibilité s’applique aussi bien aux attributs qu’aux
opérations. Elle n’est pas importante durant la phase
analyse.
N. Taibouni, n_taibouni@esi.dz 2020/2021
Chapitre 4 Diagrammes UML de classes et d’objets : vue statique
Diagramme de classes
4.2 Définition des concepts de base :
 Notation :
Visibilité Nom Description
+ publique Accès depuis la même classe et à
l’extérieur de la classe
- privée Accès depuis la même classe
uniquement
# protégée Accès depuis la même classe et les
classes descendantes
~ paquet Accès depuis la même classe et toutes
les classes appartenant au même
paquet
N. Taibouni, n_taibouni@esi.dz 2020/2021
Chapitre 4 Diagrammes UML de classes et d’objets : vue statique
Diagramme de classes
4.2 Exemple : identifiez les classes candidates
On souhaite modéliser le système de gestion de la location et le retour de
cassettes vidéo, pour cela la vidéothèque utilise les registres suivants :
1. Un registre pour les cassettes qui comporte les informations : n° cassette,
date-achat, titre, auteur, durée, prix, catégorie, libellé-catégorie ;
2. Un registre pour les abonnés qui comporte : n° abonné, nom-abonné, adresse
abonné, date-abonnement, nombre-location (à un moment donné un abonné
ne peut pas avoir plus de 3 cassettes) ;
3. Un registre pour les locations avec : n° abonné, n° cassette, date-location ;
4. Un registre pour les retours avec n° abonné, nom-abonné et la date de retour.
Soit les règles de gestion :
• Un abonné peut louer plusieurs cassettes, et plusieurs fois la même cassette.
• Pour un même titre, il existe plusieurs cassettes. Chaque titre appartient à une
seule catégorie.

N. Taibouni, n_taibouni@esi.dz
Chapitre 4 Diagrammes UML de classes et d’objets : vue statique
Diagramme de classes
4.2 Définition des concepts de base :
3. Une association représente une relation sémantique
entre deux classes. Elle se traduit par un lien entre deux
instances de ces classes.
 Exemple : Un enseignant peut enseigner plusieurs
modules. La relation « enseigner » est une association
entre la classe Enseignant et la classe Module.
 L’association est par défaut bidirectionnelle, elle se lit
dans les deux sens : un module est enseigné par un
enseignant.

N. Taibouni, n_taibouni@esi.dz 2020/2021


Chapitre 4 Diagrammes UML de classes et d’objets : vue statique
Diagramme de classes
4.2 Définition des concepts de base :
 La multiplicité spécifie le nombre d’objets qui peuvent
participer à l’association. Elle est représentée aux deux
extrémités de l’association.

Multiplicité

N. Taibouni, n_taibouni@esi.dz 2020/2021


Chapitre 4 Diagrammes UML de classes et d’objets : vue statique
Diagramme de classes
4.2 Définition des concepts de base :
 Les cas de multiplicité :
Multiplicité Signification
0..1 Zéro ou 1
1 Exactement 1
0..* Zéro ou plusieurs
* Zéro ou plusieurs
1..* 1 ou plusieurs
1..9 1 à 9 (intervalle)
9 Exactement 9

N. Taibouni, n_taibouni@esi.dz 2020/2021


Chapitre 4 Diagrammes UML de classes et d’objets : vue statique
Diagramme de classes
4.2 Définition des concepts de base :
 Lecture de l’association avec la multiplicité :

Une voiture possède exactement 4 pneus

Voiture Pneu

1 4

Un pneu appartient à exactement une voiture

N. Taibouni, n_taibouni@esi.dz 2020/2021


Chapitre 4 Diagrammes UML de classes et d’objets : vue statique
Diagramme de classes
4.2 Définition des concepts de base :
 Lecture de l’association avec la multiplicité :

Une société peut avoir 0, 1 ou plusieurs employés

Société Employe

1 *

Un employé est employé par exactement 1 société

N. Taibouni, n_taibouni@esi.dz 2020/2021


Chapitre 4 Diagrammes UML de classes et d’objets : vue statique
Diagramme de classes
4.2 Exemple : identifiez les associations
On souhaite modéliser le système de gestion de la location et le retour de
cassettes vidéo, pour cela la vidéothèque utilise les registres suivants :
1. Un registre pour les cassettes qui comporte les informations : n° cassette,
date-achat, titre, auteur, durée, prix, catégorie, libellé-catégorie ;
2. Un registre pour les abonnés qui comporte : n° abonné, nom-abonné,
adresse abonné, date-abonnement, nombre-location (à un moment donné un
abonné ne peut pas avoir plus de 3 cassettes) ;
3. Un registre pour les locations avec : n° abonné, n° cassette, date-location ;
4. Un registre pour les retours avec n° abonné, nom-abonné et la date de retour.
Soit les règles de gestion :
• Un abonné peut louer plusieurs cassettes, et plusieurs fois la même cassette.
• Pour un même titre, il existe plusieurs cassettes. Chaque titre appartient à une
seule catégorie.

N. Taibouni, n_taibouni@esi.dz 2020/2021


Chapitre 4 Diagrammes UML de classes et d’objets : vue statique
Diagramme de classes
4.2 Définition des concepts de base :
 Les types d’association :
1. La dépendance :
 La relation de dépendance entre deux classes signifie que les
objets d’une classe utilisent les objets de l’autre classe.

 Cette relation est généralement utilisée en phase d’analyse


pour montrer les relations entre les classes qui représentent
les objets métiers et celles qui représentent le système (classe
interface, classe contrôle, classe paramètre…)
N. Taibouni, n_taibouni@esi.dz 2020/2021
Chapitre 4 Diagrammes UML de classes et d’objets : vue statique
Diagramme de classes
4.2 Définition des concepts de base :
 Les types d’association :
2. L’agrégation :
 C’est une association particulière qui exprime une relation de
contenance. Elle n’a pas besoin d’être nommée, elle signifie
implicitement « est composé de » ou « contient ».

0..*
Commande Produit
1..*

N. Taibouni, n_taibouni@esi.dz 2020/2021


Chapitre 4 Diagrammes UML de classes et d’objets : vue statique
Diagramme de classes
3.4.2 Définition des concepts de base :
 Les types d’association
3. La composition :
 C’est une agrégation forte. Un élément ne peut appartenir
qu’à un seul agrégat composite.
 La destruction de l’agrégat composite entraîne la destruction
de tous ses éléments.

1
Commande LigneCommande
1..*

N. Taibouni, n_taibouni@esi.dz 2020/2021


Chapitre 4 Diagrammes UML de classes et d’objets : vue statique
Diagramme de classes
4.2 Définition des concepts de base :
 Les types d’association :
4. L’héritage :
 C’est une relation de généralisation entre une super-classe (classe
plus générale) et une ou plusieurs autres classes plus spécialisées
(sous-classes). Les sous-classes « héritent » des propriétés et
comportement de leur super-classe et peuvent comporter des
propriétés et comportements spécifiques supplémentaires.
 Parfois une classe ne peut exister que par l’existence des classes
descendantes. Elle n’a pas d’existence propre : c’est la classe
abstraite :
 Elle ne s’instancie pas, son nom est noté en italique pour la
différencier. Exemple : MoyenDeTransport.

N. Taibouni, n_taibouni@esi.dz 2020/2021


Chapitre 4 Diagrammes UML de classes et d’objets : vue statique
Diagramme de classes
4.2 Définition des concepts de base :
 Les types d’association :
4. L’héritage :

N. Taibouni, n_taibouni@esi.dz 2020/2021


Chapitre 4 Diagrammes UML de classes et d’objets : vue statique
Diagramme de classes
4.3 Autres concepts :
1. L’attribut dérivé :
 C’est un attribut dont la valeur peut s’obtenir à partir d’autres
informations disponibles dans le modèle (de la même classe,
ou de classes en association).
 Il est considéré comme redondant, mais comme il est
important pour les utilisateurs, alors il est représenté sur le
modèle avec un « / » qui précède le nom de l’attribut.
Exemple : /age, /montantFacture,

N. Taibouni, n_taibouni@esi.dz 2020/2021


Chapitre 4 Diagrammes UML de classes et d’objets : vue statique
Diagramme de classes
4.3 Autres concepts :
2. Les contraintes :
 C’est une condition entre éléments du modèle qui doit être
vérifiée par les éléments concernés,
 Elle est notée entre accolades {} et peut être insérée au besoin
dans une note graphique,
 La contrainte prédéfinie {ordered} ajoute, dans une
association, une précision d’ordre sur une multiplicité
supérieure à 1. Cette précision est la notion de séquence aux
objets de la classe concernée.
 UML définit plusieurs contraintes prédéfinies (frozen, xor,…)

N. Taibouni, n_taibouni@esi.dz 2020/2021


Chapitre 4 Diagrammes UML de classes et d’objets : vue statique
Diagramme de classes
4.3 Autres concepts :
2. Les contraintes :
Commande
DateCommande
Client 1..* ModePaiement
FraisLivraison
CodeClient /MontantProduit
{ordered}
NomClient /MontantTotal
PrenomClient 1 {Montant total =
MontantProduit
+FraisLivraison}

N. Taibouni, n_taibouni@esi.dz 2020/2021


Chapitre 4 Diagrammes UML de classes et d’objets : vue statique
Diagramme de classes
4.3 Autres concepts :
3. La classe d’association :
 Lorsque l’association entre deux classes est porteuse
d’attributs (les attributs ne peuvent être dans aucune des
classes), alors elle devient une classe. Elle possède les
caractéristiques d’une association et celles d’une classe.

Etudiant Module

* *

Note
+ valeur: double

N. Taibouni, n_taibouni@esi.dz 2020/2021


Chapitre 4 Diagrammes UML de classes et d’objets : vue statique
Diagramme de classes
5. Passage du diagramme de classe au modèle relationnel
1. Chaque classe va lui correspondre une relationtelle que :
 Le nom de la relation reprend le nom de la classe,
 Les attributs de la relation sont les attributs de la classe,
 la clé primaire de la relation est l’identifiant de la classe.

2. Pour une relation (1..*) :


 Chaque classe devient une relation (voir règle 1)
 L’identifiant de la classe qui est associée à la cardinalité (?..1)
(ex:Livre) devient une clé étrangère de la relation de l’autre
classe (ex: Exemplaire)
0..*

N. Taibouni, n_taibouni@esi.dz 2020/2021


Chapitre 4 Diagrammes UML de classes et d’objets : vue statique
Diagramme de classes
5. Passage du diagramme de classe au modèle relationnel
3. Pour une relation (*..*) :
 Chaque classe devient une relation (voir règle 1)
 L’association se transforme en une relation où sa clé est la
concaténation des identifiants des classes participantes, plus
d’éventuels autres attributs,
 Si la classe d’association possède des attributs, ceux vont
devenir les attributs de la relation de l’association.

0..* 0..*

N. Taibouni, n_taibouni@esi.dz 2020/2021


Chapitre 4 Diagrammes UML de classes et d’objets : vue statique
Diagramme de classes
5. Passage du diagramme de classe au modèle relationnel
4. L’héritage :
A- Première possibilité :
Créer une seule relation
avec tous les attributs des classes
Et ajouter un attribut pour
distinguer les types des
Objets

N. Taibouni, n_taibouni@esi.dz 2020/2021


Chapitre 4 Diagrammes UML de classes et d’objets : vue statique
Diagramme de classes
5. Passage du diagramme de classe au modèle relationnel
4. L’héritage :
B- Deuxième possibilité :
créer une relation pour chaque
sous-classe avec ses attributs
et les attributs de la super-classe.

N. Taibouni, n_taibouni@esi.dz 2020/2021


Chapitre 4 Diagrammes UML de classes et d’objets : vue statique
Diagramme de classes
5. Passage du diagramme de classe au modèle relationnel
4. L’héritage :
C- Troisième possibilité :
créer une relation pour chaque classe.
Ajouter l’identifiant de la super-classe
comme clé étrangère dans
les relations des sous-classes.

N. Taibouni, n_taibouni@esi.dz 2020/2021


Chapitre 4 Diagrammes UML de classes et d’objets : vue statique
Diagramme de classes
Exercice : Modélisez les phrases suivantes
1. Des compagnies aériennes proposent différents vols. Un vol
est ouvert à la réservation et refermé sur ordre de la
compagnie.

2. Un vol a un aéroport de départ et un aéroport d’arrivée. Un


vol a un jour et une heure de départ, et un jour et une heure
d’arrivée. Chaque aéroport dessert une ou plusieurs villes. Un
vol peut comporter des escales dans des aéroports. Une
escale a une heure d’arrivée et une heure de départ.

3. Un client peut réserver un ou plusieurs vols, pour des


passagers différents. Une réservation concerne un seul vol et
un seul passager. Une réservation peut être annulée ou
confirmée.
N. Taibouni, n_taibouni@esi.dz 2020/2021
Chapitre 4 Diagrammes UML de classes et d’objets : vue statique
Diagramme de classes
Exercice : Indiquer pour chaque association ci-dessous, si elle
est une agrégation ou une composition ou une généralisation
1. Un répertoire contient des fichiers.
2. Une pièce contient des murs.
3. Un bon de commande contient des produit
4. Les modems et les claviers sont des périphériques
d’entrée/sortie.
5. Un livre est composé de plusieurs chapitres
6. Une facture comporte des lignes factures
7. Une transaction boursière est un achat ou une vente.
8. Un compte bancaire peut appartenir à une personne physique
ou morale.
N. Taibouni, n_taibouni@esi.dz 2020/2021
Chapitre 4 Diagrammes UML de classes et d’objets : vue statique
Diagramme de classes
4.4 Autres types de classes :
 Les premières classes importantes à identifier sont celles des
entités qui relèvent du domaine étudié (classes « entity »),
 I. Jacobson a proposé d’autres types afin de compléter
l’analyse du système à développer :
 Les classes « boundary » qui permettent de représenter la
limite du système qui s’interface avec l’utilisateur, ou bien
les interactions entre le système et ses utilisateurs comme
par exemple : les formulaires de saisie, les résultats de
recherche, etc.
 Ces classes sont identifiées de l’analyse de la maquette du
système (Il y a au moins un dialogue pour chaque paire
acteur-cas d’utilisation).
N. Taibouni, n_taibouni@esi.dz 2020/2021
Chapitre 4 Diagrammes UML de classes et d’objets : vue statique
Diagramme de classes
4.4 Autres types de classes :
 Les classes de type « control » qui représentent un contrôleur.
Un contrôleur est un intermédiaire entre les limites (interfaces)
et les entités (classes d’objets métiers). Le contrôleur se charge
de l’exécution des commandes provenant de la limite
(interface).
 Les classes de type « actor » qui représentent les différents
acteurs (utilisateurs) du système

Utilisateur

N. Taibouni, n_taibouni@esi.dz 2020/2021


Chapitre 4 Diagrammes UML de classes et d’objets : vue statique
Diagramme de classes
Exemple commander en ligne :

Commande LigneCommande Produit Client

GestionnaireCommandes

InterfaceWeb

N. Taibouni, n_taibouni@esi.dz Utilisateur


2020/2021
Chapitre 3 : Modélisation des SI avec UML
Bibliographie

MA.Mostefai, S.Batata, “Support de cours GL de l’ESI », 2012


P.Roques, F.Vallée, « UML2 en action, de l’analyse des besoins à la
conception J2EE », Eyrolles 2004
P. Roques, « UML 2 par la pratique. N°12322, 6e édition », 2008,
P.Roques, « les Cahiers du Programmeur UML2, Modéliser une
application web 4e édition », 2012
Jacques Guyot, « CONCEPTION & REALISATION DES BASES DE
DONNEES : De UML à SQL », 2008
K.Hamilton et R.Miles, « Learning UML 2.0 », Editions O’reilly, 2006
www.uml.org

N. Taibouni, n_taibouni@esi.dz
Réunion préparatoire
au Comité Exécutif

Merci
N
Chapitre 3 : Modélisation du SI avec UML
Le Diagramme des cas d’utilisation

N. Taibouni, n_taibouni@esi.dz

Vous aimerez peut-être aussi