🔙Index - ⬅️Introduction aux principes d’analyse informatique - ➡️


Introduction

Le diagramme de cas d’utilisation est un outil UML qui aide à comprendre ce que le système doit faire pour ses utilisateurs.
Il montre les fonctionnalités principales et qui interagit avec le système (utilisateurs ou autres systèmes), sans détails techniques.

Ă€ retenir :

  • Permet de parler le mĂŞme langage entre utilisateurs, analystes et dĂ©veloppeurs.
  • DĂ©finit le pĂ©rimètre du système et ses fonctionnalitĂ©s importantes.
  • Aide Ă  identifier les besoins rĂ©els grâce Ă  des entretiens avec les utilisateurs.

💡 Astuce : commencez toujours par écouter les utilisateurs pour créer un diagramme clair et utile.


Éléments d’un diagramme de cas d’utilisation

Les acteurs

Un acteur représente un rôle joué par une personne, un processus ou un système externe qui interagit avec le système.

Représentation classique : petit bonhomme avec le nom du rôle dessous.

Représentation classique

Représentation alternative : classeur stéréotypé << actor >>.

Représentation alternative

Types d’acteurs :

  • Principal : celui qui bĂ©nĂ©ficie directement d’un cas d’utilisation. Se situe a gauche du système.
  • Secondaire : celui qui fournit des informations ou services complĂ©mentaires. Se situe Ă  droite du système.

Conseils pour identifier les acteurs :

  • Rechercher tous les rĂ´les externes qui interagissent avec le système.
  • Inclure les systèmes ou dispositifs externes (ex. imprimantes, API externes).
  • Regrouper les utilisateurs ayant le mĂŞme rĂ´le sous un seul acteur.
  • VĂ©rifier que chaque acteur communique directement avec le système.

Les cas d’utilisation

  • Un cas d’utilisation dĂ©crit une fonctionnalitĂ© observable par un acteur.

  • ReprĂ©sentation : ellipse contenant un verbe Ă  l’infinitif (ex. “Retirer de l’argent”).

Représentation d'un cas d'usage

  • Variante dĂ©taillĂ©e : classeur stĂ©rĂ©otypĂ© << use case >> pour inclure attributs ou opĂ©rations.

Représentation d'un cas d'usage sous forme d'une variante détaillé

Règles à respecter :

  • DĂ©crire le cas du point de vue de l’acteur, pas du système.
  • Chaque cas doit reprĂ©senter un service complet, du dĂ©but Ă  la fin.
  • Éviter la redondance et le dĂ©coupage excessif en sous-cas.
  • Ne pas intĂ©grer de notion temporelle : le diagramme montre les interactions, pas la chronologie.

La frontière du système

  • Le système est reprĂ©sentĂ© par un cadre :
    • Ă€ l’intĂ©rieur : les cas d’utilisation
    • Ă€ l’extĂ©rieur : les acteurs
  • Permet de :
    • DĂ©finir le scope du système
    • Visualiser les interactions principales
    • Identifier ce qui est inclus ou exclu du système

Example d'un diagramme de cas d'utilisation

Relations dans le diagramme

Relations entre Acteur et Cas d’utilisation

  • Association : Une relation d’association est chemin de communication entre un acteur et un cas d’utilisation et est reprĂ©sentĂ© un trait continu.

Example d'une Relations entre Acteur et Cas d’utilisation

Relations entre cas d’utilisation

Les relations permettent de montrer les dépendances et interactions entre les cas d’utilisation.

2 types de relations entre cas d’utilisation
  1. Dépendances stéréotypées :

    • Inclusion (<< include >>)
    • Extension (<< extend >>)
  2. Généralisation / spécialisation : héritage entre cas d’utilisation.

  • ReprĂ©sentation graphique :
    • DĂ©pendances : flèche en pointillĂ©
    • GĂ©nĂ©ralisation : flèche pleine avec triangle fermĂ©

Example d'une Relations entre plusieurs cas d'utilisation

Relation d’inclusion (<< include >>)
  • Un cas A inclut B si B est toujours exĂ©cutĂ© lors du dĂ©roulement de A.

  • UtilitĂ© :

    • Factoriser des actions communes Ă  plusieurs cas d’utilisation.
    • DĂ©composer un cas complexe en sous-cas plus simples.
  • Attention :

    • Ne pas abuser de la dĂ©composition → risque de revenir Ă  un dĂ©coupage fonctionnel trop dĂ©taillĂ©.
    • Les cas ne sont pas sĂ©quentiels : le diagramme ne reprĂ©sente pas l’ordre temporel.

Exemple : “Accéder aux informations d’un compte” inclut toujours “S’authentifier”.

Example d'une Relation d'inclusion

Relation d’extension (<< extend >>)
  • Un cas A Ă©tend B si A peut ĂŞtre exĂ©cutĂ© en option pendant B.
  • CaractĂ©ristique : optionnel et conditionnel, souvent liĂ© Ă  une règle mĂ©tier.
  • Point d’extension : moment prĂ©cis oĂą A peut intervenir dans B.
  • ReprĂ©sentation : flèche pointillĂ©e avec stĂ©rĂ©otype << extend >>, conditions indiquĂ©es dans une note.

Exemple : “Vérifier le solde” étend “Retirer de l’argent” seulement si le montant > 20 €.

