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.

2.diagram ucum lpdf_2

  • 1.
    UML Les diagrammes decas d'utilisation Cedric Dumoulin
  • 2.
    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
  • 3.
    Diagramme de casd’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
  • 4.
    Exemple Un acteur Un rôle n en UML un acteur est une classe stéréotypée <<Actor>>
  • 5.
  • 6.
    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
  • 7.
    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
  • 8.
    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.
  • 9.
    Exemple - Généralisation d’acteurs(héritage) n Permet de factoriser et de simplifier
  • 10.
    Relations entre casd’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)
  • 11.
    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
  • 12.
    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
  • 13.
    La relation d’extension Quelquesexemples 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)
  • 14.
    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é »
  • 15.
    Relations entre casd’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)
  • 16.
    Relation de généralisation entreUC 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.