Diagrammes d’activités
Diagrammes d’activités : Définition Un diagramme d’activités UML expose les activités séquentielles et parallèles d’un processus. Il permet de modéliser des processus métier, des enchaînements d’activités (diagrammes de flux/workflows), des flots de données et des algorithmes complexes.
Diagrammes d’activités : Notation Partitions : montre les différentes parties impliquées dans le processus. Début (point de départ) Action/Activité : Fait quelque chose. Une transition automatique se déclenche à son achèvement. Une transition prend en charge la modélisation du flot de contrôle.
Diagrammes d’activités : Notation Action/Activité Transition Débranchement : Une transition entrante et plusieurs transitions parallèles sortantes et/ou des flots d’objets.
Diagrammes d’activités : Notation Nœud d’objet : Objet produit ou utilisé par des actions/activités. Permet de modéliser les flots de données ou des flots d’objets.
Diagrammes d’activités : Notation Jointure : Plusieurs transitions entrantes et/ou flots d’objets; une transition sortante. La poursuite des activités n’a lieu que lorsque tous les flots entrants ont atteint la jointure. Etat terminal : (fin du processus)
Diagrammes d’activités : Point initial/terminal Un diagramme d’activité a toujours un et un seul point/état de départ/initial mais peut avoir plusieurs points/états finaux/terminaux (comme une fonction qui n’a qu’un seul point d’entrée mais qui peut avoir plusieurs points de sortie, plusieurs return). L’état terminal a un cercle extérieur supplémentaire par rapport au point de départ. Point/état initial Points/états finaux
Diagrammes d’activités : Synchronisation La barre de synchronisation a deux sémantiques : Une transition entrante et plusieurs transitions sortantes. Dans ce cas, on la nomme débranchement et cela signifie que les activités s’exécutent parallèlement (activités 2 et 3 dans l’exemple).
Diagrammes d’activités : Synchronisation Plusieurs transitions entrantes et une transition sortante. Dans ce cas, on la nomme jointure et la poursuite de l’activité (4 dans l’exemple) n’a lieu que lorsque toutes les activités entrantes (2 et 3 dans l’exemple) ont atteint la jointure.
Diagrammes d’activités : Synchronisation Une barre de synchronisation n’a pas de sens dans les deux cas suivants : une transition entrante et une sortante; plusieurs transitions entrantes et plusieurs sortantes.
Diagrammes d’activités : Synchronisation La barre de synchronisation ne répond pas toujours aux besoins de la réalité : jointure avec délai maximal d’attente; conditions d’attente : Activité1 || (Activité2 && Activité3) Activité1 (max 1h) || Activité2 .. Une note permettra de palier à ce manque de configuration de la barre de synchronisation.
Diagrammes d’activités : Alternative/Décision Le diagramme d’activités introduit un symbole pour la décision (ou l’alternative : if/switch). Ce symbole est le losange : Voici quelques exemples d’utilisation.
Diagrammes d’activités : Alternative/Décision
Diagrammes d’activités : Alternative/Décision
Diagrammes d’activités : Alternative/Décision ‘Switch’
Diagrammes d’activités : Alternative/Décision
Diagrammes d’activités : Activité Une activité est quelque chose qui se passe dans le processus (dans le workflow). Une action, une événement, … Par une personne, un ordinateur, …
Diagrammes d’activités : Activité Il n’y aucune contrainte sur le nombre de transitions entrantes et sortantes pour une activité
Diagrammes d’activités : Activité MAIS étant donné que les transitions de sorties sont déclenchées implicitement à la fin de l’activité, une confusion apparaît : les activités de sorties sont-elles exécutées parallèlement, séquentiellement, conditionnellement ?
Diagrammes d’activités : Activité
Diagrammes d’activités : Activité Activités sortantes parallèles
Diagrammes d’activités : Activité Activités sortantes séquentielles
Diagrammes d’activités : Activité Activités sortantes avec condition
Diagrammes d’activités : Transitions Une transition représente le passage d’une activité à une autre.
Diagrammes d’activités : Transitions Comme nous l’avons vu avec les conditions, une transition peut avoir une ‘condition de garde’ , c’est-à-dire une condition qui doit être vraie pour que la transition ait lieu. Condition de garde
Diagrammes d’activités : Transitions Les transitions peuvent également avoir un événement, une action, … mais ces propriétés ne sont presque jamais utilisées dans les diagrammes d’activités. Ces propriétés sont utilisées dans les diagrammes d’états que nous verrons plus tard.
Diagrammes d’activités : Partitions et responsabilités Dans les diagrammes d’activités, il est fréquent de montrer qui ou quoi est responsable de l’exécution d’une activité. C’est pour cette raison que le champ de responsabilité est partitionné et que les activités sont placées dans les différentes partitions.
Diagrammes d’activités : Partitions et responsabilités Le partitionnement peut se faire en fonction : Des endroits géographiques (ou des services) où les activités se déroulent Service client, service comptabilité, service facturation, … Des personnes responsables des activités (qui exécutent les actions) : Le client, le caissier, le gérant, … Des entités logiques du système Réseau, Base de données, Système de paiement, … D’un mixte des trois Le client, le caissier, le système de paiement, le service de facturation, …
Diagrammes d’activités : Exemple 1 Une chaîne de montage est décomposée comme suit : Une première partie de la chaîne prend une pièce et la pose sur un tapis déroulant. La pièce est acheminée vers une deuxième partie de la chaîne où la pièce est prise par un bras robotisé. La pièce est ensuite peinte et redéposée sur un deuxième tapis qui achemine la pièce vers la troisième partie de la chaîne. Cette troisième et dernière partie s’occupe de sécher la pièce.
Diagrammes d’activités : Exemple 1 Première opération : découpe en niveaux de responsabilité : Les trois parties de la chaîne : Acquisition Peinture Séchage Les deux tapis acheminant les pièces Tapis1 Tapis2
Diagrammes d’activités : Exemple 1 Même activité
Diagrammes d’activités : Exemple 1 Création d’un nouveau rapport d’erreur
Diagrammes d’activités : Exemple 2