38
1 Diagramme d’activités Introduction au formalisme Activité et Transition Nœud exécutable Nœud de contrôle Nœud d’objet Partitions Exceptions

Diagramme d’activités

  • Upload
    kiele

  • View
    117

  • Download
    1

Embed Size (px)

DESCRIPTION

Diagramme d’activités. Introduction au formalisme Activité et Transition Nœud exécutable Nœud de contrôle Nœud d’objet Partitions Exceptions. Introduction au formalisme.  Présentation Utilisation courante. Présentation. mettent l’accent sur les traitements - PowerPoint PPT Presentation

Citation preview

Page 1: Diagramme d’activités

1

Diagramme d’activités

• Introduction au formalisme

• Activité et Transition

• Nœud exécutable

• Nœud de contrôle

• Nœud d’objet

• Partitions

• Exceptions

Page 2: Diagramme d’activités

2

Introduction au formalisme

•  Présentation

• Utilisation courante

Page 3: Diagramme d’activités

3

Présentation

- mettent l’accent sur les traitements- bien adaptés à la modélisation du cheminement de flots de contrôle et de flots de données. - représentent graphiquement le comportement d’une méthode ou le déroulement d’un cas d’utilisation (famille de scénarios). - proches graphiquement des diagrammes d’états-transitions- interprétation très différente (risque de confusion!)- pas spécifiquement rattachés à un classificateur

Page 4: Diagramme d’activités

4

Utilisation courante

- particulièrement adaptés à la description de familles de scénarios de cas d’utilisation - illustrent et consolident les descriptions textuelles- la forme d’organigrammes les rend facilement intelligibles (relation client)- on parle de modélisation de workflow - permettent de spécifier des traitements a priori séquentiels - offrent une vision très proche de celle des langages de programmation impératifs

Page 5: Diagramme d’activités

5

Activité et Transition

• Action (action)

• Activité (activity)

• Groupe d’activités (activity group)

•  Nœud d’activité (activity node)

• Transition

Page 6: Diagramme d’activités

6

Action (action)

- plus petit traitement qui puisse être exprimé en UML - étapes discrètes à partir desquelles se construisent les comportements - d’action = instruction élémentaire d’un langage de programmation - exemples :

• affectation de valeur à des attributs • accès à la valeur d’une propriété structurelle (attribut ou terminaison d’association) • création d’un nouvel objet ou lien • calcul simple• émission d’un signal • réception d’un signal

Page 7: Diagramme d’activités

7

Types d’actions prédéfinis UML. Action appeler (call operation)

invocation d’une opération sur un objet de manière synchrone ou asynchrone. Action comportement (call behavior)

variante de l’action call operation ( invoque directement une activité) Action envoyer (send)

crée un message et le transmet à un objet cible Action accepter événement (accept event)

bloque l’exécution en cours jusqu’à la réception du type d’événement spécifié Action accepter appel (accept call)

variante de l’action accept event pour les appels synchrones Action répondre (reply)

message en réponse à la réception d’une action de type accept call Action créer (create)

instancier un objetAction détruire (destroy)

détruire un objet. Action lever exception (raise exception)

lever explicitement une exception

Page 8: Diagramme d’activités

8

Activité (activity)

- Une 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). - Le flot de contrôle reste dans l’activité jusqu’à ce que les traitements soient terminés.- Une activité est un comportement (behavior en anglais) et à ce titre peut être associée à des paramètres.

Page 9: Diagramme d’activités

9

Groupe d’activités (activity group)

- C’est une activité regroupant des nœuds et des arcs. - Les nœuds et les arcs peuvent appartenir à plus d’un groupe. - Un diagramme d’activités est lui-même un groupe d’activités

Page 10: Diagramme d’activités

10

Nœud d’activité (activity node)

Un nœud d’activité est un type d’élément abstrait permettant de représenter les étapes le long du flot d’une activité.

Il existe trois familles de nœuds d’activités :

• les nœuds d’exécutions (executable node en anglais) ; • les nœuds objets (object node en anglais) ; • les nœuds de contrôle (control nodes en anglais).

Page 11: Diagramme d’activités

11

Nœud d’activité (activity node)

• nœud représentant une action, qui est une variété de nœud exécutable, • nœud objet, • nœud de décision ou de fusion, • nœud de bifurcation ou d’union, • nœud initial, • nœud final• nœud final de flot.

Page 12: Diagramme d’activités

12

Exemple de diagramme d’activités

Page 13: Diagramme d’activités

13

Transition

- Transition: matérialisation du passage d’une activité vers une autre - spécifie l’enchaînement des traitements et définit le flot de contrôle. - représentée par une flèche en trait plein - déclenchée dès que l’activité source est terminée - provoque automatiquement et immédiatement le début l’activité cible. - franchie de manière atomique sans durée perceptible.

Page 14: Diagramme d’activités

14

Nœud exécutable

• Nœud d’action

• Nœud d’activité structurée (structured activity node)

