Aller au contenu

Cas d'utilisation⚓︎

Rappel

👉 UML permet de construire plusieurs modèles d’un système : certains montrent le système du point de vue des utilisateurs, d’autres montrent sa structure interne, d’autres encore en donnent une vision globale ou détaillée. Les modèles se complètent et peuvent être assemblés.
👉 Ils sont élaborés tout au long du cycle de vie du développement d’un système (depuis le recueil des besoins jusqu’à la phase de conception). Dans ce chapitre, nous allons étudier un des modèles , en l’occurrence le premier à construire : le diagramme de cas d’utilisation.
👉 Il permet de recueillir, d’analyser et d’organiser les besoins. Avec lui débute l’étape d’analyse d’un système.

1.Notation de base⚓︎

1.1 Acteurs et useCase⚓︎

On va aborder ici un nouveau diagramme de la famille des diagrammes illustrant une vue statique du système.

Le diagramme de cas d'utilisation est un élément essentiel du langage UML qui permet de représenter graphiquement les interactions entre les acteurs externes et le système. Cet outil graphique permet de représenter de manière globale les fonctionnalités du système du point de vue des utilisateurs et des intervenants externes.

Intérêt du diagramme

  • Permettent de délimiter les frontières du système
  • Constituent un moyen d’exprimer les besoins d’un système
  • Utilisés par les utilisateurs finaux pour exprimer leurs attentes et leurs besoins
  • Permettent d’impliquer les utilisateurs dès les premiers stades du développement
  • Constituent une base pour les tests fonctionnels

Les éléments de base d'un diagramme de cas d'utilisations (useCase) sont :

🚶 Acteur : entité externe qui agit sur le système (opérateur, autre système...).

🔹 L'acteur peut consulter ou modifier l'état du système.
🔹 En réponse à l'action d'un acteur, le système fournit un service qui correspond à son besoin.
🔹 Les acteurs peuvent être classés (hiérarchisés) en faisant une sorte d’héritage.

⚪️ Use case : ensemble d'actions réalisées par le système, en réponse à une action d'un acteur.

🔹 Les uses cases peuvent être structurés.
🔹 Les uses cases peuvent être organisés en paquetages (packages).
🔹 L'ensemble des use cases décrit les objectifs (le but) du système.

Convention graphique

convention graphique

exemple

Exercice Vrai/Faux⚓︎

Compléter le tableau (Vrai ou Faux) :

Analyse Vrai ou Faux
Un acteur est forcément une personne humaine
Une seule relation peut lier un acteur aux cas d'utilisation
Un cas d'utilisation peut être en relation avec plusieurs acteurs
Un cas d’utilisation peut être en relation avec un autre cas d’utilisation
Un acteur peut être en relation avec un autre acteur.
Une même personne peut être représentée par plusieurs acteurs.
Correction
Analyse Vrai ou Faux
Un acteur est forcément une personne humaine ❌
Une seule relation peut lier un acteur aux cas d'utilisation ❌
Un cas d'utilisation peut être en relation avec plusieurs acteurs ✅
Un cas d’utilisation peut être en relation avec un autre cas d’utilisation ✅
Un acteur peut être en relation avec un autre acteur. ❌
Une même personne peut être représentée par plusieurs acteurs ✅

2. Relations entre Acteurs⚓︎

La seule relation possible entre deux acteurs est la généralisation :
un acteur A est une généralisation d’un acteur B si l’acteur A peut être substitué par l’acteur B. Dans ce cas, tous les cas d’utilisation accessibles à A le sont aussi à B, mais l’inverse n’est pas vrai.

heritage

Exercice : Station Service⚓︎

1️⃣ Le client se sert de l'essence de la façon suivante. Il prend un pistolet accroché à une pompe et appuie sur la gâchette pour prendre de l'essence. Qui est l'acteur du système ? Est-ce le client, le pistolet ou la gâchette ?

Correction

Le client est l’acteur du système. Le pistolet et la gâchette sont des ressources utilisées par le système.

2️⃣ Le pompiste peut se servir de l'essence pour sa voiture. Est-ce un nouvel acteur ?

Correction

Si le pompiste accompli uniquement les tâches d’un client, il est inutile de créer un nouvel acteur. Il sera lui-même client.

3️⃣ La station a un gérant qui utilise le système informatique pour des opérations de gestion. Est-ce un nouvel acteur ?

Correction

Oui, le gérant est un nouvel acteur.

4️⃣ La station-service a un petit atelier d'entretien de véhicules dont s'occupe un mécanicien. Le gérant est remplacé par un chef d 'atelier qui, en plus d'assurer la gestion, est aussi mécanicien. Comment modéliser cela ?

Correction

Un nouvel acteur, le chef d’atelier est créé à la place du gérant. Il hérite d’un autre acteur : le mécanicien.

5️⃣ Quel est le défaut du diagramme suivant ?

useCase erroné

Correction

Il ne faut pas introduire de séquencement temporel entre les cas d’utilisation.
On peut faire apparaître Cette notion dans le scénario de la description détaillée du cas d’utilisation (voir ci après), mais pas dans le diagramme.
De plus, il est incorrect d’utiliser un trait plein pour relier deux cas d’utilisation. Cette notation est réservée entre acteur et cas d’utilisation. Les seules notations admises entre deux cas d’utilisation sont Include, extend ou héritage.

station service

3. Relations entre cas d’utilisation⚓︎

3.1 Inclusion⚓︎

Relation d’utilisation : <<include>> : Le cas d’utilisation contient un autre cas d’utilisation

