Cours UML
Institut Supérieur d’Enseignement Professionnel
Dr. Koundoul
[email protected]
1
Année académique : 2023-2024 : [email protected]
Diagramme de cas
d’utilisation
2
Année académique : 2023-2024 : [email protected]
Diagramme de cas d’utilisation
une représentation des possibilités d'interaction entre le système et les acteurs
(intervenants extérieurs au système), c'est-à-dire de toutes les fonctionnalités que
doit fournir le système.
ü Les acteurs modélisent tout ce qui interagit avec le système.
ü Le diagramme de cas d’utilisation permet de décrire ce que le futur système
devra faire, sans spécifier comment il le fera.
ü Le cas d’utilisation («use case» ) c’est l’usage que les acteurs font du système.
3
Année académique : 2023-2024 : [email protected]
Présentation générale et concepts de base
Les cas d’utilisation ont été définis initialement par Ivar Jacobson en 1992 dans sa
méthode OOSE. Les cas d’utilisation constituent un moyen de recueillir et de décrire
les besoins des acteurs du système. Ils peuvent être aussi utilisés ensuite comme moyen
d’organisation du développement du logiciel, notamment pour la structuration et le
déroulement des tests du logiciel.
Un cas d’utilisation permet de décrire l’interaction entre les acteurs (utilisateurs du
cas) et le système. La description de l’interaction est réalisée suivant le point de vue
de l’utilisateur. La représentation d’un cas d’utilisation met en jeu trois concepts :
l’acteur, le cas d’utilisation et l’interaction entre l’acteur et le cas d’utilisation.
4
Année académique : 2023-2024 : [email protected]
Description des cas d’utilisation
Objectifs :
Comprendre les besoins du client pour rédiger le cahier des charges
Principes :
ü Définir les limites du système
ü Définir l’environnement du système : les utilisateurs ou éléments qui
interagissent avec le système
ü Définir les utilisations principales du système : à quoi sert-il ?
Eléments constitutifs :
ü Diagramme des cas d’utilisation
ü Description textuelle des cas d’utilisation
ü Diagramme de séquence des scénarios d’utilisation
§ Décrive une interaction entre l’utilisateur et le système
§ Permet à l’utilisateur de réaliser un objectif
5
Année académique : 2023-2024 : [email protected]
Acteur (1/3)
Comprendre les besoins du client pour rédiger le cahier des charges. Un acteur est un
utilisateur type qui a toujours le même comportement vis-à-vis d’un cas d’utilisation.
Ainsi les utilisateurs d’un système appartiennent à une ou plusieurs classes d’acteurs
selon les rôles qu’ils tiennent par rapport au système. Une même personne physique
peut se comporter en autant d’acteurs différents que le nombre de rôles qu’elle joue
vis-à-vis du système.
Ainsi par exemple, l’administrateur d’un système de messagerie peut être aussi
utilisateur de cette même messagerie. Il sera considéré, en tant qu’acteur du système,
dans le rôle d’administrateur d’une part et dans celui d’utilisateur d’autre part. Un
acteur peut aussi être un système externe avec lequel le cas d’utilisation va interagir.
6
Année académique : 2023-2024 : [email protected]
Acteur (2/3)
Formalisme et exemple
Un acteur peut se représenter symboliquement par un « bonhomme » et être identifié
par son nom. Il peut aussi être formalisé par une classe stéréotypée « acteur »
Cas d’utilisation et interaction
Un cas d’utilisation correspond à un certain nombre d’actions que le système devra
exécuter en réponse à un besoin d’un acteur. Un cas d’utilisation doit produire un
résultat observable pour un ou plusieurs acteurs ou parties prenantes du système.
Une interaction permet de décrire les échanges entre un acteur et un cas d’utilisation.
7
Année académique : 2023-2024 : [email protected]
Acteur (2/3)
Exemple 1
Le directeur de l’école veut mettre en place une application pour la gestion
des élèves. Un élève peut visualiser ses notes et ses emplois du temps. Quant
au directeur, il peut gérer les élèves en les ajoutant, modifiant ou listant.
Exemple 2
Madame Faye veut une application pour la vente en ligne des tissus. Les
clients peuvent commander des tissus et une facture sera envoyée par le
gérant de la plateforme.
8
Année académique : 2023-2024 : [email protected]
Acteur (3/3)
Formalisme et exemple
Un cas d’utilisation se représente par un ovale dans lequel figure son intitulé.
L’interaction entre un acteur et un cas d’utilisation se représente comme une
association. Elle peut comporter des multiplicités comme toute association entre
classes ( voir Diagramme de classe).
Le formalisme de base de représentation d’un cas d’utilisation est donné à l’exemple
ci-dessous :
9
Année académique : 2023-2024 : [email protected]
Représentation du diagramme des cas
d’utilisation
Tout système peut être décrit par un certain nombre de cas d’utilisation correspondant
aux besoins exprimés par l’ensemble des utilisateurs. À chaque utilisateur, vu comme
acteur, correspondra un certain nombre de cas d’utilisation du système. L’ensemble de
ces cas d’utilisation se représente sous forme d’un diagramme.
10
Année académique : 2023-2024 : [email protected]
Représentation du diagramme des cas
d’utilisation
Exemple d’un système de messagerie comportant quatre cas d’utilisation
11
Année académique : 2023-2024 : [email protected]
Représentation du diagramme des cas
d’utilisation
Association
ü Relation entre acteurs et cas d'utilisation
ü Représente la possibilité pour l'acteur de déclencher le cas
Acteurs primaires et secondaires
ü Acteur primaire « primary » :acteur déclenchant le cas
ü Acteur secondaire « secondary »: acteur sollicité par le cas
12
Année académique : 2023-2024 :
[email protected] Représentation du diagramme des cas
d’utilisation
Relation entre les cas d’utilisation
Afin d’optimiser la formalisation des besoins en ayant recours notamment
à la réutilisation de cas d’utilisation, trois relations peuvent être décrites
entre cas d’utilisation : une relation d’inclusion (« include »), une
relation d’extension (« extend ») et une relation de généralisation.
Relation d’inclusion
Une relation d’inclusion d’un cas d’utilisation A par rapport à un cas
d’utilisation B signifie qu’une instance de A contient le comportement
décrit dans B.
13
Année académique : 2023-2024 : [email protected]
Représentation du diagramme des cas
d’utilisation
Relation d’inclusion
14
Année académique : 2023-2024 : [email protected]
Représentation du diagramme des cas
d’utilisation
Relation d’inclusion
Trouver l’erreur
<<include>>
Commander
S'identifier
Client
Créer compte
<<include>>
15
Année académique : 2023-2024 : [email protected]
Représentation du diagramme des cas
d’utilisation
Relation d’inclusion
Solution
<<include>>
Commander
S'identifier
Client
Créer compte
<<include>>
16
Année académique : 2023-2024 : [email protected]
Représentation du diagramme des cas
d’utilisation
Relation d’inclusion
17
Année académique : 2023-2024 : [email protected]
Représentation du diagramme des cas
d’utilisation
Relation d’extension
Une relation d’extension d’un cas d’utilisation A par un cas d’utilisation
B signifie qu’une instance de A peut être étendue par le comportement
décrit dans B. Deux caractéristiques sont à noter :
ü le caractère optionnel de l’extension dans le déroulement du cas
d’utilisation standard (A) ;
ü la mention explicite du point d’extension dans le cas d’utilisation
standard.
18
Année académique : 2023-2024 : [email protected]
Représentation du diagramme des cas
d’utilisation
Relation d’extension
19
Année académique : 2023-2024 : [email protected]
Représentation du diagramme des cas
d’utilisation
Relation d’extension
Commander
Pour effectuer une commande de
tissus
<<include>>
Gérer compte
S'identifier
<<include>>
Client
<<extend>>
<<extend>>
supprimer le compte
modifier mot de passe
20
Année académique : 2023-2024 : [email protected]
Représentation du diagramme des cas
d’utilisation
Relation d’extension
21
Année académique : 2023-2024 : [email protected]
Représentation du diagramme des cas
d’utilisation
Relation de généralisation
Une relation de généralisation de cas d’utilisation peut être définie
conformément au principe de la spécialisation-généralisation déjà
présentée pour les classes.
22
Année académique : 2023-2024 : [email protected]
Représentation du diagramme des cas
d’utilisation
Relation de généralisation
23
Année académique : 2023-2024 : [email protected]
Représentation du diagramme des cas
d’utilisation
Relations entre cas d'utilisation
Inclusion : X « includes » Y Û X implique Y
Extension : X « extends » Y Û X peut être provoqué par Y
Généralisation: X est un cas particulier de Y
24
Année académique : 2023-2024 : [email protected]
Représentation du diagramme des cas
d’utilisation
Relations entre les acteurs
Généralisation : X peut faire tout ce que fait Y
25
Année académique : 2023-2024 : [email protected]
Représentation du diagramme des cas
d’utilisation
Relations entre les acteurs
Généralisation : X peut faire tout ce que fait Y
26
Année académique : 2023-2024 : [email protected]
Représentation du diagramme des cas
Exercice d’application d’utilisation
Le directeur de l’Institut Supérieur d’Enseignement Professionnel (ISEP) décide de mettre
en place une plateforme pour la gestion des étudiants et des professeurs.
Un étudiant a la possibilité de répondre un message venant de l’administrateur. Ce dernier
doit s’authentifier pour effectuer les tâches comme envoyer mail, gérer les classes et les
comptes des professeurs et des étudiants. L’étudiant en plus de la lecture des mails, il peut
visualiser la liste de ses professeurs.
Les professeurs, quant à eux, peuvent gérer les notes des étudiants en ajoutant, modifiant
et les listant. Ils peuvent modifier leur compte créer par l’administrateur. Pareil pour les
étudiants. Toutes les tâches que les professeurs et les étudiants font au niveau du système,
ils doivent s’authentifier d’abord.
27
Année académique : 2023-2024 : [email protected]
Représentation du diagramme des cas
d’utilisation Ce cas permet de
gérer la gestion
envoyer mail des mails :
envoyer et/ou lire listerN modifierN
ajouter
Eleve
<<include>> <<extend>> <<extend>>
<<include>> <<extend>>
s'authentifier
visualiser prof
<<include>> gerer notes professeur
<<include>>
<<extend>>
gerer compte modifier
<<extend>>
Administrateur
creer
gerer classe <<include>>
28
Année académique : 2023-2024 : [email protected]
Représentation du diagramme des cas
d’utilisation Ce cas permet de
gérer la gestion
envoyer mail des mails :
envoyer et/ou lire listerN modifierN
ajouter
Eleve
<<include>> <<extend>> <<extend>>
<<include>> <<extend>>
s'authentifier
visualiser prof
gerer notes professeur
<<include>>
gerer compte Gérer compte : au niveau de cas
l'administrateur peut créer les comptes
des professeurs et élèves. Mais les
élèves aussi bien que les professeurs,
ils peuvent modifier leurs propre
compte
Administrateur
gerer classe <<include>>
Description textuelle
29
Année académique : 2023-2024 : [email protected]
Représentation du diagramme des cas
Exercice d’application d’utilisation
Nous voulons mettre en place une application pour la gestion de l’école. L’école est composée d’un
ensemble de filière avec des formations différentes dans chaque filière. Chaque filière est dirigée par un
responsable qui est en même temps un professeur. Le rôle du responsable de filière est d’ajouter ou retirer un
module au niveau d’une formation de sa filière. Il a aussi la possibilité de recruter des professeurs, les
licencier en cas de désaccord.
Les professeurs de l’école peuvent intervenir dans plusieurs formations de filière différente. Ils évaluent les
étudiants, soient un devoir, un examen ou un projet.
Au niveau de chaque formation, nous avons un ensemble de classes. Chaque étudiant suit une seule
formation. Les étudiants sont répartis dans des groupes crées par le responsable de la classe. Ce dernier est
aussi un étudiant. Il peut contacter les professeurs en cas d’absence ou retard pour aviser les autres étudiants
de sa classe.
Le responsable de la filière et les professeurs ont la possibilité de s’authentifier pour accéder à la plateforme.
Les étudiants, eux aussi s’identifient avec un login et un mot de passe crée par l’administrateur de la
plateforme pour consulter leurs propres notes. Tous les comptes au niveau de la plateforme sont crées par
l’administrateur. Il a la possibilité de bloquer un compte d’un utilisateur (étudiant, professeur ou responsable
de filière). 30
Année académique : 2023-2024 : [email protected]
Représentation du diagramme des cas
d’utilisation
Conseil : Rester lisible
ü Pas plus de 6 ou 8 cas dans un diagramme
ü Au besoin, faire plusieurs diagrammes (si cas disjoints entre acteurs,
pour détailler un cas...)
ü Relations entre cas seulement si nécessaires et pas trop lourdes
Pour les détails, privilégier la description textuelle
31
Année académique : 2023-2024 : [email protected]
Description textuelle des cas d’utilisation
À chaque cas d’utilisation doit être associée une description textuelle des
interactions entre l’acteur et le système et les actions que le système doit réaliser en
vue de produire les résultats attendus par les acteurs.
UML ne propose pas de présentation type de cette description textuelle.
La description textuelle d’un cas d’utilisation est articulée en six points :
ü Objectif – Décrire succinctement le contexte et les résultats attendus du cas
d’utilisation.
ü Acteurs concernés – Le ou les acteurs concernés par le cas doivent être
identifiés en précisant globalement leur rôle.
32
Année académique : 2023-2024 : [email protected]
Description textuelle des cas d’utilisation
ü Pré conditions – Si certaines conditions particulières sont requises avant
l’exécution du cas, elles sont à exprimer à ce niveau.
ü Post conditions – Par symétrie, si certaines conditions particulières doivent
être réunies après l’exécution du cas, elles sont à exprimer à ce niveau.
Pour notre part, par souci de simplification nous n’avons pas traité ce point
dans les exercices et études de cas présentés.
ü Scénario nominal – Il s’agit là du scénario principal qui doit se dérouler
sans incident et qui permet d’aboutir au résultat souhaité.
ü Scénarios alternatifs – Les autres scénarios, secondaires ou correspondant
à la résolution d’anomalies, sont à décrire à ce niveau. Le lien avec le
scénario principal se fait à l’aide d’une numérotation hiérarchisée.
33
Année académique : 2023-2024 : [email protected]
Description textuelle des cas d’utilisation
Diagrammes de cas d'utilisation
ü Utiles pour discussion avec le client car intuitifs et concis
ü Pas suffisants pour l’équipe de développement
Nécessité d'une description détaillée des scénarios représentés par
chacun des cas :
ü Description textuelle en langue naturelle structurée
ü Vocabulaire précis correspondant aux diagrammes
34
Année académique : 2023-2024 : [email protected]
Description textuelle des cas d’utilisation
ü Nom du cas d'utilisation
ü Brève description
ü Acteurs
ü Contexte
ü Données en entrée et préconditions
ü Données en sortie et postconditions
ü Scénario principal pour ce cas d'utilisation
§ Etapes à suivre pour réaliser ce cas
ü Variantes, cas d'erreur
§ Déviations des étapes du scénario principal,
§ scénarios alternatifs, scénarios d'erreur
35
Année académique : 2023-2024 : [email protected]
Description textuelle des cas d’utilisation
36
Année académique : 2023-2024 : [email protected]
Exercices
Une bibliothèque universitaire souhaite automatiser sa gestion. Cette bibliothèque est
gérée par un gestionnaire chargé des inscriptions et des relances des lecteurs quand ceux-
ci n’ont pas rendu leurs ouvrages au-delà du délai autorisé. Les bibliothécaires sont
chargés de gérer les emprunts et la restitution des ouvrages ainsi que l’acquisition de
nouveaux ouvrages.
Il existe trois catégories d’abonné. Tout d’abord les étudiants qui doivent seulement
s’acquitter d’une somme forfaitaire pour une année afin d’avoir droit à tous les services
de la bibliothèque. L’accès à la bibliothèque est libre pour tous les enseignants. Enfin, il
e st p o s s i b l e d ’ a u to r i s e r d e s é t u d i a n t s d ’ u n e a u t re u n i ve r s i t é à s ’ i n s c r i re
exceptionnellement comme abonné moyennant le versement d’une cotisation. Le nombre
d’abonné externe est limité chaque année à environ 10 % des inscrits. Un nouveau
service de consultation du catalogue général des ouvrages doit être mis en place. Les
ouvrages, souvent acquis en plusieurs exemplaires, sont rangés dans des rayons de la
bibliothèque. Chaque exemplaire est repéré par une référence gérée dans le catalogue et le
code du rayon où il est rangé. Chaque abonné ne peut emprunter plus de trois ouvrages.
Le délai d’emprunt d’un ouvrage est de trois semaines, il peut cependant être prolongé
exceptionnellement à cinq semaines. Il est demandé d’élaborer le diagramme des cas
d’utilisation (DCU).
37
Année académique : 2023-2024 : [email protected]
Exercices
Représentation du DCU propose un corrigé-type de cet exercice. Six cas
d’utilisation peuvent être identifiés :
ü inscription à la bibliothèque,
ü consultation du catalogue,
ü emprunt d’ouvrages,
ü restitution d’ouvrages,
ü approvisionnement d’ouvrages,
ü relance emprunteur.
Cinq types d’acteurs peuvent être identifiés :
ü étudiant,
ü externe,
ü professeur,
ü gestionnaire,
ü bibliothécaire.
38
Année académique : 2023-2024 : [email protected]
Corrigé
s'inscrire <<include>>
payer abonnement
etudiant interne
gestionnaire
emprunter ouvrage
relancer
rendre ouvrage
etudiant externe
consulter catalogue approvisionner bibliothécaire
professeur
39
Année académique : 2023-2024 : [email protected]
Corrigé
40
Année académique : 2023-2024 : [email protected]
Exercice 1:
Un système informatique doit permettre à des acheteurs potentiels de préparer l'achat
de chevaux (mais pas l'achat proprement dit). L'achat d'un cheval concerne soit une
jument soit un étalon. Dans le premier cas, on doit impérativement examiner l'état de
maternité du cheval, et éventuellement vérifier que la jument n'a pas un jeune poulain
en ce moment. Que l'on souhaite acheter un étalon ou une jument, on doit effectuer un
examen des vaccinations. En outre l'acheteur peut souhaiter, lors de la préparation de
son achat, consulter le caractère du cheval ou bien en connaître la robe. Toutes les
informations en rapport à la filiation d'un cheval sont obtenues en consultant la base de
données externe des haras nationaux.
Question :
1. Donnez un diagramme de cas d'utilisation pour le système de préparation avant
achat.
2. Proposer le diagramme de séquence d’un cas d’utilisation
3. Donner le diagramme de classe
41
Année académique : 2023-2024 : [email protected]
Solution
robe filiation
caracteres
<<extend>> <<extend>>
<<extend>>
achat cheval <<include>> examen vaccination
acheteur BD Haras
etalon
jument
<<extend>>
<<include>>
examen maternite verifier poulain
42
Année académique : 2023-2024 : [email protected]