Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par...

75
GÉNIE LOGICIEL (SOFTWARE ENGINEERING) 5ÈME PARTIE UML (UNIFIED MODELING LANGUAGE) Faculté des Sciences et Techniques [email protected] http://perso.univ-st-etienne.fr/jacquene

Transcript of Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par...

Page 1: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

GÉNIE LOGICIEL (SOFTWARE ENGINEERING)

5ÈME PARTIE – UML

(UNIFIED MODELING LANGUAGE)

Faculté des Sciences et Techniques

[email protected]

http://perso.univ-st-etienne.fr/jacquene

Page 2: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Plan de cette partie de cours 2

Généralités et Historique d’UML

Diagrammes de Cas d’Utilisation

Diagrammes de Séquences

Diagrammes d’Etat

Page 3: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

UML – Généralités et Historique

3

UML = Unified Modeling Language

Langage graphique de modélisation des données et traitements

Basé sur la technologie objet

Deux classes de diagrammes

Aspects statiques

Aspects dynamiques

Objectif : schémas clairs et lisibles facilitant la communication entre intervenants du projet

UML n’est pas une méthode

UML est un langage de modélisation pour construire et documenter

Page 4: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

UML – Généralités et Historique

4

Business process

modeling notation

Domain specific

languages System Modeling

Language

Unified Modeling

Language

Object Modeling

Technique

Object Oriented

Soft Engin.

Rational Unified

Process

Page 5: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

UML – Généralités et Historique

5

Page 6: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

UML – Généralités et Historique

6

Page 7: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

UML – Généralités et Historique

7

Page 8: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

UML – Outils

8

Libres