Page 15: Diagramme d’activités

15

Nœud exécutable

- Un nœud exécutable est un nœud d’activité qu’on peut exécuter (i.e. une activité). - Il possède un gestionnaire d’exception qui peut capturer les exceptions levées par le nœud, ou un de ses nœuds imbriqués.

Page 16: Diagramme d’activités

16

Nœud d’action

- c’est un nœud d’activité exécutable - constitue l’unité fondamentale de fonctionnalité exécutable dans une activité. - représente une transformation dans le système modélisé. - doit avoir au moins un arc entrant.- représenté par un rectangle aux coins arrondis - contient sa description textuelle. - UML n’impose aucune syntaxe on peut donc utiliser une syntaxe proche de celle d’un langage de programmation particulier ou du pseudo-code.

Page 17: Diagramme d’activités

17

Nœud d’action

Certaines actions de communication ont une notation spéciale

Page 18: Diagramme d’activités

18

Nœud d’activité structurée (structured activity node)

-C’est un nœud d’activité exécutable qui représente une portion structurée d’une activité donnée qui n’est partagée avec aucun autre nœud structuré, à l’exception d’une imbrication éventuelle. - Les transitions d’une activité structurée doivent avoir leurs nœuds source et cible dans le même nœud d’activité structurée. - Les nœuds et les arcs contenus par nœud d’activité structuré ne peuvent pas être contenus dans un autre nœud d’activité structuré.- Un nœud structuré est dénoté par le stéréotype « structured » et identifié par un nom unique décrivant le comportement modélisé dans l’activité structurée.- Graphiquement, le contour d’un nœud d’activité structurée est en pointillé. - Une ligne horizontale en trait continu sépare le compartiment contenant le stéréotype « structured » et le nom de l’activité structurée du corps de l’activité structurée.

Page 19: Diagramme d’activités

19

Nœud d’activité structurée

Exemple:

Page 20: Diagramme d’activités

20

Nœud de contrôle

• Nœud initial

• Nœud final

• Nœud de décision et de fusion

• Nœud de bifurcation et d’union

Page 21: Diagramme d’activités

21

Nœud de contrôle

Un nœud de contrôle est un nœud d’activité abstrait utilisé pour coordonner les flots entre les nœuds d’une activité.

Il existe plusieurs types de nœuds de contrôle :

• nœud initial (initial node en anglais) ; • nœud de fin d’activité (final node en anglais) • nœud de fin de flot (flow final en anglais) ; • nœud de décision (decision node en anglais) ; • nœud de fusion (merge node en anglais) ; • nœud de bifurcation (fork node en anglais) ; • nœud d’union (join node en anglais).

Page 22: Diagramme d’activités

22

Nœud initial, Nœud final- Un nœud initial est un nœud de contrôle à partir duquel le flot débute lorsque l’activité enveloppante est invoquée. Une activité peut avoir plusieurs nœuds initiaux. Un nœud initial possède un arc sortant et pas d’arc entrant. - Un nœud final est un nœud de contrôle possédant un ou plusieurs arcs entrants et aucun arc sortant. On distingue:

Nœud de fin d’activitéLorsque l’un des arcs d’un nœud de fin d’activité est activé l’exécution de l’activité enveloppante s’achève et tout nœud ou flot actif au sein de l’activité enveloppante est abandonné. Si l’activité a été invoquée par un appel synchrone, un message (reply) contenant les valeurs sortantes est transmis en retour à l’appelant.Graphiquement, un nœud de fin d’activité est représenté par un cercle vide contenant un petit cercle plein.

Nœud de fin de flotLorsqu’un flot d’exécution atteint un nœud de fin de flot, le flot en question est terminé, mais cette fin de flot n’a aucune incidence sur les autres flots actifs de l’activité enveloppante.Graphiquement, un nœud de fin de flot est représenté par un cercle vide barré d’un X.

Page 23: Diagramme d’activités

23

Nœud de décision

Nœud de décision (decision node)C’est un nœud de contrôle qui permet de faire un choix entre plusieurs flots sortants. Il possède un arc entrant et plusieurs arcs sortants. Ces arcs sont généralement accompagnés de conditions de garde pour conditionner le choix. Si, quand le nœud de décision est atteint, aucun arc en aval n’est franchissable c’est que le modèle est mal formé. (Voir Else)

Page 24: Diagramme d’activités

24

Nœud de décision et de fusion

Nœud de fusion (merge node)Un nœud de fusion est un nœud de contrôle qui rassemble plusieurs flots alternatifs entrants en un seul flot sortant. Il n’est pas utilisé pour synchroniser des flots concurrents (c’est le rôle du nœud d’union) mais pour accepter un flot parmi plusieurs.Graphiquement, on représente un nœud de fusion, comme un nœud de décision, par un losange.

Page 25: Diagramme d’activités

25

Nœud de bifurcation et d’union

• Nœud de bifurcation ou de débranchement (fork node)

