Vous êtes sur la page 1sur 58

Le Diagramme

des Cas d'Utilisation

Mme S. Besbes Essanaa 1


Plan du cours

Chapitre 0 : Les Systèmes d’Information

Chapitre 1 : Le Diagramme des Cas d'Utilisation

Chapitre 2 : Diagramme de Classes – Diagramme d’Objets

Chapitre 3 : Le Diagramme de Collaboration

Chapitre 4 : Le Diagramme de Séquence

Chapitre 5 : Le Diagramme d’État -Transition

Chapitre 6 : Le Diagramme d’Activités

Mme S. Besbes Essanaa 2


Classification des Diagrammes

Mme S. Besbes Essanaa 3


Objectifs du Chapitre

▪ Comprendre les caractéristiques des utilisateurs

▪ Modélisation à l’aide de cas types d’utilisation ou cas d’utilisation


(use cases)

▪ Intégration de cas types à l’aide de diagrammes UML (Use Case


Diagrams)
Statique (ce que le système est)
• diagramme de classes
• diagramme d’objets

Dynamique Fonctionnel
(comment le système évolue) (ce que le système fait)

Diagramme des Cas d’Utilisation


Mme S. Besbes Essanaa 4
Exercice 1 : Forum

Une société fait appel à vos compétences pour


réaliser un site Web, destiné en priorité à son
personnel, mais aussi aux internautes intéressés
par son activité.

Le site Web doit supporter les besoins


fonctionnels suivants :

Mme S. Besbes Essanaa 5


Exercice 1 : Forum

Un Forum :

un espace d’échange, permettant à chaque internaute de


se connecter afin de publier un sujet ou de consulter les
sujets publiés par les autres internautes. Une inscription
préalable est nécessaire avant la première connexion. Il
peut éventuellement déposer un commentaire sur l’un
des sujets publiés.

Mme S. Besbes Essanaa 6


Exercice 1 : Forum

Un Espace Membre :

un espace interne restreint au personnel de l’entreprise,


accessible après authentification par login et mot de
passe. Il leur permet de voir la liste des collègues,
d’envoyer des messages, de consulter les messages reçus,
et éventuellement d’y répondre.

Mme S. Besbes Essanaa 7


Exercice 1 : Forum

Une Galerie Photos :

offre aux internautes des photos, illustrant l’entreprise et


mettant en valeur son image de marque.

Travail à faire :

Donnez le diagramme des cas d’utilisation qui


décrit les besoins fonctionnels de cette application

Mme S. Besbes Essanaa 8


Exercice 1 : Forum
Consulter
Galerie

S’inscrire

Publier « include »
Internaute Sujet Se Connecter

Consulter « extend » Déposer


Sujet Commentaire

Consulter
Collègues
S’authentifier

Envoyer MSG

Employé
« extend »
Consulter MSG Répondre
Description des cas d’utilisation

• Une description pour chaque cas d’utilisation, sous la forme d’un


tableau, complète le diagramme des cas d’utilisation en précisant les
interactions entre le système et l’acteur

• Elle distingue le déroulement de base, appelé scénario nominal et


les éventuels scénarios alternatifs appelés déroulements alternatifs

• Les erreurs possibles lors de l’interaction avec le système sont


représentées dans la rubrique Exceptions

• Les formats sont variables et sont généralement définis par le chef de


projet

Mme S. Besbes Essanaa 10


Description des cas d’utilisation : Exemple
Description textuelle du cas d’utilisation « S’authentifier »

Mme S. Besbes Essanaa 11


Exercice 2 : Cabinet Médical

Inscrire Compléter le diagramme des


Rendez-vous
cas d’utilisation se rapportant à
un cabinet médical
Secrétaire
Médicale Vérifier
Disponibilité
Médecin
S’authentifier

Consulter
antécédents

Médecin
Prescrire
Ordonnance

Mme S. Besbes Essanaa 12


Exercice 2 : Cabinet Médical Version 1

Inscrire
Rendez-vous

Secrétaire
Médicale
Vérifier
Disponibilité
Médecin S’authentifier

Prescrire
Ordonnance

Médecin
Consulter
antécédents
Mme S. Besbes Essanaa 13
Exercice 2 : Cabinet Médical Version 2

Inscrire
Rendez-vous

S’authentifier
Secrétaire
Médicale
Vérifier
Disponibilité
Médecin

Prescrire
Ordonnance
«extend»

Médecin
Consulter
antécédents
Mme S. Besbes Essanaa 14
Exercice 2 : Cabinet Médical

