Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas...

59
14/11/01 UML 04 V1-1a 1 heg Haute école de gestion de Neuchâtel Les cas d’utilisation Les cas d’utilisation (use cases) ont été formalisés par Ivar Jacobson. Les cas d’utilisation décrivent, sous la forme d’actions et de réactions, le comportement d’un système du point de vue d’un utilisateur . Un cas d’utilisation est une manière spécifique d’utiliser un système. C’est l’image d’une fonctionnalité du système, déclenchée en réponse à la stimulation d’un acteur externe . [PAM-00 p151]

Transcript of Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas...

Page 1: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 1

hegHaute école de gestionde Neuchâtel

Les cas d’utilisation

Les cas d’utilisation (use cases) ont été formalisés par Ivar Jacobson. Les cas d’utilisation décrivent, sous la forme d’actions et de réactions, le comportement d’un système du point de vue d’un utilisateur.

Un cas d’utilisation est une manière spécifique d’utiliser un système. C’est l’image d’une fonctionnalité du système, déclenchée en réponse à la stimulation d’un acteur externe.

[PAM-00 p151]

Page 2: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 2

hegHaute école de gestionde Neuchâtel

Intérêt des cas d’utilisation

[PAM-00 p152]

Ensemble des besoins

Utilisateur A Utilisateur B

Utilisateur C

Les cas d’utilisation partitionnent l’ensemble des besoins d’un système

Cahier des charges

Page 3: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 3

hegHaute école de gestionde Neuchâtel

Le modèle des cas d’utilisation

Un acteur représente un rôle joué par une personne ou une chose qui interagit avec un système.

[PAM-00 p152]

Système

Page 4: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 4

hegHaute école de gestionde Neuchâtel

Figure 3-125 / Exercice 1 - 1

[PAM-00 p153]

Page 5: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 5

hegHaute école de gestionde Neuchâtel

4 grandes catégories d’acteurs

• Les acteurs principaux…les personnes qui utilisent les fonctions principales du système.

• Les acteurs secondaires…les personnes qui effectuent des tâches administratives ou de maintenance.

• Le matériel externe…les dispositifs matériels incontournables qui font partie du domaine de l’application et qui doivent être utilisés.

• Les autres systèmes… les systèmes avec lesquels le système doit interagir.

[PAM-00 p153]

Page 6: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 6

hegHaute école de gestionde Neuchâtel

Les scénarios (1)

Les cas d’utilisation se déterminent en observant et en précisant, acteur par acteur, les séquences d’interaction -les scénarios- du point de vue de l’utilisateur.

Un cas d’utilisation regroupe une famille de scénarios d’utilisation selon un critère fonctionnel.

Les cas d’utilisation sont des abstractions du dialogue entre les acteurs et le système: ils décrivent des interactions potentielles, sans entrer dans le détail de chaque scénario.

[PAM-00 p155]

Page 7: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 7

hegHaute école de gestionde Neuchâtel

Les scénarios (2)

[PAM-00 p155]

Les cas d’utilisation doivent être vus comme des classes dont les instances sont les scénarios. Chaque fois qu’un acteur interagit avec le système, le cas d’utilisation instantie un scénario; ce scénario correspond au flot de messages échangés par les objets durant l’interaction particulière qui correspond au scénario.

Page 8: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 8

hegHaute école de gestionde Neuchâtel

Les relations dans un diagramme cas d’utilisation

• La relation de communication• La relation de généralisation• La relation d’inclusion• La relation d’extension

[PAM-00 p156]

Client distant

Virement par internet

Virement Identification

<<include>>

Vérification solde compte

montant > 500 frs

<<extend>>

Page 9: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 9

hegHaute école de gestionde Neuchâtel

La relation d’inclusion

La relation d’inclusion a un caractère obligatoire, la source spécifiant à quel endroit le cas d’utilisation cible doit être inclus.

[PAM-00 p156]

Client distant

Virement par internet

Virement Identification

<<include>>

Vérification solde compte

montant > 500 frs

<<extend>>

Page 10: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 10

hegHaute école de gestionde Neuchâtel

La relation d’extension

Dans une relation d’extension entre cas d’utilisation, le cas d’utilisation source ajoute son comportement au cas d’utilisation destination (cible). L’extension peut être soumise à une condition.

[PAM-00 p156]

Client distant

Virement par internet

Virement Identification

<<include>>

Vérification solde compte

montant > 500 frs

<<extend>>

Page 11: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 11

hegHaute école de gestionde Neuchâtel

Figure 3-133 / Exercice 2 - 1

Page 12: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 12

hegHaute école de gestionde Neuchâtel

Règles de mise en œuvre des cas d’utilisation

