UML Cas2Dutilisation
UML Cas2Dutilisation
UML Cas2Dutilisation
Diagramme de cas
d’utilisation
Hanifi Majdoulayne
2022 - 2023
Introduction
UML permet de construire plusieurs modèles d’un système :
le système du point de vue des utilisateurs,
la structure interne,
une vision globale ou détaillée.
Par exemple, une banque a besoin d’un guichet automatique pour que ses clients puissent
retirer de l’argent même en dehors des heures d’ouverture de la banque.
Celui qui commande le logiciel est le client et celui qui réalise le logiciel est le développeur.
3
Introduction
UML sert à formaliser les besoins, pour être compréhensible par toutes les personnes impliquées
dans le projet.
4
Définitions
5
Définitions
Le diagramme des cas d’utilisation apporte une vision utilisateur et absolument pas une vision
informatique.
Il ne nécessite aucune connaissance informatique et l’idéal serait qu’il soit réalisé par le client.
Le diagramme des cas d’utilisation n’est pas un inventaire exhaustif de toutes les fonctions du
système.
Il ne liste que des fonctions générales essentielles et principales sans rentrer dans les détails.
6
Les éléments d’un diagramme des cas d’utilisation :
Acteurs :
Avant de rechercher les besoins, la première tâche consiste à définir les limites du système (c.à.d. ce
qui est inclus ou pas dans le système), puis à identifier les différentes entités intervenantes sur le
système.
Un acteur se représente par un petit bonhomme ayant son nom inscrit dessous
acteur
Une personne.
Un autre système
7
Définitions
Système :
8
Système :
Définitions
9
Système :
Définitions
10
Définitions
Cas d’utilisation :
11
Définitions
Cas d’utilisation :
La découverte des cas d’utilisation constitue normalement la première phase
d’analyse du système.
Elle est élaborée en général par entretiens avec les utilisateurs et les
intervenants du système.
On élabore le diagramme dans l’ordre suivant :
Identification du système.
Identification des acteurs principaux et secondaires.
Identification des buts des acteurs (cas d’utilisation)
12
Définitions
Cas d’utilisation :
cas d’utilisation
acteur
13
Diagramme de cas d’utilisation
Exemple 1:
Retirer de
l’argent Cas d’utilisation
tion
ci a
o
ass
Effectuer un
virement
client
Consulter
compte
Pour clarifier un diagramme, UML permet d’établir des relations entre les cas
d’utilisation.
15
Relations entre cas d’utilisation
1. La relation d’inclusion “include” :
Un cas A est inclus dans un cas B si le comportement décrit par le cas A “appelle” le comportement du cas
B.
On dit alors que le cas B dépend de A.
Cette dépendance est symbolisée par le stéréotype “include”.
Par exemple, l’accès aux informations d’un compte bancaire inclut nécessairement une phase
d’authentification avec un mot de passe.
B
A e>>
<<includ Consulter
un compte
Imprimer
Solde Compte <<in
clude
>>
S’identifier
16
Exemple :
17
Relations entre cas d’utilisation
18
Relations entre cas d’utilisation
2. La relation d’extension « extend »:
Un cas d’utilisation A étend un cas d’utilisation B lorsque le cas d’utilisation A peut être appelé au cours de
l’exécution du cas d’utilisation B.
Exécuter B peut éventuellement entraîner l’exécution de A : contrairement à l’inclusion, l’extension est
optionnelle. Cette dépendance est symbolisée par le stéréotype << extend >> .
La relation <<extend>> indique qu’un cas d’utilisation est enrichi d’un comportement additionnel.
B A
<e x t end>>
Commander < Commander
Nourriture une boisson
19
Relations entre cas d’utilisation
20
Relations entre cas d’utilisation
3. La relation de généralisation :
Cette relation de généralisation/spécialisation est présente dans la plupart des diagrammes UML et se traduit par le concept
d’héritage dans les langages orientés objet.
B A
<< géneralisation >>
payer par
carte payer
Le symbole utilisé pour la généralisation est une flèche en trait plein dont la pointe est un triangle fermé. La flèche pointe vers
le cas le plus général.
Remarque : Attention à l’orientation des flèches : si le cas A inclut B on trace la flèche de A vers B, et si B étend A, la flèche
est dirigée de B vers A.
21
Relations entre cas d’utilisation
La relation de généralisation :
payer
22
Relations entre acteurs
Si un acteur A est une généralisation d’un acteur B, tous les cas d’utilisation accessibles à A le sont aussi à B, mais l’inverse
n’est pas vrai.
23
Relations entre acteurs
Dans cet exemple, le directeur des ventes est un préposé aux commandes avec un pouvoir supplémentaire
(en plus de pouvoir passer et suivre une commande, il peut gérer le stock).
24
Comment identifier les acteurs ?
Les acteurs d’un système sont les entités externes à ce système qui interagissent (saisie de données,
réception d’information, …) avec lui.
Ces acteurs permettent de cerner l’interface que le système va devoir offrir à son environnement.
Chaque acteur doit être nommé. Ce nom doit refléter son rôle, car un acteur représente un ensemble
cohérent de rôles joués vis-à-vis du système.
25
Comment identifier les acteurs ?
• les périphériques manipulés par le système (imprimantes, hardware d’un distributeur de billet, …) ;
• des systèmes informatiques externes au système, mais qui interagissent avec lui, etc.
Pour faciliter la recherche des acteurs, on peut imaginer les frontières du système.
Tout ce qui est à l’extérieur et qui interagit avec le système est un acteur, tout ce qui est à l’intérieur est une
fonctionnalité à réaliser.
26
Comment identifier les acteurs ?
Mais il faut veiller à ne pas oublier les personnes responsables de l’exploitation et de la maintenance du système.
Par exemple, un logiciel de surveillance qui limite les accès à un bâtiment doit avoir un administrateur chargé de créer des groupes de personnes
et leur donner des droits d’accès.
Il ne s’agit pas ici des personnes qui installent et paramètrent le logiciel avant sa mise en production, mais des utilisateurs du logiciel dans son
fonctionnement.
27
Comment identifier les acteurs ?
Un cas d’utilisation a toujours au moins un acteur principal pour qui le système produit un résultat observable, et éventuellement d’autres acteurs
ayant un rôle secondaire.
Par exemple, l’acteur principal d’un cas de retrait d’argent dans un distributeur automatique de billets est la personne qui fait le retrait, tandis que
le système qui vérifie le solde du compte est un acteur secondaire ( celui qui participe à la réalisation du cas d’utilisation ).
28
Acteurs
Bon acteur secondaire
• « le garagiste demande au système comptable d’éditer la facture pour facturer le client »
29
Acteurs
Bien choisir son acteur
30
Comment recenser les cas d’utilisation ?
L’ensemble des cas d’utilisation décrit exhaustivement les exigences fonctionnelles du système.
Chaque cas d’utilisation correspond à une fonction métier du système, selon le point de vue d’un de ses acteurs (exemple du distributeur de
billet : Retirer de l’argent ou Distribuer de l’argent ).
Aussi, pour identifier les cas d’utilisation, il faut se placer du point de vue de chaque acteur et déterminer comment et surtout pourquoi il se sert
du système.
Il faut éviter les redondances et limiter le nombre de cas en se situant à un bon niveau d’abstraction.
Nommez les cas d’utilisation avec un verbe à l’infinitif suivi d’un complément en vous plaçant du point de vue de l’acteur, et non pas de celui du
système.
31
Système : Réstaurant
32
Généralisation des acteurs
33
Un cas d’utilisation
Un Cas d’utilisation
• Un cas d’utilisation est une action, qui a pour origine un dialogue entre un acteur et le système et dont le résultat est un produit mesurable.
34
Énoncé
On considère le système suivant de gestion d’un DAB (Distributeur automatique de billets) :
• Le distributeur délivre de l’argent à tout porteur de carte (carte Visa ou carte de la banque)
• Pour les clients de la banque, il permet :
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
• 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.
Questions
35
Diagramme de cas d’utilisation
Diagramme de contexte
36
Diagramme de cas d’utilisation
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 les cartes avalées,
récupérer les chèques déposés, remplacer le ruban de papier,
etc.).
37
Diagramme de cas d’utilisation
Maintenir l’état
opérationnel 38
Diagramme de cas d’utilisation
Règles d’utilisation
Un cas d’utilisation
• Correspond à une et une seule tâche métier -> pas de « et » dans le nom
• Actions correctrices :
Eclater en deux cas d’utilisation
Renommer le cas d’utilisation
39
Diagramme de cas d’utilisation
Règles d’utilisation
Mettre en place un découpage fonctionnel
• Utilisation des packages
Réduire la complexité des modèles
Mettre en avant les grands pôles de la solution
40
Diagramme de cas d’utilisation
Démarche
La modélisation des cas d’utilisation commence par l’identification du contexte, c’est-à-dire du périmètre
Celui-ci est utilisé par des acteurs (rôles), qu’il faut définir
Pour chaque acteur, il faut identifier ses objectifs, ses besoins et ce qu’il attend du système
41
Diagramme de cas d’utilisation
42
Description textuelle des cas d’utilisation
Partie 1 : Identification.
43
Description textuelle des cas d’utilisation
- Les pré-conditions : État du système avant que le cas d’utilisation puisse être déclenché.
- Les Scénarios (un scénario est une instance d’un cas d’utilisation).
3. Les scénarios d’exceptions qui décrivent ce qui se passe lors d’une erreur.
- Les post-conditions : Elles décrivent l’état du système après l’issue de chaque scénario.
44
Description textuelle des cas d’utilisation
La partie 3 peut être omise, mais si elle est présente, elle permet de préciser des spécifications non
Fonctionnelles : qui sont importantes voire critiques aux yeux des utilisateurs et qui assurent le bon
fonctionnement du système.
Exemple :
Prévoir le niveau de charge, par exemple 100000 utilisateurs simultanés, pour que le système ne se
bloque pas
Sécurité du système : traçage des mises à jour des données dans le système, gestion de la
confidentialité, gestion de l’intégrité des données, protection des données personnelles …
45
Exemple de description textuelle : Le cas d‘utilisation ‘Retirer de l’argent’ du DAB
Partie 1 : Identification
Résumé : Ce cas d’utilisation permet aux possesseurs de carte bancaire de retire de l’argent.
Date : 16/01/2023
46
Exemple de description textuelle : Le cas d‘utilisation Retirer de l’argent du DAB
Pré-conditions :
Les connexions avec le Système d’Autorisation et le Système d’information de la banque sont opérationnelles.
Scénario nominal :
2) Le DAB vérifie que la carte introduite est bien une carte bancaire.
5) Le DAB compare ce code avec celui qui est codé sur la carte.
Scénario nominal :
10) Le DAB vérifie si le montant demandé est inférieur ou égale au crédit hebdomadaire.
Scénarios alternatifs :
• Scénario alternatif SA1: Le code est erroné pour la première ou la deuxième fois.
Scénarios alternatifs :
• Scénario alternatif SA3 : Le ticket est refusé.
50
Exemple de description textuelle : Le cas d‘utilisation ‘Retirer de l’argent’ du DAB
Scénarios d’exception:
• Scénario d’exception SE1: Carte non valide.
o Le DAB Indique que la carte n’est pas valide restitue la carte et met fin au cas.
o Le DAB Indique que le code est erroné pour la troisième fois, confisque la carte et met fin au cas.
o Le DAB Indique que tout retrait est impossible, restitue la carte et met fin au cas.
51
Exemple de description textuelle : Le cas d‘utilisation ‘Retirer de l’argent’ du DAB
Scénarios d’exception:
Post-conditions:
Les détails de la transaction doivent être enregistrés (montant, numéro carte, date…) aussi bien en cas de
succès que d’échec.
Le compte du client ne doit pas être débité tant que les billets n’ont pas été distribués.
53
Diagramme de cas d’utilisation
Conclusion
Les phases de recueil des besoins et d’écriture des spécifications sont longues et fastidieuses.
Mais quand elles sont bien menées, elles permettent de lever toutes les ambiguïtés du cahier
des charges et de recueillir les besoins dans leurs moindres détails.
Les spécifications permettant d’approfondir les besoins.
Le diagramme de cas d’utilisation est un premier modèle d’un système.
A ce niveau, nous connaissons précisément ce qui entre et ce qui sort du système, mais, en
revanche, nous ne savons toujours pas comment réaliser cette interface avec l’extérieur.
Le chapitre suivant, quant à lui, présente le diagramme des classes, qui permet de modéliser la
structure interne d’un système.
54