Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Cours 5 – UML,
Diagramme des Cas
d’Utilisation (DCU)
Véronique DESLANDRES
UML, Master Miage Parcours SIGS
Plan de ce cours
• Regroupement en packages
2
Diagrammes de cas d'utilisation, DCU
Use Case
3
Cas d’utilisation : présentation
S I ON
VI E UR
I SA T
UT I L
4
UML V. Deslandres – IUT de LYON
Un Cas d’utilisation, c’est :
• Une fonctionnalité complète du système
• Exemple :
– Dans le système Guichet automatique d’une banque (GAB), « retirer
de l’argent » est un CU.
– C’est une fonctionnalité complète du système qui va de l’insertion de
la carte par le client, jusqu’à la récupération de la carte par le client.
5
UML V. Deslandres – IUT de LYON
Use Case / scénarios
• Un use case = un ensemble de scénarios, détaillant tous les cas
possibles
• Exemple pour le retrait, un scn d’exception :
– Dans le GAB, un client tente de retirer de l’argent mais son compte
est insuffisamment alimenté : refus
• Un scénario = une instance d’un CU, comme un Objet est une
instance de classe
6
UML V. Deslandres – IUT de LYON
Cas d’utilisation : les acteurs
7
UML V. Deslandres – IUT de LYON
Exercice :
quels sont les acteurs ?
9
Acteurs : externes
• Le client est client de la banque
10
Exercice : acteur interne ou externe ?
Facturation
Progiciel de
Comptabilité
13
UML V. Deslandres – IUT de LYON
Cas d’utilisation : décrire le QUOI
l Diagramme de description du QUOI FAIRE
l Quelles sont les fonctionnalités : on décrit les cas précis d'utilisation
de l'application
14
UML V. Deslandres – IUT de LYON
Relations entre cas d’utilisation : « include, extend »
X X
Cas de base Cas de base
<<include>> <<extend>>
Y
Cas inclus Y Extension
<<include>> <<extend>>
Saisie
articles &
Gestion
quantités Client
17
SIVEX : DCU Gestion des Commandes
Gestion
des Clients
<<extend>> Point d'extension :
nouveau client
Gestion de
Commande
Réceptionniste
Client
Consultation
(acteur secondaire)
d'en-cours
18
UML V. Deslandres – IUT de LYON
Exemples
Quelles relations utiliser ?
Modification
Modification include
? Vérification
Vérification
document
document droit
droit d’accès
d’accès
?
Retirer
Retirer
dede extend Editer
Editerunun
l’argent
l’argent ticket
ticket
Saisie
Saisie include
? Vérification
Vérification
commande
commande stock
stock
19
UML V. Deslandres – IUT de LYON
Relations : Acteurs / Cas
• Initialisation d’un CU, généralisation d’acteurs
Authentification
Utilisateur
21
UML V. Deslandres – IUT de LYON
Use Case : généralisation des cas
SIVEX - Gestion des missions
secondaire
Répartiteur Chauffeur
22
UML V. Deslandres – IUT de LYON
Exemple1 : diagnostic médical
Règlement /
facturation
secrétaire
Analyse des
symptômes
patient
<< include >>
Proposition du traitement
23
UML V. Deslandres – IUT de LYON
Application du poste secrétaire
Un Cas d’utilisation =
un menu ou un bouton
de l’IHM
NON
Gestion des RDV
Règlement /
secrétaire facturation
Analyse des
Demande symptômes
absence
patient
<< include >>
25
UML V. Deslandres – IUT de LYON
Exemple2 : une agence de banque
Ouvrir un compte
Effectuer
opérations sur
les comptes
Gérer les
rendez-vous
Gestion de
commande
Prospecter
responsable
Gérer les clients
clientèle
26
Exemple3: développement de logiciel
Définir les
Utilisateur besoins
Chef de projet
Piloter le processus
(maîtrise d'œuvre) Maître
dvpt Objet
d'ouvrage
Concevoir une
architecture
technique
Architecte Architecte
logiciel technique
Organiser le
développement
logiciel et les
tests
Tester
Utilisateur Développeur
27
Exemple 4 : eLearning
Chercher un cours
« include »
Récupérer les
Internaute
cours ouverts
Visualiser les pré
requis du cours
S’abonner
Télécharger un
cours
Extension : si l’abonné
« extends » n’est pas déjà connecté
Authentification Serveur de
Abonné Cours
28
UML V. Deslandres – IUT de LYON
Questions
sur l’ex 4
eLearning
• Acteurs = rôles
• Acteurs nécessairement externes à l’application
• Acteurs principaux : à gauche
• Un cas = une verbe ou un nom verbal
• « Traiter » ou « traitement »
Gérer les clients
RetirerArgent
Client Distributeur
Client
35
UML V. Deslandres – IUT de LYON
Description du Cas : RetirerArgentDistributeur
Précondition le distributeur contient des billets ; il est en attente d’une opération : il
n’est ni en panne, ni en maintenance.
Postcondition si de l’argent a pu être retiré, la somme d’argent sur le compte est égale
à la somme d’argent qu’il y avait avant moins le retrait. Sinon, la somme d’argent
sur le compte est inchangée.
Déroulement normal
Le cas d’utilisation démarre quand (1) le client introduit sa carte bancaire, (2) le
système lit la carte et vérifie si la carte est valide, (3) le système demande au client
de taper son code, (4) le client tape son code confidentiel, (5) le système vérifie que
le code correspond à la carte, (6) le client choisit une opération de retrait, (7) le
système demande le montant à retirer, etc.
Variantes
(A) Carte invalide : au cours de l’étape (2), si la carte est jugée invalide, le système
affiche un message d ’erreur, rejette la carte et le cas d’utilisation se termine.
(B) …
Contraintes non fonctionnelles
(A) Performance : le système doit réagir dans un délai inférieur à 4 secondes,
quelque soit l’action de l’utilisateur.
(B) Sécurité …
36
UML V. Deslandres – IUT de LYON
Exercice : validité des UC
37
UML V. Deslandres – IUT de LYON
Exercice : validité des UC
• Système d’eCommerce
• Que penser de ces cas d’utilisation ?
Se
Supprimer
connecter
un article
Traiter les
retours
Imprimer Négocier
un contrat
38
UML V. Deslandres – IUT de LYON
Validité des Use Case : éléments de réponse
• La question plutôt à se
poser est :
• À quel niveau faut-il exprimer un
cas d’utilisation de façon à ce qu’il
soit utile pour l’analyse des
besoins ?
Supprime
r un
• « Supprimer un article » : activité
article élémentaire !
• Un cas "Gestion Articles" serait plus
approprié
Gérer les
articles è Généraliser le CU
40
UML V. Deslandres – IUT de LYON
Illustration sur l’exercice (2)
Se
• Ce n’est pas un processus métier
connecter • C’est un cas informatique
è C’est un CU inclus
43
UML V. Deslandres – IUT de LYON
Exercice du Site
eCommerce
Quels sont les acteurs ?
44
UML V. Deslandres – IUT de LYON
Un indice : ils sont plus que 5 et moins
que 8…
45
UML V. Deslandres – IUT de LYON
Exercice du Site
eCommerce
Elaborer le DCU
(il y a au moins 6 cas d’utilisation)
46
UML V. Deslandres – IUT de LYON
Site d’eCommerce, les acteurs
47
UML V. Deslandres – IUT de LYON
48
Packages
• Pour qu’un diagramme reste lisible, on regroupe les CU en
packages
• Souvent, regroupement par logique Métier : c’est le début de
l’architecture logicielle
• Ou par acteur, ou par lot de livraison
49
Un package Client
50
Un package BackOffice
51
Un package Admin
52
Dépendances entre packages
Système
Commander
Utilisateur
include
Client Guichetier
54
• Mettre des « activités atomiques » comme cas d’utilisation
Client Client
Trop détailler
Gérer les clients
Client
Enregistre extends
le retour
include
Opérateur SAV Obtenir un avoir
extends
Vérifier validité
Créer un avoir du retour
Livrer la Enregistrer
commande la livraison
Livreur Livreur
57
Les erreurs classiques (3)
58
UML V. Deslandres – IUT de LYON
Ex. : Gestion des entités Métier
pour une application de gestion des
Transports Publics
Affecter chauffeurs
sur les lignes CAS de « GESTION METIER »
Resp.
d’exploitation
Gérer les
Gérer les retards chauffeurs
sur une ligne
Gérer les
bus
(héritage)
Gérer les remplacements
59
UML V. Deslandres – IUT de LYON
Les erreurs classiques (fin)
Mentionner des acteurs internes au niveau du DCU
Annoncer un
retard
Bus
Gérer les
retards
Resp. d’exploitation
60
UML V. Deslandres – IUT de LYON
DCU : bonnes pratiques
• Recommandations d’I. Jacobson :
– N’abusez pas des relations entre cas d’utilisation (surtout extension et
généralisation)
– Pas plus de 20 cas de base pour tout le projet (hors cas inclus, extensions,
spécialisation)
– Un cas d’utilisation ne doit pas se réduire à une simple action
– Bien choisir les termes, exploiter les notes explicatives pour enlever toute
ambiguïté de lecture
61
À vous de jouer !
EXERCICES DCU
62
UML V. Deslandres – IUT de LYON
Agence de voyage / relations entre
cas d’utilisation
63
Agence de voyage / relations
entre cas d’utilisation
• Soit un système qui modélise une agence de voyage. Cette agence organise des
voyages avec un hébergement en hôtel. L’agence s’arrange pour que le client
dispose d’un taxi s’il arrive en train sur son séjour pour se rendre à l’hôtel.
• Le système modélisé est celui utilisé par l’agent de voyage.
• Quelles seraient les relations à utiliser entre les cas d’utilisation « Organiser un
voyage », « Réserver une chambre », « Réserver un billet de train » et « Réserver
un taxi » ?
• Certains clients demandent à l’agent d’établir une facture détaillée de la
prestation. Ajouter un cas « Établir une facture détaillée » et la mettre en relation
avec les autres cas.
• On apprend finalement que le voyage se fait soit par train, soit par avion.
Comment modéliser cela ?
67
Société d’intérimaires
68
Agence d’intérimaires
• Dans une agence d’intérimaires, le gestionnaire a comme objectif de placer
des intérimaires sur des missions qui lui sont proposées par des entreprises.
• C’est l’agence qui paye les intérimaires, en contre partie elle reçoit un
paiement pour sa prestation (sur laquelle elle prend une marge). L’agence
n’attend pas que les propositions lui arrivent, elle fait aussi de la
prospection.
• Le gérant suit régulièrement l’activité de son agence par divers reportings.
70
Librairie en ligne
Regroupement :
l d’éléments d’un modèle
l d’autres packages
l Contraintes :
l tout élément n’appartient qu’à un seul paquetage
include
import
use
76
UML V. Deslandres – IUT de LYON
Ex. SIVEX, lien entre
classes
<<category>>
<<category>>
Ressources
(from Logical View )
Missions
(from Logical View ) <<category>>
Commandes
Chauffeur (from Logical View )
(from Ressources) est affecté à
1 0..1
trai te 1..n Commande
Mission
(from Commandes)
0 ..1
est affecté à 1
0 ..1
1
Véhicule
1
(from Ressources)
1..n
est planifiée pour
Etape 0..1
77
UML © V. Deslandres – IUT de LYON
è Dépendance entre packages
<<category>>
Missions
+ Miss ion
+ Etape
<<import>> <<import>>
<<category>>
Ressources
<<c ategory>>
+ Chauffeur Commandes
+ Véhicule
+ Commande
78
UML © V. Deslandres – IUT de LYON
Dépendances (1)
• Une dépendance existe entre 2 éléments si :
– Des changements apportés à la définition de l’un peuvent entraîner des
modifications dans l’autre
– Au niveau des classes, des dépendances peuvent exister pour plusieurs raisons :
• Une classe est en association avec une autre
• Une classe en a une autre dans ses attributs
• Une classe en utilise une autre comme paramètres de l’une de ses
opérations
79
UML © V. Deslandres – IUT de LYON
Dépendances (2)
• Exemple : soit une application multi-couches (présentation, métier,
données) :
80
UML © V. Deslandres – IUT de LYON
Graphes de Dépendances
dans SIVEX
<<category>>
Transmission
Comptable
<<category>>
Comptabilité
<<category>> <<category>>
Missions Commandes
<<category>>
Clients
<<category>>
Colis
<<category>>
Ressources
<<category>>
Plan de
Transport
<<category>> <<category>>
Réseau
Exploitation
Informatique
81
UML © V. Deslandres – IUT de LYON