Un cas d’utilisation décrit comment un utilisateur utilise un système pour atteindre un objectif particulier. Un diagramme de cas d’utilisation comprend le système, les cas d’utilisation et les acteurs associés et les relie les uns aux autres pour visualiser : qu’est-ce qui est décrit ? ( système ), qui utilise le système ? ( acteurs ) et qu’est-ce que les acteurs veulent réaliser ? ( cas d’utilisation ), ainsi, les cas d’utilisation aident à garantir que le bon système est développé en capturant les exigences du point de vue de l’utilisateur.
Origine du cas d’utilisation
De nos jours, la modélisation des cas d’utilisation est souvent associée à UML, bien qu’elle ait été introduite avant l’existence d’UML. Son bref historique est le suivant :
- En 1986, Ivar Jacobson a formulé pour la première fois des techniques de modélisation textuelle et visuelle pour spécifier des cas d’utilisation.
- En 1992, son livre co-écrit Object-Oriented Software Engineering – A Use Case Driven Approach a contribué à populariser la technique de capture des exigences fonctionnelles, en particulier dans le développement de logiciels.
Objectif du diagramme de cas d’utilisation
Les diagrammes de cas d’utilisation sont généralement développés au début du développement et les gens appliquent souvent la modélisation de cas d’utilisation aux fins suivantes :
- Spécifier le contexte d’un système
- Capturer les exigences d’un système
- Valider une architecture système
- Piloter la mise en œuvre et générer des cas de test
- Développé par des analystes en collaboration avec des experts du domaine
Qu’est-ce qu’un diagramme de cas d’utilisation en UML ?
Un cas d’utilisation est une liste d’actions ou d’étapes d’événements définissant généralement les interactions entre un rôle d’acteur et un système pour atteindre un objectif. Un cas d’utilisation est une technique utile pour identifier, clarifier et organiser les exigences du système. Un cas d’utilisation est constitué d’un ensemble de séquences d’interactions possibles entre systèmes et utilisateurs qui définit les fonctionnalités à mettre en œuvre et la résolution des éventuelles erreurs rencontrées.
Alors qu’un cas d’utilisation lui-même peut approfondir de nombreux détails (tels que le flux d’événements et de scénarios) sur chaque possibilité, un diagramme de cas d’utilisation peut aider à fournir une vue de niveau supérieur du système, en fournissant une représentation simplifiée et graphique de ce que le système doit réellement faire.
Un cas d’utilisation (ou un ensemble de cas d’utilisation) a ces caractéristiques :
- Organise les exigences fonctionnelles
- Modélise les objectifs des interactions système/acteur (utilisateur)
- Décrit un flux principal d’événements (scénarios principaux) et éventuellement d’autres flux exceptionnels (alternatives), également appelés chemins ou scénarios utilisateurs
Utiliser les notations des diagrammes de cas
Les cas d’utilisation définissent les interactions entre les acteurs externes et le système pour atteindre des objectifs particuliers. Un diagramme de cas d’utilisation contient quatre composants principaux
Acteur
Les acteurs sont généralement des individus impliqués dans le système définis en fonction de leurs rôles. L’acteur peut être un humain ou un autre système externe.
Cas d’utilisation
Un cas d’utilisation décrit comment les acteurs utilisent un système pour atteindre un objectif particulier. Les cas d’utilisation sont généralement initiés par un utilisateur pour atteindre des objectifs décrivant les activités et les variantes impliquées dans la réalisation de l’objectif.
Relation amoureuse
Les relations entre et parmi les acteurs et les cas d’utilisation.
Limite du système
La frontière du système définit le système d’intérêt par rapport au monde qui l’entoure.
Avantages du diagramme de cas d’utilisation
- Les cas d’utilisation sont une technique puissante pour l’élicitation et la documentation des exigences fonctionnelles de la boîte noire.
- Parce que les cas d’utilisation sont faciles à comprendre et constituent un excellent moyen de communiquer avec les clients et les utilisateurs car ils sont écrits en langage naturel.
- Les cas d’utilisation peuvent aider à gérer la complexité des grands projets en divisant le problème en principales fonctionnalités utilisateur (c’est-à-dire les cas d’utilisation) et en spécifiant les applications du point de vue des utilisateurs.
- Un scénario de cas d’utilisation, souvent représenté par un diagramme de séquence, implique la collaboration de plusieurs objets et classes, les cas d’utilisation aident à identifier les messages (opérations et informations ou données requises – paramètres) qui collent les objets et les classes ensemble.
- Les cas d’utilisation fournissent une bonne base pour faire le lien entre la vérification des modèles de niveau supérieur (c’est-à-dire l’interaction entre les acteurs et un ensemble d’objets collaboratifs), et par la suite, pour la validation des exigences fonctionnelles (c’est-à-dire le plan de test de la boîte blanche).
- L’approche axée sur les cas d’utilisation fournit des liens traçables pour le suivi du projet dans lequel les activités de développement clés telles que les cas d’utilisation mis en œuvre, testés et livrés remplissent les buts et objectifs du point de vue de l’utilisateur.
Comment dessiner un diagramme de cas d’utilisation ?
Un modèle de cas d’utilisation peut être développé en suivant les étapes ci-dessous.
- Identifier les acteurs (rôle des utilisateurs) du système.
- Pour chaque catégorie d’utilisateurs, identifiez tous les rôles joués par les utilisateurs pertinents pour le système.
- Identifiez quels sont les utilisateurs qui ont besoin que le système soit exécuté pour atteindre ces objectifs.
- Créez des cas d’utilisation pour chaque objectif.
- Structurer les cas d’utilisation.
- Prioriser, revoir, estimer et valider les utilisateurs.
Notez que : pour rendre l’approche des cas d’utilisation plus « Agile », ne détaillez pas tous les cas d’utilisation, mais hiérarchisez-les dans votre backlog de produit, vous devez affiner le cas d’utilisation à différents niveaux de détails en fonction de la phase de développement avec juste-à-temps et juste assez.
Vous pouvez également:
- Dessinez des packages pour la catégorisation logique des cas d’utilisation dans des sous-systèmes associés.
Structuration des cas d’utilisation
UML définit trois stéréotypes d’association entre Use Cases :
<<inclure>> Cas d’utilisation
Le moment d’utiliser la relation <<include>> est une fois que vous avez terminé la première description de tous vos cas d’utilisation principaux. Vous pouvez maintenant consulter les cas d’utilisation et identifier les séquences courantes d’interaction utilisateur-système.
<<étendre>> Cas d’utilisation
Un cas d’utilisation étendu est, en fait, un cours alternatif du cas d’utilisation de base. Le cas d’utilisation <<extend>> accomplit cela en insérant conceptuellement des séquences d’action supplémentaires dans la séquence de cas d’utilisation de base.
Cas d’utilisation abstrait et généralisé
Le cas d’utilisation général est abstrait. Il ne peut pas être instancié, car il contient des informations incomplètes. Le titre d’un cas d’utilisation abstrait est affiché en italique.
Exemple
Cet exemple décrit un modèle de plusieurs cas d’utilisation métier (objectifs) qui représente les interactions entre un restaurant (le système métier) et ses principaux acteurs.
Une fois que les cas d’utilisation de base ont été identifiés lors de la première coupe, nous pourrions peut-être structurer davantage ces cas d’utilisation avec des cas d’utilisation <<extend>> et <<include>> lors de la deuxième retouche, comme illustré dans la figure ci-dessous :
Cas d’utilisation métier
Un cas d’utilisation métier est décrit dans une terminologie sans technologie qui traite le processus métier comme une boîte noire et décrit le processus métier utilisé par ses acteurs métier, tandis qu’un cas d’utilisation ordinaire est normalement décrit au niveau de la fonctionnalité du système et spécifie la fonction. ou le service que le système fournit à l’utilisateur. En d’autres termes, le cas d’utilisation métier représente la façon dont le travail doit être effectué manuellement dans la situation actuelle et il n’est pas nécessairement effectué par le système ou destiné à être automatisé dans le cadre du système cible.
Comment identifier les acteurs
Souvent, les gens trouvent qu’il est plus facile de commencer le processus d’élicitation des exigences en identifiant les acteurs. Les questions suivantes peuvent vous aider à identifier les acteurs de votre système (Schneider et Winters — 1998) :
- Qui utilise le système ?
- Qui installe le système ?
- Qui démarre le système ?
- Qui maintient le système ?
- Qui arrête le système ?
- Quels autres systèmes utilisent ce système ?
- Qui obtient des informations de ce système ?
- Qui fournit les informations au système ?
- Est-ce que quelque chose se passe automatiquement à un instant présent ?
Comment identifier les cas d’utilisation ?
L’identification des cas d’utilisation, puis le processus d’élicitation basé sur des scénarios se poursuivent en demandant quelle valeur visible et observable de l’extérieur que chaque acteur souhaite. Les questions suivantes peuvent être posées pour identifier les cas d’usage, une fois vos acteurs identifiés (Schneider et Winters — 1998) :
- Quelles fonctions l’acteur voudra-t-il du système ?
- Le système stocke-t-il des informations ? Quels acteurs vont créer, lire, mettre à jour ou supprimer ces informations ?
- Le système doit-il informer un acteur des chances dans l’état interne ?
- Y a-t-il des événements externes dont le système doit être informé ? Quel acteur informe le système de ces événements ?
Conseils d’utilisation du diagramme de cas
Maintenant, consultez les conseils ci-dessous pour voir comment appliquer efficacement les cas d’utilisation dans votre projet logiciel.
- Structurez et organisez toujours le diagramme de cas d’utilisation du point de vue des acteurs.
- Les cas d’utilisation doivent commencer simplement et avec la vue la plus élevée possible. Ce n’est qu’alors qu’ils pourront être affinés et détaillés davantage.
- Les diagrammes de cas d’utilisation sont basés sur la fonctionnalité et doivent donc se concentrer sur le « quoi » et non sur le « comment ».
Utiliser les niveaux de détails des cas
La granularité des cas d’utilisation fait référence à la manière dont les informations sont organisées dans les spécifications des cas d’utilisation et, dans une certaine mesure, au niveau de détail auquel elles sont écrites. Atteindre le bon niveau de granularité des cas d’utilisation facilite la communication entre les parties prenantes et les développeurs et améliore la planification des projets.
Alastair Cockburn dans Writing Effective Use Cases nous donne un moyen simple de visualiser différents niveaux d’objectifs en pensant en termes de mer :
Notez que:
- Alors qu’un cas d’utilisation lui-même peut approfondir de nombreux détails sur chaque possibilité, un diagramme de cas d’utilisation est souvent utilisé pour une vue de niveau supérieur du système sous forme de plans.
- Il est avantageux d’écrire des cas d’utilisation à un niveau de granularité plus grossier avec moins de détails lorsque cela n’est pas nécessaire.
J’espère que vous pourrez répondre à « qu’est-ce qu’un diagramme de cas d’utilisation » maintenant et que vous pourrez appliquer un cas d’utilisation dans votre projet. Si vous souhaitez en savoir plus sur les autres types de diagrammes UML, veuillez consulter le guide UML : Overview of the 14 UML Diagram Types .
Il ne suffit pas de montrer le diagramme de cas d’utilisation en notation UML . Chaque cas d’utilisation est accompagné d’un texte expliquant le but du cas d’utilisation ainsi que la fonctionnalité accomplie lorsqu’un cas d’utilisation est exécuté.
La spécification de cas d’utilisation est généralement créée lors de la phase d’analyse et de conception de manière itérative.
- Dans un premier temps, seule une brève description des étapes nécessaires pour exécuter le flux normal du cas d’utilisation (c’est-à-dire, quelle fonctionnalité est fournie par le cas d’utilisation) est écrite.
- Au fur et à mesure que l’analyse progresse, les étapes sont étoffées pour ajouter plus de détails.
- Enfin, les flux exceptionnels sont ajoutés au cas d’utilisation
- Chaque projet peut adopter un modèle de cas d’utilisation standard pour la création de la spécification de cas d’utilisation.
Cas d’utilisation vs spécification de cas d’utilisation
Un cas d’utilisation décrit une tâche effectuée par un acteur produisant un résultat de valeur commerciale pour une entreprise. Un cas d’utilisation peut être visualisé sous la forme d’un diagramme de cas d’utilisation ou/et dans un format de spécification textuelle structurée :
Le cas d’utilisation (tâche — qu’un client souhaite exécuter) peut être :
- Interactif – Un cas d’utilisation du système décrit l’interaction d’un acteur avec un système dans la poursuite de l’objectif commercial défini
- Manuel — Une séquence d’actions exécutées par un acteur
- Automatisé — Une séquence d’étapes exécutées par un programme ou un script
Caractéristiques des cas d’utilisation
Un cas d’utilisation a :
- Un seul but
- Un point de départ unique
- Un point final unique
- Plusieurs chemins pour aller du début à la fin
- c’est-à-dire spécifier le comportement pour une variété de conditions possibles
- Chaque condition peut nécessiter une ou des actions spécifiques
Par exemple — Le client paie la facture :
Il existe plusieurs chemins pour atteindre l’objectif :
- Paiement par téléphone
- Par mail
- En personne
- par chèque
- en liquide, etc…
Un chemin qui ne mène pas au but :
- La carte de crédit est refusée
Approche de cas d’utilisation agile
Le modèle de cas d’utilisation et ses cas d’utilisation individuels évoluent niveau par niveau au fil du temps. Tous les cas d’utilisation d’un modèle n’auront pas nécessairement besoin d’être spécifiés au même niveau de détail.
Juste à temps et juste assez
Les cas d’utilisation peuvent être écrits à différents niveaux de données et de portée, chacun ayant un objectif :
- Résumé : descriptions générales et aperçus généraux des fonctionnalités du système ou des processus métier.
- Niveau utilisateur : descriptions des utilisateurs liées aux tâches et comment ils interagissent avec le système ; descriptions d’un processus métier spécifique. Les cas d’utilisation au niveau de l’utilisateur sont généralement considérés comme se situant au niveau de la tâche qui constitue le travail principal de l’utilisateur.
- Sous-fonction : descriptions des activités de niveau inférieur utilisées pour compléter les sous-parties d’un cas d’utilisation principal.
Remarque : Certains cas d’utilisation peuvent être suffisamment spécifiés jusqu’au niveau II. Vous vous arrêtez lorsque suffisamment de détails sont obtenus en utilisant juste à temps et juste assez.
Une spécification détaillée des cas d’utilisation
Le cas d’utilisation détaillé est une représentation textuelle illustrant une séquence d’événements ainsi que d’autres informations de cas d’utilisation connexes dans un certain format. Les gens adoptent généralement un modèle de cas d’utilisation standard pour enregistrer les informations détaillées des cas d’utilisation
Modèle de cas d’utilisation — Exemple de cas de retrait au guichet automatique
Comme mentionné précédemment, il existe plusieurs styles de notation pour les cas d’utilisation (par exemple, style de diagramme, langage de modélisation unifié, format textuel). Quelle que soit la notation utilisée, elle doit être facile à comprendre. Vous pouvez utiliser des modèles, comme ceux d’ Alistair Cockburn , mais c’est aussi une option pour utiliser ce qui convient le mieux à votre équipe.
Créer des diagrammes de cas d’utilisation simples
Si vous souhaitez dessiner des diagrammes de cas occasionnels, Visual Paradigm Online sera votre meilleur choix. Comme il est totalement gratuit pour toujours, aucune limitation, configuration et configuration zéro.
Vous pouvez également utiliser Visual Paradigm Community Edition , il est également gratuit pour créer des cas d’utilisation pour diverses plates-formes.
Effectuer une modélisation et une analyse formelles des cas d’utilisation
Si vous souhaitez effectuer et développer une modélisation de cas d’utilisation, il est recommandé d’utiliser la version payante de Visual Paradigm qui vous permet de développer une spécification de cas d’utilisation appropriée et complète, comme mentionné ci-dessus.
Faites-le vous-même maintenant avec Visual Paradigm Online
Essayez maintenant et amusez-vous avec tous ces exemples et modèles prêts à modifier répertoriés comme suit :
Utiliser le modèle de structuration de cas
Structuration des cas d’utilisation avec stéréotype
Expression de plusieurs projets à l’aide des limites du système
Gestion du développement logiciel
Système de traitement des commandes
Cas d’utilisation de la généralisation
Inclure et étendre les cas d’utilisation
Site Web (structurer les cas d’utilisation avec étendre et inclure le cas d’utilisation)
Utiliser le modèle de diagramme de cas