BOUML est un logiciel de création de diagrammes UML. Programmé en C++ et Qt. Auparavant distribué gratuitement sous licence GPL, puis commercialisé pour les versions 5.0 à 6.12, il est de nouveau distribué gratuitement depuis la version 7.0 (mais pas intégralement sous licence GPL). Il est multilingue, supporte la génération de code et la rétro-ingénierie.
Caractéristiques
Permet de dessiner des diagrammes suivant la norme UML 2.0.
Peut être utilisé en français (depuis la version 4.15.1).
En 2007, des analyses de l'outil pointent quelques défaillances[4], corrigées depuis et concernant en fait l'export XMI et non le « reverse »[5].
En 2010, il est le seul outil libre supportant à la fois UML 2.0, les diagrammes d'activité et l'exportation au format XMI[6].
BOUML est mentionné en publications scientifiques[7],[8],[9],[10].
Génération de code et rétro-ingénierie
L'ergonomie et la richesse graphique de BOUML sont parfois limitées, tout au moins en comparaison de modeleurs UML plus conventionnels comme StarUML ou ArgoUML. Par contre, il est jugé extrêmement efficace — et surpasse dans ce domaine la plupart des autres gratuiciels UML — pour la « rétro-modélisation » (créer un modèle UML à partir de codes sources) et pour le développement roundtrip (faire des aller-retour entre modèle UML et code source)[11],[12],[13].
BOUML permet ainsi de générer automatiquement du code à partir des diagrammes de classes UML, ainsi que de reconstruire ces derniers à partir de sources existantes, pour les langages C++, Java, PHP et MYSQL. Pour les langages Python et IDL, il peut générer du code mais ne permet pas la rétro-conception UML.
Changements de licence
En septembre2010, Bruno Pagès, auteur du logiciel, annonce qu'il arrête définitivement de développer BOUML à la suite d'un conflit sur Wikipédia[14],[source insuffisante]. Une version « ultimate » est néanmoins mise en ligne en novembre 2010, suivie par des patchs correctifs en 2011[2].
À la suite de la sortie des patchs correctifs, l'auteur décide de porter le projet en Qt version 4 et de changer la licence[15].
Le logiciel est disponible en version payante en février 2012. Un logiciel de visualisation gratuit est disponible.
Fin mai 2017 le logiciel redevient gratuit avec la version 7.0[16], mais ses sources ne sont pas accessibles comme elles l'étaient avant la version 5.0[3]
↑(en) Steven Kearney et James F. Power, Benchmarking the accuracy of reverse engineering tools for Java programs : a study of eleven UML tools : Technical Report: NUIM-CS-TR-2007-01, Université nationale d'Irlande, (lire en ligne)
↑Correction effectuée dans la version 2.30.2 en août 2007.
↑(en) Paul Oppenheim, « Visualizing Software Classes with Geon Diagrams in Second Life - A Botched Attempt », [précision nécessaire], '"`uniq--nowiki-0000004b-qinu`"'[précision nécessaire]'"`uniq--nowiki-0000004c-qinu`"' (lire en ligne)
↑(en) Mario Ornaghi, Camillo Fiorentini, Alberto Momigliano et Francesco Pagano, « Applying ASP to UML Model Validation », Lecture Notes in Computer Science, vol. 5753/2009, , p. 457-463 (DOI10.1007/978-3-642-04238-6_42, lire en ligne)
↑Évaluation par le projet PLUME (Promouvoir les Logiciels Utiles, Maîtrisés et Economiques dans la communauté de l'Enseignement Supérieur et de la Recherche), « BOUML : suite d’outils UML 2 », sur projet-plume.org,
Esra Erdem, Fangzhen Lin, Torsten Schaub, Logic Programming and Nonmonotonic Reasoning: 10th International Conference, Springer, (ISBN978-3-642-04237-9), 2009, p.458-459
Dorota Huizinga, Adam Kolawa, Automated defect prevention: best practices in software management, Wiley-IEEE Computer Society Press, (ISBN978-0-470-04212-0), 2007, p.398