Relation de généralisation
  • Un cas A est une gĂ©nĂ©ralisation de B si B est un cas particulier de A.
  • Sert Ă  montrer une relation hiĂ©rarchique et facilite le rĂ©emploi des cas communs.
  • Graphiquement : flèche pleine avec triangle fermĂ© pointant vers le cas le plus gĂ©nĂ©ral.

Exemple : “Consulter un compte” → généralisation de “Consulter le solde via Internet”.

En résumé
  • Inclusion (<< include >>) : le cas A inclut obligatoirement le comportement du cas B.
    • Exemple : “Consulter solde” inclut obligatoirement “S’authentifier”.
  • Extension (<< extend >>) : le cas A peut s’exĂ©cuter optionnellement pendant le cas B.
    • Exemple : vĂ©rification du solde uniquement si le retrait dĂ©passe 20 €.
  • GĂ©nĂ©ralisation / spĂ©cialisation : un cas B est une variante plus spĂ©cifique du cas A.

Relations entre Acteur et Acteur

  • GĂ©nĂ©ralisation : un acteur A peut ĂŞtre substituĂ© par un acteur B → B hĂ©rite de tous les cas d’A.

Example d'une Relations entre Acteur et Acteur

Dans l’example ci-dessus le directeur des ventes peut gérer le stock et en plus peux passer une commande et suivre une commande comme le préposé aux commandes.


Description textuelle d’un cas d’utilisation

Pour compléter un diagramme de cas d’utilisation, chaque cas peut être décrit en texte afin de préciser le déroulement et les conditions. Cette description se compose généralement de trois parties :

1. Identification du cas

  • Nom : un verbe Ă  l’infinitif suivi d’un complĂ©ment (ex. : Retirer de l’argent).
  • Objectif : rĂ©sumĂ© de l’intention principale du cas.
  • Acteurs principaux : ceux qui dĂ©clenchent le cas et bĂ©nĂ©ficient directement du rĂ©sultat.
  • Acteurs secondaires : ceux qui fournissent des informations ou reçoivent des donnĂ©es Ă  la fin du cas.
  • Dates : crĂ©ation et dernières mises Ă  jour.
  • Responsable : personne ou Ă©quipe en charge du cas.
  • Version : numĂ©ro de version pour le suivi.

2. Scénarios ou déroulement

Cette partie décrit le comportement du système et les interactions avec les acteurs pour chaque cas d’utilisation. L’objectif est de documenter tous les chemins possibles, afin que les développeurs et testeurs comprennent précisément comment le système doit réagir.

2.1. Scénario nominal (ou principal)

  • Correspond au dĂ©roulement standard lorsque tout se passe comme prĂ©vu.

  • Chaque Ă©tape dĂ©crit qui fait quoi, dans quel ordre.

  • On se place du point de vue de l’acteur, pas de la technique interne du système.

  • Exemple : Pour Retirer de l’argent, le scĂ©nario nominal peut ĂŞtre :

    1. L’utilisateur insère sa carte.
    2. Le système demande le code PIN.
    3. L’utilisateur saisit le code PIN correct.
    4. Le système affiche le menu des opérations.
    5. L’utilisateur sélectionne Retirer de l’argent.
    6. Le système délivre l’argent et met à jour le compte.

2.2. Scénarios alternatifs (ou variantes)

  • DĂ©crivent les chemins diffĂ©rents possibles selon des choix ou des conditions.
  • Ils permettent de modĂ©liser des comportements optionnels ou alternatifs.
  • Exemple : Dans le scĂ©nario Retirer de l’argent, si le compte a un solde insuffisant :
    • Le système affiche un message d’erreur et propose de saisir un autre montant.

2.3. Scénarios d’exception (ou erreurs)

  • Traitent les situations imprĂ©vues ou erreurs qui peuvent survenir.
  • Ces scĂ©narios sont essentiels pour la robustesse du système et la prĂ©paration aux tests.
  • Exemple : Carte invalide ou système hors service :
    • Le système refuse la transaction et indique la raison Ă  l’utilisateur.

2.4. Préconditions

  • État ou conditions qui doivent ĂŞtre respectĂ©es avant que le scĂ©nario puisse dĂ©marrer.

  • Permet de savoir quand un cas est dĂ©clenchable ou non.

  • Exemple :

    • L’utilisateur possède un compte actif.
    • Le distributeur est opĂ©rationnel et connectĂ© au rĂ©seau bancaire.

2.5. Postconditions

  • État ou rĂ©sultat attendu après la fin du scĂ©nario, que tout se soit dĂ©roulĂ© normalement ou selon les variantes.

  • Permet de vĂ©rifier que le système a atteint l’objectif prĂ©vu.

  • Exemple :

    • Le compte de l’utilisateur est dĂ©bitĂ©.
    • L’argent a Ă©tĂ© dĂ©livrĂ©.
    • Le solde du compte est mis Ă  jour dans le système.

3. Informations complémentaires (optionnel)

  • SpĂ©cifications non fonctionnelles : performances, sĂ©curitĂ©, contraintes lĂ©gales…
  • Contraintes techniques : interfaces avec d’autres systèmes, formats de donnĂ©es, etc.
  • Description de l’interface graphique ou des Ă©crans impliquĂ©s.

🔙Index - ⬅️Introduction aux principes d’analyse informatique - ➡️