2. Introduction
Un diagramme d’activités (DA) représente le flot d’une
activité à l’autre.
Les activités :
sont des opérations non atomiques.
Elles finissent par exécuter une action composée de
calculs atomiques qui aboutissent à un changement de
l’état du système ou au retour d’une valeur.
2
3. Introduction
Le DA est une variante du DET :
Les DA utilisent beaucoup d’éléments du DET.
Dans le DET, les états et les transitions sont mis en avant
alors que dans le DA se sont les activités et les
transitions qui sont mises en avant.
Un DA correspond à un diagramme d’états vu sous
forme « procédurale » avec une mise en évidence des
actions/activités (d’où son nom).
3
4. Introduction
Un diagramme d’activités peut être rattaché à un CU, à
la réalisation d’une opération, ou à un processus
impliquant l’utilisation d’un ou de plusieurs objets.
En théorie, tous les mécanismes dynamiques pourraient
être décrits par un diagramme d'activités, mais seuls les
mécanismes complexes ou intéressants méritent d'être
représentés (faisant intervenir plusieurs objets, créant ou
modifiant divers objets, …).
Une activité : plusieurs opérations
DA : représente l’enchaînement des différentes
opérations
La fin d’une opération engendre le début d’une autre
4
5. Les états d’action (et d’activités)
Un état d’action modélise une étape dans l’exécution d’un
algorithme ou d’un flot.
C’est un état simplifié dans lequel figure une action d’entrée
et duquel part au moins une transition automatique vers un
autre état, déclenchée par la fin de l’action.
Etudier devis Index = recherche(e)+7
Exemples d’états
d’action
5
6. Les transitions
Une transition peut être automatique ou gardée.
Une transition automatique est :
franchie quand l’activité précédente est finie.
Une transition gardée est franchie :
quand l’activité précédente est finie et
si la condition est vérifiée.
Activité
Autre Activité
Transitions
automatiques 6
8. Les transitions
[rejetée] [retenue]
Transitions gardées
Afficher(i)
/i=0
[i<10]/ i=i+1
[sinon]
Examen candidature
Rédiger lettre
de refus
Envoyer
convocation
Le niveau d’abstraction d’un DA peut être : de haut niveau (I) ou de bas
niveau (II) : algorithmique
(I) (II)
8
9. Synchronisation
Il est possible de synchroniser les transitions à l'aide de barres
de synchronisation (BS)
Une BS permet d'ouvrir et/ou de fermer des branches
parallèles au sein d'un flot d'exécution.
Les transitions qui partent d'une BS ont lieu en même temps.
Activité 2
Activité 1
Activité 3
La fin de A1 engendre les
débuts simultanés de A2
et A3
9
10. Synchronisation
On ne franchit une barre de synchronisation qu'après
réalisation de toutes les transitions qui s'y rattachent.
Exemples :
Activité 2
Activité 1
Activité 3
Vérifier Dossier
Vérifier situation
assuré
Etudier dossier Préparer
facture
Enregistrer
commande
Préparer bon
de livraison
Le début de A3 ne se fait que si
A2 et A1 soient terminées
10
11. Les travées
Les diagrammes d’activités peuvent être découpés en travées
(ou couloirs d’activité) pour montrer les responsabilités au
sein d’un mécanisme ou d’une organisation.
Chaque activité appartient à une seule travée même si les
transitions peuvent passer d’une travée à l’autre.
Les travées permettent d'organiser un diagramme d'activités
Exemple
11
13. Flot d’objets
Il est possible de faire apparaître les objets dans un DA.
Les objets représentés sont ceux qui:
initient les actions,
utilisés par les actions ou
modifiés par les actions
Un objet utilisé par une action est visualisé par une flèche en
pointillés pointant vers l’état d’action.
Un objet modifié par une action est visualisé par une flèche en
pointillés orientée de l’état d’action vers l’objet.
Il est possible de montrer l’état d’un objet et les valeurs de ses
attributs modifiés.
13
14. Commander produit
Payer Facture
Traiter commande
Sortir articles
Expédier commande
Magasinier
Vendeur
Client
Recevoir commande Facturer client
Cloturer
commande
c:COMMANDE
[en cours]
c:COMMANDE
[traitée]
f:FACTURE
[due]
f:FACTURE
[payée]
Remarque: DA = DCU + D. Classes + D. Objets + D. Collaboration + D. ET
14
15. Les DA pour la modélisation des processus métier
Un processus métier (business process) est l’ensemble des
activités internes d’un métier dont l’objectif est de fournir un
résultat observable et mesurable pour un utilisateur
individuel du métier.
Exemples : Gérer commandes, Gérer retours, …
La modélisation des processus métier fournit le contexte dans
lequel les fonctionnalités des systèmes d’information
(informatisés) seront définies et leur opportunité mesurée.
Les DA permettent de « formaliser » les processus métier.
Les travées permettent de diviser les états d’action (ou
d’activités) en groupes sur le DA, chaque groupe représentant
le département responsable de ces activités.
Exemple :
15
16. Demander retour
Attribuer num
retour
Recevoir article
Expedier article
Magasinier
Service Ventes
Client
Restocker article
Créditer
compte
a:ARTICLE
[retourné]
a: ARTICLE
[disponible]
Comptabilité
Processus métier : Gérer les retours 16
17. Les DA pour la modélisation des opérations
L’élément le plus courant auquel on peut attacher un DA est
l’opération.
Dans ce contexte, le DA est un organigramme des actions d’une
opération.
Le principal avantage d’un DA dans ce cas est que les éléments
qu’il contient sont sémantiquement liés à un modèle sous-jacent
riche.
17
18. Les DA pour la modélisation des
opérations
Pour modéliser une opération, il faut
Rassembler les abstractions impliquées dans cette opération
(paramètres, attributs de la classe d’appartenance de
l’opération, et certaines classes voisines.
Identifier les préconditions à l’état initial de l’opération et les
postconditions à son état final, ainsi que les invariants qui
doivent se maintenir pendant l’exécution de l’opération.
en commençant par l’état initial, spécifier les activités et les
actions.
Lorsque cela est nécessaire, utiliser les branchements
conditionnels pour les chemins conditionnels et les itérations.
Si l’opération appartient à une classe qui peut en activer
d’autres, utiliser la synchronisation. 18
20. DET versus DA
DET D A
Représente l’évolution des
objets
Représente l’évolution de
l’exécution d’une opération
(CU)
Etat (objet) Etat(activité/opération)
Etats : initial / Final Etats : initial / Final
Transition (gardée /
automatique)
Transition (gardée /
automatique)
BS BS
20