L'inclusion est une relation entre deux cas d'utilisation, où l'un inclut l'exécution de l'autre à un endroit spécifié. Elle est représentée par une flèche pointant vers le cas d'utilisation inclus avec la mention «include». L'inclusion est utilisée pour réutiliser un ensemble de comportements communs dans plusieurs cas d'utilisation sans dupliquer le même scénario dans chacun d'eux. Le cas d'utilisation inclus est généralement appelé "sous-cas d'utilisation".

Exemple :

Cas d'utilisation principal : "Acheter un produit en ligne"
↪️ Cas d'inclusion : "Sélectionner le mode de paiement"
Dans cet exemple, "Sélectionner le mode de paiement" est inclus dans le cas d'utilisation "Acheter un produit en ligne".

3.2 Extension⚓︎

Relation d’extension : <<extend>>: Le cas d’utilisation étend (précise) les objectifs (le comportement) d’un autre cas d’utilisation

L'extension est une relation entre deux cas d'utilisation, où l'un étend le comportement de l'autre à un point spécifié sans modifier le scénario de base. Elle est représentée par une flèche pointant vers le cas d'utilisation étendu avec la mention «extend». L'extension est utilisée pour modéliser des comportements optionnels ou conditionnels qui peuvent enrichir le scénario de base. Le cas d'utilisation étendu est généralement appelé "extension".

Exemple :

Cas d'utilisation principal : "Gérer un compte utilisateur"
↪️ Cas d'extension : "Envoyer une notification par e-mail en cas de modification du compte"
Dans cet exemple, "Envoyer une notification par e-mail en cas de modification du compte" est une extension qui peut être activée en fonction de certaines conditions dans le cas d'utilisation principal "Gérer un compte utilisateur".

inclusion

Le point d'extension : 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 de B. Le cas A dépend de B et la flèche va de A vers B.
Le point d’extension, c'est le point précis à partir duquel le scénario étendu peut être déclenché. Il porte un nom dans un compartiment du cas étendu.

exemple extension

Exemple détaillé point d'extension Gérer une Réservation d'Hôtel

Voici un exemple pour illustrer la notion de point d'extension :

Cas d'Utilisation Principal : "Gérer une Réservation d'Hôtel"
Point d'Extension : "Appliquer un Rabais Spécial"

Scénario Principal :

📋 Texte
L'utilisateur crée une réservation d'hôtel.
Le système calcule le coût standard de la réservation.

Point d'Extension : "Appliquer un Rabais Spécial"

Scénario d'Extension (si la condition est remplie) :

📋 Texte
Si le client est un membre fidèle, le système applique un rabais spécial.
Le système recalcule le coût avec le rabais.

Suite du Scénario Principal : 3. Le client confirme la réservation.

📋 Texte
Le système enregistre la réservation.

Dans cet exemple, "Appliquer un Rabais Spécial" est le point d'extension, et il indique l'endroit où le scénario d'extension peut être activé sous certaines conditions (par exemple, si le client est un membre fidèle).

3.3 Généralisation d'un UseCase⚓︎

La généralisation appliquée à un cas d'utilisation dans un diagramme de cas d'utilisation UML permet de modéliser une relation d'héritage entre des cas d'utilisation. Cela signifie qu'un cas d'utilisation spécifique, appelé cas d'utilisation enfant, hérite des propriétés et des comportements d'un cas d'utilisation plus général, appelé cas d'utilisation parent. le cas d'utilisation enfant est un cas particuler du cas d'utilisation parent.

exemple

Cas d'Utilisation Parent : "Gérer une Réservation de transport"
↪️ Cas d'Utilisation enfant : "Gérer une Réservation d'avion"
↪️ Cas d'Utilisation enfant : "Gérer une Réservation de train"

3.4 Exemple complet⚓︎

cas complet DAB

3.5 Exercices⚓︎

L'Agence de voyages⚓︎

Choisissez et dessinez les relations entre les cas suivants :

  1. Une agence de voyages organise des voyages où l'hébergement se fait en hôtel. Le client doit disposer d 'un taxi quand il arrive à la gare pour se rendre à l'hôtel.

diagramme de base

  1. Certains clients demandent à l'agent de voyages d'établir une facture détaillée. Cela donne lieu à un nouveau cas d 'utilisation appelé « Etablir une facture détaillée ». Comment mettre ce cas en relation avec les cas existants ?

  2. Le voyage se fait soit par avion, soit par train. Comment modéliser cela ?

correction

diagramme complet

Réservation de salles et matériel⚓︎

Dans un établissement scolaire, on désire gérer la réservation des salles de cours ainsi que du matériel pédagogique (ordinateur portable ou/et tablette).
▶️ Seuls les enseignants sont habilités à effectuer des réservations (sous réserve de disponibilité de la salle ou du matériel).
▶️ Le planning des salles peut quant à lui être consulté par tout le monde (enseignants et étudiants).
▶️ Par contre, le récapitulatif horaire par enseignant (calculé à partir du planning des salles) ne peut être consulté que par les enseignants.
▶️ Enfin, il existe pour chaque formation un enseignant responsable qui seul peut éditer le récapitulatif horaire pour l’ensemble de la formation.

Correction

reservation de matériel

4. Cas d'utilisation détaillée⚓︎

Un diagramme de classe s'accompagne d'une description détaillée, qui permet d'enrichir les futurs cas de tests et de recettes.

cas complet

exemple :

Use case Commande Use case commande détaillé