<!-- Slide number: 1 -->
Axe fonctionnel : cas d’utilisation
2ème année Ingénieurs en Informatique
ENIT

Nejib Ben Hadj-Alouane
<!-- Slide number: 2 -->
Introduction (1/2)
2
Axe fonctionnel
Axe statique
Axe dynamique
Point de vue
Axe fonctionnel : Cas d'utilisation
<!-- Slide number: 3 -->
Introduction (2/2)
3
Cas d’utilisation (CU) = principal appui de l’axe fonctionnel
Description des exigences fonctionnelles du système
Définition des frontières du système ainsi que ses relations avec son environnement
Utilisé dans l’étape de capture et de spécification des besoins
Description des CU basée sur la notion de scénarios
Axe fonctionnel : Cas d'utilisation
<!-- Slide number: 4 -->
Diagramme de cas d’utilisation
4
le plus simple d'UML, le moins technique, mais aussi souvent le plus mal utilisé
Concepts fondamentaux
Cas d’utilisation
Acteurs (humains, non humains)
Relations
Entre un cas d’utilisation et un acteur
Entre les acteurs
Entre les cas d’utilisation
Axe fonctionnel : Cas d'utilisation
<!-- Slide number: 5 -->
Cas d’utilisation
5
Modélisation du point de vue de l’utilisateur
Spécification d’un service rendu par le système à l’utilisateur
Composé d’actions déclenchées par un acteur, réalisées par le système et produisant un résultat significatif pour l’acteur
Formalisme graphique
Verbe+complément
Gérer une commande
Axe fonctionnel : Cas d'utilisation
<!-- Slide number: 6 -->
Recenser les cas d’utilisation
6
Se placer du point de vue de chaque acteur
Déterminer comment chaque acteur se sert du système
Dans quels cas l’acteur utilise le système
A quelles fonctionnalités l’acteur doit avoir accès
Rester au niveau des grandes fonctions du système
Axe fonctionnel : Cas d'utilisation
<!-- Slide number: 7 -->
Acteurs (1/2)
7
Ensemble de rôles joués par une entité externe
Interaction directe avec le système
Appartenant à l’environnement du système
Formalisme graphique

« actor »
Acteur non humain
Acteur humain
e.g.

« actor »
Système logistique
Caissier
Axe fonctionnel : Cas d'utilisation
<!-- Slide number: 8 -->
Acteurs (2/2)
8
Deux types
Principal :
Au moins un acteur principal
Résultat du cas d’utilisation lui est favorable
Secondaire :
Eventuellement d’autres acteurs secondaires
Sollicité par le système lors de l’exécution du CU
Axe fonctionnel : Cas d'utilisation
<!-- Slide number: 9 -->
Relations (1/3)
Publicité
9
Entre un cas d’utilisation est un acteur
Relation signifiant « participe à »
Déclenche le CU / Reçoit seulement l’action
CU1

CU2
acteur
Réception seulement
Axe fonctionnel : Cas d'utilisation
<!-- Slide number: 10 -->
Relations (2/3)
10
Entre acteurs
Relation de généralisation
Si l’acteur A généralise l’acteur B, alors tous les cas d’utilisation accessible à A le sont aussi à B. Mais l’inverse est faux

e.g.

CU1
Traiter une commande
Acteur A
Vendeur


CU2
Gérer le stock
Axe fonctionnel : Cas d'utilisation
Acteur B
Responsable vente
<!-- Slide number: 11 -->
Relations (3/3)
11
Relation entre les cas d’utilisation (1/3)
Relation d’inclusion
Représentée par le stéréotype « include »
Enrichissement obligatoire du CU de base
N’est pas directement accessible à l’acteur
Décomposition interne du CU de base
CU commun, inclus dans d’autres et donc sa factorisation
CU1.1
Identifier client
e.g.
Cas inclu


« include »
« include »
CU1
Gérer commande
Cas de base
acteur
vendeur
Axe fonctionnel : Cas d'utilisation
<!-- Slide number: 12 -->
Relations (3/3)
12
Relation entre les cas d’utilisation (2/3)
Relation d’extension
Représentée par le stéréotype « extend »
Enrichissement optionnel du CU de base
Extension faite dans le CU de base appelée point d’extension
Extension optionnelle, donc exécution indépendante des deux cas
Gérer client
e.g.
CU2
Cas étendu


