8
ISI1 L3 Miage 1 2012-2013 UML - Diagramme de cas d’utilisation 1 Diagramme de cas d’utilisation Le développement ou l’amélioration d’un système doit toujours répondre à un ou plusieurs besoins Le travail de modélisation commence par l’identification des besoins Le recueil des besoins implique une bonne compréhension des métiers impliqués Intégration des contraintes et des exigences de chaque métier Le MOA intervient pour Définir / identifier les besoins Valider les solutions proposées et mises en œuvre par le MOE 2 Diagramme de cas d’utilisation Analyse des besoins correspond au début de toute bonne modélisation Phase « études des besoin » méthode en cascade Phase « spécification » méthode en « V » Phase « Business modeling » méthode RUP Quel aide UML apporte lors du recueil des besoins ? Diagramme des cas d’utilisation 3 Diagramme de cas d’utilisation À cette étape de la modélisation (l’analyse des besoins), on souhaite Identifier les frontières du système Spécifier les fonctionnalités qu’il doit offrir aux utilisateurs Diagramme de cas d’utilisation (Use Case diagram) Recensement des grandes fonctionnalités du système Formalisation des besoins Représentation graphique des besoins Compréhensible par tous Point de vue utilisateur 4

UML Diagramme de Cas d'Utilisation

  • Upload
    -

  • View
    72

  • Download
    0

Embed Size (px)

Citation preview

Page 1: UML Diagramme de Cas d'Utilisation

ISI1 – L3 Miage 1

2012-2013

UML - Diagramme de cas d’utilisation

1

Diagramme de cas d’utilisation

• Le développement ou l’amélioration d’un système doit toujours répondre à un ou plusieurs besoins

• Le travail de modélisation commence par l’identification des besoins – Le recueil des besoins implique une bonne

compréhension des métiers impliqués • Intégration des contraintes et des exigences de chaque

métier

– Le MOA intervient pour • Définir / identifier les besoins • Valider les solutions proposées et mises en œuvre par le

MOE

2

Diagramme de cas d’utilisation

• Analyse des besoins correspond au début de toute bonne modélisation – Phase « études des besoin » méthode en cascade

– Phase « spécification » méthode en « V »

– Phase « Business modeling » méthode RUP

• Quel aide UML apporte lors du recueil des besoins ? – Diagramme des cas d’utilisation

3

Diagramme de cas d’utilisation

• À cette étape de la modélisation (l’analyse des besoins), on souhaite – Identifier les frontières du système

– Spécifier les fonctionnalités qu’il doit offrir aux utilisateurs

• Diagramme de cas d’utilisation (Use Case diagram) – Recensement des grandes fonctionnalités du système

– Formalisation des besoins

– Représentation graphique des besoins

– Compréhensible par tous

– Point de vue utilisateur

4

Page 2: UML Diagramme de Cas d'Utilisation

ISI1 – L3 Miage 2

2012-2013

Distributeur Automatique

Eléments de base

• Cas d'utilisation, • Acteur, • Relations (entre un cas d’utilisation et un acteur,

entre acteurs, entre les cas d’utilisation )

frontière du système associations

cas d’utilisation

acteur

5

Retirer de l’argent

Consulter solde

Client

Cas d’utilisation

– Service (fonctionnalité) rendu par le système à un utilisateur / composé d'un ensemble d'actions (déclenché par un acteur) réalisé par le système et qui produisent un résultat significatif pour un acteur particulier.

– Exemples :

• Consulter un compte, Retirer de l’argent, Déposer un chèque…

– Formalisme graphique :

6

Verbe + complément Consulter le solde

Acteur

• Un acteur représente un rôle joué par une entité externe qui interagit directement avec le système étudié.

– Exemple : Client, Conseiller financier, SI Banque, …

• Un acteur est une entité appartenant à l'environnement du système

• Formalisme graphique

7

Acteur : formalisme

8

Client Acteur humain

<<actor>>

Acteur humain

« actor »

Client

Système externe Serveur Paypal

Formalisme Exemple

Page 3: UML Diagramme de Cas d'Utilisation

ISI1 – L3 Miage 3

2012-2013

Acteur

• Trois types d ’acteurs – les personnes : ce sont des utilisateurs du système – le matériel externe : dispositif utilisé par le système

• Une imprimante, un capteur de température