ArgoUML (http://argouml.tigris.org/)

Papyrus (http://www.eclipse.org/papyrus/)

StarUML (http://staruml.sourceforge.net)

Commerciaux

Rational Rose

Borland Together

PowerDesigner

Liste plus complète : http://en.wikipedia.org/wiki/List_of_Unified_Modeling_Language_tools

Page 9: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

9

Diagramme

de cas d’utilisation

Page 10: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme de cas d’utilisation

10

Le diagramme de cas d’utilisation fait partie des diagrammes de

comportement

Page 11: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

UML – Cas d’utilisation (Use Case)

11

Technique pour capturer les exigences fonctionnelles d’un

système

Déterminer ses limites

Déterminer ce qu’il devra faire, quels services il rendra

Mais pas comment il devra le faire

Point de vue de l’utilisateur

Déterminer les acteurs qui interagissent avec le système

Rôles

Déterminer les grandes catégories d’utilisation

Cas d’utilisation

Décrire textuellement des interactions

scénarios

Page 12: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Acteur

12

Entité (humain ou machine) située hors du système

Permet de déterminer les limites du système

Un acteur joue un rôle par rapport au système

Soit déclenche un stimulus entraînant une réaction du système

Soit est sollicité par le système au cours d’un scénario

Un acteur est décrit précisément en quelques lignes

Catégories d’acteurs

Acteurs principaux (fonctions principales du système)

Acteurs secondaires (administration/maintenance)

Matériel externe

Autres systèmes

Page 13: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Cas d’utilisation

13

Ensemble de séquences d’actions réalisées par le

système, produisant un résultat observable pour un

acteur particulier

Exemple : s’identifier, retirer du liquide, répondre à un mail

Un cas d’utilisation

Définit un ensemble de scénarios d’exécutions impliquant le

même acteur (déclencheur) avec le même objectif utilisateur

Recense les informations échangées et les étapes dans la

manière d’utiliser le système, les différents points

d’extension et tous les cas d’erreur

Page 14: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Scénario

14

Séquence particulière d’étapes dans la réalisation d’un cas d’utilisation

Séquence particulière de messages dans le cas d’utilisation pendant une

interaction particulière

Chemin dans le cas d’utilisation

Tous les scénarios d’un cas d’utilisation sont issus du même acteur et ont le

même objectif

Description du cas d’utilisation

Ensemble de scénarios couvrant le cas d’utilisation

Documents avec flot d’événements

Détaille ce qui se passe entre l’utilisateur et le système quand le cas d’utilisation est

exécuté

Flot nominal des événements

Flot d’événements alternatifs

Flots d’exceptions (terminaison incorrecte)

Serviront de base pour les jeux d’essais

Page 15: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Exemple de cas d’utilisation

15

Page 16: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Inclusion/extension/généralisation

16

Include

Un cas A inclut un cas B si le comportement décrit par le cas A inclut

systématiquement le comportement du cas B

Extend

Un cas d’utilisation A étend un cas d’utilisation B lorsque le cas d’utilisation A

peut être appelé au cours de l’exécution du cas d’utilisation B

Generalize

héritage

Faire virement

Internet

Faire virement

S’identifier Vérifier

solde compte

«include» «extend»

montant>80 Client

local

Client

distant

Page 17: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Représentation textuelle du cas d’utilisation

17

A la représentation graphique est associée une

représentation textuelle (c’est en fait la chose la plus utile)

Ensemble de champs de description (nom, préconditions, …)

Lisible et informelle (langage naturel, pas trop long, …)

Décrit

Un scénario nominal (suite d’étapes avec objectufs de l’acteur bien identifiés et

menés à bien

Des points d’extension et étapes d’extension

Des points d’échec

Des liens vers d’autres scénarios s’il y a trop d’étapes

Page 18: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Représentation textuelle du cas d’utilisation

18

Complément de description

Tout ce qui permet de mieux comprendre le cas d’utilisation

Diagramme de séquence

Diagramme d’activité, de machine d’états

Dessin ou maquette d’interface

Documents quelconques

Page 19: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Texte vs diagrammes

19

+ Les diagrammes sont simples à comprendre pour les décideurs

Les différents acteurs

Leurs interactions avec le système

Les limites du système

- Les diagrammes peuvent devenir illisibles (grande hiérarchie,

spaghettis)

- Les diagrammes ne sont pas précis

Page 20: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Texte vs diagrammes

20

Les cas d’utilisation sont issus du dialogue entre concepteurs

(informaticiens) et futurs utilisateurs (non informaticiens) pour

Passer du flou du cahier des charges à des fonctionnalités exprimées

dans le langage du domaine, donc celui des utilisateurs

Exprimer complètement les besoins tout au long du processus de

conception

Les cas d’utilisation doivent être validés par les futurs utilisateurs

lisibilité impérative

L’utilisateur ne doit pas faire confiance à l’informaticien, il doit

comprendre et réagir s’il n’est pas d’accord

Un cas d’utilisation textuel raconte l’histoire du futur utilisateur avec

le futur système

Page 21: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

En résumé

21

Privilégier les descriptions textuelles, les seules qui

décrivent réellement les besoins fonctionnels de

façon partageable

N’utiliser les diagrammes de cas d’utilisation que

comme table des matières donnant accès aux

différentes descriptions textuelles

Page 22: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Rédaction de cas d’utilisation

22

Généralités

Intérêts et intervenants

Portée de conception

Acteurs et objectifs

Préconditions, garanties et déclencheurs

Scénarios

Extensions

Variantes et technologies et de données

Formats de cas d’utilisation

Divers

Page 23: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Rédaction de cas d’utilisation (généralités)

23

A quoi servent les cas d’utilisation ?

Clarifier les processus métier

Bien comprendre le domaine, l’organisation pour laquelle on

conçoit le système

Fixer les limites du système

Bien comprendre ce qui relève du système à concevoir et à

construire

Et ce qui n’en relève pas

Orienter la discussion

Entre les concepteurs, le client, les futurs utilisateurs

Page 24: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Rédaction de cas d’utilisation (généralités)

24

A quoi servent les cas d’utilisation ?

Découvrir et fixer les exigences fonctionnelles

Préparer les tests

Unir tous les modèles d’un projet

Tout choix de conception vient d’un cas d’utilisation

Les cas d’utilisation sont un point d’entrée vers la

documentation de la conception

Page 25: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Rédaction de cas d’utilisation (généralités)

25

Page 26: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Rédaction de cas d’utilisation (exemple)

26

Page 27: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Rédaction de cas d’utilisation (exemple)

27

Page 28: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Rédaction de cas d’utilisation (exemple)

28

Page 29: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Récapitulatif (cas d’utilisation)

29

Dans un diagramme de cas d’utilisation nous

avons mis en avant :

Les acteurs

Les cas d’utilisation

Les relations entre cas d’utilisation

Include

Extend

Generalize

Les relations entre acteurs

Generalize

Page 30: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Récapitulatif (cas d’utilisation)

30

ATTENTION. Lorsqu’on a un diagramme comme

par exemple

On ne fait pas apparaître l’ordre d’exécution

de fonctionnalités

Page 31: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Récapitulatif (cas d’utilisation)

31

Dans la description textuelle d’un cas d’utilisation, comme

par exemple :

on fait apparaître (dans le scénario) l’ordre

d’exécution de fonctionnalités

Page 32: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

32

Diagramme

de séquence

Page 33: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme de séquence

33

Un diagramme de séquence va permettre de représenter

graphiquement un scénario.

Page 34: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme de séquence

34

Le diagramme de séquence fait partie des diagrammes

d’interactions

Page 35: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme de séquence

35

S’intéresse aux messages échangés entre des lignes de vie

Ligne de vie

Élément nommé représentant un participant dans l’interaction

Boite possèdant un nom et une classe

Ligne verticale

:User x [k] :User

Nom d‘objet Nom de la

classe

Page 36: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme de séquence

36

Message : élément nommé qui définit une catégorie spécifique de

communication entre des lignes de vie d’une interaction

Un message reflète

L’appel d’une opération (méthode) et le début de l’exécution

Envoi et réception d’un signal

Un message peut être

Un appel synchrone

Un appel asynchrone

Une création

Une destruction

Une réponse

Page 37: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme de séquence

37

Appel synchrone

Représente un appel de méthode

L’émetteur envoi un message

Il suspend son exécution durant l’attente de la réponse

Flêche pleine à son extrémité

Page 38: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme de séquence

38

Appel asynchrone

Représente un appel de méthode

L’émetteur envoi un message

Il continue son exécution sans attendre la réponse

Flêche ouverte à son extrémité

Page 39: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme de séquence

39

Message de Création

Message envoyé à une ligne de vie

Flêche pointillée, ouverte à son extrémitié, pointant sur la tête

d’une ligne de vie

Page 40: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme de séquence

40

Message de Destruction

Message envoyé à une ligne de vie pour la terminer

La ligne de vie se termine par une croix

Page 41: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme de séquence

41

Message de Réponse

Message envoyé en réponse à un appel

Flêche pointillée avec extrémité ouverte

Page 42: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme de séquence

42

Les différents événements liés à un message

Envoi du message

Réception du message

Début d’exécution

Fin d’exécution

Page 43: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme de séquence

43

Objet actif / Objet passif

Objet actif

initie et contrôle le flux d’activités.

La ligne pointillée verticale est remplacée par un double trait vertical

Objet passif

A besoin qu’on lui donne le flux d’activité pour pouvoir exécuter une méthode

La spécification de l’exécution d’une réaction sur un objet passif se représente par

un rectangle blanc ou gris placé sur la ligne de vie en pointillée

Page 44: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme de séquence

44

Exécutions simultanées sur la même ligne de vie

Page 45: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme de séquence

45

Fragments d’interactions combinés 12 opérateurs

Principalement 8 utilisés

Opérateurs de choix et de boucle

alternative

option

Loop

break

Opérateurs contrôlant l’envoi en parallèle de messages

parallel

critical region

Opérateurs fixant l’ordre d’envoi des messages

strict sequencing

weak sequencing

Page 46: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme de séquence

46

Fragments d’interactions combinés - Opérateur alternative

Le fragment représente un choix

Similaire à un switch en C

Page 47: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme de séquence

47

Fragments d’interactions combinés - Opérateur alternative

Autre exemple

Page 48: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme de séquence

48

Fragments d’interactions combinés - Opérateur option

Équivalent à un opérateur alternative avec une seule condition

Page 49: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme de séquence

49

Fragments d’interactions combinés - Opérateur loop

Permet de spécifier une boucle

Boucle qui s’exécute 10 fois

Boucle qui s’exécute possiblement

une infinité de fois

Page 50: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme de séquence

50

Fragments d’interactions combinés - Opérateur loop

Permet de spécifier une boucle

Si la condition est fausse, on sort

de la boucle, quel que soit le nombre

d’exécutions de la boucle

La boucle s’exécute au minimum

5 fois et au maximum 10 fois

Page 51: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme de séquence

51

Fragments d’interactions combinés - Opérateur break

Si la condition du break est vraie, on exécute le fragment associé et on

ignore le reste du fragment dans lequel le break est inclus

Si la condition du break est fausse on passe directement à la suite du

fragment englobant

Page 52: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme de séquence

52

Fragments d’interactions combinés - Opérateur parallel

Spécifie l’exécution en parallèle de plusieurs sous fragments

Page 53: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme de séquence

53

Fragments d’interactions combinés - Opérateur parallel

Autre exemple

heatFood()

cookedFood

Page 54: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme de séquence

54

Fragments d’interactions combinés - Opérateur strict sequencing

Les fragments s’exécutent les uns après les autres

Page 55: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme de séquence

55

Fragments d’interactions combinés - Opérateur strict sequencing

Autre exemple

Page 56: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme de séquence

56

Fragments d’interactions combinés - Opérateur weak sequencing

Si les lignes de vie atteintes sont les mêmes exécution séquentielle

Si les lignes de vie atteintes sont différentes exécution parallèle

Google en parallèle avec bing et/ou yahoo

Bing puis yahoo

weak

Page 57: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme de séquence

57

Utilisation d’interactions

Possibilité de faire référence à une interaction dans la définition

d’une autre interaction

Permet la réutilisation d’une définition dans des contextes différents

Page 58: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

58

Diagrammes

d’activités

Page 59: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme d’activités

59

Le diagramme d’activités fait partie des diagrammes de

comportement

Page 60: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme d’activités

60

Permet de s’intéresser aux traitements

Modélisation du flôt de contrôle et du flôt de

données

Permet de représenter graphiquement

Le comportement d’une méthode

Le déroulement d’un cas d’utilisation

Offre une vision très proche des langages de

programmation impératifs

Page 61: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme d’activités

61

Action

Plus petit traitement exprimé en UML

équivalent instruction d’un langage de programmation

Principales actions

Action appeler (call operation)

Action comportement (call behavior)

Action envoyer (send)

Action accepter événement (accept event)

Action accepter appel (accept call)

Action répondre (reply)

Action créer (create)

Action détruire (destroy)

Action lever exception (raise exception)

Page 62: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme d’activités

62

Graphiquement les actions apparaissent dans des nœuds action

Rectangle avec bords arrondis

Notation spéciale pour actions de communication

Page 63: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme d’activités

63

Activité

Définit un comportement décrit par un séquencement organisé d’unités dont les

éléments simples sont les actions

Le flot d’exécution est modélisé par des nœuds reliés par des arcs (transitions)

Groupe d’activités

Activité regroupant des nœuds et des arcs

Un diagramme d’activités est lui-même un groupe d’activités

Nœuds d’activités

Transition

Page 64: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme d’activités

64

Exemple de diagramme

Page 65: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme d’activités

65

Nœuds de contrôle

nœud initial (initial node)

nœud de fin d’activité (final node)

nœud de fin de flot (flow final)

nœud de décision (decision node)

nœud de fusion (merge node)

nœud de bifurcation (fork node)

nœud d’union (join node)

Page 66: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme d’activités

66

Nœuds de contrôle

Page 67: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme d’activités

67

Nœud d’objet

Les autres types de nœuds permettent de modéliser les flôts de contrôle

Un nœud objet permet de définir un flôt de données

Pins d’entrée ou sortie

Flôt d’objets

Permet de passer des valeurs d’une activité à une autre

Page 68: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme d’activités

68

Nœud d’objet

Nœud buffer central

Nœud de stockage des données

Page 69: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme d’activités

69

Partitions

Permettent d’organiser les nœuds d’activités en opérant des regroupements

Graphiquement, les partitions sont délimitées par des lignes continues

On les appelle des couloirs ou des lignes d’eau

Page 70: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme d’activités

70

Exceptions

Une activité peut déclencher une exception

Une exception peut être récupérée par un gestionnaire d’exception

Page 71: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme d’activités

71

Exceptions

Page 72: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme d’activités

72

Exemple 1

Page 73: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme d’activités

73

Exemple 2

Page 74: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

Diagramme d’activités

74

Exemple 3

Page 75: Figures – Chapter 4 · Cas d’utilisation 13 Ensemble de séquences d’actions réalisées par le système, produisant un résultat observable pour un acteur particulier Exemple

75

FIN DE LA 5ème PARTIE