Archives du jour : 25 mars 2021


UML - ORSYS
Temps de lecture : 3 minutes UML  est le langage graphique qui s’est imposé pour la modélisation de systèmes informatiques. Dominique RIBOUCHON*, coach-formatrice en ingénierie logicielle, nous explique pourquoi… et surtout, pourquoi UML n’est pas ce que vous croyez ! « Un bon croquis vaut mieux qu’un long discours », disait Napoléon Bonaparte. Quoi que dans un contexte différent, c’est aussi l’opinion des concepteurs d’UML, I. Jacobson, J. Rumbaugh, et G. Booch. UML, pour « Unified Modeling Language », est un langage graphique – des schémas, donc – dont l’objectif est de permettre de décrire un logiciel.   L’idée n’est pas nouvelle : dès les années 80, on compte pour ce faire la notation Merise, le State Diagram Language et autres Grafcet… Dans les années 90, en pleine explosion de l’approche orientée objet, l’idée géniale de nos « Three Amigos », comme on les appelait alors, est d’avoir regroupé, unifié en un ensemble cohérent, des représentations graphiques existantes. Ainsi naissaient les diagrammes UML, normalisés en 1997 par le consortium américain OMG (Object Management Group). Décrire un logiciel en le dessinant, pour quoi faire ? Depuis, ce formalisme fait partie intégrante du paysage de l’ingénierie logicielle. Il est parfois porté aux nues comme méthodologie miracle ou, à l’inverse, fortement critiqué pour son « austère complexité ». Entre ces deux positions extrêmes, nous allons voir qu’UML est un formalisme qui peut s’avérer très utile dans différents domaines  (IT, systèmes embarqués…), afin de décrire un logiciel sous un angle aussi bien fonctionnel (MOA) que technique (MOE), au cœur d’une gestion de projet agile. UML, avant toute chose, aide à la création, à la conception d’un logiciel en le modélisant. Car comme disait cette fois Sacha Guitry, « un croquis, ce n’est pas le début d’un chef-d’œuvre à venir, ce n’en est pas la fin – c’en est l’essentiel » ! L’idée est de faire un effort d’abstraction, de simplification donc, afin de mettre en avant l’important. De plus, en distinguant des diagrammes structurels d’une part et des diagrammes comportementaux de l’autre, UML permet de sélectionner une vue particulière de la problématique. On pourra par exemple décrire statiquement la structuration du système dans un diagramme de composants (cf. figure 1). Et la compléter par une vision comportementale dynamique avec un diagramme de séquence (cf. figure 2). Ces représentations graphiques, simplifiées et sélectives du système logiciel,  participent à rendre plus efficient le processus créatif du projet. UML au service du projet donc, avec l’abstraction au service du concret, la forme au service du fond, le tout ayant pour objectif de faciliter la communication et la co-création au sein des équipes. C’est en tout cas la vision moderne d’une utilisation agile d’UML, qui se situe ainsi bien loin de certains usages rigides et tristes, à finalité purement documentaire, qui peuvent parfois exister. UML, pour qui ? UML peut être utilisé afin de décrire un logiciel pour deux audiences très différentes : une audience métier (utilisateur, MOA) et une audience développeur (MOE). Il est important de ne pas confondre ces deux cibles. Pour une audience métier, on utilisera UML afin de décrire les processus au travers d’activités, les données […]

UML : dessine-moi un logiciel, ou ...