– les autres systèmes qui communiquent avec le système • Le groupement bancaire dans un système de distributeur de

billets

• Important – Même si on les représente dans les modèles, les

acteurs ne font pas partie du système puisqu’ils résident en dehors de celui ci.

9

Acteur principal / secondaire

• Un cas d'utilisation a toujours au moins un acteur principal pour qui le système produit un résultat observable, et éventuellement d'autres acteurs ayant un rôle secondaire.

– Un acteur principal déclenche un cas d’utilisation

– Un acteur secondaire consulte ou informe le système lors de la réalisation d’un cas d'utilisation.

10

Acteur principal / secondaire

11

Gestion des Inscriptions

Acteur secondaire Acteur principal

Valider inscription

Secrétaire Etudiant

Système bancaire

Consulter son compte

Traiter Prêt immobilier

Client Conseiller financier

Relations : cas et acteur

• Relation entre un cas d’utilisation et un acteur – Une relation nommée relation de communication permet

de relier un acteur et un cas d'utilisation par une relation qui signifie "participe à »

12

Page 4: UML Diagramme de Cas d'Utilisation

ISI1 – L3 Miage 4

2012-2013

Relations : cas et acteur

13

Un cas d’utilisation est un Un cas d’utilisation est un ensemble d’actions.

Pas une seule action !!!

Pas de notion temporelle Pas de notion temporelle Pas de détails

Association acteur cas Le signale le

Association acteur cas Le sens de la flèche signale le

sens de la transmission de l’information

DesLivres.fr

Relations : acteur et acteur

• Une seule relation est possible entre acteurs : la généralisation/spécialisation – Si A est une généralisation de B, tous les cas

d’utilisation accessibles à A le sont aussi à B, mais l’inverse n’est pas vrai

On peut généraliser plusieurs acteurs ayant des similitudes dans leurs cas d’utilisation par un acteur abstrait, qui modélise les aspects communs aux acteurs concrets

14

Relations : acteur et acteur

15

Seul un client peut gérer un compte client

Un visiteur peut créer un compte client, mais aussi

chercher des ouvrages DesLivres.fr

Relations : cas et cas

• Relations entre les cas d’utilisation

– Relation d’inclusion

– Relation d’extension

– Relation de spécialisation / généralisation

16

Page 5: UML Diagramme de Cas d'Utilisation

ISI1 – L3 Miage 5

2012-2013

Relations : inclusion

• Une relation d'inclusion représentée par le stéréotype « include » permet d’enrichir un cas d’utilisation (cas de base) par un autre cas d’utilisation (cas inclus).

• Le cas inclus est ajouté obligatoirement au cas de base

S’authentifier

Commander un chéquier

client

<<include>>

17

Cas inclus

Cas de base

BanqueEcureuil.fr

Consulter solde

Relations : inclusion

• L’inclusion permet généralement d'identifier une partie commune aux différents cas d'utilisation et de la factoriser dans un nouveau cas inclus dans ces derniers.

S’authentifier

Commander un chéquier

client <<include>>

BanqueEcureuil.fr

<<include>>

18

Relations : extension

• Une relation d'extension (représentée par le stéréotype « extend ») permet d’enrichir un cas d’utilisation par un autre, cependant, cet enrichissement est optionnel.

• L’extension se fait dans le cas d’utilisation de base, en un point précis appelé point d’extension

19

Créer un compte

Réaliser un virement vers un

autre compte

client

<<extend>>

Cas étendu

Cas de base

BanqueEcureuil.fr

Relations : généralisation/spécialisation

• Une relation de généralisation/spécialisation permet d'exprimer que les cas d'utilisation descendants héritent de la description de leur parent commun. Ils peuvent cependant comprendre chacune des interactions spécifiques supplémentaires, ou modifier les interactions dont ils ont hérités.

• Cette relation permet principalement de formaliser les variations importantes sur le même cas d’utilisation.

20

Page 6: UML Diagramme de Cas d'Utilisation

ISI1 – L3 Miage 6

2012-2013

Relations : généralisation/spécialisation

21

Rechercher des ouvrages

Client

DesLivres.fr

Rechercher par recherche

rapide

Rechercher par recherche

avancée

Relations: Exemple

22

BanqueEcureuil.fr

Cas d’utilisation interne Pas directement relié à

un acteur

