Dia, un modéliseur UML simple et efficace

J’ai récemment (re)découvert Dia, un éditeur de diagramme sous Linux écrit avec le toolkit GTK. Il fait apparemment très bien les diagrammes classiques mais ce n’est pas pour ça que je l’utilise. En effet la particularité de la bestiole est de proposer un module pour faire de l’UML :) . Pour ceux qui ne connaissent pas UML (Unified Modeling Language) vous pouvez allez voir Wikipédia), basiquement UML est un langage de modélisation objet qui organise les classes comme des rectangles reliés entre eux par des flèches qui représentent différente relations qu’on retrouve en POO (héritage, agrégation…). Son utilisation intervient dans ce qu’on nomme l’étape de design qui situe bien avant le codage pur et dur. Son but ? Permettre de tester des idées via un support écrit normalisé et à la fin de la période de design avoir une hiérarchie de classe clair et net. La plupart du temps le code de base est ensuite généré à partir du graphe UML final.

Les IDE comme Visual ou Borland Turbo propose des modules pour faire de l’UML et ainsi assuré une forte relation entre le design et le coding. Sous Linux cependant l’éditeur qui est de facto standard (Monodevelop) ne propose pas d’éditer directement de l’UML (je crois me souvenir de quelque qui s’appelait MonoUML mais ça a du tomber aux oubliettes). Pour en revenir à Dia je l’ai utilisé afin de remettre a plat quelques idées que j’avais pour Circ et j’avoue que je trouve l’utilisation très agréable même si a priori il n’est pas fait pour ça à la base (a contrario ArgoUML m’a rebuté presque instantanément ;) ).

Les avantages de Dia à mon sens sont : indépendance du langage de prog sous-jacent (sous ArgoUML on est quasiment obligé d’utiliser des Java-ismes), les options d’export du diagramme (même si le module SVG merde un peu chez moi :) ), la possibilité d’écrire des générateurs de code (il n’y en a pas encore pour C# mais pourquoi pas un jour :) ) et globalement l’utilisation intuitive et rapide (Gnome powaaa :D ).

Post a Comment

Your email is never published nor shared. Required fields are marked *