Vous êtes sur la page 1sur 16

UML

Les diagrammes de cas d'utilisation

Cedric Dumoulin
Qu’est-ce
qu’un cas d’utilisation ?
n Technique permettant d’identifier et de décrire les
fonctionnalités d’un logiciel qui sont significatives
pour ses utilisateurs (humains, matériels, logiciels)
n Permet de décrire les interactions du logiciel avec son
environnement
n Expression du comportement du logiciel (actions et réactions)
selon le point de vue des utilisateurs
n Détermination des besoins fonctionnels des utilisateurs cibles
n Introduit par Ivar Jacobson en 1986
Diagramme de cas d’utilisation
Principaux concepts

n Acteurs
n Cas d’utilisation
n Relations
n Entre acteurs et cas d’utilisation
n Entre acteurs
n Entre cas d’utilisation
Exemple
Un acteur Un rôle

n en UML un acteur est une classe stéréotypée <<Actor>>


Exemple avec conditions
Les acteurs
n Représentation idéalisée d’une personne, d’un logiciel,
d’un processus, d’une organisation qui interagit (depuis
l’extérieur) avec le logiciel
n Rôle joué par cette personne, logiciel, etc.
n Une même personne peut correspondre à plusieurs acteurs
n Un même acteur peut être joué par plusieurs entités
L'acteur peut consulter ou modifier l'état du logiciel :
interaction avec le cas d’utilisation par envoi de message
n En réponse à l'action d'un acteur, le logiciel fournit un
service : le cas d’utilisation qui correspond à la
fonctionnalité désirée

n On trouve les acteurs en observant les utilisateurs directs du


système, ceux qui sont responsable de sa maintenance, ainsi
que les autres systèmes qui interagissent avec le système
Cas d’utilisation
Scenario
n Définition UML :
n Un cas d'utilisation définit un ensemble d’instances de cas d'utilisation, où chaque
instance est une séquence d'actions (scénario) exécutées par un système qui produit
un résultat observable (valeur) par un acteur particulier.

n Scénario
n Un scénario est une séquence d’actions, généralement déclenchée par un acteur.
n {Pré - condition} scénario {post – condition}
n Un scénario est une instance du cas d’utilisation
Les acteurs
n Relation entre acteurs
n Généralisation (héritage)
n Toute personne
empruntant des journaux
peut aussi jouer le rôle
d’emprunteur de livres.
Exemple - Généralisation
d’acteurs (héritage)

n Permet de factoriser et de simplifier


Relations entre cas d’utilisation
l’inclusion <<include>>
n Certaines étapes dans un cas d’utilisation sont simples, d’autres
sont plus complexes et font référence à d’autres cas d’utilisation,
ces cas sont dit inclus.

CU

Cas d'utilisation de base

<<include>>

Cas d'utilisation inclus

n Notion naturelle pour un


développeur
(~ appel)
Cas d’utilisation
Relation d’inclusion
n Rôle 1 : Mettre en commun des comportements communs à
plusieurs CU
n Rôle 2 : Encapsuler un comportement complexe, pour avoir une
vue plus globale.
n Le cas inclus peut ne pas être déclenchable par un acteur.

regarder cours de la bourse

<<include>>

retirerAgent
<<include>>

<<include>>

déposerArgent verifierIdentité
client de banque
La relation d’extension
<<extend>>
n Le cas d’utilisation de base ne connaît pas le
cas d’utilisation étendu.
n Pas toujours évident à comprendre.

CU

Cas d'utilisation de base

<<extend>>

Cas d'utilisation étendu


La relation d’extension
Quelques exemples d’utilisation
n A utiliser quand un cas d’utilisation peut être interrompu et qu’il ne
maîtrise pas ses interruptions

n Complément d’exigences sur une analyse verrouillée (extension d’une


application existante), ce qui est souvent le cas dans un processus
itératif et incrémental.
n Le cas d’utilisation de base ne bouge pas (pas de régression)
Attention: il faut «blinder » le cas de base

n Pour montrer les parties optionnelles.


n On sépare les parties obligatoires des parties optionnelles.
(certaines parties sont exécutées sous certaines conditions)
Exemple
n Supposons que la politique de la banque autorise pour ses clients
‘entreprise’ un découvert préalablement négocié.
n On a alors un cas d’utilisation de base « retirer argent » déclenché par
un client. On définit le cas «TraiterDécouvertAutorisé»
n Quand le retrait s’effectue on sait qui demande le retrait (le client a
droit à un découvert : c’est la condition d’extension). Le vrai cas
d’utilisation est alors une combinaison de «retirerArgent »
«vérifierIdentité » et «TraiterDécouvertAutorisé »
Relations entre cas d’utilisation
Generalisation (héritage)

Emprunter

Emprunter un livre Emprunter un journal

n Permet à un sous cas d’utilisation


de spécialiser le comportement
d’un cas d’utilisation de base (qui
peut être abstrait)
Relation de généralisation
entre UC
n Un UC peut être spécialisé en un ou plusieurs cas d’utilisation.
Les sous cas héritent des caractéristiques du sur cas d’utilisation
(acteurs, conditions,...)

n Remarque : Ces relations ne correspondent pas au déroulement, ce sont bien


des relations de structuration.