Condition On peut ajouter des

conditions sur l’extension

Relations: Exemple

23

Association

Dépendances « include » « extend »

Généralisation Spécialisation

Indiquer l’existence des cas particuliers

dépendances. Cela risque de réduire la

Indiquer l’existence des cas particuliers lors du recueil de besoins apporte une information supplémentaire

pertinente.

Attention à ne pas abuser des

dépendances. Cela risque de réduire la

lisibilité.

Condition : { si montant > 20 }

Démarche

• Les étapes pour obtenir un modèle de cas d’utilisation

– Identifier les acteurs – Identifier les cas d’utilisation

• Se placer du point de vue de chaque acteur et déterminer comment il se sert du système

• Limiter le nombre de cas d’utilisation – Se placer au bon niveau d’abstraction

– Ajouter les relations entres les cas d’utilisation • Éviter les redondances

– Structurer l’ensemble des cas d’utilisations en paquetages – Finaliser un ou plusieurs diagrammes de cas d’utilisation

par paquetage

24

Page 7: UML Diagramme de Cas d'Utilisation

ISI1 – L3 Miage 7

2012-2013

Paquetages

• Les acteurs et leurs cas d’utilisation peuvent être regroupés par paquetage

25

UC Internautes

+ Internaute

+ Client

+ Visiteur

- + Chercher des ouvrages

- + Créer compte client

- + Effectuer une commande

- + Consulter ses commandes

- + Gérer son compte client

UC Employées

+ Libraire

+ Webmestre

- + Maintenir catalogue

- + Maintenir site

UC Support

- + S’authentifier

- + Consulter aide en ligne

Paquetages

26

Résumé

27 Source : uml.free.fr

Description des cas d’utilisation

• Une fois les cas d'utilisation identifiés, il faut les décrire. Cette description repose sur la notion de scénario. – Un scénario représente une succession particulière

d‘actions, s'exécutant du début à la fin du cas d'utilisation. – Un cas d'utilisation contient en général un scénario

nominal et plusieurs scénarios alternatifs (qui se terminent de façon normale) ou d'erreur (qui se terminent en échec).

28

Expression textuelle

du problème Cas d'utilisation Scénario

Scénario Scénario Cas d'utilisation

Cas d'utilisation Scénario

Page 8: UML Diagramme de Cas d'Utilisation

ISI1 – L3 Miage 8

2012-2013

Plan Type

Titre

Objectif

Acteurs

Pré-conditions

Post-conditions

Descriptif du scénario nominal

Descriptif des scénarios alternatifs

Descriptif des scénarios d’erreur

Acteur

Cas d’utilisation

Scénario: Exemple

29

LoueUneVoiture.fr

Titre : Réserver un véhicule

Objectif : ce cas d’utilisation permet à un client internaute de saisir une demande de réservation.

Acteurs : Client (principal), Système Bancaire (secondaire)

Pré-conditions : Des véhicules sont disponibles

Post-conditions : Une demande de réservation a été enregistrée par le système avec toutes les informations nécessaires.

Réserver un véhicule

Client

Scénario: Exemple

30

Système bancaire

Descriptif du scénario nominal

1. Le client saisit son code et son login d’identification

2. Le système vérifie le code et le login d’identification

3. Le système demande au client de saisir les informations sur la réservation

4. Le client saisit les informations sur la réservation

5. Le système interroge l’acteur système bancaire pour vérifier l’acompte

6. Le système bancaire donne une réponse favorable

7. Le système envoie au client, un message de confirmation de la demande

Scénario: Exemple

31

LoueUneVoiture.fr

Réserver un véhicule

Client Système bancaire

Descriptif des scénarios alternatifs

SA1 : code d’identification erroné pour la première ou la deuxième fois

SA1 démarre au point 2 du scénario nominal

3. Le système indique au client que le code est erroné, pour la première ou la deuxième fois.

Le scénario nominal reprend au point 1.

Scénario: Exemple

32

LoueUneVoiture.fr

Réserver un véhicule

Client Système bancaire

Descriptif des scénarios d’erreur

SE1 : code d’identification erroné pour la troisième fois

SE1 démarre au point 2 du scénario nominal

3. Le système indique au client que le code est erroné pour la troisième fois.

Le cas d’utilisation se termine en échec (l’objectif n’est pas atteint).