I. Introduction▲
BOUML est une série de logiciels comprenant un modeleur UML2 et plusieurs programmes externes dont des générateurs de code et reverse. BOUML ne couvre pas intégralement la norme UML2 à ce jour, mais le principal est déjà présent. J'ai distribué la première version fin février 2005 et je continue son développement, toujours sur mon temps libre en dehors de mes activités professionnelles.
BOUML est distribué sous licence GPL, il peut donc être librement utilisé pour modéliser et produire du code y compris à des fins commerciales, voir sur le sitesite de Bouml pour plus de détails, le télécharger et accéder à la documentation.
BOUML est développé en C++ au-dessus de QtLe site de Trolltech, ce qui en permet l'utilisation sous Windows et la constellation Unix (Linux, Solaris, Mac OS X, etc.).
Le but de BOUML est de permettre une utilisation allant des besoins à la génération de code, les langages pris en compte à ce jour étant C++, Java, PHP et IDL (la présence de ce dernier peut paraître anecdotique, elle est liée au contexte professionnel qui était le mien lorsque j'ai débuté le développement de BOUML). Je n'ai pas voulu que BOUML soit un simple jouet, mais qu'il puisse être utilisé dans un cadre professionnel, ce qui signifie qu'il doit être pratique d'utilisation, qu'il doit être peu gourmand en ressources CPU et mémoire (cela semble être le cas, voir benchmaksBenchmark compaorant Bouml à d'autres modeleurs UML) et qu'il puisse être utilisé dans un contexte multiutilisateur avec gestion de configuration.
BOUML est extensible via l'écriture de plug-outs qui sont des programmes vous permettant d'accéder et/ou de modifier automatiquement vos modèles, les générateurs de code et reverse en sont des exemples. Je ne peux que vous conseiller d'écrire vos propres plug-outs, ils vous permettent de ne pas être limité à la définition de BOUML tel qu'il est distribué. Les plug-outs correspondent aux scripts de Rose ou Rhapsody à ceci près qu'ils sont écrits en utilisant un vrai langage de programmation, à savoir C++ ou Java, et qu'ils s'exécutent en dehors du modeleur, ce qui permet d'en tuer l'exécution sans perdre votre modèle (souvenir personnel cuisant avec Rose…). L'écriture d'un plug-out est l'objet d'autres tutoriels.
Seuls quelques points généraux de l'utilisation de BOUML sont exposés dans les tutoriels, seule la lecture de la documentation de référence disponible en Anglais sur le sitesite de Bouml décrit l'ensemble des caractéristiques de BOUML.
L'aspect graphique est légèrement dépendant de la version de Qt utilisée, les figures ont été réalisées en compilant BOUML avec Qt 2.3 disponible sous Windows et le monde Unix.