« extend »
« extend »
Point Ext2
Gérer commande
Points d’extension
Point Ext1
Point Ext2
CU1
Cas de base
vendeur
acteur
Axe fonctionnel : Cas d'utilisation
<!-- Slide number: 13 -->
Relations (3/3)
13
Publicité
Relation entre les cas d’utilisation (3/3)
Relation de spécialisation/généralisation
Expression d’un héritage à partir d’un CU de base
Héritage de la description des parents
+ interactions spécifiques ou modification des interactions héritées
e.g.
CU
Rechercher un produit


Acteur
Vendeur
CU1
CU2
Recherche rapide
Recherche avancée
Axe fonctionnel : Cas d'utilisation
<!-- Slide number: 14 -->
Etapes de représentation du diagramme
14
Etape 1 : Identification des acteurs
Etape 2 : Identification des CUs et représentation dans un tableau
Etape 3 : Utiliser le tableau pour représenter une première vue du diagramme de cas d’utilisation
Etape 4 : Compléter le diagramme par les relation d’
Inclusion « include »
Extension « extend »
Héritage
| Acteurs\CUs | CU1 | CU2 | CU3 |
| --- | --- | --- | --- |
| Acteur1 | P ou S | P ou S | P ou S |
| Acteur2 | P ou S | P ou S | P ou S |
P = acteur principal
S = acteur secondaire
Axe fonctionnel : Cas d'utilisation
<!-- Slide number: 15 -->
Règles de bonne pratique
15
Suivre le raisonnement du test du patron : « À quoi avez-vous passé la journée ? »
Se tenir à la description textuelle
Ne pas laisser libre cours à son imagination de peur de dévier des exigences de l’utilisateur
Bonne évaluation de la taille d’un CU : ni trop grand ni trop petit
Suivre le point de vue de l’utilisateur et non celui de l’application visée
Axe fonctionnel : Cas d'utilisation
<!-- Slide number: 16 -->
Fonctionnement des cas d’utilisation
16
UML n’impose rien quant à la description du système
Diagramme de CU pour la description du système de point de vue acteur mais échange de messages ignoré
Les pré-conditions : état du système avant le déroulement de la séquence
L’enchaînement des messages
Les post-conditions : état du système après le déroulement de la séquence nominale
Axe fonctionnel : Cas d'utilisation
<!-- Slide number: 17 -->
Fonctionnement des cas d’utilisation
17
Description précise de l’interaction des acteurs avec le système
Basé sur la notion de scénario
Scénario = succession particulière d’enchainements, s’exécutant du début à la fin du CU
Deux types de scénarios
Nominal
Alternatif qui se termine normalement ou en échec
Axe fonctionnel : Cas d'utilisation
<!-- Slide number: 18 -->
Description textuelle des CUs
18
Plan type
Titre
Objectif
Acteurs
Pré-conditions
Post-conditions
Description du scénario nominal
Description des scénarios alternatifs
Description des scénarios d’erreur
Axe fonctionnel : Cas d'utilisation
<!-- Slide number: 19 -->
Description textuelle des CUs (e.g.)
19

Réserver un véhicule
« actor »
Système bancaire
client
Titre : Réserver un véhicule
Publicité
Objectif : Ce CU permet à un internaute de saisir une demande de réservation
Acteurs : client (principal), système bancaire (secondaire)
Pré-condition : Un véhicule est disponible pendant la période
Post-condition : Une demande de réservation a été enregistrée par le système avec toutes les informations nécessaires
Axe fonctionnel : Cas d'utilisation
<!-- Slide number: 20 -->
Description textuelle des CUs (e.g.)
20
Descriptif du scénario nominal
Le client saisit son code d’identification
Le système vérifie son code d’identification
Le système demande au client de saisir les informations sur la réservation
Le client saisit les informations sur la réservation
Le système interroge l’acteur système bancaire pour vérifier l’acompte
Le système bancaire donne une réponse favorable
Le système envoie au client un message de confirmation
Axe fonctionnel : Cas d'utilisation
<!-- Slide number: 21 -->
Description textuelle des CUs (e.g.)
21
Description des scénarios alternatifs
SA1 : code d’identification erroné pour la 1ère ou la 2ème fois
SA1 démarre au point 2 du scénario nominal
Le système indique au client que le code est erroné, pour la 1ère et la 2ème fois
Le scénario reprend au point 1.
Descriptifs des scénarios d’erreur
SE1 : code d’identification erroné pour la 3ème fois
SE1 démarre au point 2 du scénario nominal
Le système indique au client que le code est erroné pour la 3ème fois. Le CU se termine en échec (l’objectif n’est pas atteint)
Axe fonctionnel : Cas d'utilisation
<!-- Slide number: 22 -->
Diagramme de séquences système
22

