Différence entre
Diagramme d'activité et Diagramme de séquence

Tableau Comparatif Rapide

Objectif principal Diagramme d'activité

Modéliser le déroulement d'un processus ou d'un algorithme.

Diagramme de séquence

Représenter l'ordre temporel des interactions entre objets ou acteurs.

Éléments graphiques clés Diagramme d'activité

Nœuds d'action, nœuds de décision, flux de contrôle, nages (swimlanes).

Diagramme de séquence

Lignes de vie (objets/acteurs), messages (flèches), activateurs, fragments combinés.

Question à laquelle il répond Diagramme d'activité

"Comment le travail est-il effectué ?" ou "Quelles sont les étapes de ce processus ?"

Diagramme de séquence

"Qui parle à qui, et dans quel ordre ?" ou "Comment cette fonctionnalité est-elle implémentée ?"

Perspective dominante Diagramme d'activité

Flux de travail / Flux de contrôle.

Diagramme de séquence

Interaction / Temps.

📘 Diagramme d'activité

Un diagramme d'activité modélise le flux de travail ou le déroulement d'un processus métier, en montrant les étapes, les décisions et les bifurcations possibles.

📕 Diagramme de séquence

Un diagramme de séquence représente l'ordre temporel des interactions (messages) entre les objets ou acteurs d'un système pour réaliser une fonctionnalité spécifique.

💡 Moyen mnémotechnique

Pour le diagramme d'Activité, pense à une recette de cuisine : il décrit le flux des étapes et les décisions à prendre pour réaliser le plat. Pour le diagramme de Séquence, imagine une conversation téléphonique : il montre qui appelle qui et dans quel ordre, pour quel message.

🕵️‍♂️ Dans la pratique

📜 Pourquoi confond-on souvent les deux ?

Le UML (Unified Modeling Language) est apparu à la fin des années 90 pour unifier les différentes méthodes de modélisation logicielle de l'époque (Booch, Rumbaugh, Jacobson). Cette standardisation était une excellente idée, mais elle a aussi créé des zones de confusion, notamment entre des diagrammes qui, de prime abord, semblent décrire des choses similaires. La confusion entre "Diagramme d'activité" et "Diagramme de séquence" vient souvent du fait que tous deux décrivent le comportement d'un système. Cependant, l'un se concentre sur le flux de travail et les étapes d'un processus (les activités, comme un organigramme amélioré), tandis que l'autre se focalise sur les interactions et l'échange de messages entre des objets ou des composants, en respectant la chronologie. Leur place au sein du même arsenal UML peut prêter à croire qu'ils sont interchangeables, alors qu'ils répondent à des questions très différentes sur le "comment" un système fonctionne.

💼 Exemple concret — Diagramme d'activité

Imagine que tu décris le processus générique d'une commande de pizza en ligne. Tu commencerais par "Sélectionner des pizzas", puis "Ajouter au panier". Ensuite, une décision : "Es-tu connecté ?" Si non, tu devras "Créer un compte ou te connecter". Si oui (ou après connexion), tu "Valides le panier". Ensuite, tu "Choisis l'adresse de livraison", puis le "Mode de paiement", et enfin, tu "Paies la commande". Ce Diagramme d'activité te montre le flux des actions, les points de décision et les chemins possibles dans un processus métier, sans te soucier de qui fait quoi techniquement derrière.

💼 Exemple concret — Diagramme de séquence

Maintenant, regarde ce qui se passe techniquement quand tu cliques sur "Payer" pour ta pizza. Ton navigateur web ("Client") envoie un message "requêtePaiement(montant, articles)" au "Serveur e-commerce". Le serveur vérifie la commande, puis envoie un message "demandeAutorisation(carte)" au "Service de Paiement" (ex: Stripe/PayPal). Le service de paiement interagit avec la "Banque" pour obtenir l'autorisation, puis renvoie "transactionValidée" au serveur, qui confirme "paiementRéussi" à ton navigateur. Ce Diagramme de séquence met en évidence l'ordre chronologique précis des échanges de messages entre ces différents composants logiciels et leurs "lignes de vie".

D'autres confusions fréquentes