710 likes | 1.27k Views
Diagrammes de CAS D’UTILISATION. Modélisation Fonctionnelle. Modélisation des Scénarios d’utilisation. Modélisation des cas d’utilisation. Modélisation des interactions. Modélisation « Métier ». Besoins des utilisateurs. Modélisation objet. Modélisation de conception détaillée.
E N D
Diagrammes deCAS D’UTILISATION Modélisation Fonctionnelle
Modélisation des Scénarios d’utilisation Modélisation des cas d’utilisation Modélisation des interactions Modélisation « Métier » Besoins des utilisateurs Modélisation objet Modélisation de conception détaillée Structuration Maquette IHM Modélisation dynamique Modélisation de l’architecture Code MODELISATION PAR CAS D’UTILISATION Place dans le processus de développement
A quoi sert le logiciel? MODELISATION FONCTIONNELLEDécider de ce qu'il faut faire
Technique formalisée par Ivar Jacobson. Destinée à l ’expression du besoin. Complète le modèle objet en offrant une vision « fonctionnelle » du système. Centrée sur les utilisateurs. Formalisme très simple. Peut également servir à la conception des tests de validation. MODELISATION PAR CAS D’UTILISATION Généralités
Validation Spécifications Cas d'utilisation Conception Préliminaire Intégration Modèle Objet Réalisation MODELISATION PAR CAS D’UTILISATION Lien avec le modèle objet
Un cas d’utilisation « raconte » comment on doit utiliser le système pour atteindre un but particulier Il correspond à une fonction du système Il décrit les interactions entre le système et les utilisateurs Il est exprimé en prose structurée Il détermine un contrat à remplir par le système Il induit des exigences fonctionnelles applicables au système et il peut être utilisé pour organiser la spécification MODELISATION PAR CAS D’UTILISATION Définition
ACTEUR • représente un rôle joué par une personne ou une chose qui interagit avec le système mais qui lui est extérieure. • est caractérisé par un nom qui exprime son rôle. • une même personne physique peut être modélisée par plusieurs acteurs. Etudiant • CAS D ’UTILISATION • unité fonctionnelle cohérente assurée par un système ou une classe • correspond à un certain type d’interaction entre le système et les acteurs. • doivent être vus comme des classes dont les instances sont des scénarios. Inscription DIAGRAMMES DE CAS D ’UTILISATIONConcepts
On distingue 4 catégories d ’acteurs: les acteurs principaux (ex: usager, client, etc.) les acteurs secondaires (ex: opérateur de maintenance, administrateur, etc.) le matériel externe (capteurs, imprimantes, périphériques divers, etc.) les autres systèmes (serveur central, service ou organisation, etc.) Circuler à bicyclette • Un Acteur peut hériter d’autres Acteurs. • Un Acteur peut posséder des Interfaces. Cycliste Distribuer le courrier Facteur CAS D ’UTILISATIONIdentification des acteurs
DIAGRAMMES DE CAS D ’UTILISATION Exemple de modélisation des acteurs
Operateur (from Segment Sol) Operateur Opérateur Operateur de Opérateur CU Opérateur de d'Administration Contrôle/commande Maintenance Commandement (from Segment Sol) (from Segment Sol) (from Segment Sol) (from Segment Sol) (from Segment Sol) contrôle communication pilotage +porteur Source: Système Aéroporté de Surveillance Terrestre Organisme Plate Forme Aeronautique Coordination Charge Utile (from Segment Air) (from Segment Air) DIAGRAMMES DE CAS D ’UTILISATION Exemple avec utilisation de stéréotypes
DIAGRAMMES DE CAS D ’UTILISATION Modélisation des utilisateurs
Les cas d ’utilisation correspondent aux principales tâches de chaque acteur à une valeur ajoutée pour l ’utilisateur à des fonctionnalités ou à des services attendus à des opérations sur les données du système à des anomalies ou des cas particuliers. Un cas d ’utilisation doit être simple (description de 1 ou 2 pages maximum). Le nombre d ’acteurs en relation avec un cas d ’utilisation ne doit pas être trop important. 2 activités qui s ’enchaînent toujours font généralement partie du même cas d’utilisation. La difficulté majeure est de trouver le bon niveau d’abstraction. CAS D ’UTILISATION Identification (1)
Un cas d’utilisation représente un processus de « haut niveau » se déroulant de bout en bout et incluant plusieurs étapes successives. Ce n’est pas une opération élémentaire ou une transaction. Un cas d’utilisation peut être vu comme une collection de scénarios décrivant différentes façons d’utiliser le système pour atteindre un même but (avec ou sans succès). Un cas d’utilisation ne se décompose pas en « sous-cas d’utilisation ». CAS D ’UTILISATION Identification (2)
La description d’un cas d’utilisation débute par une phrase du type « Ce cas d’utilisation est déclenché quand <un acteur> <adresse un stimulus au système> …» privilégie les interactions entre les acteurs et le système s’attache prioritairement à la séquence des événements qui conditionnent les interactions (flux nominal) se termine lorsque le but est atteint ou dans une situation d'exception. CAS D ’UTILISATION Description caractéristique Si cette description est impossible, c’est probablement parce que l’objet considéré n’est pas vraiment un cas d’utilisation …
1) Identifier les acteurs (Qui utilise le système?) 2) Identifier grossièrement les cas d ’utilisation essentiels. 3) Identifier les cas d ’utilisation exceptionnels. 4) Décrire chaque cas d ’utilisation en quelques phrases. 5) Elaborer un diagramme. 6) Vérifier que tous les besoins identifiés ont été alloués à un cas d ’utilisation. 7) Recenser les principaux scénarios pour chaque cas d ’utilisation. CAS D ’UTILISATION Construction
Détaillé Description précise et structurée Description des alternatives Général Brève description 3-5 phrases Calculer un itinéraire Titre:Calculer un itinéraire Acteur: Usager Description: Ce cas d’utilisation commence lorsque l’usager se connecte au système pour obtenir un itinéraire à suivre. Il précise son lieu de départ et son lieu d’arrivée ainsi que les paramètres de calcul. Le système lui fournit une chronologie des étapes à suivre pour atteindre la destination dans les conditions souhaitées. CAS D ’UTILISATION Niveaux de description
CANEVAS: nom explicite (= label UML) acteurs concernés brève description (entre 3 et 10 lignes) pré-conditions événement déclenchant événement qui cause l ’arrêt Résultats attendus / post-conditions description du flot d ’événements principal interactions avec les acteurs échanges d ’informations (paramètres des interactions) chronologie et origine des informations répétitions de comportement description des flots secondaires et des exceptions contraintes et règles de gestion exigences couvertes CAS D ’UTILISATION Description détaillée
Communication – exprime le fait que l ’acteur participe à la réalisation d ’un cas d ’utilisation . C ’est la seule relation qui peut exister entre un acteur et un cas d ’utilisation. Payer Consommateur Généralisation - un cas d ’utilisation « enfant » hérite du comportement et de la sémantique du cas d ’utilisation parent Relation « Include » – Une relation « include » du cas d ’utilisation A vers le cas d ’utilisation B signifie que le flot d ’événements de A contient une séquence d ’événements qui correspond à B. Relation « Extend » – Une relation « extend » du cas d ’utilisation A vers le cas d ’utilisationB signifie que le flot d ’événements de A peut intervenir, de façon facultative, pendant le déroulement de B. B spécifie un comportement facultatif DIAGRAMMES DE CAS D ’UTILISATION Liens entre cas d ’utilisation
DIAGRAMMES DE CAS D ’UTILISATION Exemple de relation « include » L ’existence d ’une relation « include » sur un cas d ’utilisation signifie qu’il inclut le comportement défini par un autre cas d ’utilisation. Rechercher une destination <<include>> Usager <<include>> Calculer un itineraire Visualiser sur fond de carte <<include>> Suivre les déplacements des Controleur véhicules La relation « include » permet de factoriser certaines parties d’un cas d ’utilisation
DIAGRAMMES DE CAS D ’UTILISATION Exemple de relation « extend » L ’existence d ’une relation « extend » sur un cas d ’utilisation signifie qu’il constitue une extension possible du comportement défini par le cas d ’utilisation désigné. mot clef (stéréotype) <<extend>> demande de remplacement de chaque occurrence trouvée Rechercher • Extension points • définition du remplaçant: avant début de recherche • substitution: à chaque occurrence trouvée Remplacer Condition d’extension Points d’extension UML permet d’exprimer les conditions et les points d’extension.
Rechercher une destination <<include>> Usager <<include>> Calculer un itinéraire Visualiser sur fond de carte <<include>> <<extend>> Suivre les déplacements des Suivre les déplacements en convoi Controleur véhicules DIAGRAMMES DE CAS D ’UTILISATION Exemple (1)
1 1 1 1 1 Appeler un correspondant Usager 1 1 * <<extend>> Correspondant 1 1 Téléphoner en mode conférence DIAGRAMMES DE CAS D ’UTILISATION Cardinalités du lien de communication
DIAGRAMMES DE CAS D ’UTILISATION Exemple (1) Source: Système Aéroporté de Surveillance Terrestre
DIAGRAMMES DE CAS D ’UTILISATION Exemple (2) Source: Système Aéroporté de Surveillance Terrestre
Opérateur Centre de Mission Météorologue DIAGRAMMES DE CAS D ’UTILISATION Exemple (3) <<extend>> Programmation <<include>> Contrôle Emission de télécommandes <<Actor>> <<include>> Satellite <<extend>> Visualisation fil de l'eau Acquisition de Télémétries <<include>> Traitement Archivage <<include>> Réception de télémesures Suivi de Mission Diffusion
Proto V1 = Proto + V2 = V1 + V3 = V2 + V4 = V3 + Visualisation Carto/Géo Itération d ’architecture Itération de développement 1 Itération de développement 2 Itération de développement 3 Itération de développement 4 Edition Graphique Edition de Situation Interprétation d'image Edition de Plan Renseigné Gestion Données CAS D ’UTILISATION Intérêt méthodologique • Recentre le développement sur le besoin. • Délimite le système à étudier. • Permet d ’améliorer la compréhension du fonctionnement. • Assure la transition entre l’aspect fonctionnel du cahier des charges et l ’aspect objet de la conception technique. • Permet de planifier le développement. Edition Graphique Commandement Photo Interprète Edition de Situation Edition de Plan Renseigné Interprétation d'image Gestion Données Visualisation Carto/Géo Administrateur
Il faut commencer par réaliser les cas d’utilisation les plus importants … Critères de priorité d’un cas d’utilisation: Importance de la fonctionnalité pour l’utilisateur Impact sur l’architecture technique Complexité des fonctions mises en œuvre Poids des exigences et contraintes à satisfaire Nouveauté de la technologie utilisée Incidence économique CAS D ’UTILISATION Hiérarchisation
Ne pas présumer des choix de conception d’IHM Ne pas considérer les cas d’utilisation comme de simples fonctions. Ne pas chercher à spécifier le détail des cas d’utilisation "du premier coup" Ne pas hésiter à compléter le cas d’utilisation par d'autres diagrammes UML. Étudier alternativement les scénarios nominaux, alternatifs et d'exception CAS D ’UTILISATION Recommandations
CAS D ’UTILISATION Organiser le travail Le cycle de développement en Y Besoins des utilisateurs Choix techniques Y Recueil des Besoins fonctionnels Recueil des Besoins techniques branche fonctionnelle branche technique Études et prototypages Spécifications Architecture Conception détaillée Réalisation / Codage Tests et recette Livraison et déploiement Construction
Les cas d’utilisation peuvent être utilisés pour conduire une modélisation « métier »: Un « Business Use Case » représente un processus métier de l’entreprise Les « Business Actors » et « Business Workers » représentent des participants internes ou externes à l’entreprise. CAS D ’UTILISATION Cas d’utilisation « métier »
Modéliser un système de type « Lecteur/Enregistreur Vidéo » ( magnétoscope, DVD R/W, etc.) Identifier et formaliser ses cas d’utilisation DIAGRAMMES DE CAS D ’UTILISATION Exercice
Identifier et modéliser des cas d'utilisation du jeu d'échecs. Proposez une stratégie de développement associée Décrivez l'un des cas en utilisant le canevas suivant nom explicite (= label UML) acteurs concernés brève description (entre 3 et 10 lignes) pré-conditions événement déclenchant événement qui cause l ’arrêt Résultats attendus / post-conditions description du flot d ’événements principal interactions avec les acteurs échanges d ’informations (paramètres des interactions) chronologie et origine des informations répétitions de comportement description des flots secondaires et des exceptions contraintes et règles de gestion exigences couvertes DIAGRAMMES DE CAS D ’UTILISATION Jeu d'échecs
Diagrammes de SEQUENCE Modélisation de scénarii d’utilisation
Modélisation des Scénarios d’utilisation Modélisation des cas d’utilisation Modélisation des interactions Modélisation « Métier » Besoins des utilisateurs Modélisation objet Modélisation de conception détaillée Structuration Maquette IHM Modélisation dynamique Modélisation de l’architecture Code MODELISATION DES SCENARIOSPlace dans le processus de développement
Comment utilisera-t-on le logiciel ? MODELISATION DE SCENARIOSÉtudier l'usage
Appeler un correspondant Correspondant Usager communication directe ligne occupée sans réponse communication par répondeur ligne en dérangement etc... MODELISATION DES SCENARIOSCas d ’utilisation et scénarios Un scénario est une série d ’événements ordonnés dans le temps, simulant une exécution particulière du système. Pour chaque cas d ’utilisation, il existe un ou plusieurs scénarios dont la description permet d ’expliciter le comportement du système pour une situation donnée.
MODELISATION DES SCENARIOSExtrait du méta-modèle réalisation * classifier Instance (from Common Behavior) * Classifier (from Core) 1..* spécification * Cas d ’utilisation Acteur Scénario Extension Point : list of String
temps DIAGRAMMES DE SEQUENCEGénéralités Les diagrammes de séquences montrent les interactions entre objets selon un point de vue temporel.
Un diagramme de séquence « système » traite le système comme une « boîte noire » représente les interactions entre les acteurs et le système illustre la succession temporelle des événements qui influencent le fonctionnement du système met en évidence les responsabilités élémentaires du système permet de bien délimiter les frontières du système MODELISATION DES SCENARIOSDiagramme de séquence « système »
DIAGRAMMES DE SEQUENCEExercice Modéliser un scénario d’utilisation du « Lecteur/Enregistreur Vidéo »