Boulkrinat Samia
Cours #6 : Diagramme de cas
d’utilisation (Use-cases)
Samia BOULKRINAT
27/03/2022 1
Plan
Boulkrinat Samia
I. Diagramme de cas d’utilisation
II. Tracer un diagramme de use-cases
III. Exemple de diagramme : GAB
IV. Documenter un cas d’utilisation
V. A ne pas modéliser
27/03/2022 2
I. Diagramme de cas d’utilisation
Boulkrinat Samia
I.1 Objectifs
Diagramme de cas d'utilisation
Utilisé dans l’activité d’analyse (spécification ) des besoins
Capturer, analyser et organiser les besoins fonctionnels
Répond à la question Que fait le système , pas Comment
Décrit le comportement du système : actions/réactions
Visualiser graphiquement le cahier des charges
Utilisé pour répondre aux questions :
1. Qu'est ce qui est décrit ? (Système)
2. Qui interagit avec le système ? (Acteurs)
3. Que peuvent faire les acteurs ? (Cas d'utilisation)
27/03/2022 3
I. Diagramme de cas d’utilisation
Boulkrinat Samia
I.2 Représentation
Système
Acteur
Cas d'utilisation
27/03/2022 4
I. Diagramme de cas d’utilisation
Boulkrinat Samia
I.3 Exemple
1 2
27/03/2022 5
II. Tracer un diagramme de use-case
Boulkrinat Samia
Comment faire ?
1. Cibler les acteurs
2. Identifier les relations entre acteurs
3. Cibler les cas d’utilisations
4. Identifier les relations entre les cas d’utilisation
5. Identifier les relations entre acteurs et cas d’utilisation
6. Nommer et délimiter le système
27/03/2022 6
II. Tracer un diagramme de use-case
Boulkrinat Samia
II.1 Cibler les acteurs
Acteur est un rôle et non pas une personne physique
L'acteur interagit avec le système logiciel
Les acteurs se trouvent à l’extérieur du système
Acteur
Cas d'utilisation
Système
27/03/2022 7
II. Tracer un diagramme de use-case
Boulkrinat Samia
II.1 Cibler les acteurs
Une personne est représentée par plusieurs acteurs si elle
a plusieurs rôles
Si plusieurs personnes jouant le même rôle, elles seront
représentées par un seul acteur
Un acteur n’est pas forcément "humain"
personnage stylisé pictogramme pictogramme stéréotype « actor »
Acteur peut être un système
27/03/2022 8
II. Tracer un diagramme de use-case
Boulkrinat Samia
II.1 Cibler les acteurs
Les acteurs peuvent être un système externe automatique
qui interagissent avec le système logiciel (Internet, capteurs)
Internet envoie alerte par Sms notifiant l'arrivée d'un email
Capteurs allume la lumière à la détection d’un mouvement
27/03/2022 9
II. Tracer un diagramme de use-case
Boulkrinat Samia
II.1 Cibler les acteurs
L’acteur principal est déclencheur du cas d’utilisation
L’acteur secondaire est sollicité pour des informations
complémentaires tels que consulter ou informer le système
L'acteur principal à gauche des cas et l'acteur secondaire à droite
27/03/2022 10
II. Tracer un diagramme de use-case
Boulkrinat Samia
II.2 Identifier les relations entre acteurs
La généralisation / spécialisation est la seule relation possible
entre acteurs
La généralisation du cas A vers le un cas B si A est une sorte de B
Généralisation /
Spécialisation
27/03/2022 11
II. Tracer un diagramme de use-case
Boulkrinat Samia
II.3 Cibler les cas d’utilisations
Un cas d’utilisations décrit une fonctionnalité que le système
devra faire, sans spécifier comment il le fera.
Le nom est composé de verbe (infinitif)+ [complément]
Notation possible d'un cas
27/03/2022 12
II. Tracer un diagramme de use-case
Boulkrinat Samia
II.3 Cibler les cas d’utilisations
Il n’y a pas une manière mécanique et totalement objective de
repérer les cas d’utilisation
Répondre aux questions suivantes :
Quelles sont les fonctionnalités rendues par le système ?
Quelles sont les interactions Acteurs/ Système ?
Pour chaque acteur identifié :
Rechercher les différentes fonctions métiers avec lesquelles
il utilise le système ;
Déterminer les services fonctionnels attendus du système
par cet acteur.
Quels sont les évènements perçus par le système externes,
temporels, changement d’état ?
27/03/2022 13
II. Tracer un diagramme de use-case
Boulkrinat Samia
II.4 Relation acteur-cas d’utilisation
Une ligne entre un acteur et un cas d’utilisation signifie qu’une
interaction est établie. Elle est modélisée sous forme d’association.
27/03/2022 14
II. Tracer un diagramme de use-case
Boulkrinat Samia
II.5 Relation cas d’utilisation-cas d’utilisation
Généralisation (héritage) : le cas fils spécialise le cas père
Inclusion ( «include» ) : le cas source nécessite le cas cible à un
endroit précis dans son enchaînement
Extension ( «extend» ) : le cas de base peut être complété par
un autre cas à un endroit précis (avec condition éventuelle)
Héritage
Notation des relations inter-cas d’utilisation
27/03/2022 15
II. Tracer un diagramme de use-case
Boulkrinat Samia
II.5 Exemple de relation entre cas d’utilisation
27/03/2022 16
II.5. Relation entre cas d’utilisation
Boulkrinat Samia
II.5.1 Relation d’inclusion
La relation include (include relationship) permet à la
fonctionnalité commune de plusieurs cas d’utilisation d’être
décrite par un cas d’utilisation (Ex. s’authentifier).
La relation include évite la description multiple du même
comportement
27/03/2022 17
II.5. Relation entre cas d’utilisation
Boulkrinat Samia
II.5.1 Relation d’inclusion
Quand un cas est trop complexe (faisant intervenir un trop
grand nombre d’actions), on peut procéder à sa
décomposition en cas plus simples
27/03/2022 18
II.5. Relation entre cas d’utilisation
Boulkrinat Samia
II.5.2 Relation d’extension
On utilise principalement cette relation pour séparer le comportement
optionnel (les variantes) du comportement obligatoire.
Le cas d’utilisation A est complété par le cas d’utilisation B.
Le cas d’utilisation A décrit la fonctionnalité de base, le cas d’utilisation B
spécifie les extensions.
Le cas d’utilisation A peut être exécuté seul ou avec les extensions
27/03/2022 19
II.5. Relation entre cas d’utilisation
Boulkrinat Samia
II.5.3 Relation de généralisation
Un payement par carte bancaire (CB) et un payement par chèque sont des
cas particuliers de paiement.
La flèche (avec triangle) pointe vers l’élément général.
Le même verbe doit être retrouver.
27/03/2022 20
II. Tracer un diagramme de use-case
Boulkrinat Samia
II.6 Nommer et délimiter le système
Le système observé est nommé et modélisé dans le diagramme de cas
d’utilisation sous forme d’un rectangle comprenant tous les cas
d’utilisation .
27/03/2022 21
III. Exemple de diagramme : GAB
Boulkrinat Samia
On considère le système suivant de gestion d’un Guichet Automatique
de Banque (GAB) :
Le distributeur délivre de l’argent à tout porteur d’une carte de la
banque (autorisation d’un certain montant par le Système d’Information
de la banque) ou d’une carte de crédit (autorisation à distance par le
Système d’Autorisation),
Pour les clients de la banque, il permet en plus :
La consultation du solde du compte
Le dépôt d’argent (chèque ou numéraire)
Toute transaction est sécurisée et nécessite par conséquent une
authentification (code personnel vérifié avec le code enregistré sur la
puce de la carte - la carte est avalée après trois échecs).
.
Dans le cas où une carte est avalée par le distributeur, un opérateur de
maintenance se charge de la récupérer. C’est la même personne qui
collecte également les dépôts d’argent et qui recharge le distributeur.
27/03/2022 22
III. Exemple de diagramme : GAB
Boulkrinat Samia
Étape 1- Identification des acteurs du GAB
Quelles sont les entités externes interagissant directement avec le GAB ?
Tout Porteur de carte …
Clients de la banque porteurs d’une carte de crédit.
Système d’autorisation global carte bancaire, pour les transactions de
retrait.
Système d’information de la banque, pour autoriser toutes les
transactions du client avec sa carte bancaire et pouvoir accéder au
solde des comptes.
Opérateur de maintenance pour le rechargement en billets du
distributeur, la récupération des cartes avalées, etc.
Remarque :
Lecteur de carte et distributeur de billets font partie du GAB ce ne sont
pas des acteurs
27/03/2022 23
III. Exemple de diagramme : GAB
Boulkrinat Samia
Étape 2 - Identification des cas d’utilisation
Préparez une liste des cas d’utilisation du GAB, par acteur :
Porteur de carte :
◦ Retirer de l’argent.
Client banque :
◦ Retirer de l’argent.
◦ Consulter le solde de son compte courant.
◦ Déposer de l’argent (du numéraire ou des chèques)
Opérateur de maintenance :
◦ Recharger le distributeur.
.
◦ Maintenir l’état opérationnel (récupérer cartes avalées, récupérer
chèques déposés, remplacer le ruban de papier, etc.).
27/03/2022 24
III. Exemple de diagramme : GAB
Boulkrinat Samia
Étape 3 - Réalisation de diagrammes de cas d’utilisation
27/03/2022 25
III. Exemple de diagramme : GAB
Boulkrinat Samia
Acteurs secondaires
Solution : distinguer deux cas d’utilisation pour le retrait
d’argent :
Retirer de l’argent
Retirer de l’argent avec une carte de la banque.
27/03/2022 27
IV. Documenter un cas d’utilisation
Boulkrinat Samia
IV.1 Identification cas d'utilisation
Nom : Tournure à l'infinitif (ex. : débiter compte)
Objectif : Description pour comprendre le but du cas d'utilisation
Acteurs principaux : Qui réalisent le cas d'utilisation
Acteurs secondaires : Qui ne reçoivent que des informations à
l'issue de la réalisation du cas d'utilisation
Dates : Dates création et mise à jour de la description courante
Responsable : Nom des responsables
Version : Numéro de version
27/03/2022 28
IV. Documenter un cas d’utilisation
Boulkrinat Samia
IV.2 Description fonctionnelle
Présupposé : Cas d'utilisation précédemment réalisé
Pré-conditions : Etat du système avant le déclenchent du cas
d'utilisation
Scénarii :Une description du cas d'utilisation
[Link] narrative :
• Séquence nominale (SN) : décrit de déroulement normal du cas
• Séquence alternatives : décrit les branchements dans la SN
• Séquences d'exceptions : décrit les cas d'erreurs
2. Par un diagramme d'activité : décrit le cas de façon algorithmique
3. Par un diagramme de séquence : décrit le cas avec les interactions
Post-conditions : Etat du système à l'issue des différents scénarii
27/03/2022 29
IV. Documenter un cas d’utilisation
Boulkrinat Samia
IV.2 Description fonctionnelle
Description du
cas d'utilisation
1. Textuelle 2. Diagramme 3. Diagramme
narrative d'activité de séquence
IV.3 Description non fonctionnelle
Décrire les besoins en termes d'interface graphique par exemple
27/03/2022 30
IV. Documenter un cas d’utilisation
Boulkrinat Samia
IV.4 Exemple de documentation d'un cas
I. Identification cas d'utilisation
Nom : débiter compte
Objectif : Permet de débiter un compte bancaire
Acteurs principaux : Client
Acteurs secondaires : Directeur de la banque
Dates : 22/04/2020
Responsable : Boulkrinat Samia
Version : 1.0
2. Description fonctionnelle :
Présupposé : Le Client s'est déjà authentifier
Pré-conditions : Le compte existe
Description narrative du scénario :
• Sélectionner l'opération « Débiter Montant du compte »
• Donner le Montant à débiter
• Si Montant négatif, afficher « donner un Montant valide »
• Si Solde compte insuffisant, afficher « impossible de débiter le compte»
• Sinon (Solde suffisant) alors débiter le Montant du Solde
• Séquences d'exceptions : annuler opération
27/03/2022 31
IV. Documenter un cas d’utilisation
Boulkrinat Samia
IV.4 Exemple de documentation d'un cas
I. Identification cas d'utilisation
Nom : débiter compte
Objectif : Permet de débiter un compte bancaire
Acteurs principaux : Client
Acteurs secondaires : Directeur de la banque
Dates : 22/04/2020
Responsable : Boulkrinat Samia
Version : 1.0
2. Description fonctionnelle :
Présupposé : Le Client s'est déjà authentifier
Pré-conditions : Le compte existe
Description du scénario par diagramme d'activité :
27/03/2022 32
IV. Documenter un cas d’utilisation
Boulkrinat Samia
IV.4 Exemple de documentation d'un cas
3. Description non fonctionnelle : Une fois cliquer sur « Débiter Montant du
compte », afficher une zone de texte pour introduire le montant à débiter
27/03/2022 33
V. A ne pas modéliser
Boulkrinat Samia
Ne pas modéliser les communications internes
(entre cas d’utilisations)
Ne pas modéliser les communications externes
(entre acteurs)
27/03/2022 34
V. A ne pas modéliser
Boulkrinat Samia
27/03/2022 35
V. A ne pas modéliser
Boulkrinat Samia
Ne pas réduire un cas à une action
Eviter les redondances et limiter le
nombre de cas en se situant au bon
niveau d’abstraction
27/03/2022 36