Scénario nominal (un autre format …)

Cas d’utilisation : Prescrire ordonnance

Acteur Réponse du système


1- Le médecin demande à créer une 2- Le système lui demande de choisir un
ordonnance
3- Le médecin choisi le patient patient
souhaité 4- Le système édite une ordonnance vierge
5- le médecin sélectionne un
6- le système demande à saisir les doses et
médicament dans une liste
7- … la fréquence des prises
8- …

Enchainement alternatif 5-6


Le médecin entre le nom du médicament ainsi que les doses et les fréquences des prises

Remplace les points 5-6 et le scénario


nominal reprend au point 7 15
Mme S. Besbes Essanaa
Exercice 3 : Soit le diagramme de cas d’utilisation suivant :
Cas B L’acteur 2 n’est attaché a
aucun cas d’utilisation.
Pensez-vous que sa

« extend »
présence dans la hiérarchie
d’héritage se justifie. Si
Acteur 1 non, a quel acteur faut-il le
Cas C fusionner. Expliquez

« extend »
Cas A

Cas D
Acteur 2 Acteur 3

Cas G

Cas F

Acteur 4
Mme S. Besbes Essanaa 16
Exercice 3
Cas B L’acteur 2 n’est attaché a
aucun cas d’utilisation

« extend »
donc il a exactement les
mêmes besoins que ceux
de l’acteur 1. Il est par
Acteur 1 conséquent possible de le
Cas C
fusionner a Acteur 1

« extend »
Cas A

Cas D
Acteur 2 Acteur 3

Cas G

Cas F

Acteur 4
Mme S. Besbes Essanaa 17
Exercice 3

Indiquez pour
chaque acteur les cas
d’utilisation qui leurs
sont accessibles en
complétant le tableau
ci-dessous.

Acteur 1 Acteur 2 Acteur 3 Acteur 4

Mme S. Besbes Essanaa 18


Exercice 3
Acteur 1 Acteur 2 Acteur 3 Acteur 4

Cas B Cas B Cas B Cas B,


Cas A Cas A Cas A Cas A
Cas C Cas C Cas C Cas C
Cas D Cas D
Cas G Cas G
Cas F

Mme S. Besbes Essanaa 19


Exercice 3

Ces scénarios sont-ils valides par rapport au diagramme de cas d’utilisation


initial . Justifiez votre réponse.

Cas B
« extend »

Acteur 3

Cas C

Faux :
Le cas A est lié au cas B par un « include », par conséquent, il est obligatoire dans le
scénario.
Mme S. Besbes Essanaa 20
Exercice 3

Cas B

Acteur 3
Cas A

Correcte :
Le cas C est lié au cas B par un « extend », par conséquent, il est
optionnel dans le scénario.

Mme S. Besbes Essanaa 21


Exercice 3

Cas B

Acteur 1 Cas C
Cas A

Faux :
le cas C ne répond pas a un besoin fonctionnel direct. Il ne peut être
utilisé qu’à travers le cas B moyennant un « extend »

Mme S. Besbes Essanaa 22


Exercice 3

Cas B

Cas A
Acteur 4 Cas D
« Include »

Cas C

Correcte :
L’acteur 4 hérite du cas B de l’acteur 1 et du cas D de l’acteur 3.

Mme S. Besbes Essanaa 23


Exercice 3
Pensez-vous que si j’ajoute un
Cas B
lien « include » entre les cas A
et C le diagramme restera

« extend »
correcte ? Justifier

Acteur 1
Cas C

« extend »
Cas A

Cas D

Acteur 2 Acteur 3

Cas G

Cas F

Mme S. Besbes Essanaa Acteur 4 24


Exercice 3

Modifier le diagramme pour Cas B


que le « include » entre les cas

« extend »
C et A soit correcte !

Acteur 1
Cas C

« extend »
Cas A

Cas D
Acteur 2 Acteur 3

Cas G

ajouter un lien entre


Cas F acteur 1 et cas C
Mme S. Besbes Essanaa Acteur 4 25
• Un peu de théorie …

Mme S. Besbes Essanaa 26


Une Conception Centrée sur l’Utilisateur : Comment ?

Le développement d’un logiciel devrait toujours être centré


autour des besoins de ses utilisateurs :
✓ Bien comprendre qui sont les utilisateurs

✓ Bien comprendre les tâches que doivent réaliser ces


utilisateurs

✓ S’assurer que les utilisateurs sont impliqués dans le processus


de décision

✓ Demander aux utilisateurs d’évaluer les prototypes et de faire