La description des cas d’utilisation comprend:– Le début du cas d’utilisation.– La fin du cas d’utilisation.– L’interaction entre le cas d’utilisation et les acteurs.– Les échanges d’informations (paramètres des

interactions).– La chronologie et l’origine des informations.– Les répétitions de comportement.– Les situations optionnelles.

[PAM-00 p158]

Page 13: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 13

hegHaute école de gestionde Neuchâtel

Figure 3-134 / Cas d’utilisation et scénarios

Un cas d’utilisation décrit, de manière abstraite, une famille de scénarios.

Cas d’utilisation

Scénario 1 Scénario 3Scénario 2

[PAM-00 p160]

Page 14: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 14

hegHaute école de gestionde Neuchâtel

Maquette

[PAM-97] Le maquettage à base de constructeurs d’interfaces utilisateur est très souvent le meilleur moyen d’aider l’utilisateur final à articuler ses désirs. L’examen des interactions(*) entre l’utilisateur et la maquette procure alors une source non négligeable de scénarios, et donc de moyens de valider le modèle de cas d’utilisation.[LMP-98 p61] Une maquette est un ensemble d’enchaînements d’écrans permettant de simuler un nombre limité de fonctionnalités du système. Elle s’appuie sur des objets métier simulés et des accès en bases de données fictifs.

[PAM-97 p131]

Page 15: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 15

hegHaute école de gestionde Neuchâtel

La transition vers l’objet (collaboration)

[PAM-97 p133]

Page 16: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 16

hegHaute école de gestionde Neuchâtel

Collaboration

[BRJ-00 p240] Un cas d’utilisation saisit le comportement attendu du système que l’on développe, sans que l’on ait besoin de préciser comment ce comportement est réalisé…Ensuite, il faut quand même implémenter les cas d’utilisation en créant une société de classes et d’autres éléments qui fonctionnent ensemble pour réaliser le comportement de ce cas d’utilisation. Cette société d’éléments, qui comporte à la fois une structure statique et dynamique, est modélisée en UML sous le nom de collaboration.On peut préciser explicitement la réalisation d’un cas d’utilisation par une collaboration. Pourtant, la plupart du temps, un cas d’utilisation donné est réalisé par une seule collaboration, sans que l’on ait à modéliser explicitement cette relation.

Page 17: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 17

hegHaute école de gestionde Neuchâtel

Collaboration implicite / Exercice 3 -1

Page 18: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 18

hegHaute école de gestionde Neuchâtel

La transition vers l’objet

Une approche objet réalise un cas d’utilisation au moyen d’une collaboration entre objets. Les scénarios, instances du cas d’utilisation, sont représentés par des diagrammes d’interaction (diagrammes de collaboration et diagrammes de séquence).

[PAM-00 p163]

Page 19: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 19

hegHaute école de gestionde Neuchâtel

Les diagrammes d’objets

Les diagrammes d’objets, ou diagrammes d’instances, montrent des objets et des liens. Comme les diagrammes de classes, les diagrammes d’objets représentent la structure statique.

Les diagrammes d’objets s’utilisent principalement pour montrer un contexte, par exemple avant ou après une interaction, mais également pour faciliter la compréhension des structures complexes, comme les structures récursives.

[PAM-97 p134]

Page 20: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 20

hegHaute école de gestionde Neuchâtel

Représentation des objets

L’objet « ObjetA » n’est pas classifié

L’objet « ObjetB » est instance de la classe «  ClasseB »

L’objet « ClasseC » est une instance anonyme de la classe «ClasseC»

Rational Rose n’affiche pas les stéréotypes de classe

Rational Rose ne permet pas la saisie de valeurs d’attributsLes attributs peuvent être affichés avec la

fonction Edit Compartment du menu contextuel des

objets

[PAM-00 p164]

Page 21: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 21

hegHaute école de gestionde Neuchâtel

Représentation des liens / Exercice 4 - 1

[PAM-00 p167]

Classe

Objets

Page 22: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 22

hegHaute école de gestionde Neuchâtel

Les objets composites

[PAM-00 p168]

Classes

Objets

Page 23: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 23

hegHaute école de gestionde Neuchâtel

Similitudes avec les diagrammes de classes (1)

[PAM-00 p169]

Classes

Objets

Page 24: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 24

hegHaute école de gestionde Neuchâtel

Compréhension de structures complexes

[PAM-00 p169]

Page 25: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 25

hegHaute école de gestionde Neuchâtel

Les objets actifs

[PAM-00 p170]

Page 26: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 26

hegHaute école de gestionde Neuchâtel

Les diagrammes de collaboration

[PAM-97 p139]Les diagrammes de collaboration montrent des interactions entre objets, en insistant plus particulièrement sur la structure spatiale statique qui permet la mise en collaboration d’un groupe d’objets. Les diagrammes de collaboration expriment à la fois le contexte d’un groupe d’objets (au travers des objets et des liens) et l’interaction entre ces objets (par la représentation de l’envoi de messages). Les diagrammes de collaboration sont une extension des diagrammes d’objet.

