Définition
UML est l’acronyme anglais pour “Unified Modeling Language”, que l’on traduit généralement par “Langage de modélisation unifié”. Le terme “unifié” est ici central et justifié par le fait que l’UML est un langage fondamentalement visuel et donc compréhensible par tous. L’aspect visuel permet également de rendre ce langage facilement compréhensible, en utilisant principalement des diagrammes.
Il est destiné à l’architecture, la conception et la mise en œuvre de systèmes logiciels complexes par leur structure aussi bien que leur comportement, mais peut aller plus loin en décrivant également tous les flux de processus dans l’industrie autour du logiciel développé. Il a été popularisé par des entreprises comme IBM, Microsoft ou encore Oracle à la fin des années 90.
Il est important de noter ici que l’UML ne s’applique maintenant plus qu’au domaine de la programmation, mais est utilisé largement à tous les échelons de l’entreprise (gestion de stock,…)
Exemple of a UML diagram:

Comment et pourquoi utiliser l’UML ?
L’UML est utilisé en amont du développement logiciel. Le but est de modéliser les besoins du développement futur de manière concise et claire. En cela, on pourrait comparer l’UML à une notice pour monter un meuble : il est beaucoup plus simple et agréable de construire un meuble à partir d’une notice faîte de schémas et d’illustrations plutôt que d’une interminable série d’instructions écrites.
L’UML est basée sur une approche objet, en opposition à la décomposition fonctionnelle. Cette approche s’articule autour de 4 principes fondamentaux. Elle est :
- itérative : elle évolue avec le projet. Il est parfois nécessaire d’effectuer des retours en arrière et de revenir sur les plans initiaux pour les adapter aux nouvelles contraintes.
- guidée par les besoins clients et utilisateurs : le besoin client doit servir de fil rouge tout au long du projet. Plus spécifiquement, lors de la phase d’analyse, qui est celle lors de laquelle l’UML intervient, il est primordial de se concentrer sur l’affinage et la validation des besoins des futurs utilisateurs.
- centrée sur l’architecture du logiciel
- une description des actions et informations dans une seule entité : les différents diagrammes existants dans l’UML apportent différentes visions du logiciel à developper. Néanmoins, le diagramme de classe est particulièrement pertinent pour le développement objet. Il permet d’analyser les actions et informations conjointement et non séparément.
Exemple d’un diagramme de classes:

Atouts de l’UML
Selon moi, l’UML est extrêmement performant pour deux raisons. La première et la plus évidente est qu’il permet de cadrer un projet de développement logiciel de manière visuelle et donc facilement interprétable par tous. L’importance du cadrage d’un projet peut aisément être sous-estimée mais lorsque de multiples acteurs travaillent sur un même projet avec différentes phases interdépendantes il est primordial d’avoir une ligne directive. L’UML est au développement logiciel ce que la carte est à l’explorateur, sans elle il peut errer et se détourner de son objectif initial sans même sans rendre compte.
Le second point fort de l’UML est de créer un langage universel. A l’heure d’une mondialisation toujours plus poussée, les projets impliquent de plus en plus d’acteurs de pays différents et donc a fortiori de langues maternelles différentes. Si l’anglais est maintenant largement répandu et maîtrisé (plus ou moins bien) à l’échelle mondiale, certaines confusions ou difficultés à comprendre des nuances peuvent persister et ajouter des difficultés superflues au projet. En créant un langage standardisé et imagé, la communication entre les différents acteurs est grandement facilitée, puisqu’il s’agit là d’une sorte de seconde langue maternelle pour n’importe quel individu de n’importe quel pays.