part de leurs commentaires

Mme S. Besbes Essanaa 27


Une Conception Centrée sur l’Utilisateur : Pourquoi ?

▪ Réduit les coûts liés à la formation et au support


▪ Diminue le temps d’apprentissage
▪ Permet une utilisation plus efficace
▪ Permet de ne développer que les options qui sont réellement
requises
▪ Réduit les coûts liés aux modifications subséquentes
▪ Permet de mieux définir les priorités dans le développement
▪ Rend le système plus attrayant et mieux adapté à son marché

Mme S. Besbes Essanaa 28


Une Conception Centrée sur l’Utilisateur : Maquettage
▪ Une maquette est un ensemble d’enchaînements d’écrans
permettant de simuler un nombre limité de fonctionnalités du
système

▪ Elle s’appuie sur des objets métier simulés et des accès à des bases
de données fictifs

▪ Le maquettage d’interfaces utilisateur est très souvent le meilleur


moyen d’aider l’utilisateur final à articuler ses désirs

▪ L’examen des interactions entre l’utilisateur et la maquette


procure alors une source non négligeable de scénarios, et donc de
moyens de valider le modèle

Mme S. Besbes Essanaa 29


La capture des Besoins du nouveau système

Un SI doit répondre aux besoins des utilisateurs. La capture


de ces besoins nécessite :

▪ L’étude du système existant

▪ L’acquisition des nouveaux besoins :


• Fonctionnels : fonctionnalités du futur système
• Non fonctionnels : concernent la performance, la sécurité,
l’ergonomie, etc.

▪ L’utilisation de techniques d’acquisition (Analyse de la


documentation, interviews, questionnaires, réunions, etc.)

Mme S. Besbes Essanaa 30


Les cas d’utilisation : Définition

▪ Un cas d’utilisation est une fonctionnalité du système,


développée par les programmeurs, pour répondre à un
besoin fonctionnel, relevé lors de l’étude de l’existant.

▪ Les cas d’utilisation décrivent, sous la forme d’actions et de


réactions, le comportement d’un système du point de vue
d’un utilisateur.

▪ Le cas d’utilisation doit décrire l’interaction de l’utilisateur


avec le système et non les opérations que doit réaliser le
système.

Mme S. Besbes Essanaa 31


Les cas d’utilisation : Définition
Attention (erreurs fréquentes !)

1. Un cas d’utilisation n’est pas un besoin mais


une fonctionnalité du système qui répond à un
besoin

2. Les diagrammes de cas d’utilisation ne


permettent pas la spécification des besoins non-
fonctionnels

Mme S. Besbes Essanaa 32


Intérêt des cas d’utilisation

▪ Les cas d’utilisation obligent les utilisateurs à définir la


manière dont ils voudraient interagir avec le système

▪ Les cas d’utilisation concrétisent le futur système dans


une formalisation proche de l’utilisateur

▪ ils favorisent la définition d’un cahier des charges qui


reflète réellement les besoins

Mme S. Besbes Essanaa 33


Intérêt des cas d’utilisation

Utilisateur C

Ensemble des besoins

Utilisateur A Utilisateur B

Les cas d’utilisation partitionnent Cahier des charges


l’ensemble des besoins d’un système

Mme S. Besbes Essanaa 34


Concepts du diagrammes de Cas d'utilisation

1. Les acteurs

2. Les cas d'utilisation

3. Les relations entre acteurs et cas d'utilisation

4. Les relations entre acteurs

5. Les relations entre cas d'utilisation

Mme S. Besbes Essanaa 35


1- Acteur
• Un acteur, ou acteur-type, regroupe un ensemble d’utilisateurs
ayant exactement les mêmes besoins fonctionnels : des médecins,
des étudiants, etc. Chaque utilisateur est une instance de l’acteur

• Les acteurs déclenchent les cas d’utilisation

Voici un diagramme de cas d’utilisation :


Système
il comprend les acteurs, le système et les
cas d'utilisation
Les acteurs sont représentés sous forme
de petits personnages, les cas d'utilisation
sont représentés par des ellipses
contenues dans le système
Mme S. Besbes Essanaa 36
4 grandes catégories d’acteurs

▪ Les acteurs principaux … les personnes qui utilisent


les fonctions principales du système

▪ Les acteurs secondaires …les personnes qui effectuent


des tâches administratives ou de maintenance

▪ Le matériel externe … les dispositifs matériels


incontournables qui font partie du domaine de
l’application et qui doivent être utilisés

