UML : dessine-moi un logiciel, ou à la découverte d’un langage graphique


Temps de lecture : 3 minutes
Share Button
UML - ORSYS

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 ORSYS

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).

UML ORSYS

figure 1 : les composants de l’application Ventes

UML ORSYS

figure 2 scénario “ajouter un produit”

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 métier à l’aide des classes du domaine, les fonctionnalités avec les cas d’utilisation. Pour une audience développeur, il s’agira de décrire l’architecture technique du code au travers des classes, au sens programmation, les packages et les composants déployables. Dans les deux cas, le même langage, la même forme : UML. Pourtant deux objectifs, deux fonds bien différents…

Afin de permettre une utilisation concrète et pertinente d’UML, il est donc important de faire en sorte que tout apprentissage dépasse la connaissance formelle du langage. Mais aussi d’adresser un contexte d’utilisation précis. Soit un contexte MOA, ou bien un contexte MOE/développeur, avec des mises en situation réalistes et vivantes.

C’est pour cette raison que notre offre de formation UML, toujours concrète et pratique, s’est construite autour de ces deux cibles : une offre pour une audience métier et une offre pour une audience développeur, avec une offre spécifique pour les développeurs de systèmes embarqués.

Alors n’hésitez plus, et envolez-vous en UML !


Pour se former :

Dominique Ribouchon - ORSYS

*Dominique RIBOUCHON

Dominique Ribouchon est coach-formatrice en ingénierie logicielle et conduite du changement depuis 20 ans. Convaincue que le facteur humain est au cœur de la conduite du changement même dans les métiers de l’ingénierie, son approche consiste à donner envie et confiance dans la nouveauté en s’appuyant sur la confiance en soi ancrée dans les connaissances et savoir-faire antérieurs. Elle a ainsi accompagné des entreprises du développement logiciel, en particulier de l’ingénierie navale militaire, dans des mutations majeures au niveau technologique et méthodologique (démarche de conception UML, gestion de projet itérative agile…).

Share Button

Laissez un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *