Sciences de l'ingénieur1ère

Diagrammes de cas d'usage
Exercices corrigés

Maîtrisez les diagrammes de cas d'usage : identification des acteurs, définition des cas d'usage, relations entre acteurs et cas d'usage, inclusion et extension dans la modélisation des systèmes grâce à ces 5 exercices détaillés.

Concepts & Exercices
\(\text{Cas d'usage} = \text{Acteur} \times \text{Interaction} + \text{Scénario}\)
Modèle de cas d'usage
Acteur principal
A_p → interaction
Initie l'interaction
Cas d'usage
CU(x) → fonction
Scénario d'interaction
Relation
R(a,c) → association
Lien entre acteur et CU
👤
Définition : Un acteur est une entité externe qui interagit avec le système (utilisateur, autre système).
🔄
Cas d'usage : Description d'une interaction entre un acteur et le système pour atteindre un objectif spécifique.
🔗
Relations : Associations entre acteurs et cas d'usage, relations d'inclusion (<>) et d'extension (<>).
✅
Objectif : Modéliser le comportement fonctionnel du système du point de vue des utilisateurs.
Exercice 1
Identifier les acteurs d'un système de gestion de bibliothèque.
Exercice 2
Définir les cas d'usage d'un système de réservation de salle de cinéma.
Exercice 3
Établir les relations entre acteurs et cas d'usage d'un système de commande en ligne.
Exercice 4
Modéliser les relations d'inclusion dans un système de gestion de parking.
Exercice 5
Créer des relations d'extension dans un système de gestion de compte bancaire.
Corrigé : Exercices 1 à 3
1 Identification des acteurs
Définition :

Acteur : Entité externe au système qui interagit avec lui. Peut être un utilisateur, un autre système ou un événement externe.

Méthode d'identification :
  1. Analyser le contexte d'utilisation du système
  2. Identifier les utilisateurs directs du système
  3. Détecter les systèmes externes avec lesquels il communique
  4. Relever les événements externes qui déclenchent des actions
  5. Classer les acteurs par rôle ou type
  6. Valider la pertinence de chaque acteur

Système de Gestion de Bibliothèque - Acteurs

👤
Lecteur
👨‍💼
Bibliothécaire
🤖
Système de notification
Emprunter livre
Gérer emprunts
Envoyer rappel
👤
Acteurs principaux
• Lecteur : Utilisateur du système de bibliothèque
• Bibliothécaire : Gère les opérations de la bibliothèque
• Administrateur : Configure le système
🤖
Acteurs secondaires
• Système de notification : Envoie des rappels automatiques
• Système de paiement : Gère les pénalités
• Système externe : Fournit les données des livres
Étape 1 : Analyse du contexte

Comprendre les interactions possibles entre le système et son environnement.

Étape 2 : Identification des utilisateurs

Lister toutes les personnes qui interagissent avec le système.

Étape 3 : Recherche des systèmes externes

Identifier les autres systèmes qui communiquent avec le système.

Acteurs = Utilisateurs + Systèmes + Événements
Réponse finale :

Acteurs identifiés : Lecteur, Bibliothécaire, Administrateur, Système de notification, Système de paiement.

Règles appliquées :

• Extériorité : L'acteur doit être en dehors du système

• Interaction : L'acteur doit interagir avec le système

• Pertinence : L'acteur doit avoir un rôle fonctionnel dans le système

2 Définition des cas d'usage
Définition :

Cas d'usage : Scénario d'interaction entre un acteur et le système pour atteindre un objectif spécifique.

Méthode de définition :
  1. Identifier les objectifs fonctionnels du système
  2. Associer chaque objectif à un acteur
  3. Formuler le cas d'usage en termes d'action
  4. Préciser les conditions d'utilisation
  5. Décrire le scénario nominal
  6. Identifier les scénarios alternatifs

Système de Réservation de Cinéma - Cas d'usage

👥
Client
👨‍💼
Gestionnaire
Rechercher séance
Réserver place
Payer réservation
Gérer séances
Annuler réservation
🎬
Cas d'usage principaux
• Rechercher séance : Trouver une séance disponible
• Réserver place : Sélectionner et réserver un siège
• Payer réservation : Effectuer le paiement
• Annuler réservation : Annuler une réservation existante
⚙️
Cas d'usage secondaires
• Gérer séances : Ajouter/modifier les séances
• Gérer films : Ajouter/modifier les films
• Gérer tarifs : Définir les prix des places
• Générer rapports : Statistiques des ventes
Étape 1 : Identification des objectifs

Déterminer les buts fonctionnels que le système doit atteindre.

Étape 2 : Association aux acteurs

Lier chaque objectif à l'acteur qui l'initie.

Étape 3 : Formulation des cas

Exprimer chaque cas d'usage comme une action claire.

Cas d'usage = Acteur + Objectif + Interaction
Réponse finale :

Cas d'usage définis : Rechercher séance, Réserver place, Payer réservation, Gérer séances, Annuler réservation.

Règles appliquées :

• Objectif clair : Chaque cas d'usage doit avoir un objectif bien défini

• Complétude : Tous les objectifs fonctionnels doivent être couverts

• Indépendance : Les cas d'usage doivent être relativement indépendants

3 Relations entre acteurs et cas d'usage
Définition :

Relation : Lien entre un acteur et un cas d'usage indiquant que l'acteur participe à l'interaction.

Méthode de relation :
  1. Identifier les acteurs concernés par chaque cas d'usage
  2. Établir les relations d'association
  3. Préciser le rôle de chaque acteur
  4. Identifier les relations d'inclusion et d'extension
  5. Documenter les contraintes de relation
  6. Valider la cohérence du modèle

Système de Commande en Ligne - Relations

👤
Client
👨‍💼
Gestionnaire
🚚
Transporteur
Consulter catalogue
Commander produit
Payer commande
Suivre commande
Gérer stock
Livrer commande
🔗
Types de relations
• Association : Lien entre acteur et cas d'usage
• Include (<>) : Un cas d'usage inclut un autre
• Extend (<>) : Un cas d'usage étend un autre
• Généralisation : Héritage entre acteurs ou cas d'usage
📋
Exemples de relations
• Client → Commander produit : Association directe
• Commander produit → Payer commande : Include
• Commander produit → Consulter catalogue : Association
• Gestionnaire → Gérer stock : Association
• Transporteur → Livrer commande : Association
Étape 1 : Association des acteurs

Lier chaque acteur aux cas d'usage qu'il initie.

Étape 2 : Identification des dépendances

Repérer les cas d'usage qui dépendent d'autres cas.

Étape 3 : Modélisation des relations

Représenter les relations Include et Extend.

Relations = Associations + Include + Extend + Généralisations
Réponse finale :

Relations établies entre acteurs et cas d'usage : associations directes, relations d'inclusion et d'extension.

Règles appliquées :

• Direction : Les relations partent de l'acteur vers le cas d'usage

• Clarté : Les relations Include et Extend doivent être bien identifiées

• Cohérence : Toutes les relations doivent être logiques et nécessaires

Corrigé : Exercices 4 à 5
4 Relations d'inclusion
Définition :

Relation Include : Lien entre deux cas d'usage indiquant qu'un cas d'usage inclut toujours un autre cas d'usage.

Méthode d'inclusion :
  1. Identifier les parties communes à plusieurs cas d'usage
  2. Extraire ces parties dans un cas d'usage séparé
  3. Créer la relation <> vers ce cas d'usage
  4. Spécifier la condition d'inclusion
  5. Documenter la relation
  6. Valider la modularité

Système de Gestion de Parking - Inclusion

Cas d'usage Type Description Inclusion
Enregistrer véhicule Principal Enregistre l'entrée d'un véhicule Authentification utilisateur
Calculer tarif Principal Calcule le montant à payer Valider badge
Libérer place Principal Libère une place de parking Authentification utilisateur
Consulter historique Principal Affiche l'historique des passages Authentification utilisateur
Authentification utilisateur
Enregistrer véhicule
Calculer tarif
Libérer place
Consulter historique
Valider badge
<>
🔄
Caractéristiques de l'inclusion
• Obligatoire : Le cas d'usage inclus est toujours exécuté
• Réutilisable : Le cas d'usage inclus peut être utilisé par plusieurs autres
• Modulaire : Permet de réduire la duplication de code/logique
• Non inversible : Le cas d'usage inclus ne dépend pas du cas principal
Étape 1 : Identification des parties communes

Rechercher les fonctionnalités partagées entre plusieurs cas d'usage.

Étape 2 : Extraction des parties

Créer un nouveau cas d'usage pour les parties communes.

Étape 3 : Création de la relation

Établir la relation <> du cas principal vers le cas inclus.

Étape 4 : Documentation

Documenter clairement la relation et son objectif.

Include = Partie commune + Exécution obligatoire + Réutilisation
Réponse finale :

Relations d'inclusion créées : Authentification utilisateur incluse dans plusieurs cas d'usage principaux.

Règles appliquées :

• Obligation : Le cas d'usage inclus est toujours exécuté

• Direction : La relation va du cas principal vers le cas inclus

• Modularité : Favorise la réutilisation et la lisibilité

5 Relations d'extension
Définition :

Relation Extend : Lien entre deux cas d'usage indiquant qu'un cas d'usage peut étendre un autre cas d'usage dans certaines conditions.

Méthode d'extension :
  1. Identifier les cas d'usage optionnels ou conditionnels
  2. Déterminer les points d'extension dans le cas principal
  3. Créer le cas d'usage étendu
  4. Spécifier la condition d'extension
  5. Établir la relation <> vers le cas principal
  6. Documenter les conditions d'activation

Système de Gestion Bancaire - Extension

Cas d'usage Type Condition Point d'extension
Retirer argent Principal Solde insuffisant Vérification solde
Notifier découvert Étendu Solde < 0 Fin transaction
Calculer intérêts Étendu Fin de mois Fin mois
Bloquer carte Étendu 3 tentatives échouées Échec authentification
Retirer argent
Notifier découvert
Calculer intérêts
Bloquer carte
Vérifier solde
<>
❓
Caractéristiques de l'extension
• Conditionnel : Le cas d'usage étendu s'exécute seulement sous certaines conditions
• Optionnel : L'exécution n'est pas obligatoire
• Point d'extension : Moment spécifique dans le cas principal
• Inverse : Le cas étendu part du cas principal vers le cas étendu
Étape 1 : Identification des extensions

Rechercher les fonctionnalités optionnelles ou conditionnelles.

Étape 2 : Détermination des points d'extension

Identifier les moments dans le cas principal où l'extension peut intervenir.

Étape 3 : Création des cas étendus

Créer les cas d'usage qui étendent le comportement principal.

Étape 4 : Spécification des conditions

Définir les conditions qui déclenchent l'exécution de l'extension.

Extend = Condition + Point d'extension + Exécution optionnelle
Réponse finale :

Relations d'extension créées : Notifier découvert, Calculer intérêts, Bloquer carte avec conditions d'activation spécifiques.

Règles appliquées :

• Optionnalité : Le cas d'usage étendu n'est pas toujours exécuté

• Condition : L'extension dépend d'une condition spécifique

• Direction : La relation va du cas étendu vers le cas principal

Cours bien détaillé
\(\text{Complexité} = \frac{\text{Nombre de cas d'usage} \times \text{Nombre d'acteurs}}{\text{Nombre de relations}}\)
Indicateur de complexité
👤
Définition : Un acteur est une entité externe qui interagit avec le système (utilisateur, autre système).
🔄
Cas d'usage : Description d'une interaction entre un acteur et le système pour atteindre un objectif spécifique.
🔗
Relations : Associations entre acteurs et cas d'usage, relations d'inclusion (<>) et d'extension (<>).
✅
Objectif : Modéliser le comportement fonctionnel du système du point de vue des utilisateurs.
💡
Conseil : Commencer par identifier les acteurs principaux avant les cas d'usage
🔍
Attention : Ne pas confondre les relations Include et Extend
⚡
Astuce : Utiliser des outils comme StarUML ou Draw.io pour créer les diagrammes
📋
Méthode : Créer un glossaire des cas d'usage avec leurs descriptions
✅
Vérification : Valider les diagrammes avec les utilisateurs finaux
Bonnes pratiques :
  • Granularité : Garder les cas d'usage à un niveau d'abstraction cohérent
  • Clarté : Nommer les cas d'usage avec des verbes d'action
  • Complétude : Couvrir tous les besoins fonctionnels du système
  • Simplicité : Éviter les relations trop complexes entre les cas d'usage
Règles importantes :
  • Un acteur ne peut pas interagir directement avec un autre acteur
  • Les relations Include sont obligatoires, les relations Extend sont conditionnelles
  • Un cas d'usage ne peut pas inclure un cas d'usage qui l'inclut (boucle interdite)
  • Les cas d'usage doivent être indépendants et complets
Concepts clés :
  • Acteur principal : Celui qui initie le cas d'usage
  • Acteur secondaire : Celui qui fournit des informations au système
  • Scénario nominal : Chemin principal d'exécution d'un cas d'usage
  • Scénarios alternatifs : Chemins de déviation dus à des exceptions ou erreurs
Diagrammes de cas d’usage Langages de modélisation