• Nœud d’union ou de jointure (join node)

Page 26: Diagramme d’activités

26

Nœud de bifurcation (fork node)

- Un nœud de bifurcation, également appelé nœud de débranchement est un nœud de contrôle qui sépare un flot en plusieurs flots concurrents. - Il possède donc un arc entrant et plusieurs arcs sortants. - On apparie généralement un nœud de bifurcation avec un nœud d’union pour équilibrer la concurrence.- Graphiquement, on représente un nœud de bifurcation par un trait plein

Page 27: Diagramme d’activités

27

Nœud d’union (join node)

- Un nœud d’union, également appelé nœud de jointure est un nœud de contrôle qui synchronise des flots multiples. - Un tel nœud possède donc plusieurs arcs entrants et un seul arc sortant. Lorsque tous les arcs entrants sont activés, l’arc sortant l’est également.Graphiquement, on représente un nœud de union, comme un nœud de bifurcation, par un trait plein

Page 28: Diagramme d’activités

28

Nœud d’objet

• Introduction

• Pin d’entrée ou de sortie

• Pin de valeur (value pin)

• Flot d’objet

• Nœud tampon central (central buffer node)

• Nœud de stockage des données (data store node)

Page 29: Diagramme d’activités

29

Introduction

- Diagramme d’activités = comment modéliser le comportement du flot de contrôle - les flots de données n’apparaissent pas!- c’est un élément essentiel des traitements (arguments des opérations, valeurs de retour, …). - un nœud d’objet permet de définir un flot d’objet (i.e. un flot de données) - représente l’existence d’un objet généré par une action dans une activité et utilisé par d’autres actions.

Page 30: Diagramme d’activités

30

Pin d’entrée ou de sortie

Graphiquement, un pin est représenté par un petit carré attaché à la bordure d’une activité. Il est typé et éventuellement nommé. Il peut contenir des flèches indiquant sa direction (entrée ou sortie)

Page 31: Diagramme d’activités

31

Pin d’entrée ou de sortie

Les pins permettent de:

- spécifier les valeurs passées en argument à une activité et les valeurs de retour- l’activité ne peut débuter que si l’on affecte une valeur à chacun de ses pins d’entrée- quand l’activité se termine, une valeur doit être affectée à une valeur doit être affectée à chacun de ses pins de sortie - les valeurs sont passées par copie : une modification des valeurs d’entrée au cours du traitement de l’action n’est visible qu’à l’intérieur de l’activité.

Page 32: Diagramme d’activités

32

Pin de valeur (value pin)

- Un pin valeur est un pin d’entrée qui fournit une valeur à une action sans que cette valeur ne provienne d’un arc de flot d’objets. -Un pin valeur est toujours associé à une valeur spécifique.

Graphiquement, un pin de valeur se représente comme un pin d’entrée avec la valeur associée écrite à proximité.

Page 33: Diagramme d’activités

33

 Flot d’objet- Un flot d’objets permet de passer des données d’une activité à une autre. - Un arc reliant un pin de sortie à un pin d’entrée est, par définition un flot d’objets - Le type du pin récepteur doit être identique ou parent du type du pin émetteur.

- Il existe une autre représentation possible d’un flot d’objets, plus axée sur les données - Elle fait intervenir un nœud d’objet détaché d’une activité particulière

Page 34: Diagramme d’activités

34

 Nœud tampon central (central buffer node)

- Un nœud tampon central est un nœud d’objet qui accepte les entrées de plusieurs nœuds d’objets ou produit des sorties vers plusieurs nœuds d’objets. - Les flots en provenance d’un nœud tampon central ne sont pas directement connectés à des actions. -Ce nœud modélise donc un tampon traditionnel qui peut contenir des valeurs en provenance de diverses sources et livrer des valeurs vers différentes destinations.

Page 35: Diagramme d’activités

35

Nœud de stockage des données (data store node)

- Un nœud de stockage des données est un nœud tampon central particulier qui assure la persistance des données. - Lorsqu’une information est sélectionnée par un flux sortant, l’information est dupliquée et ne disparaît pas du nœud de stockage des données comme ce serait le cas dans un nœud tampon central. - Lorsqu’un flux entrant véhicule une donnée déjà stockée par le nœud de stockage des données, cette dernière est écrasée par la nouvelle.

Page 36: Diagramme d’activités

36

Partitions- Souvent appelées couloirs ou lignes d’eau (swimlane) du fait de leur notation, - Permettent d’organiser les nœuds d’activités dans un diagramme en opérant des regroupements. - Elles n’ont pas de signification bien arrêtée, mais correspondent souvent à des unités d’organisation du modèle. - Graphiquement, les partitions sont délimitées par des lignes continues. - Les nœuds d’activités appartiennent forcément à une et une seule partition. - Les transitions peuvent traverser les frontières des partitions.

Page 37: Diagramme d’activités

37

Partitions

Page 38: Diagramme d’activités

38

Exceptions