Chap2 diagramme des cu
-
Upload
amir-souissi -
Category
Education
-
view
58 -
download
0
Transcript of Chap2 diagramme des cu
Diagramme de Cas d’Utilisation
Conception Orientée Objet (UML) – Chapitre 2
Amir Souissi©2017 1
Institut Supérieur des Etudes Technologiques (ISET-Tunisie)Niveau: 2ème année Licence Appliquée
Spécialité : DSI, RSI
Mr Amir Souissi© 2017
Plan1. Présentation des Cas d’Utilisation (CU)2. Eléments Constituants un diagramme de CU3. Description Textuelle d’un CU4. Description Graphique d’un CU5. Paquetage des CU 6. Démarche générale d’élaboration du diagramme de CU
2
Chapitre 2Diagram
me de Cas d’U
tilisationPlan
Mr Amir Souissi© 2017
1. Présentation des CU
Un système est destiné à être utilisé par des utilisateurs (humains ou machines)
Le point de vue des utilisateurs est important pour comprendre :Le fonctionnement du systèmeLes services rendus par le système
UML permet de décrire d’un point de vue utilisateur, le système étudié (existant ou futur) par un diagramme spécial : le diagramme de Cas d’Utilisation.
3
Chapitre 2Diagram
me de Cas d’U
tilisation1. Présentation des Cas
d’Utilisation
UtilisateurSystème
A quoi sert ce système ?
Mr Amir Souissi© 2017
Fonctionnalités du système : Exemples
Les fonctionnalités du système peuvent être exprimés sous forme de phrases simples, tels que :
Ajouter un produit au panier dans un site de e-Commerce Remplir l’essence dans une station de service Créer une nouvelle réservation dans un cabinet médicalProblèmes
Insuffisant pour comprendre le système Ne facilite pas la communication entre les concepteurs Nécessite un langage formel
Solution La modélisation des fonctions du système en utilisant des notations graphiques permet de
mieux comprendre le système d’un point de vue fonctionnel et favorise la communication.
En UML, un Cas d’Utilisation modélise un service (ou une fonctionnalité) rendu par le système. 4
Chapitre 2Diagram
me de Cas d’U
tilisation1. Présentation des Cas
d’Utilisation
Mr Amir Souissi© 2017
Qu’est ce qu’un CU ?
Un Cas d’Utilisation (use case) représente une unité cohérente d’une fonctionnalité fournie par un système (ou sous-système) spécifiée par une séquence d’actions que le système peut exécuter en interagissant avec les acteurs du système.
La séquence d’actions définit un service de bout en bout, avec un déclenchement, un déroulement et une fin, pour l'acteur qui l'initie.
L’acteur décrit le rôle qu’un utilisateur joue par rapport au système.
Acteur != Utilisateur
5
Chapitre 2Diagram
me de Cas d’U
tilisation1. Présentation des Cas
d’Utilisation
Mr Amir Souissi© 2017
CU : Notation graphique
Graphiquement, un CU est représenté sous forme d’une ellipse.
La fonction réalisée par le CU est représentée sous forme d’un verbe à l’infinitif.
Les fonctionnalités du système exprimées textuellement seront modélisés à l’aide des cas d’utilisations.
Ajouter un produit au panier dans un site de e-Commerce
Remplir l’essence dans une station de service
Créer une nouvelle réservation dans un cabinet médical 6
Chapitre 2Diagram
me de Cas d’U
tilisation1. Présentation des Cas
d’Utilisation
Ajouter Produit à Son Panier
Remplir l’Essence
Créer Réservation
Mr Amir Souissi© 2017
2. Eléments Constituants un Diagramme de CU La représentation graphique des CU n’est pas suffisante pour comprendre le
fonctionnement du système.
Qu’est-ce qui manque ? L’ajout du produit se fait elle au sein du site lui-même ou bien c’est une requête
envoyée vers un autre site? De quel site parle t-on? Il manque le système
Qui déclenche ce l’opération d’ajout au panier? Est-ce que c’est un client inscrit ou bien l’administrateur du site? L’administrateur ne peut-il pas prendre le rôle du client? Il manque les acteurs
Est-ce que l’ajout se fait après l’inscription du client ou bien peut-elle être réalisé par un visiteur du site? Est-ce que l’inscription est obligatoire?il manque les relations
7
Chapitre 2Diagram
me de Cas d’U
tilisation2. Elém
ents Constituants un Diagram
me de CUAjouter Produit à
Son Panier
Mr Amir Souissi© 2017
Diagramme de CU :Le système
Le système est représenté sous forme d’un rectangle qui contient un libellé qui correspond au nom du système à modéliser
Le système sert à délimiter le système par rapport à son environnement et aux autres systèmes
Le système est un ensemble de CU. De cette manière, UML modélise le système et les services rendus par le système
8
Chapitre 2Diagram
me de Cas d’U
tilisation2. Elém
ents Constituants un Diagram
me de CU
Site Web e-commerce
Ajouter Produit à Son Panier
Lister les Produits
Payer la transaction
Mr Amir Souissi© 2017
Diagramme de CU :Les acteurs
Un acteur est un ensemble cohérent de rôles joués par des entités externes (utilisateur, dispositif matériel ou autre système) qui interagissent avec le système.
Les acteurs sont représentés par un stick man ou une classe « actor »
Il ne faut pas confondre la notion d’acteur avec la notion d’utilisateur.L’acteur décrit le rôle qu’un utilisateur joue par rapport au système.Un utilisateur c’est une personne utilisant le système
La relation d’association entre acteur et CU représente la possibilité pour l’acteur de déclencher le cas.
9
Chapitre 2Diagram
me de Cas d’U
tilisation2. Elém
ents Constituants un Diagram
me de CU
Site Web e-commerce
Ajouter Produit à Son Panier
Mr Amir Souissi© 2017
Les acteurs : principaux et secondaires
10
Chapitre 2Diagram
me de Cas d’U
tilisation2. Elém
ents Constituants un Diagram
me de CU
L’acteur principal obtient un résultat observable du système. Il déclenche le CU par son initiation de la communication. Il utilise le système comme outil pour réaliser son but
L’acteur secondaire ou auxiliaire est sollicité pour des informations complémentaires. Il intervient suite à l'intervention de l'acteur primaire. Il offre généralement ses services au système.
Site Web e-commerce
Ajouter Produit à Son Panier
Lister les Produits
Payer la Transaction
« Primary »
« Secondary »
Stéréotype
Acteur principal(à gauche)
Acteur secondaire(à droite)
Mr Amir Souissi© 2017
Les acteurs : Hiérarchie
11
Chapitre 2Diagram
me de Cas d’U
tilisation2. Elém
ents Constituants un Diagram
me de CU
La seule relation qui peut exister entre les acteurs est la relation de généralisation.
L’acteur qui hérite peut faire tout ce que l’acteur père peut faire.
Site Web e-commerce
Ajouter Produit à Son Panier
Lister les produits
Acteur père
Acteur filsIl peut faire tout ce que fait le visiteur + ses propres CU
Mr Amir Souissi© 2017
Diagramme de CU :Les relations entre CU
Le visiteur qui veut gérer son panier (entre autres l’ajout du produit) doit d’abord devenir un client, en remplissant un formulaire d’inscription.
Après l’inscription, le visiteur devient un client doté de paramètres d’identifications (login et mot de passe).
12
Chapitre 2Diagram
me de Cas d’U
tilisation2. Elém
ents Constituants un Diagram
me de CU
S’inscrire
S’identifier
Ajouter Produit à Son Panier
Site Web e-commerce Modèle qui ne reflète pas la réalité !
Réalité : L’identification du client est un CU qui fait partie du CU ajout du produitModèle : le client peut ajouter le produit sans passer par l’identification
Mr Amir Souissi© 2017
Diagramme de CU :Les relations entre CU
UML propose trois types de relations entre les cas d’utilisation :
13
Chapitre 2Diagram
me de Cas d’U
tilisation2. Elém
ents Constituants un Diagram
me de CU
Inclusion Permet d’inclure un CU dans un autre
Extension Permet à un CU d’incorporer à un endroit précis, un autre CU optionnel
Généralisation Permet de formaliser les variations sur le même CU
Cas de base
Cas inclus
« include »
Cas fils
Cas père
Cas optionnelPoint d’extension
Cas de base
« extends »
Mr Amir Souissi© 2017
Les relations entre CU : Inclusion
Pour vérifier qu’un cas est inclus dans un autre ou pas, il faut vérifier que les actions et les interactions réalisés entre l’acteur et le système dans le cas inclus sont dupliqué entièrement dans le cas de base.
L’inclusion permet d’enlever la redondance (factorisation) dans la description textuelle et de mieux se concentrer sur les autres fonctionnalités.
14
Chapitre 2Diagram
me de Cas d’U
tilisation2. Elém
ents Constituants un Diagram
me de CU
S’identifier
Ajouter Produit à Son Panier
Site Web e-commerce
Séquence d’actions de « Ajouter Produit »1. Le client fait entrer login et mot de passe2. Le système vérifie login et mot de passe3. Le client remplie le panier4. Le système confirme les choix du client
Séquence d’actions de « S’identifier »1. Le client fait entrer login et mot de passe2. Le système vérifie login et mot de passe
«include»
Mr Amir Souissi© 2017
Les relations entre CU : Extension
En listant les produits, le client peut décider d’ajouter un produit à son panier.
Après avoir ajouté un ou plusieurs produits à son panier, le client peut décider de payer ses achats en ligne en réalisant la transaction nécessaire.
L’extension permet de séparer le comportement optionnel ou rare du comportement obligatoire.
Avec l’extension, les CU s’exécutent indépendamment les uns des autres.15
Chapitre 2Diagram
me de Cas d’U
tilisation2. Elém
ents Constituants un Diagram
me de CU
Lister les Produits
Ajouter Produit à Son Panier
Site Web e-commerce
Payer la Transaction
«ext
ends
»
Ajouter ProduitPoint d’extension:Produit disponible
et Quantité suffisante
Lister les produits
«extends»
Payer TransactionPoint d’extension:Carte Crédit Valide
Ajouter Produit«extends»
«extends»
Mr Amir Souissi© 2017
Les relations entre CU : Héritage
Le payement de la transaction peut se faire par carte de crédit, par virement bancaire ou par mandat postal. Le client choisit une des trois manières de payer la transaction. Mais à la fin, le payement de la transaction est réalisé.
La généralisation permet d’exprimer un comportement commun entre plusieurs cas d’utilisation.
Le cas père ne s’instancie que par le biais de l’un de ses descendants.
16
Chapitre 2Diagram
me de Cas d’U
tilisation2. Elém
ents Constituants un Diagram
me de CU
Payer la Transaction
Site Web e-commerce
Payer par carte crédit
Payer par virement bancaire
Payer par mondât postal
Cas pèreAbstrait
Cas filsConcret
Mr Amir Souissi© 2017
3. Description Textuelle d’un CU
Une description textuelle du CU est nécessaire pour comprendre la séquence d’actions exécutés dans le CU de bout en bout.
La description textuelle est une forme informelle pour la compréhension d’un CU.
La description textuelle n’est pas formalisée par UML.
C’est une sorte de documentation des CU. 17
Chapitre 2Diagram
me de Cas d’U
tilisation3. Description Textuelle
d’un CU
Payer par carte crédit
Comment le système valide la transaction ?
Quels informations le client doit entrer ?
Quels informations le système doit afficher ?
Mr Amir Souissi© 2017
Description Textuelle: ses éléments
Généralement, la description textuelle comprend les éléments suivants: Nom du CU Acteurs //principaux et secondaires Résumé //brève description du CU Préconditions //données en entrée (conditions nécessaire pour le
déclenchement du CU) Scénario Nominal //étapes à suivre pour le réaliser1. ……2. ……Fin nominale Enchainements Alternatifs //une autre déviationA1. Libellé scénario Alternatif 12.1. …….2.2. …….Fin A1: Se brancher vers la fin nominale ou vers une étape nominale Enchainements d’erreur //déviation vers une erreurE1. Libellé scénario Erreur 11.1. ……Fin E1: Erreur Post-conditions //données en sortie (modifications apportées au système)
18
Chapitre 2Diagram
me de Cas d’U
tilisation3. Description Textuelle
d’un CU
Mr Amir Souissi© 2017
Description Textuelle: ExempleCU « payer par carte de crédit »
19
Chapitre 2Diagram
me de Cas d’U
tilisation3. Description Textuelle
d’un CU
Nom du CU Payer par carte de crédit
Acteurs Client (principal) , système bancaire (secondaire), service facturation (secondaire)
Résumé Le client choisit de payer sa commande par carte de crédit
Préconditions Commande établie par le même clientSession du client toujours active (déjà authentifié)
Scénario Nominal 1. Le Client choisit de payer par carte de crédit2. Le système présente un formulaire de saisie 3. Le client saisie ses paramètres et remplit le formulaire4. Le système vérifie les informations avec le système bancaire du client5. Le système bancaire du client réalise la transaction 6. Le système bancaire du client informe le système que la transaction est réussie7. Le système informe le client par email et informe le service facturation8. Le client confirme qu’il a été informé
Enchainements Alternatifs
A1. informations saisies temporairement erronés : démarre au point 3 du scénario nominal4.1. Le système détecte des erreurs de saisies4.2. Le système informe le client ; scénario nominal reprend au point 2
Enchainements d’Erreurs
E1. solde insuffisant : démarre au point 4 du scénario nominal5.1. Le système bancaire du client interdit la transaction (solde insuffisant)5.2. Le système bancaire du client informe le système de l’échec de la transaction (solde insuffisant)5.3. Le système annule l’opération de paiement et informe le client que son solde est insuffisant5.4. Le système revient à la page de la gestion du panier du client ; le CU se termine en échec.
Post-conditions Compte bancaire du système créditéLa transaction est enregistrée Un nouveau message de facturation est enregistré
Mr Amir Souissi© 2017
Description Textuelle: Scénario
Un scénario est une suite spécifique d’interactions entre les acteurs et le système: c’est une instance du CU, un chemin particulier parmi ces interactions.
Scénario principal : nominal Scénario secondaire: c’est soit un cas alternatif , soit un cas d’erreur.
Chaque scénario est composé d’étapes qui peuvent être de trois sortes : Un message d’un acteur au système Une validation ou un changement d’état du système Un message du système vers un acteur
20
Chapitre 2Diagram
me de Cas d’U
tilisation3. Description Textuelle
d’un CU
Scénario Nominal
Scénario Alternatif
Scénario d’Erreurdébut Fin nominale
Erreur
Mr Amir Souissi© 2017
4. Description Graphique d’un CU
UML permet de modéliser les interactions par des diagrammes dynamiques.
On peut réaliser « un diagramme de séquence » pour décrire le déroulement de la séquence d’actions d’un scénario donné d’un CU.
Le diagramme de séquence en UML peut être utilisé dans plusieurs contextes. Il permet de décrire la séquence des messages échangés entre différents objets et à différents niveaux de détails.
On peut aussi réaliser « un diagramme d’activité » pour décrire tous les scénarios d’un CU.
Le diagramme d’activité représente les activités réalisées par le système avec tous les branchements et toutes les boucles possibles.
21
Chapitre 2Diagram
me de Cas d’U
tilisation4. Description Graphique
d’un CU
Mr Amir Souissi© 2017
Description Graphique d’un scénario CU: Diagramme de séquence système
Le diagramme de séquence peut être utilisé au niveau « Analyse »: il considère que le système est une boite noire. A ce niveau on s’intéresse aux messages échangés avec le système (vu comme une seule entité monolithique).
22
Chapitre 2Diagram
me de Cas d’U
tilisation4. Description Graphique
d’un CU
diagramme de séquence système On ne s’intéresse pas aux éléments qui
constituent le système : système = boite noireNiveau Analyse
diagramme de séquenceLe système est composé d’un ensemble
d’objets qui communiquent entre eux et avec les acteurs.
Niveau Conception
Élément 1 Élément 2 Élément 3
Message 1
Message 3
Message 2
Système
Message 1
Message 2
Mr Amir Souissi© 2017
Diagramme de séquence système :ExempleCU « s’inscrire »
23
Chapitre 2Diagram
me de Cas d’U
tilisation4. Description Graphique
d’un CUQuelques éléments de notation
Message
Message de retour
Objet
Acteur
Ligne de vie
Période d’activité
Système:
1: Demander inscription2: Afficher Formulaire d’inscription
Visiteur:
3: Saisir informations (nom, email, mdp, …)
4: Vérifier informations (email)
5: inscription réussie
6: informations non valides
Fragment alternatif :Si … alors … sinon …
alt[ok]
[erreur]
Nom_objet:
Nom_acteur:
Condition
Axe du temps
Mr Amir Souissi© 2017
Description Graphique d’un CU: Diagramme d’activité
24
Chapitre 2Diagram
me de Cas d’U
tilisation4. Description Graphique
d’un CU
Le diagramme d’activité peut remplacer la description textuelle d’un CU complexe dans la mesure où ce diagramme permet de représenter tous les scénarios d’exécution du CU.
un diagramme d’activité est une formalisation graphique des actions qui sont réalisées dans un cas d’utilisation.
Le diagramme est donc organisé en actions réalisées soit par un acteur, soit par le système, relié par une flèche indiquant l’enchaînement des actions.
Les actions sont les unités de base du comportement du système. Une action est une étape dans une activité qui ne peut plus être décomposée.
L'exécution d'une action représente une transformation ou un traitement dans le système modélisé.
Une activité représente un comportement constitué d'éléments qui sont des actions.
Action 1 Action 2 Action 3
Mr Amir Souissi© 2017
Description Graphique d’un CU: Exemple CU « s’inscrire »
Quelques éléments de notation
Démarrage
Fin
Action
Transition
Condition
25
Chapitre 2Diagram
me de Cas d’U
tilisation4. Description Graphique
d’un CU
S’inscrire Demander remplir formulaire
Remplir formulaire
Valider les informations
Vérifier les informations validées
Envoyer message de confirmation
[Information non valide]
[Demande acceptée]
[Demande refusée]
[Information Valide]
Enregistrer la nouvelle inscription
Nœud fork
Envoyer message d’erreur
Nœud join
Mr Amir Souissi© 2017
5. Paquetage des CU
Le diagramme de CU d’un système peut très vite devenir encombrant et difficile à décortiquer.
Regrouper les CU par acteur ou par domaine fonctionnel ou autre permet d’avoir des ensembles cohérents de CU.
Le mécanisme général de regroupement des éléments UML c’est les packages.
Un package possède un nom et contient d’autres diagrammes dont d’autres packages.
Le diagramme de paquetage (package) permet de : Organiser les concepts en groupes homogènes Introduire des niveaux d’abstraction Découper un problème en sous-problèmes (sous-systèmes) Réutiliser les unités logiques et cohérentes
26
Chapitre 2Diagram
me de Cas d’U
tilisation5. Paquetage des CU
Mr Amir Souissi© 2017
Diagramme de Paquetage: quelques éléments
27
Chapitre 2Diagram
me de Cas d’U
tilisation5. Paquetage des CUClientèleAdministration
Compte
Nom:String
Panier
ID: String
Gérer Compte
Gérer les Produits
Paquetage dans le diagramme de CU
Paquetage dans le diagramme de classe
Clientèle
Banque
Compte
Transaction
Compte
Facturation Définis dans deux espaces de nommage différents
= autorisé
Nom du package
Package Emboité
Package Emboitant
Compte
Interdit
dépendance
« use »
Mr Amir Souissi© 2017
Diagramme de CU en package: Exemple
28
Chapitre 2Diagram
me de Cas d’U
tilisation5. Paquetage des CUAdministration
Répondre aux messages
Gérer son Compte
Gérer les Produits
Clientèle
S’inscrire
Gérer ses commandes
Payer sa transaction
Gérer son panier
Authentification
S’authentifier
Admin Client« import »
« im
port
»
Système bancaire client
Mr Amir Souissi© 2017
6. Démarche Générale d’Élaboration du Diagramme de CU Il n’y a pas une démarche spécifique pour la réalisation du diagramme de CU car une telle
démarche n’a pas été standardisée. Cependant, on peut proposer la démarche logique suivante :
Identifier les acteurs Favoriser les acteurs logiques plutôt que physique Il doit être une entité externe au système interagissant avec lui Il doit avoir un service rendu par le système ou sollicité par le système pour réaliser le service
Identification des CU pour chaque acteur Pour chaque acteur, quelles sont les façons d’utiliser le système Le cas d’utilisation du point de vue acteur et non système
Réaliser le diagramme de CU préliminaire Améliorer en éliminant la redondance
Raffiner le diagramme de CU Optimiser les CU Ajouter la description textuelle pour les CU importants Etablir le diagramme de séquence système pour les CU nécessaires Etablir le diagramme d’activité pour les CU complexes
Structurer le diagramme de CU en package Identifier les modules et les sous-systèmes.
29
Chapitre 2Diagram
me de Cas d’U
tilisation
6. Démarche Générale
d’Elaboration du Diagram
me de CU