[PAM-00 p171]

Page 27: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 27

hegHaute école de gestionde Neuchâtel

Les envois de messages

UML utilise le terme de stimulis pour parler d’une communication entre deux objets qui déclenche l’invocation d’une opération, l’émission d’un signal ou la création et destruction d’un objet

[PAM-00 p178]

Page 28: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 28

hegHaute école de gestionde Neuchâtel

Représentation des interactions

Les interactions comprennent principalement les éléments suivants:

– Les instances– Les liens– Les messages– Les rôles

Dans un diagramme de collaboration, le temps n’est pas représenté de manière implicite, comme dans un diagramme de séquence, de sorte que les différents messages sont numérotés pour indiquer l’ordre des envois.

[PAM-00 p179]

Page 29: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 29

hegHaute école de gestionde Neuchâtel

Exercice 5 - 1

Classes

Collaboration

[PAM-00 p180]

Page 30: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 30

hegHaute école de gestionde Neuchâtel

Figure 3-178 / Contraintes

[PAM-00 p181]

Page 31: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 31

hegHaute école de gestionde Neuchâtel

Figure 3-179 / Itération d’un message

[PAM-00 p181]

Rational Rose prend le symbolisme de l’itération comme élément constitutif du nom du message.

Page 32: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 32

hegHaute école de gestionde Neuchâtel

La place de l’utilisateur

[PAM-00 p182]

StéréotypeActeur

Page 33: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 33

hegHaute école de gestionde Neuchâtel

Syntaxe des messages

Le message, ses arguments et valeurs de retour, son rang au sein de l’interaction, et diverses autres informations comme le degré d’emboîtement ou la synchronisation sont précisés lors de l’envoi.

SéquenceNiveau d’emboîtement du message au sein de l’interaction

RésultatListe de valeurs retournées par le message

Nom du message… Opération définie dans la classe de l’objet destinataire

ArgumentListe des paramètres du message

[PAM-00 p182]

Page 34: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 34

hegHaute école de gestionde Neuchâtel

Les messages / Figure 3-183

Rational Rose ne supporte pas l’ensemble des enrichissements de messages que cite P.-A. Muller [PAM-00 p182-185].

Dans ses exemples avec Rational Rose, P.-A. Muller enrichit la sémantique des messages en utilisant la zone de nommage!

[PAM-97 p143]

Page 35: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 35

hegHaute école de gestionde Neuchâtel

Enrichissement des messages (1)

Page 36: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 36

hegHaute école de gestionde Neuchâtel

Opération conditionnelle

Page 37: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 37

hegHaute école de gestionde Neuchâtel

Les « pattern »

[PAM-97 p146] Les collaborations existent également sous une forme générique (modèle), paramétrée par des classes, des relations, des attributs et des opérations. Une collaboration générique est appelée « pattern » ou schème et micro-architecture en français. Les patterns possèdent toujours un nom, contrairement aux collaborations qui peuvent être anonymes.

Page 38: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 38

hegHaute école de gestionde Neuchâtel

Les diagrammes de séquence

[PAM-97 p148] Les diagrammes de séquence montrent des interactions entre objets selon un point de vue temporel. Le contexte des objets n’est pas représenté de manière explicite comme dans les diagrammes de collaboration. La représentation se concentre sur l’expression des interactions.Un diagramme de séquence représente une interaction entre objets en insistant sur la chronologie des envois de messages. La notation est dérivée des « Object Message Sequence du Siemens Pattern Group ».

[PAM-00 p186]

Page 39: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 39

hegHaute école de gestionde Neuchâtel

1ère utilisation des diagrammes de séquence

La première utilisation des diagrammes de séquence correspond à la documentation des cas d’utilisation.

[PAM-00 p188]

Page 40: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 40

hegHaute école de gestionde Neuchâtel

Figure 3-192 / Exercice 6 -1

Page 41: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 41

hegHaute école de gestionde Neuchâtel

Catégories d’envoi de messages

[PAM-97 p149] Les diagrammes de séquence distinguent deux grandes catégories d’envoi de message:

– Les envois synchrones pour lesquels l’émetteur est bloqué et attend que l’appelé ait fini de traiter le message.

– Les envois asynchrones pour lesquels l’émetteur n’est pas bloqué et peut continuer son exécution.

Page 42: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 42

hegHaute école de gestionde Neuchâtel

Les activations et envois de messages

Les diagrammes de séquence permettent de représenter les périodes d’activité des objets. Une période d’activité correspond au temps pendant lequel un objet effectue une action, soit directement, soit par l’intermédiaire d’un autre objet qui lui sert de sous-traitant. Les périodes d’activité se représentent par des bandes rectangulaires placées sur les lignes de vie. Le début et la fin d’une bande correspondent respectivement au début et à la fin d’une période d’activité.

