Chap2 diagramme des cu

29
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

Transcript of Chap2 diagramme des cu

Page 1: 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

Page 2: Chap2 diagramme des cu

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

Page 3: Chap2 diagramme des cu

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 ?

Page 4: Chap2 diagramme des cu

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

Page 5: Chap2 diagramme des cu

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

Page 6: Chap2 diagramme des cu

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

Page 7: Chap2 diagramme des cu

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

Page 8: Chap2 diagramme des cu

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

Page 9: Chap2 diagramme des cu

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

Page 10: Chap2 diagramme des cu

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)

Page 11: Chap2 diagramme des cu

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

Page 12: Chap2 diagramme des 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

Page 13: Chap2 diagramme des cu

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 »

Page 14: Chap2 diagramme des cu

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»

Page 15: Chap2 diagramme des cu

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»

Page 16: Chap2 diagramme des cu

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

Page 17: Chap2 diagramme des cu

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 ?

Page 18: Chap2 diagramme des cu

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

Page 19: Chap2 diagramme des 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é

Page 20: Chap2 diagramme des cu

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

Page 21: Chap2 diagramme des cu

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

Page 22: Chap2 diagramme des 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

Page 23: Chap2 diagramme des cu

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

Page 24: Chap2 diagramme des cu

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

Page 25: Chap2 diagramme des cu

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

Page 26: Chap2 diagramme des cu

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

Page 27: Chap2 diagramme 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 »

Page 28: Chap2 diagramme des cu

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

Page 29: Chap2 diagramme des cu

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