▪ Les autres systèmes… les systèmes avec lesquels le


système doit interagir

Mme S. Besbes Essanaa 37


4 grandes catégories d’acteurs

Tous les acteurs n’utilisent pas forcément le système :

• L’acteur principal est celui pour qui le cas d’utilisation produit un


résultat observable

• Les acteurs secondaires sont ceux qui participent à la réalisation


des cas d’utilisation : ils sont souvent sollicités pour des
informations complémentaires ; ils peuvent uniquement consulter
ou informer le système lors de l’exécution du cas

Mme S. Besbes Essanaa 38


2- Cas d’Utilisation

▪ Représente une fonctionnalité du système

▪ Equivalent à une classe ayant des instances

▪ Est un ensemble de scénarios nominaux avec des


éventuellement des exceptions et des enchainements
alternatifs

Formalisme

Cas d'utilisation X

Mme S. Besbes Essanaa 39


3- Relation entre acteurs et cas d'utilisation

Relation de communication

▪ La communication peut être :


– directionnelle ou pas
– étiquetée ou pas Personne Conduire

▪ Supporte un flot de données

Entretenir

Mme S. Besbes Essanaa 40


4- Relation entre acteurs
Super-acteur

▪ Uniquement la généralisation
Généralisation
▪ Sémantique : tous les cas Utilisateur
(père)

accessibles au père, le sont


aussi au fils par héritage !
sens de
l’héritage

Superviseur hérite de utilisateur : il a accès à


tous les cas d’utilisation de utilisateur en Superviseur
Spécialisation
Sous-acteur (fils)
plus des siens

Mme S. Besbes Essanaa 41


5- Relations entre cas d'utilisation
▪ Généralisation : traditionnelle !

▪ « Include » : relation d'inclusion traduisant une obligation


et permettant la réutilisation

▪ « Extend » : relation d'extension non obligatoire


Super-cas
<<inclut>>

Use case Father

<<étend>>
Formalisme

Sous-cas
Use case Child
Annotation
commentaire

Mme S. Besbes Essanaa 42


5.0- La Généralisation

▪ Un cas d’utilisation général représente plusieurs cas


d’utilisation similaires

▪ La spécialisation d’un cas d’utilisation fournit les détails


spécifiques relatifs à un de ces cas similaires
<<include>>

Virement Identification
Client distant <<extend>>

montant > 500 frs

Mme S. Besbes Essanaa Virement par internet Vérification solde compte 43


5.1- La relation d’inclusion

▪ Sert à décrire les points communs contenus dans


plusieurs cas différents

▪ Sont donc inclus dans d’autres cas


• Même des cas très différents peuvent partager un
certain nombre d’actions identiques
• Permet d’éviter la répétition de ces détails dans chacun
des cas

Mme S. Besbes Essanaa 44


5.1- La relation d’inclusion
• La relation d’inclusion a un caractère obligatoire

• Il est possible de spécifier dans le cas source à quel


endroit le cas d’utilisation cible doit être inclus
<<include>>

Virement Identification
Client distant <<extend>>

La relation
montant "Include" est une relation
> 500 frs

entre 2 instances de cas d'utilisation,


telle que la réalisation de l'un
Virement par internet Vérification solde compte
nécessite la réalisation de l'autre
Mme S. Besbes Essanaa 45
5.2- La relation d’extension

▪ Utilisées afin de spécifier des interactions optionnelles


tenant compte des cas exceptionnels

▪ En créant ainsi un cas d’extension, la description principale

peut demeurer simple

▪ Le cas d’extension doit énumérer toutes les étapes

mentionnées dans le cas principal, y compris le traitement

de la situation exceptionnelle

Mme S. Besbes Essanaa 46


5.2- La relation d’extension

Dans une relation d’extension entre cas d’utilisation, le


cas d’utilisation source ajoute son comportement au cas
d’utilisation destination (cible). L’extension peut être
soumise à une condition.
<<include>>

Virement Identification
Client distant <<extend>>

montant > 500 frs

Virement par internet Vérification solde compte

Mme S. Besbes Essanaa 47


5.2- La relation d’extension

On dit qu’un cas d’utilisation X étend un cas d’utilisation


Y, lorsque le cas d’utilisation X peut être appelé au cours
de l’exécution du cas d’utilisation Y

Mme S. Besbes Essanaa 48


5.2- Extension et Inclusion

<<include>>

Virement Identification
Client distant <<extend>>

montant > 500 frs

Virement par internet Vérification solde compte

Mme S. Besbes Essanaa 49