Axe fonctionnel : Cas d'utilisation
2011
<!-- Slide number: 23 -->
Diagramme de séquences système
23
Version simplifiée du Diagramme de Séquence de conception
Compléter la description textuelle du CU
Description graphique d’un scénario représentatif d’un cas d’utilisation
Un DSS pour la description d’un seul scénario à la fois
Représentation des interactions entre les acteurs et le système
Système vu comme une boite noire
Axe fonctionnel : Cas d'utilisation
2011
<!-- Slide number: 24 -->
Diagramme de séquences système
24

Instance d’acteur
:système
:acteur
Action importante (interne)
Message
Ligne de vie
Axe fonctionnel : Cas d'utilisation
2011
<!-- Slide number: 25 -->
Règles de bonne pratique
25
R1 : Messages provenant de l’acteur jamais sous forme de verbe
R2 : Messages bouclant sur le système sous forme de verbe
R3 : Messages provenant du système, deux cas possibles
Verbe si message représentant une action importante
Pas de verbe si message évalué par l’analyste non important
Axe fonctionnel : Cas d'utilisation
2011
<!-- Slide number: 26 -->
Diagramme de séquences système (e.g.)
26

Scénario nominal du CU effectuer une commande

:Système commercial
:acteur
:service commande
Nouvelle commande
Afficher formulaire de commande
Commande saisie
Vérifier commande
Afficher message confirmation
Transmettre commande
Publicité
Axe fonctionnel : Cas d'utilisation
2011
<!-- Slide number: 27 -->
Diagramme d’activités système
27

Axe fonctionnel : Cas d'utilisation
2011
<!-- Slide number: 28 -->
Diagramme d’activités système
28
Version simplifiée du Diagramme d’activités de conception
Compléter la description textuelle du CU
Description de tous les scénarios
Vision globale de toutes les actions géreés par le système
Étapes réalisées en parallèle ou en séquence
Gestion des boucles et des conditions
Axe fonctionnel : Cas d'utilisation
2011
<!-- Slide number: 29 -->
Diagramme d’activités système
29
Concepts
Activité : action importante du système
Transition : relation entre les activités, représentant la fin d’une activité et le début d’une autre
Condition : restriction de l’utilisation d’une transition, devant être vraie pour le déclenchement de la suite
Décision : représentation d’options identifiées par des conditions exclusives
Parallélisme : fourche ou synchronisation
Point de départ/point d’arrivée
Axe fonctionnel : Cas d'utilisation
2011
<!-- Slide number: 30 -->
Diagramme d’activités système
30
Transition
Décision
Point d’arrivée
[cond1]
Activité1
Activité2
Point de départ
[cond2]
Condition
Activité
Activité3
Décision
parallélisme
Activité4
Activité5
Point d’arrivée
Axe fonctionnel : Cas d'utilisation
2011
<!-- Slide number: 31 -->
Règles de bonne pratique
31
R1 : Prendre toutes les actions sous forme de verbe partant du système
R2 : Chaque action sous forme de verbe représentée par une activité
R3 : Méthode juste si et seulement si les 3 règles de construction du DSS sont respectée
Axe fonctionnel : Cas d'utilisation
2011
<!-- Slide number: 32 -->
Diagramme d’activités système (e.g.)
32
Description du cas effectuer une commande
Afficher formulaire
Vérifier commande
[non valide 1 fois]
[valide]
Afficher message confirmation
[non valide 2fois]
[fin anormale]
Transmettre commande
[fin normale]
Axe fonctionnel : Cas d'utilisation
2011
<!-- Slide number: 33 -->
Ne jamais oublier…
33
A force de forger, on devient forgeron!!!
Axe fonctionnel : Cas d'utilisation
2011