Quel langage de modélisation choisir
On les compare comme si une équipe devait en choisir un et s'y tenir. Ils répondent à des questions différentes, ne se recouvrent vraiment qu'en trois endroits, et savoir lesquels constitue l'essentiel de la décision.
9 min de lectureModelling practice1 sur 4
La réponse courte
- UML décrit comment un système est construit, ArchiMate comment un parc tient ensemble, BPMN ce qui se passe dans un processus, et C4 à quel niveau de zoom on regarde.
- Ils ne se recouvrent qu'en trois endroits : le flux de processus, la structure applicative, et la boîte de la taille d'un conteneur que C4, ArchiMate et UML savent tous dessiner.
- Choisissez selon qui lit le diagramme et ce qu'il doit survivre : une conversation, un fichier d'échange ou un moteur de processus.
- En utiliser plusieurs est normal. En mélanger deux sur une même toile sans le dire est l'échec : une boîte signifie alors ce que le lecteur suppose.
01Quatre langages, quatre questions différentes#
Une notation est un ensemble de réponses, et elle n'est utile que si l'on posait la question à laquelle elle répond. Les quatre présentes sur ce site ont été écrites par des gens différents, à des décennies différentes, pour des salles différentes - et la comparaison semble glissante parce que les trois quarts en sont une erreur de catégorie. Avant de comparer quoi que ce soit, il vaut mieux les lire comme quatre questions plutôt que comme quatre boîtes à outils.
| Élément | Notation | Ce que cela signifie |
|---|---|---|
| UML 2.5.1 | Quatorze types de diagrammes, un système | Comment ce logiciel est-il construit ? Classes, messages, états, composants, nœuds. Assez précis pour qu'un diagramme puisse être faux - c'est tout l'intérêt d'avoir un métamodèle. |
| ArchiMate 4 | Couches et aspects, un parc entier | Comment métier, applications et technique se soutiennent-ils ? Un seul vocabulaire couvrant les trois, pour qu'une question qui les traverse trouve sa réponse dans un seul modèle. |
| BPMN 2.0 | Un processus, ses participants et ses événements | Que se passe-t-il, dans quel ordre, et qui le fait ? Écrit pour être lu par le métier et exécuté par un moteur - une paire de contraintes qu'aucune autre notation ici n'accepte. |
| C4 | Quatre niveaux, aucune forme imposée | À quel niveau de zoom suis-je ? Une convention de portée plutôt qu'une notation - elle se compose donc avec n'importe laquelle des trois ci-dessus au lieu de les concurrencer. |
Lues ainsi, la plupart des paires se dissolvent. Comparer C4 et UML revient à comparer une table des matières et une police, ce dont traite un article dédié. Comparer ArchiMate et BPMN revient à comparer la carte d'un pays et un itinéraire. Ce qui reste une fois les erreurs de catégorie retirées, ce sont trois recouvrements réels, et ceux-là méritent qu'on en débatte.
02Les trois zones de vrai recouvrement#
Le flux de processus. Un processus BPMN et un diagramme d'activité UML décrivent la même chose : du travail en séquence, avec branches, parallélisme et participants. Ils se tracent différemment et visent des salles différentes, mais un diagramme du processus de la commande à l'encaissement est légitime dans les deux. C'est le seul recouvrement où les deux candidats sont vraiment interchangeables pour le lecteur, d'où une comparaison à part entière.
La structure applicative. Un composant applicatif ArchiMate et un composant UML nomment tous deux un morceau de logiciel et les interfaces qu'il offre. La différence est la profondeur de champ : ArchiMate s'arrête au composant et regarde sur les côtés, vers le processus métier qu'il sert et le nœud où il tourne ; UML continue de zoomer, jusqu'aux classes à l'intérieur. Si la question suivante est "et de quoi est-il fait", prenez UML. Si c'est "et qui s'en soucie s'il tombe", prenez ArchiMate.
La boîte de la taille d'un conteneur. Un conteneur C4, un composant applicatif ArchiMate et un composant UML sont souvent la même chose déployable dessinée de trois façons. Les trois notations sont correctes ici, et c'est le recouvrement où les équipes se parlent le plus souvent sans s'entendre : le désaccord porte presque toujours sur le niveau de détail visé, pas sur la notation juste.
03Trois questions qui tranchent#
Là où un vrai choix existe, trois questions le tranchent plus vite que n'importe quelle comparaison de fonctionnalités. Répondez-y dans l'ordre : la quatrième réponse est en général déjà évidente.
1. Qui doit le lire sans formation ? Cette contrainte prime même la justesse, car un diagramme que personne ne lit ne vaut rien, si légal soit-il. Les développeurs lisent UML et C4 d'emblée. Les analystes métier et les responsables d'exploitation lisent BPMN d'emblée, et la plupart n'ont jamais vu de diagramme d'activité UML. ArchiMate est lu par les architectes d'entreprise et par ceux qui financent les programmes - et presque par personne d'autre.
2. Quelle est la portée ? Un système, ou le parc autour ? UML et C4 sont à portée système : ils décrivent une chose qui a une frontière, un dépôt et une équipe. ArchiMate est à portée de parc, et l'appliquer à une seule application produit un modèle correct, coûteux et moins utile que les deux diagrammes UML qu'il a remplacés. L'erreur inverse coûte plus cher : répondre à "de quelles applications dépend cette capacité métier" en traçant quarante diagrammes de composants.
3. Que doit-il rester après la réunion ? Si la réponse est "une compréhension partagée", n'importe quelle notation que la salle lit fera l'affaire, et la moins formelle gagne. Si c'est "un fichier qu'un autre outil ouvre", il faut une notation dotée d'un format d'échange : UML a XMI, ArchiMate a le format d'échange de l'Open Group, BPMN a son propre XML, et C4 a ce que votre outil de dessin enregistre. Si c'est "quelque chose qu'un moteur exécute", la réponse est BPMN et il n'y a pas de second candidat.
04En utiliser plusieurs sans faire de désordre#
La plupart des organisations passé une certaine taille en utilisent trois sur quatre, et ce n'est pas un échec de gouvernance. L'échec est plus discret et bien plus fréquent : deux notations sur une même toile, et rien sur la page pour dire quelle boîte appartient à laquelle. Le lecteur doit alors deviner si un rectangle arrondi est un service applicatif ArchiMate ou une tâche BPMN - et un diagramme qu'il faut deviner est un diagramme qu'on ignore.
Trois habitudes évitent presque tout cela. Étiquetez la vue avec sa notation et son niveau, comme un point de vue ArchiMate porte le nom de la question à laquelle il répond. Gardez un élément pour une chose réelle, afin que le même service reste une seule entrée du modèle quel que soit le nombre de vues qui le dessinent. Et laissez les vues diverger dans le détail, jamais sur les faits : si deux diagrammes montrent des dépendances différentes pour le même composant, le modèle a déjà cessé d'être vrai.
Sur cette dernière habitude, un outil de dessin ne peut rien, parce qu'il n'a aucun modèle derrière les images. C'est la différence entre un dossier de diagrammes et un modèle assorti de vues - et c'est pourquoi les modèles de départ ici sont découpés par notation et non par image : la notation choisie fixe le vocabulaire, et le vocabulaire est ce dont le modèle est fait. Pour le voir avant d'aller plus loin, la démo de quinze secondes en construit un et vous le rend sous forme de fichier.
En une ligne chacun
- 01Ajustez le langage à la question : un système (UML, C4), un processus (BPMN), ou le parc qui contient les deux (ArchiMate).
- 02Seuls trois recouvrements sont réels - flux de processus, structure applicative et boîte de taille conteneur - et seul le premier est un vrai ou-bien.
- 03Le public prime la justesse. Un diagramme légal que personne dans la salle ne lit a échoué à la seule tâche qu'il avait.
- 04S'il doit être exécuté, c'est BPMN. S'il doit être échangé, il faut une notation dotée d'un format d'échange.
- 05Combinez librement d'une vue à l'autre ; jamais sur une même toile sans indiquer quelle notation s'applique.
05Questions fréquentes#
Quel langage de modélisation une équipe doit-elle apprendre en premier ?
Celui qui répond à la question réellement posée à l'équipe. Une équipe qui documente le système qu'elle construit apprend UML ou C4 ; une équipe qui cartographie comment un parc applicatif soutient le métier apprend ArchiMate ; une équipe qui écrit comment le travail circule entre services apprend BPMN. Apprendre celui que personne n'a demandé, c'est abandonner la notation au troisième mois.
Un même modèle peut-il contenir UML, ArchiMate et BPMN ?
Dans un même outil, en général oui, et sur de vrais projets c'est courant : un composant applicatif ArchiMate et un composant UML peuvent décrire la même chose à des précisions différentes. Aucun standard ne prend en charge un diagramme unique en deux notations, car les deux métamodèles donnent aux mêmes formes des sens différents. Gardez le modèle commun et les vues séparées.
Ai-je besoin d'ArchiMate si l'équipe utilise déjà C4 ?
Pas pour décrire un seul système logiciel. Les quatre niveaux de C4 y suffisent, et ajouter ArchiMate par-dessus achète une précision que personne n'a demandée. ArchiMate mérite sa place quand la question franchit les frontières des systèmes : quels processus métier porte une application en fin de vie, ou quelles capacités un programme touche. C4 n'a de vocabulaire ni pour l'un ni pour l'autre.
Est-ce une faute de tracer un processus métier en UML plutôt qu'en BPMN ?
Non. Un diagramme d'activité UML est une notation de processus légitime et se lit bien pour un public technique. BPMN l'emporte quand les lecteurs sont des gens du métier qui l'ont déjà vu, quand le processus franchit des frontières d'organisation, ou quand le diagramme doit être remis à un moteur : BPMN 2.0 définit une forme XML conçue pour être exécutée, et UML n'a pas d'équivalent.
Dans cette série
- 01Quel langage choisir
- 02Cadrer un modèle
- 03Conventions de nommage
- 04Garder un modèle à jour
À lire aussi
Fondamentaux
Fondamentaux
Fondamentaux
Fondamentaux
Pratique de la modélisation
Pratique de la modélisation