Cas d’utilisation et scénarios
Scénario 1 Scénario 2 Scénario 3

Cas
d’utilisation

Un cas d’utilisation décrit, de manière abstraite, une


famille de scénarios

Mme S. Besbes Essanaa 50


Les Scénarios
Définition :
Un scénario est une instance d’un diagramme de
cas d’utilisation.

▪ Il exprime une occurrence spécifique d’un cas


d’utilisation avec :
• un acteur spécifique ...
• à un moment spécifique ...
• avec des données spécifiques…

Mme S. Besbes Essanaa 51


Les scénarios
▪ Les cas d’utilisation se déterminent en observant et en
précisant, acteur par acteur, les séquences d’interaction
(scénarios) du point de vue de l’utilisateur

▪ Un cas d’utilisation regroupe une famille de scénarios


d’utilisation selon un critère fonctionnel

▪ Les cas d’utilisation sont des abstractions du dialogue entre


les acteurs et le système: ils décrivent des interactions
potentielles, sans entrer dans le détail de chaque scénario

Mme S. Besbes Essanaa 52


Les scénarios

▪ Les cas d’utilisation doivent être vus comme des


classes dont les instances sont les scénarios

▪ Chaque fois qu’un acteur interagit avec le système, le


cas d’utilisation instantie un scénario

▪ Ce scénario correspond au flot de messages échangés


par les objets durant l’interaction particulière qui
correspond au scénario

Mme S. Besbes Essanaa 53


Cas d’Utilisation des Cas d’Utilisation !!!

Mme S. Besbes Essanaa 54


Comment Décrire un Cas d’utilisation ?
1. Nom : Une appellations courte et descriptive
2. Acteurs : Énumérer les acteurs impliqués
3. Buts : Expliquer ce que les acteurs veulent accomplir
4. Préconditions : Décrire l’état du système avant l’exécution
de ce cas
5. Description : Une courte description informelle
6. Référence : Autre cas apparentés
7. Déroulement : Décrire chacune des étapes, sur 2 colonnes
8. Postconditions: Décrire l’état du système après
l’exécution de ce cas
Mme S. Besbes Essanaa 55
Exemple 4 : Utilisation normale d'une caisse enregistreuse :
1. Un client arrive à la caisse avec des articles
2. Le caissier enregistre le code et la quantité de chaque article, si celle-ci est > 1
3. La caisse affiche le prix de l’article et son libellé
4. Lorsque tous les articles ont été enregistrés, le caissier signale la fin de la vente
5. La caisse affiche le total des achats
6. Le client choisit son mode de paiement :
• Liquide : le caissier encaisse l'argent et la caisse indique le montant éventuel à rendre
• Chèque : le caissier note l'identité du client et la caisse enregistre le montant sur le
chèque
• Carte de crédit : un terminal bancaire fait partie de la caisse, il transmet la demande à
un centre d'autorisation multi-banques
7. La caisse enregistre la vente et imprime un ticket
8. Le caissier transmet le ticket imprimé au client
9. Un client peut présenter des coupons de réduction avant le paiement.
10. Lorsque le paiement est terminé, la caisse transmet les informations relatives aux articles
vendus au système de gestion des stocks.
11. Tous les matins, le responsable du magasin initialise les caisses pour la journée. 56
Mme S. Besbes Essanaa
Exemple 4 : Utilisation normale d'une caisse enregistreuse :

Enregistrer Initialisation
Article «Extend » Saisir
Quantité

Responsable
Signaler Coupon de
«Extend »
Caissier fin vente réduction

Transmission Info
Gestion
Stock

Paiement

Liquide Carte de crédit Centre


Chèque d’Autorisations

Mme S. Besbes Essanaa 57


Description textuelle du cas d'utilisation « enregistrement d'un article »
1. Identification :
• Nom du cas : Enregistrement d'un article
• Objectif : Détaille les étapes permettant au caissier d'enregistrer un article.
• Acteurs : Caissier
• Date :< date du jour>
• Responsables : <Vous>
• Version : 1.0
2. Séquencement :
• Le cas d'utilisation commence lorsqu'un client présente un article au caissier
Pré-condition : Il y a un article à saisir
Enchaînement nominal
1) Le caissier enregistre le numéro de l'article
2) La caisse affiche le libellé et le numéro
Enchaînements alternatifs
3) Après 1, si la quantité est supérieure à 1, le caissier enregistre la quant
Post-conditions etc.
Mme S. Besbes Essanaa 58

Vous aimerez peut-être aussi