[PAM-00 p189]

Page 43: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 43

hegHaute école de gestionde Neuchâtel

Retour en fin d’exécution

Message synchrone

Retour impliciteMessage asynchrone

Retour explicite

[PAM-00 p190]

Page 44: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 44

hegHaute école de gestionde Neuchâtel

Représentation des interactions

[PAM-00 p190-194]

3

4

1

2

Page 45: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 45

hegHaute école de gestionde Neuchâtel

Les contraintes temporelles

[PAM-00 p192]

Page 46: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 46

hegHaute école de gestionde Neuchâtel

Figure 3-204 / Exercice 7 -1

[PAM-00 p193]

Page 47: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 47

hegHaute école de gestionde Neuchâtel

Contrôle centralisé

[KETT-98 Fig1-40]

Diagramme de séquence avec un objet contrôleur chef d’orchestre

Page 48: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 48

hegHaute école de gestionde Neuchâtel

Contrôle décentralisé

[KETT-98 Fig1-41]

Diagramme de séquence avec délégation

Page 49: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 49

hegHaute école de gestionde Neuchâtel

Diagramme de séquence à éviter!

[KETT-98 Fig1-42]

Page 50: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 50

hegHaute école de gestionde Neuchâtel

Pseudo-code (1)

L’ajout de pseudo-code sur la partie gauche du diagramme permet la représentation des boucles et des branchements, de sorte que les diagrammes de séquence peuvent représenter la forme générale d’une interaction, au-delà de la seule prise en compte d’un scénario particulier.

[PAM-00 p194]

Page 51: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 51

hegHaute école de gestionde Neuchâtel

Figure 3-209 / Pseudo-code (2)

[PAM-00 p195]

Page 52: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 52

hegHaute école de gestionde Neuchâtel

Messages et opérations des classes

Utilisation des diagrammes de séquence:

• Documentation des cas d’utilisation

Messages propres au diagramme

• Spécification technique

Messages correspondants aux opérations des classes

Page 53: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 53

hegHaute école de gestionde Neuchâtel

Exercice 7 - 1

Cet exercice est repris de [LMP-98 p71-73]Il s’agit d’un exemple de retrait d’argent à un guichet.Le but est de décrire un cas d’utilisation sous forme textuelle, sous forme de diagramme de séquence et de diagramme de collaboration.

Nous reproduirons ci-après:– L’introduction théorique de [LMP-98] relative à la description d’un

cas d’utilisation.– Le diagramme du cas d’utilisation.– La description textuelle d’une instance du cas d’utilisation.– Le (un) diagramme de scénario du cas d’utilisation.– Le (un) diagramme de collaboration du cas d’utilisation.

Page 54: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 54

hegHaute école de gestionde Neuchâtel

Exercice 7 – 2 / Introduction théorique

[LMP-98 p71] La description des use case doit être synthétique, facilement compréhensible (comme tout modèle) et doit également rendre compte facilement d’un cas d’utilisation.

Un use case peut être décrit de différentes façons:– de façon informelle, il s’agit alors de texte libre, comme

peuvent l’être les spécifications. Il faut que les explications soient un minimum structurées et concises;

– de façon formelle, il peut alors s’agir de langages structurés, de pseudo-code, de diagrammes. Ces notations ne doivent pas être trop techniques, il ne faut pas commencer une ébauche d’implémentation à ce stade de l’analyse.

Page 55: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 55

hegHaute école de gestionde Neuchâtel

Exercice 7 – 3 / Le cas d’utilisation

Page 56: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 56

hegHaute école de gestionde Neuchâtel

Exercice 7 – 4 / Une représentation textuelle

• Le guichetier saisit le numéro de compte du client.

• L’application valide le compte auprès du système central.

• L’application demande le type d’opération au guichetier.

• Le guichetier sélectionne un retrait de 200 F.

• Le système « guichet » interroge le système central pour s’assurer que le compte est suffisamment approvisionné.

• Le système central effectue le débit du compte.

• Le système notifie au guichetier qu’il peut délivrer le montant demandé.

Use case « retrait en espèce »

Page 57: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 57

hegHaute école de gestionde Neuchâtel

Exercice 7 – 5 / Un scénario

Page 58: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 58

hegHaute école de gestionde Neuchâtel

Exercice 7 – 6 / Un diagramme de collaboration

Page 59: Heg Haute école de gestion de Neuchâtel 14/11/01UML 04 V1-1a1 Les cas dutilisation Les cas dutilisation (use cases) ont été formalisés par Ivar Jacobson.

14/11/01 UML 04 V1-1a 59

hegHaute école de gestionde Neuchâtel

Exercice 7 – 7 / État du référentiel