Historique
Versions suivantes
Historique des version plus récentes
4.23 Ultimate patch 7
October 2011
- C++ Reverse 2.15 patch 2
C++ Roundtrip 1.3 patch 2
Remove the '*' at the beginning of lines of comment
(javadoc case) to avoid unexpected redundant '*'
at generation or roundtrip time.
- XMI2 Generator 1.15 patch 1
Add the export of the operation's parameters default value
4.23 Ultimate patch 6
July 2011
- Php Generator 1.11 patch 1
Generated code was wrong for classes marked external and
defining the require_once form to produce
(cf.), fixed.
- Php Reverse 1.8.1 patch 1
A crash could occurred when reversed classes are defined in a namespace, fixed.
4.23 Ultimate patch 5
June 2011
- In a communication diagram, undo a geometry change on a link
between instances supporting at least one message could
introduce inconsistencies, fixed.
- State machine generator 1.4.2 patch 1
To manage the case where the name of the attributes of
classes in C++ is not the name of the corresponding
attributes/relations of classes in UML
(for instance their C++ definition is ...${type} _${name}...
rather than ...${type} ${name}...)
4.23 Ultimate patch 4
April 2011
- Java Reverse 2.18 patch 1
Java Roundtrip 1.5 patch 1
Java Catalog 2.17 patch 1
Fix bugs concerning the annotations
(cf.)
- C++ Generator 2.19 patch 1
Add the declaration of the friends classes defined in
an other namespace.
4.23 Ultimate patch 3
February 2011
- Unexpected changes of settings was done when importing a project,
or importing a project as a library, or updating an imported library,
fixed.
(cf.)
4.23 Ultimate patch 2
January 2011
- In a sequence diagram, to add a lost message terminating on a life line or a duration bar introduced inconsistencies and it was not possible after to reopen the diagram without producing an error and loosing part of the diagram, fixed.
4.23 Ultimate patch 1
December 2010
- C++ Reverse 2.15 patch 1
C++ Roundtrip 1.3 patch 1
The template form of a template function was wrongly reversed
in case there was several formals, fixed.
(cf.)
- XMI2 Import 1.10 patch 1
In previous release uml:ActivityFinalNode wasn't
imported, fixed.
(cf.)
4.23 Ultimate
November 2010
- In the previous releases in a diagram when you selected a line break of a
line/relation/transition/flow and hit a Suppr/Delete or control-d
the line/relation/transition/flow could disappears then reappears the next time
you reopen the diagram, rather than to just remove the line break and join the two
sub lines, fixed.
(cf.)
- In the previous releases, depending on the order of the changes, the tab instantiate
of a class dialog could be wrongly validated/unvalidated or the list of actuals could
not be up to date after you changed the list of the formals parameters of an inherited class,
fixed.
- In the previous releases after you resized a class to the its minimal height
but not its minimal width, any modification of the class resized it to
its minimal size, fixed.
(cf.)
- In the previous releases when you decreased the size of an element through the
top-left or top-right or bottom-left corner and the minimal size was reached,
the element moved, fixed.
(cf.)
- In the previous releases it was not allowed for an activity initial node to have
several outgoing flow, this is now possible.
(cf.)
- In the previous releases when you updated a project imported as a library the
body of the operations was emptied, fixed.
(cf.)
- In a communication diagram the instances can now be drawn using the
actor or boundary or control or entity or interface icon depending on
the drawing mode in the drawing settings.
(cf.)
To not change the already existing diagrams,
when you open an old diagram the drawing mode is initialized
to class.
- On parameter of operation add the multiplicity. Note this multiplicity is not taken into account
to compute the default declaration/definition of an operation nor used by them.
The drawing setting show attributes multiplicity is renamed
show members multiplicity and apply on attributes and operations.
The multiplicity is produced by a form ${m<n>} a priori in a comment.
- On operation add the multiplicity of the return type introduced by UML 2.2. Note
this multiplicity is not taken into account to compute the default declaration/definition
of an operation.
The multiplicity is produced by the form ${multiplicity} a priori in a comment.
- Add the default stereotype decisionInputFlow for decision input flow,
introduced by UML 2.2
- On activity actions add the attribute isLocallyReentrant
introduced by UML 2.3
- In the previous releases in C++ a friend class was indented with two spaces
and a nested class with four spaces. Now you are able
to set the expected indents through the generation settings.
(cf.)
- Php Generator 1.11
Since the release 4.22 a class declared external was always produced
after a \ independently of the namespaces, fixed.
(cf.)
To generate the multiplicity of the parameters and return type of the operations.
- C++ Generator 2.19
To generate the multiplicity of the parameters and return type of the operations.
To manage friend class and nested class indent.
- Java Generator 2.23
Idl Generator 2.16
Python Generator 1.6
To generate the multiplicity of the parameters and return type of the operations.
- XMI2 Generator 1.15
In previous releases an activity final node was produced throw an
uml:FinalNode rather than an uml:ActivityFinalNode, fixed.
(cf.)
In previous releases the value of an enumeration item was produced throw a
defaultValue rather than a specification, fixed.
(cf.)
To manage the multiplicity of the parameters of the operations.
To manage the multiplicity of the operations return type,
produced if you ask for at least an UML 2.2 generation.
To manage the decision input flow,
produced if you ask for at least an UML 2.2 generation.
To manage activity actions's attribute isLocallyReentrant.
It is produced if you ask for an UML 2.3 generation.
When you apply the plug-out when starting BOUML through a command line the
specification of the UML version is now done through the options -uml2.0,
-uml2.1, -uml2.2 or -uml2.3, the default is UML 2.3.
To produce the transitions in the right place removing the change introduced in
Bouml 2.31.3 to bypass a bug in Eclipse.
Remark UML tool Modelio based on Eclipse manages incoming and outgoing flows only
when they are specified specified through attributes, while Bouml produces
them through elements (the two ways are legal in XMI, Bouml XMI import manages
both), this may be a bug in Eclipse rather than Modelio.
- XMI2 Import 1.10
In previous releases an activity final node was read throw an
uml:FinalNode rather than an uml:ActivityFinalNode, fixed.
To be able to import old files uml:FinalNode is still managed
as uml:ActivityFinalNode.
(cf.)
In previous releases the value of an enumeration item was read throw a
defaultValue rather than a specification, fixed.
To be able to import old files defaultValue is still managed
as specification.
(cf.)
To manage the multiplicity of the parameters and return type of the operations.
To manage the decision input flow.
To manage activity actions's attribute isLocallyReentrant.
- Html documentation Generator 2.21
To produce activity actions's attribute isLocallyReentrant and
multiplicity of operation's return type and parameters.
- Plug-out upgrade 1.18.1
Add operations isLocallyReentrant and
set_IsLocallyReentrant on class UmlBaseActivityAction.
Add operation multiplicity and set_Multiplicity on class
UmlBaseOperation.
Add attribute multiplicity on class UmlBaseParameter.
Add operations friendClassIndent, set_FriendClassIndent, nestedClassIndent and
set_NestedClassIndent on class CppSettings.
- Uml projection 1.1.4
The input parameters of operations was wrongly managed as output parameters
for C++, fixed.
(cf.)
- C++ utilities 1.1.3
To allow to add operator<<
(cf.)
- Plug-out empty
Upgraded by plug-out upgrade.
- The previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
4.22.2
14 juillet 2010
- Lorsqu'IDL était le seul langage sélectionné via le menu global languages
et que vous ajoutiez un/des paramètre(s) via l'onglet UML en éditant une opération,
des caractères aléatoires étaient ajoutés dans la déclaration IDL
de l'opération, corrigé.
(cf.)
- Dans les précédentes versions la définition par défaut d'une classe en Php
contenait par erreur le mots clef ${visibility} produisant une forme invalide lorsque la visibilité
n'était pas package. Ce mot clef n'est plus présent lorsque vous créez
un nouveau projet, ni géré par le générateur de code et reverse.
(cf.)
- Dans les précédentes versions lorsque vous éditiez une relation
la définition pour les langages cibles était implicitement reinialisée
à la définition par défaut issue des options de génération
uniquement lorsque vous changiez le type de la relation. Maintenant cela est fait chaque fois
que la définition par défaut associée au nouveau couple type/multiplicité
est différente de celle du précédent couple.
(cf.)
Dans les précédentes versions lorsque vous éditiez un attribut
la définition pour les langages cibles n'était jamais implicitement
reinitialisée à la définition par défaut issue des options
de génération. Maintenant cela est fait chaque fois
que la définition par défaut associée à la nouvelle
multiplicité est différente de celle précédemment utilisée.
- Il est maintenant possible de déplacer une machine à états dans une autre machine
ou un état d'une autre machine. Si la machine déplacée est stéréotypée
machine le stéréotype devient submachine.
(cf.)
- Php Generator 1.10.1
Les généralisations / réalisations et dépendances n'étaient pas prises
en compte pour calculer la liste des required_once nécessaires,
c'est maintenant le cas (lorsque leur définition est non vide pour Php).
(cf.)
Retire la gestion de ${visibility} au niveau classe.
(cf.)
- Php Reverse 1.8.1
Retire la gestion de ${visibility} au niveau classe.
(cf.)
- XMI2 Generator 1.14.1
Dans les précédentes versions le projet-paquetage BOUML produisait à la fois
un modèle et un paquetage XMI, maintenant une option permet de ne pas produire le niveau
projet.
(cf.)
4.22.1
June 23th 2010
- Dans la version 4.22 les activités des états n'étaient pas
écrites dans les diagrammes d'états, corrigé.
(cf.)
4.22
22 juin 2010
- Il n'était pas possible de relire un projet
où le diagramme associé à un composant
est un diagramme de déployement,
corrigé.
- A chaque fois que vous éditiez une dépendance entre une classe et un
paquetage, import était ajouté à la liste
des stéréotypes proposés, corrigé.
(cf.)
- Ajout de la gestion des espaces de noms de Php 5.3.
(cf.)
Comme pour les autres langages un espace de noms est spécifié au niveau
d'un paquetage.
La génération d'une déclaration d'espace de noms en
Php est faite par un artéfact contenant ${namespace} dans sa définition
Php, regardant l'espace de noms peut être spécifié dans le
paquetage contenant la vue de déploiement contenant l'artéfact
(c'est le cas des nouveau projets, vous devez ajouter ${namespace}
par vous-même si vous voulez cette fonctionnalité dans vos projets
déjà existants).
Par défaut le générateur Php essaie de ne pas produire
le préfixe espace de noms, si vous voulez toujours produire le préfixe
positionnez l'option de génération
force namespace prefix generation.
- Ajoute la gestion des référence de sous machine à états.
Seuls les états sans enfants autres que des transitions ou des points
d'entrée ou de sortie peuvent être transformés en référence
ou permettent de changer la sous machine à états référencée
par une autre. La référence à la sous machine à états
est spécifiée/modifiée/retirée en éditant la (future)
référence de sous machine à états.
Pour ajouter un connection point reference à une référence de
sous machine à états, ajouter un point d'entrée/sortie et éditez
le pour spécifier la référence.
- Les points d'entrée / sortie peuvent maintenant être placés sur la bordure
d'un état.
- Le profil des opérations proposées dans une liste indique maintenant les classes
conteneur des classes imbriquées. Précédemment il n'était pas possible
de différentier les opérations
void C1::f(C2::C) et void C1::f(C3::C)
cas elle étaient toutes les deux écrites void C1::f(C).
(cf.)
- Les raccourcis des commandes Edit et Menu sont maintenant
actifs dans les diagrammes. Par défaut le raccourcis pour afficher le menu
d'un élément est la touche return/enter, il en est de même
dans ce cas d'un sélection multiple.
Ajoute le raccourcis pour la commande Diagram menu pour afficher le menu
d'un diagramme dans un diagramme, cette commande fait la même chose que si
vous désélectionnez tout les éléments dans un diagramme
et faite un clic souris gauche en dehors de tout éléments.
Ces changements sont principalement dédiés aux personnes
travaillant via
visioboard et
ayant des difficultés pour faire un double clic souris et pour
utilisez le clic souris droit (contrairement au clic souris gauche).
- Il n'était pas permis d'avoir plusieurs activity actions ou activity nodes
ou activity objects ou activity partitions ou class instances
ou expansion nodes ou expansion regions ou flows ou
interruptible activity regions ou parameter sets ou pins
ou pseudo states ou state actions ou state regions ou
transitions ayant le même nom non vide dans un même conteneur,
cette limitation est retirée.
(cf.)
- Dans les versions précédentes les indications de visibilité en C++
étaient indentées de deux espaces. Maintenant vous pouvez spécifier
cette indentation via les options de génération.
(cf.)
- Il est maintenant possible de sauver le contenu de la fenêtre de
trace dans un fichier HTML.
- Via le menu global miscellaneous vous pouvez maintenant spécifier un répertoire
racine pour les icônes associés aux stéréotypes et aux
images dans les diagrammes.
(cf.)
- Dans les versions précédentes les icônes associés aux
stéréotypes étaient spécifiés vis un chemin
absolue ou devaient être trouvés via le répertoire courant
qui dépendait du mode de lancement du modeleur.
Maintenant vous pouvez spécifier un chemin relatif au répertoire racine
des images ou relatif au répertoire du projet. Dans le cas ou un chemin
n'est pas absolue, la recherche se fait d'abord en utilisant le répertoire
racine des icônes et images, puis pour des raisons de compatibilité
via le répertoire courant, puis enfin via le répertoire du projet.
(cf.)
- Vous pouvez maintenant ajouter des images dans les diagrammes indépendamment des
stéréotypes.
(cf.)
- Php Generator 1.10
Gère les espaces de noms.
- Php Reverse 1.8
Les précédentes versions supposaient qu'il n'y avait pas de bloc(s) Php
avant le bloc contenant les classes, corrigé.
Gestion des espaces de noms, attention lorsqu'un fichier défini des classes
dans plusieurs espaces de noms seules les classes du premier espace de noms
sont reversées.
- C++ Generator 2.18
Produit l'indentation souhaités pour les indications de visibilité.
Suit la nouvelle API.
- C++ Reverse 2.15
C++ Roundtrip 1.3
Les commentaires placés avant la définition des attributs dans une classe
étaient perdus, corrigé.
Suit la nouvelle API.
- XMI2 Generator 1.14
Certains flux d'activité étaient improprement générés
comme des flux d'objet au lieu de flux de contrôle, corrigé.
(cf.)
Gère les références aux sous machines a états.
- XMI2 Import 1.9
Gère les références aux sous machines a états.
Gestion de l'écran virtuel (configuration à plusieurs écrans).
- Java Generator 2.22
Java Reverse 2.18
Java Roundtrip 1.5
Idl Generator 2.15
Python Generator 1.5
Roundtrip body 1.13
Suit la nouvelle API.
- Java Catalog 2.17
Gestion de l'écran virtuel (configuration à plusieurs écrans).
Suit la nouvelle API.
- Project control 1.2.5
Project synchro 1.2.4
Uml projection 1.1.3
.pro Generator 2.1.6
C++ utilities 1.1.2
Use case wizard 1.1.2 (C++ version)
File Control 1.0.6
Global change 1.2.1
Gestion de l'écran virtuel (configuration à plusieurs écrans).
- Html documentation Generator 2.20
Pour produire du XHTML.
(cf.
and cf.)
Gère les références aux sous machines a états.
- Plug-out upgrade 1.18
Ajoute les opérations phpNamespace, set_PhpNamespace
et findPhpNamespace à la classe UmlBasePackage.
Ajoute les opérations isForceNamespacePrefixGeneration
at set_IsForceNamespacePrefixGeneration à la classe
PhpSettings.
Ajoute les opérations visibilityIndent et
set_VisibilityIndent à la classe CppSettings.
Ajoute les opérations reference et
set_Reference aux classes UmlBaseState, UmlBaseEntryPointPseudoState,
et UmlBaseExitPointPseudoState.
- Plug-out empty
Mis à jour par plug-out upgrade.
- fr.lang mis à jour.
- Les précédentes versions de BOUML ne peuvent lire un projet
produit ou modifié par cette version car le format des
fichiers de sauvegarde est modifié. Bien évidemment
cette version peut lire un projet issus d'une version antérieure.
Php Generator 1.9 patch (Windows)
10 juin 2010
- Sous Windows le générateur Php terminait sont
exécution lors de la gestion de ${require_once}
à cause d'une option de compilation manquante.
Le générateur Php generator compilé
avec les bonnes options est disponible
ici
(cf.)
4.21
12 mai 2010
- Dans les versions précédentes seules les opérations
dont le nom commençait par operator pouvaient contenir des
caractères non alphanumériques, cette restriction est
retirée.
(cf.)
- Les formes require_once sont maintenant automatiquement générées
en Php lorsque la définition Php d'un artéfact contient
${require_once} (c'est le cas pour les nouveaux projets, vous devez
l'ajouter par vous-même si vous souhaitez cette génération
dans vos projets existants).
La définition d'une classe dite externe est étendu en Php,
si une seconde ligne est présente celle-ci est considérée
contenir une forme require_once à produire.
Nouvelle option de génération pour choisir le mode de
génération du chemin des fichiers requis en Php :
sans chemin, avec un chemin absolu, avec un chemin relatif au fichier contenant
la forme require_once, avec un chemin relatif au répertoire de base
(à priori l'include_path de Php le contient).
- Ajoute des options de Reverse/roundtrip avec une boite d'édition
associée pour indiquer via des expressions régulières
les fichiers et/ou répertoires qui ne doivent pas être pris en compte
lors des reverses/roundtrips, permettant par exemple de ne pas reverser des
programmes de test.
(cf.)
- Lorsque vous éditez un attribut ou une opération d'une classe paramétrée
ou inclue directement ou indirectement dans des classes paramétrées,
le nom des paramètres formels sont maintenant insérés
dans la liste des types proposés.
(cf.)
- Lorsque plusieurs éléments d'un même type sont sélectionnés
dans un diagramme, le menu de sélection multiple vous propose d'utiliser les
options de dessin du premier élément sélectionné pour les
autres éléments.
A la commande de raccourcis Same drawing settings.
(cf.)
- Extension de l'option de dessin show context
(cf.)
:
- Dans les diagrammes le contexte des classes imbriquées
contient maintenant la classe conteneur lorsque vous demander
d'indiquer le namespace C++ ou le paquetage
Java ou Python ou le module IDL via l'option show context
ou équivalente.
Attention, cela affecte les diagrammes de
classes existants
- Nouvelle option de dessin show context in members definition
pour les classes dans un diagramme de classes. Seulement actif lorsque
vous demandez aussi l'affichage complet de la définition
des membres. Pour indiquer ou non le contexte des classes
référencées dans la déclaration des
attributs ou opérations de manière identique
à l'indication de contexte des classes via l'option
show context ou équivalent.
- Dans les diagrammes de séquence, ajoute l'option de dessin
show classes context pour les instances de classes, et
show context in messages pour les messages
(uniquement actif si vous demandez aussi l'affichage complet du
profile des opérations).
- Dans les diagrammes de communication/collaboration l'option de dessins
show packages context est renommée
show classes and packages context et s'applique maintenant
aussi aux instances de classe.
Pour ne pas perturber les diagrammes
existants, lorsque vous ouvrez un ancien diagramme cette option
et forcée à non pour les instances de classe.
Nouvelle option de dessin show context in messages pour les messages
(uniquement actif si vous demandez aussi l'affichage complet du
profile des opérations).
- Dans les diagrammes d'objets l'option de dessin show packages context
est renommée show classes and packages context
et s'applique maintenant aussi aux instances de classe.
Pour ne pas perturber les diagrammes
existants, lorsque vous ouvrez un ancien diagramme cette option
et forcée à non pour les instances de classe.
- Ajout du bouton Apply dans les boites d'édition des options de
dessins pour appliquer les nouvelles options sans sortir de l'édition.
Attention, les options déjà appliquées ne sont pas
annulées via le bouton cancel.
(cf.)
- La liste des boites de dialogue non modaux ouvertes est maintenant affichée
dans le menu dynamique Windows après la liste des diagrammes
ouverts. Cela vous permet de mettre en avant une boite d'édition, ou
de toutes les fermer (avec annulation) ainsi que les diagrammes via l'entrée
close all du menu Windows.
- Php Generator 1.9
Pour générer automatiquement les formes require_once
lorsque la définition d'un artéfact contient ${require_once}.
- C++ Reverse 2.14
C++ Roundtrip 1.2
Java Catalog 2.16
Java Reverse 2.17
Java Roundtrip 1.4
Php Reverse 1.7
Ne reverse/roundtrip pas les répertoires/fichiers spécifiés
via les expressions régulières.
(cf.)
- C++ Generator 2.17
Java Generator 2.21
Idl Generator 2.14
Roundtrip body 1.12
Suit la nouvelle API.
- Plug-out upgrade 1.17
Ajoute les opérations requireOnceWithPath, set_RequireOnceWithPath,
isRelativePath, set_IsRelativePath, isRootRelativePath
et set_IsRootRelativePath sur la classe PhpSettings.
Ajoute les opérations reverseRoundtripDirRegExp, isReverseRoundtripDirRegExpCaseSensitive,
set_ReverseRoundtripDirRegExp, reverseRoundtripFileRegExp,
isReverseRoundtripFileRegExpCaseSensitive et set_ReverseRoundtripFileRegExp
aux classes CppSettings, JavaSettings et PhpSettings.
- Plug-out empty
Mis à jour par plug-out upgrade.
- fr.lang mis à jour.
- Les précédentes versions de BOUML ne peuvent lire un projet
produit ou modifié par cette version car le format des
fichiers de sauvegarde est modifié. Bien évidemment
cette version peut lire un projet issus d'une version antérieure.
4.20
18 avril 2010
- Remarque : sous Windows l'export png/svg d'un diagramme
ne marche pas s'il est fait via un plug-out
launé par -execnogui (cela marche avec -exec)
- Ajoute les contraintes sur les activités et actions d'activité.
(cf.)
- Java Generator 2.20.1
Python Generator 1.4.1
Lorsqu'une référence d'une classe imbriquée dans
une autre était produite seul le nom de la classe imbriquée
était généré, le nom de la/les classe(s)
conteneur manquait, corrigé.
- State machine generator 1.4.2
Ajoute l'opération doActivity() sur la classe représentant
la machine à états, lorsque vous appelez cette opération
le do activity de l'état courant est exécuté s'il est
non vide.
- Html documentation Generator 2.19
XMI2 Generator 1.13
XMI2 Import 1.8
Gère les contraintes sur les activités et actions d'activité.
- Plug-out upgrade 1.16.1
La précédente version ne modifiait pas un appel à UmlCom::bye
dans l'opération interne UmlBaseItem::read_(), corrigé.
(cf.)
Gère les contraintes sur les activités et actions d'activité.
- Plug-out empty
Mis à jour pas plug-out upgrade.
- Les précédentes versions de BOUML ne peuvent lire un projet
produit ou modifié par cette version car le format des
fichiers de sauvegarde est modifié. Bien évidemment
cette version peut lire un projet issus d'une version antérieure.
4.19.3
11 avril 2010
- Ajoute le nouveau mot clef ${inverse_name} produisant le nom du rôle
inverse d'une relation bidirectionnelle entre classes.
- Lorsque vous appliquer un plug-out au démarrage de Bouml avec l'option
-exit, la valeur retournée par Bouml est l'argument de l'opération
UmlCom::bye(). Cette valeur est 0 lorsque vous appliquez un vieux plug-out
où bye n'a pas de paramètre.
La valeur retournée est -1 si l'exécution du plug-out
ne peut être faite ou si le plug-out ne se connecte pas avec
le modeleur avant 30 secondes.
- Nouvelle option -execnogui, utilisez la à la place de -exec
lorsque vous ne voulez pas voir l'IHM lorsque vous appliquez un plug-out
au démarrage de Bouml.
Dans ce cas les messages normalement écrits dans la fenêtre de
traces sont produits sur stdout.
Vous devez tuer le processus Bouml par vous même si vous utilisez
-execnogui sans -exit.
(cf.)
- Python Generator 1.4
Etend les import générés automatiquement
aux classes référencées par les attributs, associations et
opérations. Avant seuls les héritage de classes et les dépendances
stéréotypées import ou from étaient pris
en compte.
(cf.)
Retourne le nombre d'erreurs via UmlCom::bye().
- C++ Generator 2.16
C++ Reverse 2.13
C++ Roundtrip 1.1
Java Generator 2.20
Java Catalog 2.15
Java Reverse 2.15.1
Java Roundtrip 1.3
Idl Generator 2.13
Php Generator 1.8
Php Reverse 1.6
Roundtrip body 1.11
Retourne le nombre d'erreurs via UmlCom::bye().
- Plug-out upgrade 1.16
Ajoute le paramètre de type int à UmlCom::bye,
il permet d'indiquer la valeur retournée par le plug-out,
0 indique qu'il n'y a pas eu d'erreur.
Vous devez modifier par vous même les appels
a UmlCom::bye
- Plug-out empty
Mis à jour pas plug-out upgrade.
4.19.2 patch 1 (Windows)
29 mars 2010
- Cette version n'existe que sous Windows.
- Depuis la version 4.19 un crash pouvait se produire
à cause d'un bug dans le compilateur Visual C++ de Microsoft
lorsqu'une relation d'imbriquation de classe était présente
dans un diagramme de classes et que des changements étaient faits
concernant les éléments dessinés ou le diagramme
lui-même (y compris le cas ou une relation d'imbriquation de classe
doit être ajoutée),
corrigé.
4.19.2
28 mars 2010
- Un crash pouvait se produire
lorsque vous ouvriez un diagramme de composant référençant
via une relation requise ou fournie une classe détruite dans
une précédente session,
corrigé.
- Lorsque vous sortiez de Bouml via un raccourcis (control-w par défaut)
alors que des fenêtres additionnelle étaient ouvertes (par exemple
l'affichage d'un fichier source d'un artéfact), un crash pouvait
se produire (sans réelle conséquence car le projet préalablement
chargé avait déjà été sauvé si besoin),
corrigé.
- fr.lang de.lang es.lang mis à jour.
4.19.1
14 mars 2010
- Depuis la version 4.17.1 un crash pouvait se produire
lorsque vous modifiez un état présent dans un diagramme
ouvert mais jamais visible étant donné la taille du diagramme
et la position des barres de défilement,
corrigé.
- C++ Roundtrip 1.0.4
Java Roundtrip 1.2.3
Pour ne pas retirer les stéréotypes sans correspondance au niveau
code lorsque cela est possible.
(cf.)
- Java Generator 2.19.2
Pour ne pas dupliquer les imports définis à la fois
dans la définition d'un artéfact et via des dépendances.
4.19
27 février 2010
- Le message d'erreur signalant qu'un message ne peut être ajouté
dans un diagramme de séquence contenait des caractères invalides, corrigé.
(cf.)
- Ajoute les messages perdus/trouvés dans les diagrammes de séquence.
- Ajoute l'icône des interfaces utilisant un simple cercle,
ajoute ce cas dans le mode d'affichage des classes dans un diagramme
de classes, des instances dans un diagramme de séquence et des
acteurs dans un diagramme de cas d'utilisation.
Pour ne pas modifier les diagrammes déjà
existants, lorsque vous ouvrez un ancien diagramme montrant des
classes/acteurs stéréotypées interface ou des instances
de classe stéréotypées interface, leur mode
d'affichage est forcé à class lorsqu'il vaut
natural (même indirectement).
- Dans un diagramme de séquence, lorsqu'une instance de reçoit
ni n'émet de message le menu de l'instance propose de masquer/montrer
la ligne de vie. Cela permet d'afficher des instances multiples avec une seule
ligne de vie associée au groupe.
(cf.)
- XMI2 Generator 1.12.3
Pour gérer les messages perdus/trouvés.
- Plug-out API
L'opération from() retourne nul pour un UmlBaseMessage
correspondant a une message trouvé.
L'opération to() retourne nul pour un UmlBaseMessage
correspondant a un message perdu.
- fr.lang mis à jour.
- Les précédentes versions de BOUML ne peuvent lire un projet
produit ou modifié par cette version car le format des
fichiers de sauvegarde est modifié. Bien évidemment
cette version peut lire un projet issus d'une version antérieure.
4.18.2
13 février 2010
- Les instances de classe n'étaient pas coloriées lorsque vous ne demandiez
pas l'affichage des ombres dans un diagramme de séquence ou de
communication, corrigé.
(cf.)
- C++ Reverse 2.12.4
Renseigne les répertoires source et d'en-tête pour les paquetages
additionnels créés parce toutes les classes définies
dans un répertoire donné ne sont pas dans le même namespace
ou des classes sont dans un namespace et pas d'autres.
Essaye d'utiliser des chemins relatifs par rapport à la
racine si celle-ci est définie dans les options de génération.
- C++ Roundtrip 1.0.3
Le roundtrip était perturbé lorsque vous utilisiez
des namespaces et produisait un mauvais et inconsistant résultât, corrigé.
Dans les versions précédentes du reverse/roundtrip
les répertoires source et d'en-tête des paquetages additionnels
n'étaient pas renseignés (voir la remarque précédente
sur le reverse), à cause de cela the roundtrip peut vous
proposer des détruire des classes définies sous ces paquetages.
Si vous avez utilisé les versions précédentes
du reverse/roundtrip sur du code utilisant des namespaces vous devez
vérifier les paquetages ayant des répertoires source et d'en-tête vides
et les renseigner si besoin.
Ne prend pas en compte les \r lors des comparaisons de chaines de caractères
afin de savoir si un élément doit ou non être mis à jour.
- Java Roundtrip 1.2.2
Ne prend pas en compte les \r lors des comparaisons de chaines de caractères
afin de savoir si un élément doit ou non être mis à jour.
- Uml projection 1.1.2
La projection vers C++ ne renseignait pas la définition de l'en-tête
pour les artifacts déjà existants, corrigé.
4.18.1
6 février 2010
- Un crash pouvait se produire lorsque vous modifiez des
relations utilisées par des instances de classe modélisées
'non purement graphique) ou lors de la lecture d'un projet contenant de telle
instances, corrigé.
(cf.)
- Dans un diagramme de classes, lorsque l'option de dessin draw all relations était
à non the seul moyen pour dessiner les relations d'imbrication de classe non encore
dessinées était de mettre draw all relations à vrai puis de
retirer les relations que vous vouliez cacher. Maintenant le menu d'une classe imbriquée
propose de montrer sa relation d'imbrication lorsqu'elle n'est pas encore dessinée
et que la classe conteneur est présente.
(cf.)
- XMI2 Import 1.7.2
Remplace les sauts de ligne par des espaces dans les noms de relation.
- C++ Reverse 2.12.3
C++ Roundtrip 1.0.2
Le nom d'un paramètre d'opération doit être le nom spécifier dans la définition
lorsqu'il n'est pas vide, et non pas le nom issu de la déclaration de l'opération
(régression introduite lorsque j'ai ajouté le roundtrip).
L'instantiation d'une classe paramétrée dans sa déclaration
ou la définition de ses opérations était reversée
comme la classe elle-même (sans les actuels), corrigé.
- fr.lang mis à jour.
4.18
24 janvier 2010
- Dans la version précédente des changements
dans un diagramme d'activité pouvait produire un crash sous
Windows à cause d'un bug dans le compilateur Visual C++ de
Microsoft, ce problème existait potentiallement dans
d'autres cas, évité.
(cf.)
- Il était interdit d'ajouter un flux d'une action vers un objet ayant
is control à faux, corrigé.
- Lorsque vous ajoutiez un raccourci les indications control/shift/alt étaient
retirées lorsque vous entriez la clef alors que la ligne courante
était la dernière (généralement le cas),
corrigé.
(cf.)
- Ajout des nouvelles commandes de raccourci Open project, Print et
Save as, les raccourcis par défaut étant control o,
control p et control shift s.
Ajoute également le raccourci par défaut control p
imprimant le diagramme actif ouvert.
Attention, le raccourci par défaut pour générer
les sources Php est maintenant control h et non plus control p.
(cf.)
- XMI2 Generator 1.12.2
Amélioration pour savoir si un flux est de contrôle ou de données.
- C++ Generator 2.15.2
C++ Reverse 2.12.2
C++ Roundtrip 1.0.1
Java Generator 2.19.1
Idl Generator 2.12.1
Python Generator 1.3.1
Project control 1.2.4
Project synchro 1.2.3
XMI2 Import 1.7.1
File Control 1.0.5
Uml projection 1.1.1
Modifiés pour ne plus être potentiellement affectés par le bug du
compilateur Visual C++ de Microsoft.
- fr.lang, de.lang et es.lang mis à jour.
- Les précédentes versions de BOUML ne peuvent lire un projet
produit ou modifié par cette version car le format des
fichiers de sauvegarde est modifié. Bien évidemment
cette version peut lire un projet issus d'une version antérieure.
4.17.1
9 janvier 2010
- Un crash pouvait de produire lorsqu'une instance de classe
non transparente était dessinée sans ombre, corrigé.
- Sous Windows l'Espagnol était choisi par erreur lorsque Bouml n'avait jamais été
utilisé ou que la dernière version utilisée était antérieure
à la version 1.15.1 et que les variable d'environnement LANG et LCID ne correspondaient
par à l'Anglais ou le Français, corrigé.
- Add related elements ne faisait rien dans un diagramme de cas d'utilisation ou de
déploiement, corrigé.
- Lorsque vous redimensionniez manuellement un élément dans un diagramme, ses
relations réflexives pouvaient être cachées suivant leurs position et le
coin utilisé, corrigé.
- Dans un diagramme d'états, lorsque vous ajoutiez et élément et qu'il
était positionné automatiquement pour être placé dans son
conteneur, ses relations réflexives ne suivaient pas et leurs points de brisure
étaient pauvrement placés, corrigé.
- Lorsque vous ajoutez un conteneur dans un diagramme d'états ou d'activité
et que son possible conteneur n'est pas dessiné mais que des sous éléments
le sont, maintenant le conteneur ajouté est redimensionné automatiquement
pour contenir ses sous éléments. Cela pour éviter un déplacement
malheureux des sous éléments afin de les placer dans le conteneur ajouté.
es.lang
3 janvier 2010
- Version complète de es.lang pour utiliser Bouml en Espagnol,
cette version est plus récente que Bouml 4.17 et peut être utilisée
avec n'importe qu'elle version depuis la 4.15.1 (pas de traduction avant cette version).
Téléchargez
es.lang
et indiquez où vous placez le fichier via "Miscellaneous / Edit environment".
Merci à Paulo Cesar Coronado.
4.17
1er janvier 2010
- Un Crash avait lieu lorsque vous chargiez un projet incohérent
où deux opérations partagaient le même identificateur
interne, corrigé.
(cf.)
- Les paramètres optionnels n'étaient pas fournis aux
plug-outs init/check associés aux stéréotypes
des profils, corrigé.
- Les boites représentant les instances de classes n'étaient pas
produites en SVG lorsque qu'elles n'étaient pas transparentes et
que vous ne demandiez pas a dessiner une ombre, corrigé.
(cf.)
- Ajoute les nouvelles commandes de raccourci Optimal scale, Optimal window size,
Zoom +, Zoom - et Zoom 100% pour les diagrammes.
L'échelle est désormais modifiable via la roue de souris avec la touche
contrôle enfoncée
- Dans un diagramme la partie visible suit la souris lorsque vous la déplacez
avec le bouton du centre appuyé.
- Dans un diagramme l'utilisation de la roue de souris avec la touche shift
enfoncée déplace la partie visible vers la gauche ou la droite
(l'utilisation de la roue sans touche enfoncée déplaçait
déjà la partie visible vers le haut ou le bas).
- Ajoute les nouvelles commandes de raccourci Close et Quit pour fermer
le projet ou sortir, les raccousis par défaut sont control w et
control q.
- Lorsque plusieurs éléments redimensionnables sont sélectionnés
dans un diagramme le menu de sélection multiple vous permet de les redimensionner
pour qu'ils aient la même largeur et/ou hauteur que le premier élément
sélectionné.
Vous pouvez définir des raccourcis pour les commandes associées
(Same width, Same height et Same size)
- Vous pouvez maintenant placer des diagrammes de classes dans un cas d'utilisation ou
une vue de cas d'utilisation, pour permettre de définir les diagrammes de
robustesse d'Iconix via des diagrammes de classes.
(cf.)
- XMI2 Generator 1.12.1
Les post conditions des actions d'activité n'étaient pas
exportées, et les pre conditions des actions d'activités
n'étaient pas exportées lorsque leur post condition était
vide, corrigé.
(cf.)
- C++ Roundtrip 1.0
Nouveau plug-out, merci de lire la
documentation.
- C++ Reverse 2.12.1
Pour des raisons de compatibilité avec le roundtrip, maintenant la propriété
#file est cherchée au niveau du paquetage projet et non plus dans le paquetage
d'où était lancé le reverse.
Positionne les répertoires de source et d'en-tête pour C++ dans les
paquetages pendant le reverse, essaye d'utiliser des chemins relatifs par rapport à la
racine si celle-ci est définie dans les options de génération.
- Java Roundtrip 1.2.1
Corrige des bugs.
Positionne les répertoires de source pour Java dans les
paquetages même sans package Java associé pendant le reverse,
essaye d'utiliser des chemins relatifs par rapport à la
racine si celle-ci est définie dans les options de génération.
- Java Reverse 2.15.1
Java Catalog 2.14.1
Positionne les répertoires de source pour Java dans les
paquetages même sans package Java associé pendant le reverse,
essaye d'utiliser des chemins relatifs par rapport à la
racine si celle-ci est définie dans les options de génération.
- Plug-out upgrade 1.15.2
Pour pouvoir créer un diagramme de classes sous un cas d'utilisation ou une
vue de cas d'utilisation.
- Plug-out empty
Mis à jour par plug-out upgrade.
- Ajout de es.lang permettant d'utiliser le modeleur en Espagnol,
ce travail est en cours et des traductions sont encore manquantes
(dans ce cas l'Anglais est utilisé).
Un grand merci à Paulo Cesar Coronado pour la traduction.
Vous pouvez donc maintenant choisir entre l'Anglais, le Français, l'Allemand
et l'Espagnol.
- Rappel : si vous êtes volontaire pour ajouter la
traduction vers un nouveau langage prévenez moi. Cela consiste à traduire
plus de 2000 phrases courtes en utilisant un outil que j'ai développé
pour cela (vous n'avez évidemment pas à modifier le code source
de Bouml).
- Les précédentes versions de BOUML ne peuvent lire un projet
produit ou modifié par cette version car le format des
fichiers de sauvegarde est modifié. Bien évidemment
cette version peut lire un projet issus d'une version antérieure.
4.16.4
25 novembre 2009
- Facilite l'ajout dans un diagramme d'une ligne (transition, flux etc)
allant ou partant d'un petit élément déjà
connecté à des lignes.
(cf.)
- Lorsque vous déplaciez une ligne décentrée
ayant une géométrie (
,
,
or
),
ses étiquettes (nom, stéréotype etc) pouvaient
bouger plus que de nécessaire, corrigé.
(cf.)
4.16.3
18 novembre 2009
- Facilite la sélection dans les diagrammes des petits
éléments connectés à des
lignes (relations, transition etc).
- Lorsque vous ajoutez un élément dans un diagramme
d'état et que son état conteneur est déjà
dessiné, force l'élément ajouté à
être dans son état conteneur ou sa région.
Lorsque vous ajoutez un état ses sous éléments
déjà dessinés sont déplacé pour
être dans l'état ajouté, mais parce que l'état
ajouté est petit ils sont mal placés.
(cf.)
- Vous pouvez maintenant décentré les lignes
(relations, transition ...) ayant une géométrie (
,
,
or
),
lorsque vous modifiez la géométrie d'une ligne
celle-ci est recentrée à chaque extrémitée.
(cf.)
- C++ Generator 2.15.1
Un espace était manquant entre deux > lorsque le dernier
actuel de l'héritage d'une classe template était
également une classe template, corrigé.
(cf.)
4.16.2
6 novembre 2009
- Généralement lorsque vous redimensionniez
un élément dans un diagramme le bord ne
suivait pas la souris, c'était par exemple le
cas pour les classes, corrigé.
(cf.)
- IL était difficile de sélectionner une ligne
dessinée entre un élément et un autre
placé dans le premier (par exemple entre une machine
à état et un sous état dessiné
dans la machine), corrigé.
(cf.)
- Dans un diagramme d'activité le stéréotype des
actions est maintenant écrit, sauf dans le cas des
actions opaques dont l'affichage de la définition
est demandé par les options de dessin.
(cf.)
- Vous pouvez maintenant changer le parent d'un état, pseudo état ou
région via un drag&drop dans l'explorateur, tout en restant
confiné dans la machine englobante.
(cf.)
- Ajout de de.lang permettant d'utiliser le modeleur en Allemand,
ce travail est en cours et des traductions sont encore manquantes
(dans ce cas l'Anglais est utilisé).
Un grand merci à Oliver Rudolph pour la traduction.
Vous pouvez donc maintenant choisir entre l'Anglais, le Français et l'Allemand.
- Rappel : si vous êtes volontaire pour ajouter la
traduction vers un nouveau langage prévenez moi. Cela consiste à traduire
plus de 2000 phrases courtes en utilisant un outil que j'ai développé
pour cela (vous n'avez évidemment pas à modifier le code source
de Bouml).
4.16.1
26 octobre 2009
- Dans toutes les versions précédantes un
les commandes import project,
import as library et import tools
provoquaient un écrasement mémoire
sous Windows à cause d'un bug du compilateur Microsoft Visual
C++, évité.
(cf.)
- L'éditeur d'outils avait un mauvais/hasardeux libélé
des onglets et des traductions étaient manquantes,
corrigé.
- fr.lang mise à jour
4.16
25 octobre 2009
- Les boutons show/edit body de l'éditeur d'opération
avait un mauvais/hasardeux libélé et des traductions
étaient manquantes,
corrigé.
- Dans les précédantes versions dans un diagramme de
cas d'utilisation une classe était représentée
comme un acteur même si son stéréotype faisait
parti d'un profil et avait un icône associé.
Maintenant, de même que dans un diagramme de classe l'icône
associé au stéréotype est utilisé lorsque
le mode de dessin est natural.
(cf.)
- Il est maintenant possible de montrer/cacher la visibilité des
relations entre classes dans un diagramme de classes en fonction de
la nouvelle option de dessin show relation visibility.
Par défaut les visibilités ne sont pas affichées.
(cf.)
- Les messages dans un diagramme de séquence peuvent maintenant être
stéréotypés (par un stéréotype textuel hors
profil). Une liste de stérétypes par défaut peut
être positionnée via l'éditeur des stéréotypes
par défaut.
(cf.)
- Il est maintenant possible d'afficher icône de l'indication de décomposition
dans un état dans un diagramme d'état. Par défaut l'icône
n'est pas visible. L'icône est dessiné sous votre unique responsabilité,
Bouml ne vérifie par si cela est cohérent ou non.
(cf.)
- Plug-out upgrade 1.15.1
Pour ajouter la gestion des stéréotypes au niveau des messages
dans les diagrammes de séquence.
- XMI2 Generator 1.12
Pour exporter le stéréotype des messages d'un diagramme de séquence
via une extension.
- Plug-out empty
Mis à jour par plug-out upgrade.
- fr.lang mise à jour
- Les précédentes versions de BOUML ne peuvent lire un projet
produit ou modifié par cette version car le format des
fichiers de sauvegarde est modifié. Bien évidemment
cette version peut lire un projet issus d'une version antérieure.
4.15.1
21 Octobre 2009
- Internationalisation des menus et boites de dialogue du modeleur
utilisant un fichier de traduction spécifié
via l'éditeur d'environnement.
Si le fichier de traduction n'est pas spécifié
l'Anglais est utilisé.
Note : lorsque vous changez la langue les menus globaux sont inchangés
ainsi que la description des boutons des diagrammes déjà ouverts,
pour utiliser la nouvelle langue dans tous les cas sortez puis relancez le
modeleur.
Actuellement seul le fichier de traduction fr.lang est disponible
pour utiliser le Français car je ne parle que
Français et Anglais.
Si vous êtes volontaire pour ajouter une nouvelle
traduction prévenez moi and je vous fournirai l'outil que j'ai
développé dans ce but et comment l'utiliser.
Je ne cache pas que traduire plus de 2000 cas est très laborieux,
soyez sure que vous en aurez le courage avant de me contacter pour cela ;-)
4.15
26 septembre 2009
- Permet d'importer un projet en tant que librairie. Un projet importé
en tant que librairie ne peux être modifié dans le projet
l'important, mais il peut être mis à jour pour prendre en compte
les modifications faites dans le projet importé.
Lorsque qu'un projet importé en tant que librairie contient
lui même des projets importés en tant que librairie
ces derniers ne sont pas considérés comme tels,
c'est à dire qu'il n'est pas possible de mettre à jour
chaque sous projet séparément mais que vous devez faire
la mise à jour au niveau du projet emblobant que vous avez
directement importé.
Pour des raisons de simplication vous ne pouvez pas mettre à jour
un projet importé en tant que librairie tant que le projet est
modifié, vous devez donc d'abord soit sauver le projet ou le relire
pour annuler vos modifications, de plus à la fin de la mise à
jour le projet est sauvé et vous ne pouvez donc pas annuler une mise
à jour.
Le but est bien de pouvoir utiliser des projets définissant des
librairies, pas de travailler à plusieurs sur un même
projet, pour cela voir Project control
et Project synchro
- Project control 1.2.3
Pour gérer le cas des projets importés
en tant que librairie.
- Les précédentes versions de BOUML ne peuvent lire un projet
produit ou modifié par cette version car le format des
fichiers de sauvegarde est modifié. Bien évidemment
cette version peut lire un projet issus d'une version antérieure.
4.14
12 septembre 2009
- Lorsque vous détruisiez un package via un plug-out
le package conteneur n'était pas marqué modifié
et n'était pas sauvegardé sans une autre raison le marquant
modifié, la relecture du projet produisait alors une erreur, corrigé.
- Sous Windows, lors d'une sortie de Bouml utilisant le bouton [X]
de la barre de titre (plutôt que via le menu),
la fenêtre principale était fermée mais
bouml.exe pouvait être toujours actif en bouclant
indéfiniment (problème non reproduit signalé
par seulement un utilisateur), évité.
(cf.)
- Dans un diagramme de classes il est maintenant possible
de redimensionner les classes dessinées avec
la représentation standard (sans utiliser un icône)
- Nouvelle option de d'affichage hide get/set operations s'appliquant
aux accesseur 'officiels' dans les diagrammes de classes.
Par défaut les accesseurs sont affichés.
- Nouvelle option de génération inline force include in header
pour C++, lorsqu'elle est positionnée les types référencés
dans le profile des opérations déclarées inline
produisent les includes dans le fichier d'entète comme c'était le
cas dans les versions précédentes, sinon le générateur de code
ne tient pas compte du fait que des opérations soient inline lors du calcul
des dépendances. Cette option est mise à true par défaut
pour les projets existants pour ne pas les perturber,
mais false par défaut lorsque vous créez un nouveau projet.
- C++ Generator 2.15
Un espace manquait entre les deux derniers > dans la définition d'une classe
paramétrée dont le dernier membre formel avait une valeur par défaut
valant une forme paramétrée (c.a.d. finissant par un >)
et aussi dans l'instantiation d'une classe paramétrée où le dernier
membre actuel est une forme paramétrée sans être le dernier membre
formel (les membres formels suivant ayant donc des valeurs par défaut)
(cf.)
Gère la nouvelle option de génération inline force include in header
Evite un crash en cas de fin d'exécution postérieure à celle du modeleur.
Suit la nouvelle API.
- C++ Reverse 2.12
Java Generator 2.19
Java Reverse 2.15
Java Roundtrip 1.2
Java Catalog 2.14
Php Generator 1.7
Php Reverse 1.5
Python Generator 1.3
Idl Generator 2.12
Roundtrip body 1.10
Evite un crash en cas de fin d'exécution postérieure à celle du modeleur,
principalement pour java catalog car les autres plug-outs terminent automatiquement
leur exécution.
Suit la nouvelle API.
- Plug-out upgrade 1.15
Pour gère la nouvelle option de génération inline force include in header
Evite un crash en cas de fin d'exécution postérieure à celle du modeleur.
Suit la nouvelle API.
- XMI2 Generator 1.11.1
Ajoute l'export de la description des transitions ainsi que de leur tagged values.
(cf.)
- Plug-out empty
Mis à jour par plug-out upgrade.
- Les précédentes versions de BOUML ne peuvent lire un projet
produit ou modifié par cette version car le format des
fichiers de sauvegarde est modifié. Bien évidemment
cette version peut lire un projet issus d'une version antérieure.
4.13.1
July 8th 2009
- Improvement to diminuish the needed time to load a project,
mainly in case of projects containing Php definition
obtained by a reverse producing artifacts having a long
Php definition
- C++ Reverse 2.11.1
Java Reverse 2.14.1
Java Roundtrip 1.1.1
Java Catalog 2.13.1
Php Reverse 1.4.1
speed improvement
4.13
July 3th 2009
- Add active on activity, class and state
- Add type specification of function's parameters and return values
(pep-3107).
When a return type is specified (it is not empty) the keyword ${type}
produces the return type prefixed by ' -> '
When the type of a parameter is specified (it is not empty) the corresponding
${<n>} produces the type prefixed by ': ' if the keyword is
part of the parameter list definition (between ${(} and ${)})
The code generator doesn't place the types between two string delimiters
by itself, to produce a string with delimiters you have to enter these
delimiters in the type definition at UML level.
By default when you add a parameter the keyword ${<n>}
is absent, it is added only if you set the new generation setting
operation of Python 3 (pep-3107) (generation settings dialog Python[2]),
and you have to change by yourself the default operation definition in the
generation settings to add ${type} between ${)} and ':'
- Plug-out upgrade 1.14
Add operations isActive and set_isActive on
UmlBaseActivity, UmlBaseClass and UmlBaseState.
Add operations isPython_3_operation and set_IsPython_3_operation
on PythonSettings
- Python Generator 1.2
To manage type specification of function's parameters and return values
- C++ Generator 2.14
C++ Reverse 2.11
Java Generator 2.18
Java Reverse 2.14
Java Roundtrip 1.1
Java Catalog 2.13
Idl Generator 2.11
Php Generator 1.6
Php Reverse 1.4
Roundtrip body 1.9
Follow the new API.
- Html documentation Generator 2.18
To import/export isActive.
To manage type specification of function's parameters and return values
Fixe the generation of the description of the elements defined in Java and/or
Php and/or Python
- XMI2 Generator 1.11
XMI2 Import 1.7
To import/export isActive.
- Plug-out empty
Upgraded by plug-out upgrade.
- The previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
4.12.4
June 11th 2009
- Browser search allows now to search for elements depending
on their stereotype.
- The menu miscellaneous has the new toggle
completion in dialog, it is set by default to be
compatible to the behavior of the previous releases. When it is set
and you enter a string in a list of choices (combo box) in a
dialog, an auto completion/search is done, note this one is non
case sensitive (Qt limitation). If you don't like this
auto completion/search, unset the toggle.
- Internal extension of the Plug-out API for Java Roundtrip.
- C++ Generator 2.13
A dependency stereotyped friend produced a wrong code
in case the target class was a template, fixed.
Follow the new API.
- Plug-out upgrade 1.13
A crash occured when you upgraded an old plug-out
without Python management, fixed.
(cf.)
Follow the new API.
- Java Roundtrip 1.0
New plug-out, please refer to the
documentation.
- C++ Reverse 2.10
Java Generator 2.17
Java Reverse 2.13
Java Catalog 2.12
Idl Generator 2.10
Php Generator 1.5
Php Reverse 1.3
Python Generator 1.1
Roundtrip body 1.8
Follow the new API.
- XMI Generator 1.4.6
When a parameter of an operation doesn't have type
the token UML:Parameter wasn't closed, fixed.
(cf.)
- XMI2 Generator 1.10.2
The base type of a class stereotyped typedef
is now produced in an extension form supposing you ask for them
Import Interface
May 5th 2009
New user contribution, please refer to
contributions
4.12.3
April 29th 2009
- Since 4.12 because of change concerning the z-dimension of lines
in diagrams it was difficult to select small elements connected
to a line in diagram and to connect required '(' and provided 'O'
representations in a component diagram, fixed.
(cf.)
- You can now close all the opened diagrams through the entry
Close all added in the global menu Windows
4.12.2
April 18th 2009
- When you duplicated a state Bouml
could crash, fixed.
(cf.)
- When you deleted attribute or operation of a class through a plug-out
the drawing of the class wasn't updated in already opened diagrams,
(the deleted members was still visible), fixed.
- Python Generator 1.0.9
In the previous releases the first line of a docstring was indented,
then the next lines was produced without adding the current indentation.
Now all the lines of a docstring are indented to follow pep-0257.
- Plug-out upgrade 1.12.11
Add the operation importProject on UmlBasePackage,
returns the UmlPackage corresponding to the imported
project or 0/null in case of an error.
- Plug-out empty
Upgraded by plug-out upgrade.
4.12.1
March 28th 2009
- When a class is associated to a relation (for instance in case of a class relation)
and you deleted the class, the plug-out API operation
UmlRelation::association() wrongly returned the deleted class, fixed.
- In a diagram when two elements was link by a line (whatever it represented)
and one the element contained the other one, the line was not drawn. This
was mainly a problem in case of high-level transition from a composite
state with a target inside the composite state. Fixed.
- An auto scroll is now made if necessary when you move in a diagram the mouse
with the center or right click down.
- Python Generator 1.0.8
When a class referenced an other one placed in the same python package, the
python code generator wrongly produced <artifact name>.<class name>
rather than <package name>.<artifact name>.<class name>,
fixed.
In the special case of the artifact is named __init__ this one is now
not generated, this means <package name>.<class name> is produced
- XMI2 Generator 1.10.1
When you defined an association between a class and an actor an unexpected and
inconsistent attribute was generated, fixed.
4.12
March 15th 2009
- In a communication diagram, when you used the menu to
change the geometry of a junction between two instances without
supporting yet a message, Bouml crashed, fixed.
- When you duplicate an activity Bouml
may crash, fixed.
- In an activity diagram, when an activity partition
was in horizontal display mode, and you assigned any colour to it,
then close the diagram and re-open it, you got an error message
and a part of the diagram was lost, fixed.
- In a state diagram it was possible to resize choices by selecting
them with other elements and doing a rezise, same thing for
decision and merge in an activity diagram, fixed.
- The virtual desktop set through the environment dialog
was not taken into account when you started Bouml, fixed.
- Add new US diagram formats : Letter, Legal, Tabloid,
Letter landscape, Legal landscape and Ledger.
- Search and referenced by dialogs are now not modal,
also add buttons to mark/unmark found elements.
- It is now possible to add marked elements in class, use case,
component and deployment diagrams
though the diagram menu entry add marked elements.
- It is now possible to ask for to add related elements in
diagram for a class, use case, package, component, artifact
and deployment node.
A related element is an element having a relation with
the current element whose can be shown in the current diagram
and part of the browser.
- The previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
4.11
February, 15th 2009
- Add specification on activity and state, used
to indicate an implemented operation. Add entries in
menu of operation to create an implementing activity
or state, or to access to them.
- XMI2 Import 1.6
Import specification on activity and state.
The previous releases force the roles of the relation,
regions and entry/exit pseudo states to not be anonymous,
not done anymore.
- XMI2 Generator 1.10
Html documentation Generator 2.17
Export specification on activity and state.
- Plug-out upgrade 1.12.10
Add the operations specification and
set_Specification on UmlBaseActivity and
UmlBaseState. Add the operation methods on
UmlBaseOperation.
- Plug-out empty
Upgraded by plug-out upgrade.
- The previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
4.10
7 février 2009
- Ajoute les actions d'activité accept call, reply, create object,
destroy object, test identify, raise exception et reduce.
- Pour Python, la définition par défaut d'__init__
est maintenant spécifiée via les options de
génération, celle-ci est utilisée lorsque la
classe hérite d'autre(s) classe(s), la définition
exécute l'initialisation des classes mères
via la forme super(classname, self).__init__()
- Dans les diagrammes, maintenant lorsque vous déplacez un
fragment les textes qu'il contient le suivent.
- Python Generator 1.0.7
lorsqu'une classe hérite d'autre(s) classe(s) sans définir
__init__ sa définition auto générée
contient maintenant super(classname, self).__init__()
- Plug-out upgrade 1.12.9
Evite un bug au niveau de l'affectation d'un QVector dans Qt 2.3
(version utilisée pour Windows)
en modifiant UmlBaseComponent::set_AssociatedClasses(),
UmlBaseArtifact::set_AssociatedClasses() et
UmlBaseParameterSet::set_Pins()
Ajoute la gestion des actions d'activité accept call, reply,
create object, destroy object, test identify, raise
exception et reduce.
Ajoute la gestion des options de génération pour
Python associées à __init__.
- XMI2 Import 1.5
XMI2 Generator 1.9
Les formes produites / attendues pour les interfaces
requises et offertes et les classes réalisées
n'étaient pas les bonnes, corrigé.
Attention les formes produites
par les versions précédentes ne sont pas
importées.
Import / export des nouvelles actions d'activité.
- Html documentation Generator 2.16
Produit les nouvelles actions d'activité.
Produit l'initialisation des attributs, relations et
paramètres d'opération au
niveau UML.
- Plug-out empty
Mis à jour par plug-out upgrade.
- Les précédentes versions de BOUML ne peuvent lire un projet
produit ou modifié par cette version. Bien évidemment
cette version peut lire un projet issus d'une version antérieure.
4.9.3
25 janvier 2009
- Lorsque vous confirmiez l'édition d'une relation dont la cible
était une classe non modifiable et n'ayant pas de propriétés
pour le premier rôle, un message d'erreur était affiché
et vous deviez annuler l'édition, corrigé.
- Extension de la commande referenced by pour également chercher dans les
diagrammes. Seuls les éléments directement représentés
dans les diagrammes sont trouvés, ce n'est pas par exemple le cas pour
une opération ou un attribut dans un diagramme de classes.
- Ajoute la gestion de ${type} en Php pour les dialogues
d'opération, attribut et relation, à priori
utilisé dans un commentaire, par exemple pour php-comment.
A noter que ${t<n>} était déjà géré.
Etablir via les options de génération une définition par
défaut des descriptions de classe, opération, attribut et relation
utilisant les formes @return, @var et @access peut vous aider
à produire des commentaires pour php-comment. Il également
possible d'écrire un plug-out modifiant les descriptions pour
utiliser ces formes y compris @param suivant la définition des
éléments.
- Php Generator 1.4.6
Ajoute la gestion de ${type} dans la génération des
opérations (les autres cas étaient déjà gérés),
à priori utilisé dans un commentaire pour php-comment.
- Php Reverse 1.2.2
Recherche les formes @param, @return, @var er @access
dans les commentaires.
- Java Generator 2.16.6
Dans les versions précédentes, dans le cas d'une opération
déclaré abstraite ou définie dans une interface,
lorsque la '{' correspondant au début du corps était atteinte un
';' était produit et la génération de l'opération
s'arrêtait.
Maintenant un ';' est produit et la génération continue
après la première '}' placée après ${body}.
- Html documentation Generator 2.15.1
La description d'une opération ou d'une classe s'arrêtait
lorsqu'une '{' était atteinte, et la description d'un attribut
ou d'une relation s'arrêtait lorsqu'un ';' était atteint,
corrigé.
4.9.2
11 janvier 2009
- Un crash pouvait se produire lorsque
changiez les options de dessin en fonctions des modifications
faites préalablement, corrigé.
- L'opération UmlBaseClass::isPythonExternal()
des Plug-outs indiquait si la classe était
externe pour Php et non pour Python, corrigé.
- Ajoute la gestion de ${association} en Python pour les relations
et les getters/setters associés à une relation.
- Remplit en blanc la partie contenant le nom/type d'un combined fragment
dont la couleur est transparent et dont le nom/type est non vide.
- Python Generator 1.0.6
Gère ${association}.
4.9.1
5 janvier 2009
- Dans une activité, lorsqu'un élément
était créé via un diagramme en le placant
directement sur une partition, cet élément était
créé à tord imbriqué dans la partition dans
l'explorateur, et il était impossible de relire le projet,
corrigé.
Lorsque vous chargez un projet les éléments
imbriqués à tord dans une partition sont automatiquement
extraits pour rendre le projet cohérent.
- Java Reverse 2.12.5
Java Catalog 2.11.5
Le dernier caractère des commentaires pouvait être perdu,
corrigé
- XMI2 Generator 1.8.1
Exporte les comportements entry, do et exit
des états.
- XMI2 Import 1.4.1
Importe les comportements entry, do et exit
des états.
Modifications pour importer un fichier produit par AndroMDA
- State machine generator 1.4.1
Un destructeur C++ virtuel ayant un corps vide est maintenant
créé pour chaque classe produite par le générateur.
4.9
23 décembre 2008
- Le modeleur entrait dans une boucle infinie
lorsque l'on tentait de modifier la géométrie
d'une extension (relation unidirectionnelle d'une
classe-stéréotype vers une méta classe),
corrigé.
- Lorsqu'une classe était présente
dans au moins deux des listes de classes requises offertes ou
réalisant d'un composant et que vous détruisiez
cette classe, que vous sauviez puis rechargiez le modèle,
celui-ci était incohérent et cela pouvait produire
un crash lors de certaines opérations,
corrigé.
- Les opérations ayant des paramètres utilisant des
caractères accentués dans leur nom ou type étaient
mal écrites dans les diagrammes ou certains dialogues et menus,
corrigé.
- Ajout des partitions dans les activités (swimlanes),
merci de lire la documentation.
- Dans les diagrammes d'états et d'activité il est désormais
possible de redimensionner les forks et joins.
- Vérifie qu'une propriété (tagged value)
n'est présente qu'une fois lorsque vous validez
l'édition d'une élément.
- Désormais Add inhnerited operations ne propose plus
les getter et setter des classes héritées.
Lorsque vous déplacez un attribut ou une relation par drag&drop
les getter et setter associés sont désormais
détruits (les marques permettent de déplacer les attributs
et relations avec leur getters et setters associés).
- Java Generator 2.16.5
Dans les versions précédentes une dépendance
stéréotypée import vers une classe
imbriquée produisant une forme import concernant
la première classe conteneur. Désormais l'import
concerne la classe imbriquée.
- Java Reverse 2.12.4
Java Catalog 2.11.4
Lorsque la définition par défaut d'un élément
n'utilise pas ${description}, retire la première/dernière
ligne du commentaire lorsqu'elle est vide ou ne contient que des espaces ou
tabulation.
Les commentaires placés avant la première forme package
ou import dans un fichier reversé sont désormais
associés à l'artifact correspondant.
- Plug-out upgrade 1.12.8
Corrige la définition des opérations set_AssociatedDiagram
pour prendre en compte le cas où l'association est retirée
(l'argument pour le diagramme est nul)
Ajoute les partitions
- Html documentation Generator 2.15
XMI2 Generator 1.8
XMI2 Import 1.4
Gère les partitions.
- Plug-out empty
Mis à jour par plug-out upgrade.
- Les précédentes versions de BOUML ne peuvent lire un projet
produit ou modifié par cette version. Bien évidemment
cette version peut lire un projet issus d'une version antérieure.
- Note : Le manuel de référence est à jour
4.8.4
7 décembre 2008
- Valider l'édition d'une relation
dont le premier rôle en en lecture seule et n'a pas
propriété (tagged value) produit un crash, fixé.
- IL est désormais possible d'associer un icône à un
stéréotype défini dans un profile en indiquant
un fichier image.
Dans un diagramme l'image est utilisés sans modification lorsque
l'échelle est 100%, sinon elle est redimensionnée.
Cette image est utilisé dans les diagrammes pour les
classes lorsque drawing mode est natural, les composants
lorsque vous demander d'afficher un icône, les packages
(le contexte n'est pas écrit), les state actions (le comportement
n'est pas écrit), les activity object nodes, les
deployment nodes et artifacts.
Dans ce cas le nom de l'élément est écrit sous l'icône.
Ces icônes ne sont pas exportés en SVG.
La figure est également utilisé dans le browser lorsque
l'élément n'est pas détruit, l'image est redimentionnée
pour avoir sa largeur et hauteur inférieure ou égale à 16.
Pour un plug-out la figure est attachée à la propriété
(tagged value) stereotypeIconPath de la classe-stéréotype.
- Il est possible de définir un raccourcis pour faire une recherche dans le browser.
- C++ Generator 2.12.9
Java Generator 2.16.4
Idl Generator 2.9.5
Php Generator 1.4.5
Modifie la calcul des indentations pour prendre en compte les définitions
de classe indentées (la définition commence par des espaces ou des
tabulations).
- C++ Reverse 2.9.3
Ne produit plus une erreur de syntaxe lors de la lecture d'une déclaration
en avant d'un struct, union ou enum dans la définition
d'une classe, struct ou union. De même que cela était
déjà le cas pour une classe, ces déclarations en avant
produisent des extra member dans le modèle.
- XMI2 Generator 1.7.2
XMI2 Import 1.3.2
Pour gérer les icônes associés aux stéréotypes.
- Roundtrip body 1.7.2
Produit le numéro de ligne lors de la lecture d'un block préservé
invalide.
- Rose project import 2.1.2
Corrige un possible crash.
4.8.3
16 november 2008
- Fixe des problèmes concernant la duplication des getters
et setters
- C++ Generator 2.12.8
Java Generator 2.16.3
Idl Generator 2.9.4
Php Generator 1.4.4
Passe outre un bug dans l'opération QCString::remove
de Qt et qui pouvait indirectement produire un crash
- Global change 1.2
Gère Python
- Note : Le manuel de référence est à jour
4.8.2
11 novembre 2008
- Html documentation Generator 2.14.2
Produit aussi les définitions pour Python.
Sous Windows, pour la version C++, un '.' indésirable
pouvait être ajouté à la fin du nom
du répertoire sélectionné retourné
par QFileDialog::getExistingDirector()
(problème détecté par un utilisateur
utilisant des chemins commançant par //),
ajout d'un hack pour gérer cela.
- .pro Generator 2.1.5
Ajout du hask concernant le '.' indésirable comme
pour le générateur Html.
- Deploy 1.1
Ajoute la gestion de Python.
Une classe est déployée pour un langage donné
seulement si elle n'est pas indiquée externe et
que sa définition est non vide.
Les classes stéréotypées stereotype
ou metaclass ne sont pas déployées.
Un artifact est créé et associé à
une classe que si celle-ci est déployée pour
au moins un langage.
- Uml projection 1.1
Pour gérer Python
- Plug-out upgrade 1.12.7
Ajoute les opérations permettant l'accès et la modification
des définitions pour Python.
Note : vous devez définir la variable du pro processeur
C++ WITHPYTHON lorsqu'un plug-out est implémenté
en C++ et que WITHCPP WITHJAVA WITHPHP et WITHIDL
sont définis.
- Plug-out empty
Mis à jour par plug-out upgrade.
4.8.1
3 novembre 2008
- La modification via un plug-out de
certains generation settings pouvait provoquer
un crash, corrigé. Vous devez aussi mettre
à jour vos plug-out avec plug-out upgrade
- Ajoute la gestion des méta classes. Une méta classe
est une classe stéréotypée
metaclass.
Le chemin d'une méta classe (par défaut
https://schema.omg.org/spec/UML/2.0/uml.xml ou
https://schema.omg.org/spec/UML/2.1/uml.xml
suivant la génération XMI) est mémorisé
via la propriété (tagged value) metaclassPath.
- Modifie la façon dont un stéréotype étend
une méta classe.
Dans les versions précédentes cela ce faisait
via l'onglet stereotype de l'éditeur de classe,
et la méta classse étendue ainsi que son chemin
étaient mémorisés via la propriété
(tagged value) stereotypeExtension.
Maintenant une extension est supportée par une association
mono directionnelle du stéréotype (classe
stéréotypée stereotype) vers la
méta classe (classe stéréotypée
metaclass). Pour indiquer que l'extension est requise
il faut utiliser explicitement la multiplicité 1.
Lorsque vous chargez un projet la propriété
stereotypeExtension des stéréotypes est
convertie en extension(s), les méta classes nécessaires
sont crées.
Vous devez modifiez vos plug-outs
pour utiliser les méta classes et extensions plutot que
les propriétés stereotypeExtension sur les
stéréotypes.
- Plug-out upgrade 1.12.6
Corrige certaines opérations de modification sur les classes
UmlSettings, CppSettings, JavaSettings, IdlSettings et PhpSettings.
- XMI2 Generator 1.7.1
XMI2 Import 1.3.1
Html documentation Generator 2.14.1
Gère les méta classes et extensions.
- Deploy 1.0.1
Pour ne pas déployer les classes stéréotypées
stereotype ou metaclass. Appliquer ce Plug-out
sur une vue de classes placée dans un profile est à
priori étrange.
- Uml projection 1.0.2
Pour ne pas projeter les classes stéréotypées
stereotype ou metaclass ou placées sous un
profile.
- Plug-out empty
Mis à jour par plug-out upgrade.
4.8 patch 1
26 octobre 2008
- Depuis la version 4.6 un crash se produisait
lorsqu'un unique langage cible était sélectionné
et qu'un paramètre d'une opération définie
dans un acteur placé dans un use case ou une
use case view était modifié, corrigé.
- Gère la forme spéciale permettant d'initialiser
les items des énumérations en Java (valeur
donnée en paramètre en non via une affectation).
- Sur les attributs et relations ajoute les modificateurs de propriété
derived, union (actif si derived
est positionné), ordered et unique.
- Nouvelle options d'affichage show attribute modifiers
et show relation modifiers pour montrer / cacher
les modificateurs de propriété dans les
diagrammes de classes. Par défaut ces modicatfieurs
sont cachés.
- Java Generator 2.16.2 patch 1
Gère la forme spéciale permettant d'initialiser
les items (déjà géré par
Java Reverse et Java Catalog).
- Python Generator 1.0.5
Dans les versions précédentes la génération
de code était faite pour Python 2.2 (héritage explicite
d'object) en fonction du l'indication 2.2 au niveau des
generation setting plutôt qu'au niveau des classes, corrigé.
Dans une définition d'opération ${class} produit
le nom de la classe contenant l'opération.
- Plug-out upgrade 1.12.5
Ajout les opérations operations isDerived(), isDerivedUnion(),
isOrdered(), isUnique() set_isDerived() (indique à la fois
si la propriété est dérivée et union),
set_isOrdered() et set_isUnique.
pour UmlBaseAttribute et UmlBaseRelation
- Html documentation Generator 2.14
Exporte les modificateurs de propriété.
Mis à jour par plug-out upgrade.
- XMI2 Generator 1.7
XMI2 Import 1.3
Gère les modificateurs de propriété.
Gère les stéréotypes étendant plusieurs
méta classes.
Mis à jour par plug-out upgrade.
- Plug-out empty
Mis à jour par plug-out upgrade.
- Les précédentes versions de BOUML ne peuvent lire un projet
produit ou modifié par cette version. Bien évidemment
cette version peut lire un projet issus d'une version antérieure.
4.7
10 octobre 2008
- L'écran par défaut établi via le dialogue
d'environnement n'est pas pris en compte lorsqu'il est
invalide (par exemple lorsque l'ordonnée du coté
gauche est supérieure à celle du coté
droit). Maintenant Bouml indique un tel cas, et le dialogue
ne permet plus de définir un écran invalide.
- Une région dans un état peut désormais
contenir des états (y compris initial et final),
des pseudo états et des actions.
- L'import des generation settings importe maintenant
également les définitions des include
C++ et Idl, et des import Java et Python.
- Plug-out upgrade 1.12.4
Modifie le type du premier paramètre de l'opération
UmlBaseStateAction::create() en UmlItem.
- Plug-out empty
Mis à jour par plug-out upgrade.
- Les précédentes versions de BOUML ne peuvent lire un projet
produit ou modifié par cette version. Bien évidemment
cette version peut lire un projet issus d'une version antérieure.
4.6.1
24 septembre 2008
- Corrige une erreur dans l'API des plug-outs se produisant
lorsque vous demandez la définition d'un diagramme
de séquence contenant un interaction use
recouvrant plusieurs lignes de vie.
A cause de cette erreur un crash du générateur
XMI2 peut se produire avec la précédente version du
modeleur.
4.6
22 septembre 2008
- Sous Windows, lorsque la configuration utilisateur n'est
par correcte et désigne un home directory
en lecture seule contrairement au répertoire
spécifié par la variable d'environnement
USERPROFILE, le dialogue d'environnement était
affiché à chaque que vous lanciez le modeleur,
corrigé.
- Lorsqu'un unique langage cible est sélectionné
et que vous éditiez une opération, la modification
d'un paramètre impactant la définition par défaut
de l'opération n'était prise en compte que lorsque
vous finissiez l'édition de la cellule en cliquant dans une
autre cellule de la table des paraètres. Désormais
la prise en compte de la modification est également faite
sur un changement d'onglet ou en validant l'édition de
l'opération (cliquer dans une autre cellule n'est plus
nécessaire).
- Un fragment peut désormais référencer
un diagramme, principalement pour définir un interaction use
dans un diagramme de séquence. Les arguments et la valeur de
retour peuvent également être spécifiés
via une chaine de caractères (vous devez fournir
la forme complète contenant les parenthèses et
':' si nécessaire).
- XMI2 Generator 1.6
Exporte des interaction uses, destruction d'instance
et continuations.
Mis à jour par plug-out upgrade.
- .pro Generator 2.1.4
Ajoute WITHPHP et WITHPYTHON si au moins deux WITH*
sont définis. Note : compatible avec les anciens plug-outs
ne gérant pas Php ni Python.
- Plug-out upgrade 1.12.3
Sur JavaSettings ajoute les opérations
isForcePackagePrefixGeneration et
set_IsForcePackagePrefixGeneration.
Sur CppSetting ajoute les opérations builtinIn, builtinOut,
builtinInOut et builtinReturn prenant une chaine
de caractères en argument, si celui-ci est l'un des
types définis dans le premier onglet du dialogue
des 'generation setting' la valeur retournée est
la définition par défaut pour un paramètre
suivant sa direction, sinon une chaine vide/null.
Ajoute également les opérations set_BuiltinIn, set_BuiltinOut,
set_BuiltinInOut et set_BuiltinReturn
prenant en argument le nom de type et la nouvelle définition
par défaut d'un paramètre, ajoute le type
s'il n'est pas défini via le premier onglet du dialogue
des 'generation setting'.
Sur UmlBaseFragment ajoute les opérations refer()
retournant le diagramme référencé par le
fragment ou null, arguments, covered() retournant
la liste des instance recouvertes (life lines).
Sur UmlBaseFragmentCompartment ajoute les opérations
startContinuation et endContinuation.
Ajoute deux pseudo types de message à aMessageKind :
aDestruction et anInteractionUse.
Le pseudo message correspondant à interaction use
est produit dans le fragment correspondant et ce pour une seule
des instances couvertes. Pour ces deux nouveaux types de
message les opérations to() et from()
ont la même valeur.
Note : même si la prise en compte de python n'est pas encore faite
pour les plug-outs, vous devez définir WITHPYTHON
pour les plug-out implémentés en C++ et
définissant WITHCPP WITHJAVA WITHPHP et WITHIDL.
- Plug-out empty
Mis à jour par plug-out upgrade.
- Les précédentes versions de BOUML ne peuvent lire un projet
produit ou modifié par cette version. Bien évidemment
cette version peut lire un projet issus d'une version antérieure.
4.5.1
8 septembre 2008
- Certains fichiers tels que .boumlrc sont créés
dans votre home directory, malheureusement sous Windows
certains utilisateurs ont une mauvaise configuration
(par exemple la valeur de la variable d'environement
HOMEPATH est vide) et leur home directory
est en lecture seule. Dans ce cas la valeur de la variable
d'environement USERPROFILE est utilisée
pour spécifier le home directory.
- Dans les versions précédentes, cacher tout
les attributs/opérations d'une classe dans un diagramme
de classes via individual attribute/operation visibility
en positionant specify visible member rather than hidden
ones n'avait pas d'effet, corrigé.
- Correction dans le dialogue des opérations identique
à celle effectuée dans le générateur Java,
voir ci-dessous
- Lorsqu'un unique langage cible est positionné, lorsque vous
modifiez des paramètres d'opération via le dialogue associé,
la définition pour le langage cible est désormais
automatiquement mise à jour (dans les versions précédentes
vous deviez manuellement ajouter/retirer/modifier les paramètres
pour le langage cible). Cependant je vous recommande de continuer à
vérifier la définition pour le langage cible lorsque vous
modifiez un paramètre (surtout dans le cas de C++ ou des modificateurs
sont produits suivant la direction et le type des paramètres).
Si vous ne vous voulez pas de cet automatisme il vous suffit
de positionner un autre langage cible via le menu Languages.
- Java Generator 2.16.1
Dans les versions précédentes, lorsque la
définition ou la description d'une opération
définie dans une interface ou une @interface
contenait une '{', ce caractère était
remplacé par un ';' et la génération de
code de l'opération s'arrétait y compris
lorsque la '{' ne correspondait pas au début du corps.
Désormais cette gestion est seulement faite pour la
première '{' placée après ${)}.
- XMI2 Generator 1.5.9
Corrections dans l'export des diagrammes de sequence et de communication
- Global change 1.1.1
Un tab peu être spécifié
(hors stéréotype) via \t, un saut de ligne l'est
via \n. Ces formes sont insérées lorsque vous
tapez un de ces deux caractères.
- Project synchro 1.2.2
Project control 1.2.2
Java Reverse 2.12.3
Java Catalog 2.11.3
Pour utiliser USERPROFILE sous Windows lorsque la
configuration utilisateur désigne un home directory
en lecture seule.
4.5
26 aout 2008
- Un crash avait lieu
avec les précédentes versions
lorsque vous chargiez un projet contenant des
instances de classes faisant parti du modèle
(instances présentes dans le browser)
ayant des relations valant une instance de classe
faisant parti du modèle détruite
au cours d'une session précédente,
corrigé
- Ajoute le paramètre de génération
force package prefix generation pour Java.
Celui-ci est positionné par défaut
pour rester compatible avec les versions
précédentes.
- Java Generator 2.16
Dans les précédentes versions le nom d'une classe
référencée était préfixé
par son package lorsque celle-ci n'était pas
dans le package courant même lorsque vous demandiez
la génération d'un import via des dépendences
stéréotypées import.
Désormais une classe référencée n'est pas
préfixée par son package lorsque la classe
ou son package sont importés et que
force package prefix generation n'est pas positionné.
- Les précédentes versions de BOUML ne peuvent lire un projet
produit ou modifié par cette version. Bien évidemment
cette version peut lire un projet issus d'une version antérieure.
4.4.3
16 aout 2008
- Un crash pouvait avoir lieu
avec les précédentes versions
lorsque vous chargiez un projet contenant des
instances de classes faisant parti du modèle
(instances présentes dans le browser)
spécifiant des valeurs pour des
relations, corrigé
- Ajoute les mots clef ${v<n>} produisant la
valeur par défaut des paramètres
d'opération en Python comme cela était
déjà le cas pour C++ et Php.
- Modifie la gestion des messages asynchrones dans les
diagrammes de séquence utilisant
les barres d'activité imbriquées :
une barre d'activité est maintenant créée
coté réception comme pour un message
synchrone.
- Il arrivait que certaines barres d'activité
soient trop fines dans les diagrammes de
séquence, corrigé
- Python Generator 1.0.4
Gestion des mots clef ${v<n>}
- XMI2 Generator 1.5.8
Exporte les diagrammes de communication
(non géré par XMI import).
Exporte les diagrammes de séquence
(non géré par XMI import).
Le résultat est indéterminé
lorsque les diagrammes sont invalides,
lorsqu'ils n'utilisent pas les barres d'activités
imbriquées ou lorsque un appel
asynchrone ne créé par une nouvelle
barre d'activité coté réception.
Correction réalisée par Plug-out upgrade.
- Html documentation Generator 2.13.5
Corrige une faute d'orthographe (attribute)
- Plug-out upgrade 1.12.2
En C++ l'opération UmlBaseFragment::container()
des plug-outs pouvait retourner une valeur
non initialisée, corrige ce problème.
- Plug-out empty
Correction réalisée par plug-out upgrade.
4.4.2
14 juillet 2008
- Amélioration des performances du modeleur
pour diminuer le temps d'exécution des
destructions.
- XMI2 Generator 1.5.7
Pour générer des formes import
et extend plutôt que des dépendances
entre use cases si besoin (déjà
géré par l'import XMI).
Pour générer les extension points.
Pour générer les associations entre
use cases et acteurs extraites des
diagrammes de use cases (non pris en compte
au niveau de l'import XMI).
- XMI2 Import 1.2.11
Pour importer les extension points.
4.4.1
29 juin 2008
- Ajoute les mots clef ${v<n>} produisant la
valeur par défaut des paramètres
d'opération en C++ et Php.
- Amélioration des performances du modeleur
pour diminuer le temps d'exécution de
certaines opérations.
- C++ Generator 2.12.7
C++ Reverse 2.9.2
Php Generator 1.4.3
Php Reverse 1.2.1
Uml projection 1.0.1
Html documentation Generator 2.13.4
Gestion des mots clef ${v<n>}
- Use case wizard 1.1.1 (C++ version)
Etablie le character set à partir
du fichier .boumlrc et non plus de la variable
d'environnent BOUML_CHARSET.
4.4
10 juin 2008
- Prends en compte le cas étrange ou un utilisateur
tue l'exécution de Bouml la première fois
que le dialogue d'établissement de l'environement
apparait (soupir).
- Nouvelle option d'affichage appelé Show stereotype properties
permettant d'afficher ou non les tagged values associées
au stéréotype. Par défaut elles ne sont pas
visibles.
Les valeurs sont montrées dans des notes attachées aux
éléments stéréotypés,
sauf dans le cas des attributs et opérations de classes
dans un diagramme de classes où elles sont affichées dans les classes
elle-même.
- Nouvelle macro ${nAME} produisant le nom d'un artifact
forcé en minuscule.
- Php Generator 1.4.2
Python Generator 1.0.3
Idl Generator 2.9.3
Pour gérer ${nAME}
- Java Generator 2.15.2
Pour gérer ${nAME}.
Désormais les dépendences stéréotypées
import s'appliquent également aux classes
déclarées externe.
- C++ Generator 2.12.6
Pour gérer ${nAME}.
Pour ne plus produire de ',' indésirables quand un/des
paramètre(s) actuel(s) sont manque(nt) dans l'héritage d'une classe
paramétrée (les paramètres formels ayant une
valeur par défaut)
- Java Reverse 2.12.2
Java Catalog 2.11.2
Dans les précédentes versions une forme
T<...X...> produisait une relation vers la classe
générique T lorsque celle-ci était
elle même reversée ou connue via un catalogue.
Maintenant la forme produit une relation vers X
si X est une classe connue et si T est définie
via les generation setting comme la traduction pour Java
d'un stéréotype d'attribut/relation (c'est le cas
par défaut pour List par exemple)
- Roundtrip body 1.7.1
Explique pourquoi le corps d'une opération ne
peut être mis à jour.
- Les précédentes versions de BOUML ne peuvent lire un projet
produit ou modifié par cette version. Bien évidemment
cette version peut lire un projet issus d'une version antérieure.
4.3.5
26 mai 2008
- L'entrée Add classes of the selected class view du
menu d'un diagramme de classes ajoute désormais les
classes imbriquées.
- Déselectionne les éléments des diagrammes
avant les copies dans le presse papier.
- C++ Generator 2.12.5
Correction dans la gestion des
classes déclarées externe.
4.3.4
18 Mai 2008
- Corrige des bugs relatifs à la gestion des
attributs dans les classes-stéréotype.
- Les fichiers .bouml .boumlrc et .bouml_shortcut
ne pouvaient être lus lorsque le chemin d'accès
au homedir contient des caractères non
latin1, par exemple sous Linux lorsque votre login
utilise des caractères Cyrillic. corrigé.
- Lorsqu'une instance de classe est dessinée
dans uns diagramme, le : est désormais
écrit même si l'instance est anonyme.
Dans un diagramme d'objets le nom et type des instances
sont désormais écrits soulignés.
- Java Reverse 2.12.1
Java Catalog 2.11.1
Project synchro 1.2.1
Project control 1.2.1
Pour gérer les homedir contenant des
caractères non latin1.
4.3.3
9 Mai 2008
- Fixer un écran par défaut via le dialogue
d'environnement n'avait pas d'effet, corrigé
- Corrige un problême dans le dialogue d'aide.
- Lorsqu'une classe stéréopypée typedef
est en lecture seule et que vous l'éditiez, le type de
base était vide dans l'onglet UML et l'affichage du code
qui serait généré dans le cas de C++ ne
montrait pas non plus le type de base. Corrigé
- Les formes @{...} sont désormais prises en compte
pour les generalizations/realizations.
- Python Generator 1.0.2
Corrige un bug dans le calcul des dépendences
pour produire les formes import.
Les formes @{...} sont désormais prises en compte
pour les generalizations/realizations.
- C++ Generator 2.12.4
Java Generator 2.15.1
Php Generator 1.4.1
Idl Generator 2.9.2
Les formes @{...} sont désormais prises en compte
pour les generalizations/realizations.
4.3.2
5 Mai 2008
- Modifie l'attribution du numéro de port des socket
utilisés pour les échanges entre le modeleur et
les plug-outs. Le but est de résoudre des problèmes
de blocage de plug-outs occasionnés par des firewalls.
- Dans les précédentes versions quelques informations
étaient positionnées via des variables d'environnement,
par exemple BOUML_ID. Maintenant ces informations sont
mémorisées dans le fichier .boumlrc placé
dans votre répertoire home, et positionnées
via un dialogue dédié appelé via l'entrée
Set environment du menu Miscellaneous.
Ce dialogue est automatiquement appelé lorsque le fichier
.boumlrc n'existe pas, et bien-sûr les valeurs
définies via les anciennes variables d'environnement
sont proposées .
Les raccourcis sont désormais sauvés dans le fichier
.bouml_shortcuts
- Le chapitre du manuel de référence correspondant au type
de l'élément sélectionné dans le browser
est désormais affiché par l'usage de la touche F1
ou via le menu d'aide (le dialogue About est maintenant associé
à la touche F2 key).
Le chapitre starting est utilisé si aucun projet n'est
changé, si rien n'est sélectionné dans le
browser le chapitre browser items est utilisé
Le répertoire dans lequel se trouve la documentation sous
forme de pages HTML fait partie des informations de l'environnement
(voir ci-dessus), vous pouvez de plus indiquer quel navigateur utiliser
pour afficher les pages.
Deux setups sont maintenant distribués pour Windows, l'un d'eux
installe aussi la documentation.
- Lorsque vous ajoutez une opération héritée
(entrée de menu add inherited operation), la
nouvelle opération n'est pas abstraite.
Si elle n'est pas vide, la définition Php est désormais si
besoin modifiée pour contenir ${body} pour vous aider
dans le cas ou l'opération d'origine est abstraite.
- Ajoute les entrés de menu go up et go down sur les
éléments des diagramme permettant de modifier leur niveau
d'un cran contrairement à upper et lower.
Vous pouvez bien-sûr définir des raccourcis clavier
pour ces commandes.
- XMI2 Import 1.2.10
Petites améliorations.
- Project synchro 1.2
Project control 1.2
Pour ne plus utiliser les variables d'environnement. Vous devez utiliser
la nouvelle version du modeleur pour créer le fichier .boumlrc
avant d'utiliser la nouvelle version de ces deux outils.
4.3.1
27 Avril 2008
- Lorsqu'un plug-out est lancé par un autre la fenêtre
de trace n'est plus préalablement vidée. Il en est de
même avant l'exécution des plug-out check/init
associés à un stéréotype.
- Lorsqu'un élément cesse d'être stéréotypé
par un stéréotype défini dans un profile, les propriétés
associées sont retirées.
- XMI2 Generator 1.5.6
Pour produire les imports de profile associés aux dépendances
stéréotypées import entre profiles.
Mis à jour par Plug-out upgrade.
- XMI2 Import 1.2.9
Pour gérer les imports de profiles définis dans un autre
fichier XMI.
Améliorations diverses.
Mis à jour par Plug-out upgrade.
- C++ Generator 2.12.3
A moins que vous le demandiez explicitement, le générateur de code
essaye de produire des déclarations dans les fichiers header et
les inclusions dans les fichiers source. Malheureusement cela était
aussi vrai dans le cas des classes template, corrigé.
- Plug-out upgrade 1.12.1
Corrige l'opération isToolRunning définie par UmlBaseItem.
- Plug-out empty
Mis à jour par Plug-out upgrade.
4.3
20 Avril 2008
- Il est désormais possible de faire quelques opérations
sur les diagrammes en lecture seule, par exemple d'en produire
une image PNG ou SVG.
- Dans les versions précédentes le fichier d'en-tête
C++ d'une classe déclarée externe était toujours
inclue dans le fichier d'en-tête des autres classes quelque soit
sont utilisation (par référence/pointeur ou par valeur).
Maintenant leur fichier d'en-tête est inclue dans le fichier source
des aurres classes si cela est demandé via une dépendance.
A noter que ce comportement est l'inverse de celui des classes non
déclarées externe.
Pour ne pas modifier le comportement des dépendances déjà
présentes vers des classes déclarées externe, leur
définition est forcées à #include in header.
- XMI2 Generator 1.5.5
Produite les contraintes
- XMI2 Import 1.2.8
Importer les contraintes
- C++ Generator 2.12.2
Prend en compte le nouveau comportement des dépendances
vers les classes déclarées externe.
- Plug-out upgrade 1.12
Dans la classe UmlBasePackage
l'opération findNamespace est renommée findCppNamespace,
l'opération findPackage est renommée findJavaPackage et
l'opération findModule est renommée findIdlModule,
Si vous appelez ces opérations vous devez modifier votre code
pour utiliser les nouveaux noms.
Dans la classe UmlBaseOperation ajoute les opérations
cppContextualBodyIndent, set_CppContextualBodyIndent,
javaContextualBodyIndent, set_JavaContextualBodyIndent,
phpContextualBodyIndent et
set_PhpContextualBodyIndent.
Dans la classe PhpSettings ajoute les opérations statiques
isGenerateJavadocStyleComment et
set_IsGenerateJavadocStyleComment.
Dans la classe UmlBaseClass ajoute l'opération statique
findStereotype.
Dans la classe UmlBasePackage ajoute l'opération statique
updateProfiles.
Dans la classe UmlBaseItem ajoute l'opération
applyStereotype.
Dans la classe UmlBaseFragmentCompartment modifie la définition
C++ de l'opération texts pour éviter une limitation
de Microsoft Visual C++.
- Plug-out empty
Mis à jour par plug-out upgrade.
- Les précédentes versions de BOUML ne peuvent lire un projet
produit ou modifié par cette version. Bien évidemment
cette version peut lire un projet issus d'une version antérieure.
4.2.1
5 Avril 2008
- Dans les précédentes versions, lorsqu'un plug-out
mettait à jour le corps des opérations
pour Php, c'était en fait le corps pour Python qui était
modifié. Cela affectait en particulier php reverse
et roundtrip body. Corrigé.
- Depuis toujours, lorsque Bouml était compilé avec Qt3,
quand on ouvrait une boîte de dialogue à partir d'une
autre, la première était placée derrière
tout autre fenêtre, modifié.
- Ajoute la gestion des profils, voir la
documentation.
L'import des profilsà partir d'un autre
n'est pas encore géré.
Attention : seules les propriétés
associées aux profils peuvent avoir un nom contenant
deux ':', les autres seront retirés..
- Lorsque vous importez un projet dans un autre, les plug-outs,
la correspondance des stéréotypes pour les
attributs et les relations et la correspondance des
stéréotypes pour les classes entre les langages
sont désormais ajoutés.
- Dans la définition des raccourcis la touche Suppr est
renommée Delete. Dans les précédentes
versions des définitions de raccoucis pouvaient être
perdues lors de la relecture des projets, corrigé.
- Modifie l'en-tête ajoutée (et retirée)
lorsque add operation profile on body edition
est positionné via le menu langages, pour faciliter
le calcul automatique de l'indentation par les éditeurs
externes (BOUML_EDITOR).
- Idl Generator 2.9.1
Pour prefixer le nom des classes par leur module si besoin.
Pour ne pas produire de ',' après le dernier élément
d'une énumération.
- Python Generator 1.0.1
Le nom des artifacts manquait dans certain cas dans le code
généré pour référencer des
classes, corrigé.
Génération automatique de formes import à
partir des héritages entre classes. Cela veut dire
qu'un héritage est aussi implicitement une
dépendance stéréotypée import.
- XMI2 Import 1.2.7
Dans les précédentes versions les composants imbriqués
n'étaient pas placés dans leur conteneur, corrigé.
Pour importer les profils et stéréotypes.
Pour importer les manifestations.
Pour prendre en compte le cas particulier des fichiers produits sous
Eclipse (les indications d'agrégations y sont produites du mauvais
coté dans les définitions de relation)
- XMI2 Generator 1.5.4
Pour produire les profils et stéréotypes.
Pour produire les associations entre artifacts et entre les
classes et artifact sous forme de manifestations.
Pour optionnellement générer les relations comme
sous Eclipse (place les indications d'agrégation de l'autre
coté de la définition des relations)
Pour optionnellement placer <xmi:Documentation exporter="Bouml" ...>
en commentaire, sinon certains outils refusent d'importer l'XMI
ou ont des problèmes après l'import (par exemple
Rational Software Architech sous Eclipse)
- Html documentation Generator 2.13.3
Prise en compte des Profile et Stereotype.
4.2
17 Février 2008
- Depuis la version 4.0 il n'était plus possible de
modifier la définition Php des opérations
via un Plug-out sans bloquer ce dernier
(y compris Php reverse), corrigé.
- Nouvelle option d'affichage appelé show attribute initialization
permettant d'écrire la valeur initiale des attributs
dans les classes dans les diagrammes de classes.
Celui-ci n'est actif qu'à la condition que vous demandiez l'affichage
complet des membres (show class members full definition).
Par défaut la valeur initiale n'est pas affichée.
- La direction par défaut d'un paramètre d'opération
est maintenant in et non inout.
- XMI2 Import 1.2.6
Amélioration de la gestion des types primitifs.
- C++ Reverse 2.9.1
Prise en compte des namespaces anonymes (cependant
ceux-ci ne sont pas reportés dans le modèle).
- Uml projection 1.0
Nouveau plug-out mettant les définitions/déclarations
à leur valeur par défaut issus des generation settings.
Créé si besoin les deployment views et artifacts
associés à chaque classe.
Typiquement utilisé après un import XMI import pour projeter
le modèle importé dans le langage voulut.
Voir la documentation
pour plus d'informations.
- Les précédentes versions de BOUML ne peuvent lire un projet
produit ou modifié par cette version car le format des
fichiers de sauvegarde est modifié. Bien évidemment
cette version peut lire un projet issus d'une version antérieure.
4.1
3 Février 2008
- Lorsque plusieurs artifacts portent le même nom
et que vous éditez une classe, l'artifact
présenté peut ne pas être le bon,
et lorsque vous le changer la classe peut ne pas être
associée avec celui choisi, corrigé.
- Nouvelle option d'affichage appelé show members multiplicity
permettant d'afficher la multiplicité des attributs
dans une classe dans un diagramme de classe. Celui-ci n'est actif qu'à
la condition que vous demandiez l'affichage complet des membres
(show class members full definition) et que le
drawing language soit UML. Par défaut la multiplicité
n'est pas affichée.
- Nouvelle option d'affichage appelé max members width
permettant de limiter la largeur d'affichage des attributs et
opérations dans une classe dans un diagramme de classes à
un certain nombre de caractères. Lorsque le nombre de
caractères nécessaire pour l'attribut ou l'opération
est supérieure à max members width, la chaine de
caractères est coupée à max members width
caractères et "..." est ajouté.
Note : la visibilité et un stéréotype
éventuellement affichés ne sont pas pris en
compte dans le calcul de la largeur.
- XMI2 Import 1.2.5
Les espaces sont remplacés par des '_' dans le nom des
classes, attributs et relations importés.
Corrige un bug dans la lecture de la multiplicité
d'un paramètre d'opération.
- Les précédentes versions de BOUML ne peuvent lire un projet
produit ou modifié par cette version car le format des
fichiers de sauvegarde est modifié. Bien évidemment
cette version peut lire un projet issus d'une version antérieure.
4.0
27 Janvier 2008
- Avec les versions précédentes la position des
use cases dans un diagramme de use cases peut
être un peu modifiée lorsque vous rouvrez
un diagramme avec un zoom différent de 100%, ou plus
tard en modifiant le zoom, corrigé.
- Il était possible de déplacer dans le browser
un élément (modifiable) par drag&drop
pour le placer dans un élément non modifiable,
corrigé.
- Nouveau langage : Python
Actuellement l'utilisation de Python n'est pas aussi vaste que
celle de C++ ou Java, par exemple les machines à états
et les activités ne considère pas ce langage car
cela semble à priori inutile.
- Dans les versions précédentes une classe était toujours
dessinée par un acteur dans un diagramme de use cases.
Maintenant ce mode n'est que le mode par défaut et il est possible
de dessiner les classes sans utiliser d'icône (mais sans montrer leur
membres) ou en utilisant les représentations associées aux
boundary, control ou entity.
Le nom des acteurs n'est plus représenté
via un texte séparé et la taille d'un acteur dépend
maintenant de son nom, aussi la position des flèches arrivant et partant
des acteurs ainsi que la position ou le nom des acteurs est affiché
sont impactés.
- Python Generator 1.0
Nouveau plug-out produisant le code pour Python.
Voir la documentation pour plus de
détails.
- Roundtrip body 1.7
Peut désormais traiter les définitions en Python
des opérations.
Suit la nouvelle API.
- C++ Generator 2.12
C++ Reverse 2.9
Java Generator 2.15
Java Reverse 2.12
Java Catalog 2.11
Php Generator 1.4
Php Reverse 1.2
Idl Generator 2.9
Plug-out upgrade 1.11
Suivent la nouvelle API.
- Plug-out upgrade et les autres Plug-outs
seront modifiés plus tard pour prendre en compte Python.
Un reverse pour Python sera disponible ultérieurement.
- Les précédentes versions de BOUML ne peuvent lire un projet
produit ou modifié par cette version car le format des
fichiers de sauvegarde est modifié. Bien évidemment
cette version peut lire un projet issus d'une version antérieure.
3.5
14 Janvier 2008
- Lorsque Qt est compilé avec l'option de g++ -fno-exception
BOUML se plantait juste à la fin de son exécution lorsque la
sortie était due à une erreur dans un fichier
modèle lu ou après l'exécution d'un plug-out
lancé en batch avec l'option -exit. Contourné.
- Des commentaires indésirables étaient produits
pour les getters et setters lorsque la définition
de l'attribut ou relation correspondant contenait un commentaire
(avec ses marques de début et de fin de commentaire),
corrigé.
- Dans les précédentes versions, ${value} ne
produisait par le '=' dans l'initialisation d'un attribut ou d'une relation.
C'est désormais chose faite, sauf si :
- la valeur commence par '=' (après d'éventuels espaces)
- un '=' est placé avant ${value} (avec d'éventuels
espaces entre les deux)
- en C++ si la valeur commence par '(' (après d'éventuels
espaces) pour tenir compte du cas de l'appel d'un constructeur
- Nouveau generation setting permettant de produire des commentaires
à la javadoc en Php.
- Java Reverse 2.11.1
Java Catalog 2.10.3
Dans les précédentes versions, la visibilité
par défaut des membres d'une interface était
package comme pour une classe 'standard' âlors qu'elle
doit être public, corrigé.
- C++ Reverse 2.8.1
Dans des précédentes versions un typedef
utilisait une realisation plutôt qu'une
dépendance pour référencer
la classe de base, corrigé.
Les précédentes versions produisait une erreur de
syntaxe lorsque le dernier élément d'une
énumération était suivit d'une virgule,
corrigé.
- Php Generator 1.3
Pour produire les commentaires à la javadoc si cela est demandé.
- C++ Generator 2.11.2
Java Generator 2.14.2
Idl Generator 2.8.3
Pour suivre le nouveau comportement de ${value}
- Les précédentes versions de BOUML ne peuvent lire un projet
produit ou modifié par cette version car le format des
fichiers de sauvegarde est modifié. Bien évidemment
cette version peut lire un projet issus d'une version antérieure.
3.4.1
31 Décembre 2007
- La définition par défaut des getter et
setter etait invalide en Java et C++ lorsque
l'attribut/relation associé produit un tableau
(à cause de sa multiplicité), corrigé.
De plus, dans ce cas en C++ le setter n'utilise plus la
fonction memcpy, et réalise désormais
la copie élément par élément.
- Dans l'éditeur de relation le nouveau bouton
association permet de créer une nouvelle
classe et de l'utiliser comme classe associée,
ou dans le cas ou une classe est déjà
associée de la sélectionner dans le browser
(comme pour le bouton type de l'éditeur d'attribut).
- C++ Generator 2.11.1
Java Generator 2.14.1
Php Generator 1.2.1
Idl Generator 2.8.2
Lorsqu'une classe ou un artifact avait une définition
vide le message d'avertissement contenait le nom de
l'élément mais pas son type, ce qui n'était pas
pratique lorsque la classe et son artifact avaient
le même nom. Maintenant le message indique s'il s'agit
d'une classe ou d'un artifact.
3.4
16 Décembre 2007
- Lorsque vous commenciez à dessiner
une association faisant parti du modèle (et donc pas
un anchor par exemple) et que vous utilisiez un
des boutons permettant de modifier le zoom cela provoquait
un crash, corrigé
- Il est maintenant possible de rendre l'indentation du corps des
opérations indépendant du contexte.
Cette possibilité est principalement ajoutée
pour faciliter le travail des reverses et préserver
l'indentation du corps des opérations reversées.
Par défaut l'indentation du corps des opérations
dépend du contexte, par exemple de l'indentation
de leur classe.
- C++ Reverse 2.8
Java Reverse 2.11
Php Reverse 1.1
Roundtrip body 1.6
Rend l'indentation du corps des opérations reversées
indépendant du contexte.
- C++ Generator 2.11
Java Generator 2.14
Php Generator 1.2
Pour gérer les opérations dont le corps n'est pas
indenté en fonction du contexte.
- Remarque : BOUML est maintenant également hébergé par
source forge
- Les précédentes versions de BOUML ne peuvent lire un projet
produit ou modifié par cette version car le format des
fichiers de sauvegarde est modifié. Bien évidemment
cette version peut lire un projet issus d'une version antérieure.
3.3.5
10 Décembre 2007
- Le steréotype des attributs n'était pas copié dans les
opérations associées getter and setter,
corrigé
- Désormais, lorsque vous créé
un nouveau projet, les generation settings pour Java
utilisent les généeriques,
pour cela par défaut :
- les stereotypes UML list, set and map produisent
List, Set et Map en Java,
- la définition des attributs et relations en Java contiennent
${stereotype}<${type}> lorsque la multiplicité
est * ou une forme a..b, quelque soient a et b.
- C++ Reverse 2.7.2
Les précédentes versions pouvaient se crasher
dans le cas de fin de fichier prématurées
(et donc invalide), corrigé.
Correction dans le reverse d'une opération dont au
moins l'un des paramêtre est un pointeur sur une opération
ayant elle-mê un paramêtre de type tableaux.
- Java Reverse 2.10.2
Java Catalog 2.10.2
Les précédentes versions pouvaient se crasher
dans le cas de fin de fichier prématurées
(et donc invalide), corrigé.
- C++ Generator 2.10.1
Java Generator 2.13.1
Php Generator 1.1.1
Idl Generator 2.8.1
Un saut de ligne indésirable était produit à
la fin de la production d'un commentaire issu d'une description non vide
lorsque la forme ${comment} ou ${description} était
placée à la fin des déclarations/définitions,
corrigé.
2.32.1
September, 29th 2007
- To distinguish external and internal self transitions
(unfortunatelly drawn outside the state),
the internal self transitions are now drawn with dot lines.
- Optimal window size may produces a too small
window when Bouml is compiled with a Qt 3, fixed.
- In the previous releases when an attribute was duplicated
the multiplicity was not copied, fixed.
2.32
September, 23th 2007
- In the previous releases the lines are always drawn
in the diagrams between the center of their extremities.
Now it is possible to decenter them to have for instance
.
For that do a mouse click
near the beginning or the end of a line and move the mouse
with the click down.
It is not possible to decenter a line having its geometry
set through the line menu geometry (
,
,
or
).
When you change the relative position of its extremities,
a line may go to an other edge like when the line is
not decenter, but the offset with the top or
the left of the edge is unchanged.
Unfortunatelly the angle of a decenter line may change
when the zoom is modified, because it is not always possible
to have exactly the desired font size. This is mainly the
case when the size of the extremities is linked to the font
size, for instance for classes.
To come back to a centered drawing, use the submenu
Geometry of the line menu and choose recenter begin
or recenter end.
- It is now possible to add state machines and activities
under use cases and use case views.
- I consider you have a multiple screens configuration if the desktop width
is greater than 2000 pixels or two times its height. In this case
a message box is shown when Bouml starts, speaking about BOUML_LIMIT_DESKTOP.
To help users having a multiple screen
configuration whose unfortunatelly don't read the
FAQ or the
documentation.
- XMI2 Import 1.2.4
To allow state machines and activities
under use cases and use case views rather than
to place them on upper level or dedicated class views.
- State machine generator 1.3.2
To manage state machines under use cases and
use case views. Because the C++ code generation is not
made for classes under use case or use case view
the state machine generator produces an error when it
is applied on a state machine place in a use cases
or a use case views.
- Plug-out upgrade 1.7.3
To remove ${throw} if present in the default
C++ definition and declaration of the created operations
(Java operations have exception RuntimeException
not existing in C++).
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.31.3
September, 16th 2007
- Now, when you add an item to an enumeration
(class stereotyped enum or enum_pattern),
the item's type is set to the enumeration. Note : this
is also done when the item is added by a plug-out.
- Plug-outs can't add a flow from an
expansion node, fixed.
- XMI2 Generator 1.5.3
To produce the type of the enumeration items, even
if it is not set.
To produce subvertex rather than connectionPoint
for the pseudo states.
To produce transitions out of the regions,
else Eclipse is not able to import them.
To add a missing '>' on activity control node export
- XMI2 Import 1.2.3
To import class instances.
- Html documentation Generator 2.12.1
Modify produced style.css to indent html page
contain.
- Plug-out upgrade 1.7.2
The first parameter of the operation UmlBaseClassInstance::add_Relation
is an UmlRelation rather than an UmlAttribute.
The first parameter of the operation UmlBaseClassInstance::remove_Relation
is an UmlRelation rather than an UmlAttribute.
- Plug-out empty
Upgraded by plug-out upgrade.
2.31.2
September, 11th 2007
- Previous releases crash when you open a diagram
referencing a modeled instance deleted in a previous session
(this means you didn't open the considered diagram
after the deletion of the instance in the same session),
fixed.
- Previous releases crash when you edit a read-only
modeled instance, fixed.
- XMI2 Generator 1.5.2
Modify export of template classes for Uml 2.1
to allow import by Eclipse.
When you export for Eclipse, ask for Uml 2.1 export
and use the file extension xmi.
- XMI2 Import 1.2.2
To be able to import a file produced by the new export for Uml 2.1,
of course Bouml is able to import old files.
- C++ Reverse 2.6.2
Java Reverse 2.9.2
Java Catalog 2.9.1
To create a realization stereotyped bind rather than
a generalization when a class inherits a template class.
2.31.1
September, 2th 2007
- Add a button in the IDL tab of the dialog for attributes
allowing to specify a constant.
- Java Reverse 2.9.1
In the previous releases, when the body of an operation
was not on several lines, this one was directly placed
in the definition of the operation, without using
${body}. This optimization is removed because
this is a problem when you want to generate code with
preserve operations's body.
- C++ Generator 2.8.3
Text artifacts was generated with an unexpected extention,
fixed.
- State machine generator 1.3.1
Fixe bug associated to transitions without trigger.
Instrumented code for the final state was wrong, fixed.
- XMI2 Generator 1.5.1
XMI2 Import 1.2.1
Fixe management of association classes.
- File Control 1.0.4
Add %dironly corresponding to %dir without
the drive.
- C++ utilities 1.1.1
To allow to add constructor declared explicit.
2.31
August, 26th 2007
- In the previous releases, when you move a state only
the substates follow. Now the pseudo states and line breaks
of associated transitions are also moved.
- In the previous releases the self transition was
considered internal (the exit and enter
behaviors was not executed by the code produced
by the state machine generator), now editing
a self transition you can set it external.
By default a self transition is still internal.
- Add the stereotype text for the artifacts.
An artifact having this stereotype doesn't have
associated classes nor artifacts, and the code generators
produce the source definition without any change (there is
no C++ header for them). The extension of the
generated file must be specified in the name of the artifact.
This allows to produce any text file, for instance for
yacc/bison. In a plug-out the definition depending
on the language is accessible though the existing operations.
When you load an artifact
saved by a previous release of Bouml having the stereotype
text, this one is replaced by _text.
- State machine generator 1.3
To manage external self transitions.
In the class corresponding to the state machine
all the sub classes are declared friend allowing
them to access to its protected members. Recall : the
class instance corresponding to the state machine is
given through the operation parameter stm.
Instrument parts of code using the stdio puts
function protected by #ifdef VERBOSE_STATE_MACHINE,
to help you to debug your machine. To add the
instrumentation you must delete the class(es) realizing
your state machine made by the previous releases of
the state machine generator.
- Html documentation Generator 2.12
XMI2 Generator 1.5
XMI2 Import 1.2
To distinguish external and internal self transitions.
- C++ Generator 2.8.2
Java Generator 2.11.2
Idl Generator 2.7.2
To manage text artifacts
To indicate the number of errors and warnings at the end of the trace
- Roundtrip body 1.2.1
To indicate the number of errors and warnings at the end of the trace
- Plug-out upgrade 1.7.1
To add operations isExternal
and set_isExternal on UmlBaseTransition.
- Plug-out empty
Upgraded by plug-out upgrade.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.30.2
August, 12th 2007
- The already opened diagrams was not always updated when
draw all relation is true and a relation/flow/transition
is added on an element, fixed.
- C++ Generator 2.8.1
Java Generator 2.11.1
Idl Generator 2.7.1
Code generation is not done when a class view contains
class instances, fixed.
- XMI Generator 1.4.5
In the previous releases a nested class was generated
as an actor, fixed.
2.30.1
August, 4th 2007
- Previous releases crash when you duplicated
a class instance using the marks, fixed.
- Previous releases crash under Windows
because of a C++ compiler bug in optimize speed
mode, when you ask for some actions through the menu
of a link between two instances in an object diagram.
This occured for instance when you changed the geometry
of the link. Fixed.
- Add the entry duplicate in the menu of the
class instances in the browser. Warning : when an
instance is duplicated, the value of the attributes are copied
but the value of the relations are not copied in the new
instance.
- Add the entry geometry in the menu of the link between
class instances in a collaboration diagram.
- C++ reverse 2.6.1
Several improvements in the management of the namespaces
and the template forms.
2.30
July, 29th 2007
- Sometimes after closing a diagram or dialog the keyboard shortcut
was not taken into account until you click some where on the Bouml
window, fixed.
- It was not possible to duplicate an attribute through
a shortcut, fixed.
- Add management of the multiplicity for the attributes.
The generation settings are modified to be able to
set the default definition of an attribute depending on
the multiplicity.
When you load a project, the attributes defined by previous
releases have an empty multiplicity.
- Java Reverse 2.9
Java Catalog 2.9
When the return value type of an operation was a generic
form referencing a class, the type of the operation was
set to the generic without the form between < >,
fixed.
To manage attribute multiplicity.
- C++ reverse 2.6
When a directory contains several classes having
the same name but placed in different namespaces,
only one of these classes was reversed, fixed.
To manage attribute multiplicity.
- C++ Generator 2.8
Java Generator 2.11
Idl Generator 2.7
Html documentation Generator 2.11
XMI2 Generator 1.4
XMI2 Import 1.1
To manage attribute multiplicity.
- Roundtrip body 1.2
Follow the new API
- Plug-out upgrade 1.7
Do the following modifications :
- In the classes CppSettings, IdlSettings
and JavaSettings, the operation
relationStereotype is renamed
relationAttributeStereotype, the operation
set_RelationStereotype is renamed
set_RelationAttributeStereotype, and the
operation relationUmlStereotype is renamed
relationAttributeUmlStereotype.
If you call these operations you have to modify
your code to use the new names.
- In the classes CppSettings, IdlSettings
and JavaSettings, the operation
attributeDecl has now a parameter giving
the multiplicity (like relationDecl),
and the operation set_AttributeDecl
has a new parameter giving
the multiplicity (like set_RelationDecl).
You have to modify your code to give the multiplicity
if you call these operations.
- In the class IdlSettings, the operations
valuetypeAttributeDecl, unionItemDecl
and constDecl have now a parameter giving
the multiplicity (like relationDecl),
and the operation set_ValuetypeAttributeDecl,
set_UnionItemDecl and set_ConstDecl
have a new parameter giving
the multiplicity (like set_RelationDecl).
You have to modify your code to give the multiplicity
if you call these operations.
This upgrade is not mandatory : old plug-outs
are compatible with this new releases of BOUML.
- .pro Generator 2.1.2
Previous releases don't take into account a generation
root directory relative to the project, done.
To be able to specify a text generated at the end of the .pro file.
- Plug-out empty
Upgraded by plug-out upgrade.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.29.1
July, 17th 2007
- Add new consistency checks when you load a project. Bouml signals
when several elements share the same internal identifier and how
it fixe this. This problem may occurs when you change the project
file by hand or a tool (for instance to merge modifications), or
when you don't follow the mandatory rules allowing to use
Project synchro, or may be an unknown bug in Bouml.
- In the previous releases, the browser search
applyied only on the name of the elements.
Now you may also search for a string in the documentation of the elements
or in their declaration/definition/body.
- C++ reverse 2.5.2
In the previous releases you select one directory to reverse it.
Now you are able to select several directories to reverse them both,
press 'cancel' in the file dialog to start the reverse of the
selected directories.
Recall : all the classes read during the reverse are created
even if a class having the same name already exist in the model.
When you select several directories in a reverse, all the classes are
supposed to be part of the same application.
So, to reverse the directory d1 then to reverse the directory
d2 (two separated reverse) doesn't have the same behavior as
to reverse d1 and d2 at the same time (reverse called
one time, selecting the two directories).
- Plug-out upgrade 1.6.3
Do the following modifications :
- UmlTypeSpec become a user classes and
inherit on the new system classes UmlBaseTypeSpec.
- UmlParameter become user a classes and
inherit on the new system classes UmlBaseParameter.
- Add system class UmlBaseView and user class UmlView.
UmlView inherits UmlBaseView whose inherits UmlItem.
UmlBaseClassView, UmlBaseComponentView, UmlBaseDeploymentView
and UmlBaseUseCaseView inherits UmlView rather than
directly UmlItem.
This upgrade is not mandatory : old plug-outs
are compatible with this new releases of BOUML.
- Plug-out empty
Upgraded by plug-out upgrade.
2.29
July, 1th 2007
- Previous release may crash, fixed.
- Referenced by management take into account the class instances.
- Modify the class instance management : don't create
class instances in the model when you open a sequence diagram
or collaboration diagram coming from a release less than 2.28.
- In a sequence diagram or collaboration diagram it is possible
to replace a class instances part of the model by a clone not part
of the model (only graphical). On the opposite it is possible
to transform an instance to insert it in the model, or to replace it by an
already existing instance part of the model and having the same type.
- Add inner class notation in the class diagrams
, depending
on the drawing setting draw all classes relations.
- C++ reverse 2.5.1
To reverse a reference to a class as a relation rather than an attribute.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.28
June, 24th 2007
- Since release 2.21.3 you may loose template actuals when you
load a project depending on class order in the browser, fixed.
- Default stereotypes defined for relations between non classes
was not proposed in edition since release 2.26.2, fixed.
- The template actuals are now written as a label
attached to a realization in a class diagram.
Recall : the stereotype bind is not automatically
set on the realization of a bound class, it is
your responsability to use it or not.
- New browser element : the class instances
.
When you open an object diagram coming from a
previous release, a new class instances
is created in the view containing the diagram for each drawn instance
even if a class instances having the same name already exist
in the same view.
When you open a sequence diagram or collaboration diagram
coming from a previous release, a new class instances
is created in the view containing the diagram for each drawn instance except if a
class instances having the same name already exist in the same view.
To create all the class instances you have to open all the diagrams, this is
done (temporary) when you generate the HTML documentation (however, the
first HTML code generation may not export all the class instances even
all of them are created, depending on the order of the elements).
- New default stereotypes {complete,disjoint}, {incomplete,disjoint},
{complete,overlapping} and {incomplete,overlapping}
for the generalizations (set only when you create a new project).
- New default stereotype executionEnvironment for the deployment nodes
(set only when you create a new project).
- Previous releases use a default name when you create a
Package, a view or a diagram. Now Bouml
ask for a name.
- Add drawing setting named drawing mode on
the instances in a sequence diagram, equivalent to
the same drawing setting already existing on the
classes in a class diagram.
- The stereotypes of the use case are now
written in the use case diagrams (except
the special stereotype realization).
- It is now possible to unset the preferred size and scale
for a diagram, to set only the preferred scale and to
unset it.
- The name substitution of the 'external' classes is now taken
into account by the dialogs in the previews (Result after
substitution).
- Idl Generator 2.6.1
Add the management of the 'external' classes, managing name
substitutions.
- Html documentation Generator 2.10
Fixe Java definition of UmlBaseParameterSet.read_uml_().
To produce class instances.
The references to any element, and the name of the files corresponding
to the diagrams and to the classes (except if -flat) are know
constant and doesn't change each time you generate the document
(thanks to the new operation UmlBaseItem::getIdentifier()).
Follow the new API.
- XMI2 Generator 1.3
Fixe a bug in the generation of expansion region.
Produce class instances.
- Plug-out upgrade 1.6.2
To add class instances management though the new classes
UmlBaseClassInstance and UmlClassInstance,
and to add UmlBaseItem::getIdentifier().
This upgrade is not mandatory : old plug-outs
are compatible with this new releases of BOUML.
- Plug-out empty
Upgraded by plug-out upgrade.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.27
May, 29th 2007
- New drawing setting named show members stereotype
allowing to write attribute and operation stereotype in a
class picture in a class diagram. By default this setting
is set to false.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.26.3
May, 22th 2007
- Project synchro 1.1
Operation bodies and diagrams was not correctly managed, fixed.
2.26.2
May, 20th 2007
- When Bouml was compiled with a Qt 3, the SVG export
produced fonts with a negative size, fixed.
- Add default stereotype import for the dependencies.
In Java, when a class depend on other classes or a packages and
these dependency are stereotyped import, the
${imports} now produces the corresponding import forms.
- Java Generator 2.10.1
A ',' was missing to separate several exceptions after
throws in the code produced for an
operation, fixed.
To replace ${imports} by imports forms specified
by the dependencies stereotyped import.
- C++ Generator 2.7.2
Generation of friend didn't take into account
force namespace prefix generation, fixed.
- State machine generator 1.2
Improvement to delete classes, operations and
attributes produced by a previous state machine
definition but now useless.
Warning : if a state or other element is renamed or
was moved to have a new parent,
the corresponding class or class member
is deleted and a new one is created.
If you add classes or class members, these ones
will not be deleted by State machine generator
while their container is not itself deleted, and
if they don't have a user property named
STM generated (so,
don't duplicate elements created by the
State machine generator to not have this
property or remove it after).
Note : the automatic deletion doesn't apply on
elements created by previous releases of the
State machine generator and not confirmed
by the new release.
Follows the new API.
- Plug-out upgrade 1.6.1
Add operation UmlbaseItem::deleteIt()
to delete an element from the model. Doesn't delete
the associated element in the plug-out
but this one must not be used anymore.
This upgrade is not mandatory : old plug-outs
are compatible with this new releases of BOUML.
- Plug-out empty
Upgraded by plug-out upgrade.
2.26.1
May, 13th 2007
- In the previous release it was not possible to send
a message from an existing activity bar, fixed.
- Java Reverse 2.8.1
An import java.lang.*; was forced in the artifact
definition produced by the reverse,
it is not any more the case.
- C++ Generator 2.7.1
The code generated for a template class inheriting
a template class declared external was wrong
because the actuals was missing. fixed.
2.26
May, 8th 2007
- Add constraint on class, operation, attribute and relation.
Constraints may be shown in a class diagram depending on the
drawing settings named show information note
and valuing false by default.
To limit the needed surface, all the constraints including the
inherited and the ones of the members are shown in the
same note attached to the class, rather than to produce a note
for each constraint. By default all the constraints are shown
when show information note is true, but you can choose
which constraint must be visible through the constraint-note
editor. If show information note is true but there is
no constraint or you ask for hide them, the constraint-note
is present but empty.
Note : you must enter the {} in the constraints
to respect the UML notation because Bouml is not able to know where
a constraint start and finish.
- ${comment} produced comments starting by // in C++.
Now you may ask for Javadoc style comment
through the generation settings.
- ${comment} produced comments starting by // in Java
when the description used only one line.
Now you may ask for Javadoc style comment
through the generation settings in any case, this
is the default, else the comments use //.
When you load an old project this setting is set to true.
- Now almost all the diagram elements can be connected by anchor.
- C++ Generator 2.7
Java Generator 2.10
To produce Javadoc style comments depending on generationsettings.
Follow new API.
- Plug-out upgrade 1.6
To upgrade plug-out to manage new generation setting associated to
the Javadoc style comment and constraints. Follow new API.
This upgrade is not mandatory : old plug-outs
are compatible with this new releases of BOUML.
- C++ reverse 2.5
Java Catalog 2.8
Java Reverse 2.8
Idl Generator 2.6
Roundtrip body 1.1
Follow new API.
- Html documentation Generator 2.9
To produce constraints.
Follow the new API.
- Plug-out empty
Upgraded by plug-out upgrade.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.25.2
May, 1th 2007
- When you edited an operation defined in an enumeration
(Java specific) and you to toggle abstract or class operation
Bouml crashed , fixed.
- Add Multi pages printing. Now when you ask for print the current
diagram and you valid the printer choice, a menu appears to allow
you to choose a print on one, four or nine pages.
2.25.1
April, 29th 2007
- The C++ generation setting was set to #include with root relative path
when you ask for #include with relative path, fixed.
- When a class inherits other class itself nested directly or indirectly
in template class, it was not possible to set the corresponding
actuals though the class dialog. This is now possible.
Known problem : can't manage correctly the case
of a template class referenced several times in the inheritances
(for instance class C1 : public C2<int>, public C2<char>::SC2 ...).
In this case, while this problem is not solved you must replace ${type}
in the generalizations definition by the right definition.
- When the environment variable BOUML_TEMPLATE is defined, the
project menu propose the entry Create from Template. When you
select this entry the project specified by BOUML_TEMPLATE
is load and a save as is automatically done. BOUML_TEMPLATE
must values the pathname of a project file (a file having the extension prj).
This help you to create a project where all the settings are set as you want.
Generally the template project is empty and only defined to set the settings.
- Now the size of the font used for the menus and dialogs
is the one set through the menu Miscellaneous.
- C++ Generator 2.6.1
When you ask for #include with relative path
or #include with root relative path and you #include a header
file which artifact is placed in a package specifying an absolute
path for the headers, the relative path to this absolute path was
produced. Now in this case the absolute path is produced.
Since the release 2.22, in C++, the template header was not
produced for the definition of static attributes or relations
of a template class, when the member has an empty description, fixed.
To manage inheritances to a class nested directly or indirectly in
template class. Same problem when a template class is referenced
several times.
- XMI Generator 1.4.4
A </UML:Namespace.ownedElement> was missing in the
generation of use case dependencies and generalizations,
fixed.
- Java Generator 2.9.1
References to nested classes didn't contain
container class, fixed.
- Java Catalog 2.7.1
Java Reverse 2.7.1
Improvement to try to produce a relation rather than an attribute
when a Java attribute's type is a generic form.
2.25
April, 22th 2007
- In the previous releases the class dialog had a button to
specify Java public visibility on class, this one is removed :
now the Java visibility is the Uml one, like for the operations for
instance.
Add visibility on non nested class at UML level (nested classes already
had visibility).
When an old project is load
- for the nested classes :
if the Java visibility was public
the Uml visibility is set to public,
else to package. If the C++ visibility
followed Uml this one if changed to the desired
visibility if needed.
- for the non nested classes :
if the Java visibility was public
the Uml visibility is set to public,
else to package.
Default class visibility is package
Recall : package visibility is translated to public
in C++.
- In the new project the default class definition in Java
contains ${visibility} rather than ${public}.
- In the previous releases it was not possible to set the
multiplicity in the two roles of an undirectional relation.
This is possible now and of course the two multiplicities
are visible in a class diagram when there are not empty.
Note : a plug-out can't access to the second multiplicity
of an undirectional relation because in this case the
UmlRelation instance doesn't exist.
- Now the C++ generation settings allow to
ask for auto generated C++ #include relative to
the root directory (the root directory is specified
through the last tab of the generation settings).
I hope four modes to generate #include is enough to
satisfy everyone !
- New drawing setting called show parameter name
allowing to choose to hide or to show the operation parameters name
when a class is drawn in a class diagram.
Only active when show classes members full definition
values yes. Values yes by default at project level and
default at other levels to be compatible with the previous releases.
- Now the drawing setting called show parameter direction
is also active when the drawing language is UML.
- Java Generator 2.9
Previous releases may crash, fixed
To manage ${visibility}, ${public} still managed.
In the previous releases the code generation for an operation
defined in an @interface stop when a { was reached,
still now this is not true when default is written after
the parameter list, to allow annotation type with a default value
using {}.
Follow the new API.
- Rose project import 2.1.1
To manage ${visibility}, ${public} still managed.
- Java Catalog 2.7
Java Reverse 2.7
To reverse class visibility.
To fixe the reverse of an annotation type with a default value
using {}.
This allows to reverse all the Java version 6 (update 1) sources
without warning nor error, producing 9425 classes, 48506 properties
(attributes and relations) and 85939 operations.
On my old PC under Windows XP, Pentium 4, CPU clock 3Ghz and
512 Mb of memory, this reverse is done in less than 7 minutes and the process size
when all is reversed is 172 Mo.
Follow the new API.
- C++ Generator 2.6
To produce #include with pathname relative to root directory
if asked through the generation settings
Follow the new API.
- Html documentation Generator 2.8
To produce Uml definition or operations, attributes and relations
To produce class visibility.
To produce index of public attributes and relations
Follow the new API.
- Plug-out upgrade 1.5
To upgrade plug-out to manage new generation settings
and to manage new class visibility
Note : the operations isJavaPublic and
set_IsJavaPublic defined on UmlBaseClass are deprecated,
use the operations visibility and set_Visibility.
Follow the new API.
This upgrade is not mandatory : old plug-outs
are compatible with this new releases of BOUML.
- Idl Generator 2.5
C++ reverse 2.4
Follow the new API.
- Roundtrip body 1.0
New plug-out, can be applied on an artifact,
a deployment view, a package, or the project.
Only active when preserve operations's body is set.
Allows to update the operation's bodies in the model
from the sources using the marks inserted by a code generation
made with preserve operations's body set.
Known problem : the bodies are updated like they are
in the files, this means with an extra indent when the code generation
was made with spaces before ${body} in the operations definitions.
- XMI2 Generator 1.2.1
Fixe a bug in the generation of input pins.
- Plug-out empty
Upgraded by plug-out upgrade.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.24
April, 15th 2007
- There is no element selected in the browser when
you just created a new project or after some cases of
drag & drop inside the browser, at this time to hit a key (which may be
or not a shortcut) crash Bouml, fixed.
- Deployment node name and type was not correctly written in a
deployment node diagram since release 2.22.1, fixed.
- Add facilities in some editors :
- When you edit a link from an object diagram you can ask
for an association creation through the button New.
Note : when you create an association this one is automatically
edited, but this editor is unreachable until you close the link
editor.
- When you edit a message from a sequence diagram or
a collaboration diagram you can ask for an
operation creation through the button message:.
- When you edit a call behavior action part of an
activity you can ask for an activity
or state machine creation through the button behavior:.
In this case the behavior is created in the view containing
the activity.
- When you edit a call operation action part of an
activity you can ask for an operation creation
through the button operation:.
- When you edit a read / write / clear / add / remove variable action
part of an activity you can ask for an attribute creation
through the button variable:.
- When you edit an activity object,
an activity parameter or an activity action pin,
you can ask for a class creation through the button type:.
In this case the class is created in the view containing
the activity.
- When you edit an attribute
you can ask for a class creation through the button type:.
In this case the class is created in the view containing
the class owning the attribute.
- When you edit an operation
you can ask for a class creation through the button value type:.
In this case the class is created in the view containing
the class owning the operation.
- When you edit a class instance from a diagram
you can ask for a class creation through the button class:.
In this case the class is created in the view containing the diagram.
- When you edit a deployment node instance from a
deployment diagram
you can ask for a deployment node creation
through the button node:.
In this case the node is created in the view containing the diagram.
- In the previous releases, the getter and setters was named
get_${name} and set_${name} by default in UML.
Now, through the generation settings, you may ask for
using the rule defined in C++, Java, Idl or to follows the current rule,
depending on the new toggles added near the getter and setters
specifications for each language.
- Add extension points in use cases.
- Html documentation Generator 2.7
Upgraded by plug-out upgrade, to produce extension points.
- Plug-out upgrade 1.4.1
to upgrade plug-out to manage new generation settings
and use case extension points.
This upgrade is not mandatory : old plug-outs
are compatible with this new releases of BOUML.
- Plug-out empty
Upgraded by plug-out upgrade.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.23.1
April, 9th 2007
- Bouml 2.23 crashed when a static association is not
drawn as a straight line, fixed.
- In a sequence diagram an activity bar may be
drawn as a coregion.
2.23
April, 8th 2007
- Previous releases allow to produce auto generated C++
#include without path or with an absolute pathname.
Now it is also possible to ask for relative pathname
through the C++ generation settings. Note : this
doesn't apply for external types and external classes.
- force namespace prefix generation is a new generation settings
for C++ : in the previous
releases the namespace was generated before a class
name only when this class was not in the current namespace.
This flag allows you to ask for namespace generation in all
the cases. Set to false by default.
- When you create a new project, the default C++ header definition
now contains #ifndef ${NAMESPACE}_${NAME}_H and
#define ${NAMESPACE}_${NAME}_H, and the default IDL source definition
now contains #ifndef ${MODULE}_${NAME}_H and
#define ${MODULE}_${NAME}_H.
- In a class diagram the role's name of a static
association is now underlined.
- C++ Generator 2.5
To use synonymous classes through namespaces may produced
incomplete list of class declarations and #include, fixed.
To force namespace prefix generation if asked through the
generation settings
To produce #include with relative pathname if asked through the
generation settings
In an artifact definition ${namespace} is replaced by
the full namespace where :: become _. ${NAMESPACE}
produces the same thing in uppercase. Allows to generate
#ifdef forms taking the namespace into account.
Follow the new API.
- Idl Generator 2.4
In an artifact definition ${module} is replaced by
the full module where :: become _. ${MODULE}
produces the same thing in uppercase. Allows to generate
#ifdef forms taking the module into account.
Follow the new API.
- Plug-out upgrade 1.4
to upgrade plug-out to manage new generation settings.
This upgrade is not mandatory : old plug-outs
are compatible with this new releases of BOUML.
Follow the new API.
- C++ reverse 2.3
Java Generator 2.8
Java Catalog 2.6
Java Reverse 2.6
Follow the new API.
- Plug-out empty
Upgraded by plug-out upgrade.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.22.2
April, 2th 2007
- Since the release 2.22, in C++, the template header was not
produced for the definition of the operations of a template
class, when the operation has an empty description, fixed.
- C++ Generator 2.4.7
Fixe the same bug.
2.22.1
April, 1th 2007
- In the previous release the relations may be duplicated
in the diagrams when you load them, fixed.
When you load a diagram made or modified
by the previous release, the redondant relation drawn are
removed to have only one representation of each relation.
- It was not possible to add activity and state diagram
icon in the diagrams, fixed.
- In the previous releases it may be not possible to load
a project when its directory is read-only because
it is not possible to create the lock directory.
Now, when the lock directory can't be created but
don't yet exist, the full project if considered read-only.
- Add diagram export in SVG 1.1
- Set the focus in one of the text sub-editor when you edit elements.
- When you add a note in a diagram this note is immediatly edited,
if you cancel the edition the note is still created but without text
inside.
- Improvements on diagram print : set orientation to landscape
when the diagram's format is a landscape one.
Memorize parameters color mode, page size and
full page from a print to the next one in the same session.
Note : depending on your printer and your operating system
this may no work.
- Classes stereotyped enum_pattern : in the Java
definition the attribute value is now declared final
by default in the generation settings of the new projects.
- The Java getter and setter operations are now
named get${Name} and set${Name} by default
in the generation settings of the new projects.
- Now it possible to unset the association
of an element with a diagram.
- Plug-out API
When the extension of the file name given in parameter to the operation
UmlBaseDiagram::saveIn is svg the diagram is saved as an SVG
picture, else a PNG picture.
This upgrade is not mandatory : old plug-outs
are compatible with this new releases of BOUML.
- Html documentation Generator 2.6.3
To allow to produce SVG files rather than PNG ones, using the
new option -svg
In the new projects the HTML production using SVG is added in the tools list,
you may modify the settings of the old projects to add this option.
The HTML now accept the following arguments (in order) :
- -flat, optional, to produce the class definitions in
index.html rather than in separate files.
- -svg, optional, to produce SVG pictures rather than PNG ones.
- generated Html files directory (must not contains space)
mandatory if the next arguments are given (except the port
number given by BOUML itself)
- -del_html, optional, to remove already existing HTML files
in the specified directory
- -del_css, optional, to replace the file style.css
if it already exists in the specified directory, do not
use this option if you have your own styles.
Of course in all the cases style.css is created
if it doesn't exist
- Idl Generator 2.3.3
A ';' was missing at the end of module definition, fixed.
2.22
March, 10th 2007
- Previous releases allow to define an association from a source artifact
(artifact stereotyped source) to another artifact and forbid to do
that from a non source artifact. This was wrong, the goal is to define
association from a non source artifact to another artifact, not the
reverse. Fixed.
- New toggle add operation profile on body edition in the
menu miscellaneous, it is exclusive with
preserve operations's body, and not set by default.
When you edit an operation's body and this toggle is set,
the C++ or Java operation's definition you see behind
result after substitution in the operation
dialog is added before the operation body. This allows you to
know which operation is edited and to see the operation profile.
Of course the added header is removed when the (may be) new operation's
body is taken into account.
- New drawing setting called show parameter direction
allowing to choose to hide or to show the operation parameters
direction and default value when a class is drawn in a class diagram.
Only active when show classes members full definition
values yes and when the drawing language is UML. Values yes
by default at project level and default at other levels
to be compatible with the previous releases.
- Modification of the drawing setting called draw all classes relations :
- in the previous releases it concerned only the relations between classes
in a class diagram, now it applies on relations between any element
in any diagram.
- in the previous releases it was possible to set this settings at class
level, this means for a given class drawing. This is not possible anymore.
To don't disturb old class diagrams, when a class has this setting set to no
this setting is forced to no at diagram level.
To don't disturb old other diagrams, this setting is forced to no
for them.
- of course it is renamed draw all relations.
- The getter and setter operations was updated each time
the edition of the corresponding attribute or relation was confirmed.
It is now possible to freeze their definition through a check box added
in the C++, Java and IDL tab of the getter and setter operation
dialog. By default their are not frozen to be compatible with previous
releases.
- In the generation settings it is now possible to ask for
a C++ setter operation to receive its argument by reference.
By default the argument is still given by value to be compatible with
previous releases.
- In the previous releases the generation directories specified in the
generation settings was to be absolute. It is now possible to
enter relative paths, relative to the project path.
- MacOS X for intel : in the previous release the dot lines
was not drawn correctly, fixed.
- C++ Generator 2.4.6
In the previous releases the description of a static attribute was only
generated for the attribute declaration but not for its definition, done.
To generate the template header of an operation definition
or a static relation definition after the description associated to
${comment} or ${description} rather than before.
To manage relative path in the generation settings.
- Java Generator 2.7.3
Idl Generator 2.3.2
To manage relative path in the generation settings.
- XMI2 Import 1.0.1
Little modifications to be less strict and import files produced
by more tools.
- Plug-out upgrade 1.3.5
to upgrade plug-out to manage new drawing setting show parameter direction
and new getter and setter properties.
This upgrade is not mandatory : old plug-outs
are compatible with this new releases of BOUML.
- Plug-out empty
Upgraded by plug-out upgrade.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.21.7
March, 3th 2007
- Previous release doesn't allow to have project's name
containing dots, fixed.
- It was not possible to add generalization or
dependency in a package through a
plug-out, fixed.
- To use the
buttons
or
before loading a projet crash Bouml, fixed.
Remark : these buttons are usefull only after loading a
project and the selection of at least two elements in
the browser.
- Information, warning and critical message boxes
are now placed taken into account the optional screen
subpart specified by the environment variable
BOUML_LIMIT_DESKTOP.
- XMI2 Import 1.0
New plug-out, must be applied on a package,
or the project.
Allows to import an XMI 2.1 file for UML 2.0 or 2.1,
please refer to the
documentation.
This plug-out is configured by default
in the new projects. The name of the executable to
add it to the plug-outs list of the existing
projects is ixmi2.
- C++ Generator 2.4.5
Java Generator 2.7.2
Idl Generator 2.3.1
Previous releases rewrite unnecessarily the files
containing at least a character of code > 127, fixed.
Error messages are written in red.
- XMI2 Generator 1.2
Add generation of association classes.
Modify the generation of a trigger associated to an activity accept event action.
Modify the generation of a signal associated to an activity send signal action
and activity broadcast signal action.
The transition's name was not generated, fixed.
2.21.6
February, 18th 2007
- When you edited a relation drawn from a non read-only class to a read-only class,
the kind of the relation indicated in the dialog was wrong, fixed.
- The name of a directory containing a project must be equal to the
project's name. Produces a dedicated message when you try to open
a project whose doesn't follow this rule.
- Add an historic of the selected elements in the browser,
navigation is done through the
buttons
and .
- XMI2 Generator 1.1
uml: was missing before the activity node type, the deployment
node and the artifact,
in forms xmi:type="uml:<the type>", fixed.
Modify the generation of the default value of a formal parameter
2.21.5
February, 5th 2007
- Bouml crashed when you edit a class having
a dependency to a package, fixed.
- Management of deleted but still referenced
objects was not always done when a project was loaded
and may produced a crash,
fixed.
- In an operation declaration, ${class} was not
substituted by the class's name, this is done now. Because
${class} is normally not used in an operation
declaration, the goal is probably to place it in the
documentation.
- In the previous releases a dependency not
stereotyped friend produced an #include
in the header file in C++. Now you are able to choose
where the #include must be generated, and the default
is now in the source file. Of course the already existing
dependencies continue tu produce the #include in
the header file while you don't modify them.
- In the previous releases when a class A was duplicated to
the class B only the constructor and destructor operations
was renamed to use B rather than A.
Now the operations and attributes are also modified
to replace the references of A to B (
the texts containing A are unchanged, for
instance an attribute of type A&
and the body of the operations are unchanged).
- C++ Generator 2.4.4
To substitute ${class} by the class's name
in an operation declaration.
Improvement in the computing of the type dependency
used to generate declaration and #include.
To follow the new rule concerning the dependencies
- C++ Reverse 2.2.6
Forms like typedef class C1 {...} C2; and
typedef struct S1 S2; was not reversed, done.
- XMI2 Generator 1.0.1
Generates xmi:version rather than xmi.version,
xmi:idref rather than xmi.idref and
xmi:id rather than xmi.id.
2.21.4
January, 29th 2007
- C++ Reverse 2.2.5
When an enumeration item having a specified value was reversed
the '=' was missing in the corresponding attribute default value,
fixed.
Complete fixing of operation parameter default value
(previous fixing work only for inline operations defined
inside their class).
2.21.3
January, 28th 2007
- it was not possible to read a project containing a send signal
or broadcast signal activity action with a non empty signal
specified in the Ocl tab (produced the error message
'end' expected rather than 'uml'),
fixed.
- It was not possible to edit the body of an operator '/' or '/='
using the external editor specified through BOUML_EDITOR under
Linux because I didn't replace the '/'. Now the special characters
are replaced by '_' not only for Windows.
- Project synchro 1.1
Project control 1.1
The revision of the project files not created nor modified by a release
of Bouml greater or equal than 2.21 is now 0 rather than 1.
- C++ Reverse 2.2.4
When an operation's parameter has a default value
the UML parameter definition in Bouml contains this
default value but it was not inserted in the C++
definition, fixed.
- XMI2 Generator 1.0
New plug-out, must be applied on the project.
To produce XMI 2.1 for UML 2.0 or 2.1, please refer to the
documentation.
Note : the old XMI 1.2 generator is still present.
This plug-out is configured by default
in the new projects. The name of the executable to
add it to the plug-outs list of the existing
projects is gxmi2.
- Plug-out upgrade 1.3.4
Add the missing operations isStream and
set_IsStream in the class UmlBasePinParameter.
Fixe the definition of the operation reading the definition
of a UmlBaseRemoveVariableValueAction and
UmlBaseAddVariableValueAction.
UmlParameterSet inherits UmlActivityItem.
You must upgrade the plug-outs accessing to the
activity elements.
- Plug-out empty
Upgraded by plug-out upgrade.
2.21.2
January, 10th 2007
- In locations where the default character
set is not ISO_8859-1 (latin1) some
key combinaisons like control-shift may produce
unexpected character code and crash Bouml.
Fixed.
2.21.1
December, 27th 2006
- Add buttons ok and cancel in the dialog of the
note and text, mainly to help MacOS X users
because under this OS the dialog sub window doesn't propose
a way to close it.
- Project synchro 1.0
This new tool is not a plug-out, the
executable named projectSynchro (with or without
an extension depending on the operating system) is
installed with BOUML.
This tool helps several persons to work on the same
project when they don't access to the same shared project
files, in case each user has his own copy of these files
and works only on this copy.
The tool automatizes the copy of the right files
from an image of the project into an other one using
the revision numbers. The project files are not
merged, a given project file is supposed not modified
by several users, for instance thanks to the use
of project control. Because the tool use the revision,
it is not possible to use it to synchronize projects modified
by the previous releases of Bouml. Warning, if all the previous
conditions are not followed, the tool must not be used, else
the result is hazardeous.
Refer to the
documentation,
the chapter multi users considerations
is also updated.
2.21
December, 17th 2006
- Modifications to help several persons to work on the same project :
- A revision number and the BOUML_ID and name of the person
doing the last modification are now saved in the file
associated to the package.
Note : the revision doesn't grow each time a
package file is saved, the number saved is the
value of the revision when the file was read more one.
- When you are the owner of a package (see Project control)
and you add to it a new sub-package, Bouml proposes you
to be the owner of this new sub-package.
- A project under the control or Project control or
Project synchro is opened in read-only mode
by Bouml (a message warns you).
- Project control 1.0
This new tool is not a plug-out, the
executable named projectControl (with or without
an extension depending on the operating system) is
installed with BOUML.
This tool helps several persons to work on the same
project by choosing who is able to modify a given
package and its elements. Project control is
usefull when you don't use a file control to modify
the write permission of the project files. Please, refer to the
documentation.
Note : a second tool named project synchro coming soon
will allows to synchronize a project developed in
parallel by several persons.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.20
December, 10th 2006
- In the previous releases, when you set the individual
attribute visibility or individual operation visibility
for a class in a class diagram, you indicated which members
must be hidden. This means that when you add a member, it was visible.
Now the dialog allows you to choose to set the visible or
hidden members list.
- It is now possible to add separators in the fragments.
- it was already not possible to draw several times an activity, activity action,
activity node, activity object, activity region, state or
pseudo state in a diagram, now it is not possible to paste
these elements when they are already drawn.
- Modify the shortcut dialog to take into account
the Mac specificities : the control key is
replaced by the key ,
and the alt key is sometimes named option.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.19.5
December, 3th 2006
- Complete shortcut management not yet done for some graphical
elements.
- In the previous releases, the trace sub window is
shown and raise each time something is added
by a plug-out by calling UmlCom::trace()
operation. Now this is not mandatory, and two
UmlCom static operations are added :
- void showTrace() : to show and raise the
trace sub window
- void traceAutoRaise(bool y) :
if y is true, the next times
trace() will be called the
trace sub window will be automatically
shown and raised if needed.
if y is false, the trace sub
window will not be forced to be
visible
To be compatible with the previous behavior,
each time you start a plug-out
the auto raise is set to true
- C++ Generator 2.4.3
C++ Reverse 2.2.3
Java Generator 2.7.1
Java Reverse 2.5.3
Java Catalog 2.5.4
Force the trace sub window to be visible only
for the first and last messages, this means not during
the execution.
- Plug-out empty
Upgraded to add new UmlCom operations.
- Plug-out upgrade 1.3.3
Upgrade the plug-outs to add the operations
UmlCom::showTrace and UmlCom::traceAutoRaise.
This upgrade is not mandatory : old plug-outs
are compatible with this new releases of BOUML.
2.19.4
November, 28th 2006
- By default to hit a return in the browser call
the menu of the selected browser item, so
is similar to a right mouse click done on the selected
browser item. Note : if the last event was not
made in the browser it is necessary to first
activate it through a mouse click. Recall : the arrows
allows to navigate through the browser, or through
a menu.
- The shortcut for the C++ code generation is now
Control-g to avoid conflict with the shortcut
for copy in a diagram (Control-c).
- Now, by default the key Suppr has no
effect in the browser, to delete an element
hit Control-d.
- The following shortcuts are removed :
- Control-n (new project), hit Alt-p then n
- Control-o (open project), hit Alt-p then o
- Control-w (close project), hit Alt-p then w
- Control-q (quit), hit Alt-p then q
- Control-t (show trace window), hit Alt-t then t
- The entry Edit shortcuts in the menu
Miscellaneous allows to edit the shortcuts.
A shortcut applies on the selected element in the
browser or the elements in the the diagram
sub-windows. The shortcuts allow to execute a
command available through a menu (like New operation)
or to run a plug-out (for that you must
enter the display string associated to the plug-out
in the second tab of the shortcut editor).
The commands are similar to the menu entries,
edits the shortcuts to see them.
The shortucuts are saved in the file
.bouml_shortcuts_<BOUML_ID>
where <BOUML_ID> is replaced by its value,
this file is located in the home directory and
is created when you validate the shortcut edition.
- Now, when you add an attribute or operation in
a class through the browser, the added element is
edited.
- C++ Generator 2.4.2
Improvement in the computing of the type dependency
to not generate useless #include
in the header files.
2.19.3
November, 19th 2006
- Bouml crashed when you open an
object diagram having a link between two objects where
the relation is not specified. Fixed.
- In a message dialog called from a sequence diagram or
a collaboration diagram the label 'message :'
is replaced by a button, this one shows a menu
proposing :
- if the current message is an operation :
to select this operation in the browser
- if the message is not read-only and if an operation
compatible with the object type is selected in the
browser : to set the message to be this operation
- In a class instance dialog the label class :
is replaced by a button, this one shows a menu
proposing :
- if the class is set :
to select this class in the browser
- if the instance is not read-only and if a class
is selected in the browser : to set
the class to be this class
- In a diagram, when several elements having drawing settings
are selected and have the save type (for instance all are class
or component etc), the menu appearing on a right mouse click
now proposes to edit the drawing settings. By default in the
drawing settings editor, all the settings are set to <unchanged>
meaning that the value must not ne changed, all other value will be set for all
the selected diagram's elements if you valid the edition.
- C++ Generator 2.4.1
The keyword ${association} was not replaced by the associated type
in the static relation definitions (the substitution was done
in the declaration), fixed.
- C++ Reverse 2.2.2
Previous releases was not able to reverse forms like
template <void fonction()> class C {...} or
template <template <class T> class U> class C {...},
fixed.
2.19.2
November, 12th 2006
- Global change 1.0
New plug-out, must be applied on the project, or
a package, class view, deployment view or an Operation.
Allows to do global modification of the artifact, classes, operations, attributes
and relations definitions, working recursively from the browser element
on which it is applied.
May be used to propagate a change done on the generation settings to the
already existing elements.
See Global change.
This plug-out is automatically configured on the
new project, to use it in your already existing project :
the name of the executable is global_change, and
the targets are the project, the package, class view, deployment view and
Operation.
2.19.1
November, 6th 2006
- Bouml produced an error message
(like public//activity is not a visibility)
when it read a project
where a class view has a class setting set
to a value different than default.
This bug introduced in release 2.17 is fixed.
2.19
November, 5th 2006
- Adds toggle preserve operations's body in the
Miscellaneous menu, see code generation below.
- Adds new colors.
- C++ Generator 2.4
Java Generator 2.7
If the toggle preserve operations's body is set,
the generators do not modify the body of the operations
protected by dedicated delimiters. This means that for them
the body definition set through BOUML is not used.
The first time you generate the code with the toggle set,
because the delimiters are not yet present in the
generated code, the operations's body will be updated
depending on their definition under BOUML.
After, while the toggle is set and the delimiters present,
the bodies will not change, allowing you to modify them
out of BOUML.
Notes :
- In case the file containing a body definition is
not consistent with the artifact under
BOUML, the body will be regenerated by the code
generation, using its definition under the model.
Of course in C++ an operations
becoming inline or stopping to be
inline is not a problem.
- When you import a project, the body of
the imported operations must be the right one
in the imported model. The preserved bodies
of the imported operations will not be find
because the identifier of an operation used
to mark its body changes during the import.
- The bodies under the model are not updated
by the code generation (a new plug-out
must be made for that).
- Only the operations using the keyword
${body} may have a preserved body.
- The only modification you can do in the lines
containing the delimiters is the indent.
- The toggle is saved in the file associated to
the project, be sure the save is done when you
change this toggle !
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.18.1
November, 1th 2006
- When you start to draw a segmented relation in a diagram, and you
don't abort its construction (for instance by a double click),
and you do some specific action like to drag & drop
a class from the browser to the diagram, BOUML may crash,
Fixed.
- Rename if needed the name of the setter operation's parameter
when the associated attribute or relation role is renammed.
2.18
October, 22th 2006
- The optional relation's name and stereotype are now shown in an
object diagram.
- The position of the required or provided interface's
name in a component diagram was not saved, resetting
their position when a diagram is reopen, fixed.
- Modify the tools dialog to allow to attach a plug-out
on any browser element.
- The operation's menu in the browser proposes to directly
edit the C++ and/or Java body when the corresponding operation's
definition contains the keyword ${body}.
- Java Catalog 2.5.3
JavaCatWindow::windows_style() was not compilable
when Qt doesn't manage the windows style,
fixed.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.17.2
October, 15th 2006
- It is now not possible to draw two times the same state or
pseudo state in a state diagram (but the
already existing diagrams are not modified), warning : this check
is not done when you do a paste.
- It is now not possible to draw two times the same activity,
activity node or region in an
activity diagram (but the already existing diagrams are
not modified), warning : this check
is not done when you do a paste.
- The description of the relations is now show/editable in the bottom right
sub windows like for the other browser elements. Note : concern only
the role 'a' of a bidirectional relation, to see/edit the documentation
of the role 'b' you have to edit the relation.
- Now two activity object nodes may have the same name
in the browser because an activity object nodes
is in fact a use of an activity object where you are able
to specify its state.
- Improve the computation of the initial size of a dialog.
- Force modal dialogs to be upper to solve problem under
MacOS X.
- Linux
The toplevel Makefile is modified to help
Gentoo Linux (at least) to package BOUML.
A bouml.desktop file is now installed
(by default in /usr/share/applications),
icons are also installed (by default in
/usr/share/icons/hicolor/ZxZ/apps/ where Z is a size,
see the toplevel Makefile) allowing you
to call BOUML through the sub menu development or
through an icon placed on your desktop.
- XMI Generator 1.4.3
Fixe a bug in the generation of a class having no
attribute nor operation but only
only relation(s).
Replace the default encoding ISO-8859 by ISO-8859-1,
and add BOUML_CHARSET value if set.
- Plug-out empty
Upgraded to manage activities.
- Html documentation Generator 2.6.2
Fixe a problem in the computation of the generated files
path under MacOS X.
Upgraded to manage activities.
- Sort 1.2
Upgraded to manage activities (but they are not sorted).
To avoid a conflict the operation weight is
renamed orderWeight.
- Plug-out upgrade 1.3.2
Upgrade the plug-outs to manage the
activities.
This upgrade is not mandatory : old plug-outs
are compatible with this new releases of BOUML.
2.17.1
September, 21th 2006
- When you defined a get or set operation
on an attribute or a relation, then you deleted it
(but not the attribute or relation) and saved the
project, then you reload the project, this one was
unconsistent and its usage may produce a crash,
fixed.
- It was not possible to empty a non empty message in a sequence diagram,
fixed.
- Now when you add a new text in a diagram through
the button text the text is immediatly edited,
and the text is resized depending on your input.
The resize is not done after the next editions,
and the text element is deleted if it becomes empty.
2.17
September, 17th 2006
- Add activities
and activity diagram.
Activities are allowed in class views, like for
the states the activity diagrams are under the
activities. Note : partitions will be available
later.
- In the previous releases a transition trigger,
guard and activity was not shown in a
state diagram while the transition had a name.
The new drawing setting named show transition
definition valuing false by default allows
to choose between the name and the definition.
- The default call of the HTML generator to generate
a flat definition was ghtml - flat rather than
ghtml -flat (ie had an extra space between the
the minus and flat), fixed.
Note : this wrong configuration is automatically
fixed by BOUML.
- When the class of a class instance is specified the menu
of the class instance in a diagram (for instance a
sequence diagram) has the entry select class
in browser
- When the message in a sequence diagram is an
operation the menu of the message has the entry
select operation in browser
- It is now possible to have a dependency between a
class and a package, in both directions.
A package may now depend on a component
or an artifact (the reverse dependencies
was already possible).
- In an attribute dialog the label type :
is replaced by a button, this one shows a menu
proposing :
- if the current type of the attribute is a class :
to select this class in the browser
- if the attribute is not read-only and if a class
is selected in the browser : to set
the type to be this class
The same button replace the label indicating the
value type in an operation dialog.
- Plug-out API
Warning : a class having a dependency
on a package has a children of type UmlNcRelation
which is not a UmlClassItem, you may have
to adapt your plug-outs to manage this case.
- C++ Generator 2.3
Java Generator 2.6
Idl Generator 2.3
Singleton 2.1
Manage UmlNcRelation in classes.
- XMI Generator 1.4.2
Fixe the generation of a bidirectional relation.
Manage UmlNcRelation in classes.
- Html documentation Generator 2.6.1
Fixe some bugs to generate valid XHTML 1.0
transitional.
Indicate the dependencies
- State machine generator 1.1.1
The C++ definition of the inheritances to AnyState
was GENERATED rather than ${type},
fixed.
The behaviors doActivity, entry and exit
may now access to the state machine through the
variable stm.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.16
July, 19th 2006
- Add object diagram, they are allowed in
use case views, use cases and class views.
- Add subject (drawn as a rectangle) in the
use case diagrams.
- A package may be drawn in a collaboration diagram.
- C++ Generator 2.2.3
Indicate the end of a namespace by a comment
placed after '}'
- Idl Generator 2.2.2
Indicate the end of a module by a comment
placed after '}'
- Html documentation Generator 2.6
To manage object diagrams,
Follows the new API.
- Plug-out upgrade 1.3.1
Upgrade the plug-outs to manage the
object diagrams.
This upgrade is not mandatory : old plug-outs
are compatible with this new releases of BOUML.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.15.4
July, 2th 2006
- Fixe the drawing of a node in a deployment
diagram to write first the optional stereotype.
- To allow to define default stereotypes using
non ISO_8859-1 (latin1) characters
- The dialog tab User is renamed Properties,
recall : it allows to set tagged values.
2.15.3
June, 26th 2006
- In the previous releases, when you enter non ISO_8859-1
(latin1) characters in a dialog or documentation
part, these ones was replaced on ok by a space
because of a conversion from 16 bits Unicode to
8 bits latin1 character.
Now you may specify how to do the conversion (still to a
8 bits character) through the environment variable
BOUML_CHARSET.
When this variable is undefined or
has an empty value, the character set is ISO_8859-1.
If its value is not a known character set's name,
a dialog appears when you start BOUML giving the available
names. So, to know the possible character sets, set
BOUML_CHARSET to wrong for instance and call
BOUML.
Examples (the list depends on the release of Qt) :
- ISO_8859-1 (latin1) for English, French, Italien, German ...
- ISO_8859-7 for Greek
- KOI8-R or KOI8-RU or CP_1251 to allow Cyrillic
- JIS7 for Japan
The specified encoding is used for :
- the description of every elements,
- the user keywords and associate values of every elements,
- the stereotype of every elements,
- the definition of the artifacts, classes,
operations, attributes, relations and
extra members,
- the state action behavior
- the state entry / exit / do behavior
- the transition trigger / guard / do behavior
- the notes and text in the diagrams
It is not used else where, for instance you can't use non ISO_8859-1
characters to name the elements or in a message of a
sequence or collaboration diagram.
The specified encoding is followed in the project's
files and for the exchanges with the plug-out,
this means for instance that Cyrillic characters
may be used in the comments and are generated unchanged
by the code generators.
- Html documentation Generator 2.5.3
To be compatible with non ISO_8859-1 character sets,
remove the special management of accentued characters,
for instance the character 'é' is generated
unchanged rather than replaced by 'é'
The information specified through the plug-out use
case wizard are now produced.
- Use case wizard 1.1 (C++ version)
To manage non ISO_8859-1 character sets, get the desired
encoding through the environment variable BOUML_CHARSET.
2.15.2
June, 18th 2006
- Add the sub menu edit in the menu Project to edit
the generation settings, default stereotypes,
class settings at the project level, and drawing settings at
the project level.
- It is now possible to give arguments to the plug-out
executed when BOUML is started. These arguments are given after
the plug-out specification and before the optional
-exit whose must be the last parameter of
BOUML if present.
For instance :
- "C:\Program Files\Bouml\bouml" "D:\...\aze\aze.prj" -exec C:\Progra~1\Bouml\gxmi -uml c:\aze.xmi windows-1252 -exit
- bouml .../qsd/qsd.prj -exec -flat /usr/lib/bouml/ghtml /tmp/qsd_html -del_html -exit
- Html documentation Generator 2.5.2
Now use a css file to define used styles, allowing you to
modify them
Classes descriptions was produced in separated files, now
you may ask to produce them in index.html, helping
to print the result or produce a pdf file,
see -flat below. Now when you create a new project
by default the two ways are set in the Tools settings,
you may modify the settings of the old projects to add this option.
Accept the following arguments (in order) :
- -flat, optional, to produce the class definitions in
index.html rather than in separate files.
- generated Html files directory (must not contains space)
mandatory if the next arguments are given (except the port
number given by BOUML itself)
- -del_html, optional, to remove already existing HTML files
in the specified directory
- -del_css, optional, to replace the file style.css
if it already exists in the specified directory, do not
use this option if you have your own styles.
Of course in all the cases style.css is created
if it doesn't exist
In case the generated files directory is specified the dialogs don't
appears, this allows to generate the HTML documentation
without any manual action.
- XMI Generator 1.4.1
Accept the following arguments (in order) :
- -uml or -c++ or -java
to specify the target language, mandatory
if other arguments are given (except the port
number given by BOUML itself)
- generated XMI file path (must not contains space)
- encoding, for instance windows-1252
- -view, optional, to generate views as package
- -simpleTv to generate tagged values
with the simple form, -complexTv to generate tagged values
with the complex form, else the tagged values
are not generated
In case these arguments are given the dialog doesn't
appears, this allows to export a project in XMI without
any manual action.
2.15.1
June, 11th 2006
- Since the 2.14.5 the modification of a relation
between classes shown in a class diagram produces an infinite loop if the line
is segmented, fixed.
- Generalize the management in the diagrams of the self-relations from
the classes to the packages, components etc ..., i.e. to move the self
relations with the object, to automatically add two break line points
when you draw a self relation.
- To follows the norme : when you ask to hide class's attributes or operations
through to the drawing setting "hide attributes" or
"hide operations" the corresponding separators are not drawn.
If you hide attributes / operations individualy the separators are drawn
even if you hide all the attributes / operations.
The computing of the size of a class in a class diagram is unchanged
(space taken by a hidden separator is still present) to not deteriorate
the vertical alignments of the classes in your already existing diagrams.
- Java Catalog 2.5.2
Java Reverse 2.5.2
Since the 2.14 the visibility is not set for the reversed operations and
relations, fixed.
2.15
June, 4th 2006
- It is now possible to apply a plug-out on the project
when BOUML is started :
- bouml <project file> -exec <plug out> -exit
- <project file> indicates the model to load as usual.
- <plug out> indicates the plug-out to apply
on the project. The C++ generator is named cpp_generator,
the Java generator java_generator, the Idl generator
idl_generator, the HTML generator ghtml, the XMI
generator gxmi. If necessary the full path of the plug-out
have to be done, warning : under Windows this path must not
contain space.
- -exit is optional and allows to exit from BOUML when the
plug-out execution is done.
For instance :
- "C:\Program Files\Bouml\bouml" "D:\...\aze\aze.prj" -exec C:\Progra~1\Bouml\cpp_generator
- bouml .../qsd/qsd.prj -exec "java -cp /tmp/wxc Main" -exit
- Add the new drawing settings 'draw shadow' to show or not the shadow introduced
in the release 2.14.4, it may be set on project, packages,
views and diagrams levels, not on a diagram element.
By default the shadows are shown, if you don't like
shadows set the drawing settings on the project level as usual to
globaly specify your choice.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.14.5
May, 28th 2006
- Under Windows the path of the file edited by the editor
specified by BOUML_EDITOR is now a Windows path
rather than a Unix path (i.e. with '\' rather than '/')
to not disturb editor like PsPad.
- In a class diagram the class associations are now
automatically shown using an anchor between the relation
and the associated class, except if the drawing setting
draw all classes relation is set to no. This is done
then the relation is added in the diagram and the associated
class is present, or when you edit the relation to set/remove
the association and the relation and class are present.
- Drawing an anchor between a relation and a class
now updates the class association. Deleting the anchor
doesn't remove the class association from the model, for that
you must edit the relation.
- Java Generator 2.5.3
Fixe a bug on the generation of the enum pattern items
introduced in the previous release.
- Html documentation Generator 2.5.1
Manage the actuals of a Java generic instantiation.
2.14.4
May, 21th 2006
- The default position of a transition's label was wrong
when the trigger, guard and activity are
written verticaly, fixed.
- Change the default definition of an enum item
in Java to move ${@} before ${name}
rather than after.
- An actor is now drawn with its icon in a sequence
diagram.
- Add a shadow to some elements in the diagrams. Note :
a transparent element doesn't have shadow.
- Add the button
in the diagrams helping to do an Optimal windows size
without using the menu of the diagrams menu
- Modify the plug-out API to add on the class
UmlBaseRelation the operation side,
if its argument is true returns the relation
associated to the role A, else the relation associated
to the role B or 0/null if the relation is non
bi-directional.
- Java Generator 2.5.2
Like in C++, when a class inherits or realizes a generic
class the tab Instantiate of the class dialog is the standard
way to specify the actuals. Now these actuals are generated
when the generalization/realization definition contains ${type}.
When the class is undefined or is not known as a generic
because of the current environment the actuals have to be set directly
the relation's definition as I said in the historic of the release
2.13
Annotation was not generated for an enum_pattern, fixed.
- Java Catalog 2.5.1
Java Reverse 2.5.1
Management of the generics
- C++ Generator 2.2.2
Produce '> >' rather than '>>' in a template
class instantiation, adding a space before '>' after the generation
of the last actuals being itself a template class.
- C++ Reverse 2.2.1
The namespace containing reversed enum
and typedef was forgotten, fixed.
- XMI Generator 1.4
Stop to generate a bi-directional relation as two
distinct relations.
For the C++ generation, in some cases when a type being
an operation return value is defined, its name contains
the keyword $<inline>, fixed.
Follows the new API
- Plug-out upgrade 1.3
Upgrade the plug-outs to add the operation
side on UmlbaseRelation.
This upgrade is not mandatory : old plug-outs
are compatible with this new releases of BOUML.
- Plug-out empty
Upgraded by Plug-out upgrade
- Sort
To avoid a conflict under Linux, the executable is
renamed from sort to browsersort.
- Deploy 1.0
New plug-out, must be applied on a class view.
This plug-out automatizes the creation of the
artifact for all the classes of the class view
on which the plug-out ins applied :
- If the class view doesn't have an associated
deployment view, an associated deployment view
having the name of the class view is created
in the same package.
- An artifact with the stereotype source is
created and associated to all the classes of the
class view without associated artifact,
the name of the artifact is the name of the
class.
This plug-out is automatically configured on the
new project, to use it in your already existing project :
the name of the executable is deplcl, and
the target is a class view.
2.14.3
May, 1th 2006
- Add the commands save optimal picture part and
copy optimal picture part in the diagram's menu.
These commands do an optimal window size before
the corresponding save/copy visible picture part,
then restore the window size. This allows to get all the
elements of the diagram more easily.
- The plug-out operation UmlBaseDiagram::saveIn
did an optimal scale when the diagram doesn't have
a preferred size and scale. Now the optimal scale
is replaced by an optimal window size.
When the saved diagram is already opened, the current
scale is unchanged and an optimal window size is
done even if the diagram has a preferred size and scale.
This impacts the behavior of the plug-out
Html documentation Generator
- Note : the behavior of the command print done through
the icon is unchanged, to print all the elements of the
active diagram do first an optimal window size.
2.14.2
April, 29th 2006
- When the scale is not 100%, the automatic
update of the position of the two intermediate points of a
line having the geometry
or
may crash BOUML depending on the position of the
elements ending the line. Fixed
2.14.1
April, 24th 2006
- Java Generator 2.5.1
C++ Generator 2.2.1
Idl Generator 2.2.1
Fixe a bug in the code generation of get/set
operations applied on a relation.
2.14
April, 23th 2006
- Add the management of the visibility package.
In C++ or Idl the visibility package is
translated to public.
- A relation's stereotype starting by the character '{'
is now not written between < < and >>,
this allows to specify the constraints through the
stereotype and to see them as desired.
- C++ Reverse 2.2
To manage more Qt pre-processor identifiers and
the visibility package.
- Java Catalog 2.5
Java Reverse 2.5
Java Generator 2.5
C++ Generator 2.2
Idl Generator 2.2
To manage the visibility package.
- Html documentation Generator 2.5
Manage the class associations and the visibility package.
Follows the new API
- XMI Generator 1.3
Manage the visibility package.
Follows the new API
- Plug-out upgrade 1.2
Upgrade the plug-outs to manage class association
and the visibility package.
This upgrade is not mandatory : old plug-outs
are compatible with this new releases of BOUML,
they receive the visibility public rather than
package even in Java.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.13
April, 17th 2006
- Starting to draw a relation and doing an undo
before to reach the target has undesired effect depending
on the next action,
including a crash, fixed.
- Add the possibility to set the geometry of the lines
in the diagram (except for the messages in a
sequence diagram) to have a right angle
( or
) or a crank
( or
).
While you do not change by hand the position of the
central line of a crank the geometry is preserved
when you move one of the extremity of the crank, else
the central line stop to be automatically moved.
To set / unset the geometry of a line you may select the
line and press Control l as many time as necessary,
or call the menu of the line and use the sub-menu
geometry.
- Change the way to specify a generalisation or
realization.
In the previous releases these relations are generated
when they are specified as Generated through the
button Generated in or by default thanks to the
toggle default definition in the menu
Miscellaneous.
From now the button Generated is replaced by the
button Default declaration and the default form
became ${type} which is replaced during the code
generation by the name of the generalised or
realized class. This allows to modify the code
generated, for instance in Java to replace the inheritance
to Sequence by Sequence<int> replacing
the default declaration by ${type}<int>.
Of course when you load an old project the form
Generated is automatically changed to
${type}.
- Add the management of the class associations. The
relation dialog is modified to allow to specify the
associated class or type, this one is generated through
the new keyword ${association}.
Note : you must add the keyword ${association} by
hand in the declaration, for instance in C++ if you
have a relation to the class C and the associated class
is K and you want to specify a stl map having the
key K and the value C, set the stereotype
to map, specify a multiplicity like *,
ask for the default declaration, and replace the form
<${type}> by <${association}, ${type}>
Note : the management of the class associations is not yet
done in the class diagrams
- In java a class member has a package visibility
when the keyword ${visibility} is not present in
its definition. In a class diagram, when the drawing
language is Java, the visibility marker (+, - or #)
is now not shown for the class's members having a
package visibility.
- Change the way to compute the 'get_' and 'set_' operations
to manage cases where the default operation definition
contains additional '}' after the '}' ending the body
(for instance because of a comment containing a keyword).
Manage class associations
- Add the landscape formats corresponding
to the already existing formats of diagram.
- C++ Reverse 2.1
In the previous releases an own artifact was created
for each reversed class. From now the classes defined in
the same header file will be associated to the same
artifact named like the reversed file. Of course this
is possible only if all the classes are in the same
namespace or are not in a namespace, else one artifact
per namespace will be created in different packages.
The classes defined in a source file rather than a
header file are associated to an artifact having the
name of the class. Note that if the classes A
and B are reverse from the file C.h, and if a
source file in the same directory define the class C,
and if the three classes are defined in the same namespace
or are not defined in a namespace, the three classes will
associated to the same artifact C, whatever the name
of the source file defining the class C.
To manage the new definition of the generalisation
and realization.
Note : the class associations are not yet used by
the reverse.
- Java Catalog 2.4.1
Java Reverse 2.4.1
To manage the new definition of the generalisation
and realization.
- C++ Generator 2.1.1
Java Generator 2.4.1
Idl Generator 2.1.1
To manage the new definition of the generalisation
and realization.
To manage the class associations.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.12.2
April, 9th 2006
- The code generations are now made in non verbose mode by default,
to set / unset the verbose mode use the corresponding toggle in
the menu Miscellaneous. Note : this toggle is saved
in the session file
- Plug-out upgrade 1.1
Upgrade the plug-outs mainly to manage the Java JDK 5,
this upgrade is not mandatory : old plug-outs
are compatible with this new releases of BOUML.
To use the new features on an existing plug-out,
because of the renamings explain below, you must
upgrade the plug-out before modifying your
sources to call new operations.
In case the upgrade is done :
- Some operations of the class
JavaSettings are renamed :
enumDecl become enumPatternDecl,
set_EnumDecl become set_EnumPatternDecl,
enumItemDecl become enumPatternItemDecl,
set_EnumItemDecl become set_EnumPatternItemDecl,
enumItemCase become enumPatternItemCase, and
set_EnumItemCase become set_EnumPatternItemCase.
- The Internal API base enums items corresponding to the
corresponding commands and the attributes memorizing the
corresponding java settings are also renamed.
- The body of all the operations are
updated to use the renamed operations of JavaSettings,
there is no update for the artifact definition, state
entry/exit behavior, transition trigger etc ...
- The new operations enumDecl, set_EnumDecl,
enumItemDecl and set_EnumItemDecl are added
to JavaSettings.
- The new operations javaAnnotations and set_JavaAnnotations
are added to UmlBaseClassMember
- Other internal API base addings are also made.
- On the class UmlBasePackage
the operation associatedDiagram is modified to return a
UmlDiagram rather than a UmlClassDiagram,
and the operation set_AssociatedDiagram is modified
to get a UmlDiagram rather than a UmlClassDiagram.
- Fixe a bug in the Java definition of the operation read_
of UmlBaseActualParameter.
- C++ Generator 2.1
Java Generator 2.4
Idl Generator 2.1
Limit the number of messages produced in the trace windows
when the code generation is non verbose, in this case there
is no message when a class doesn't have a definition
or an associated artifact, or when a generated file
is not modified (when both the source and header files are
unchanged in C++). Follows the new API
- Java Catalog 2.4
Java Reverse 2.4
Follows the new API. Remark : the management of the
generics is not yet done.
- Html documentation Generator 2.4
Manage the Java annotations and generics.
Fixe writting of C++ template (< and > was not quoted).
Follows the new API
- XMI Generator 1.2
Produces the Java annotations as tagged value.
Follows the new API
- Plug-out empty
Upgraded by Plug-out upgrade
2.12.1
April, 4th 2006
- Since the release 2.11 the edition of
a read-only class, operation, attribute or relation
crashes BOUML, fixed.
2.12
April, 2th 2006
- After setting a default color for the class instances
at a sequence diagram or collaboration diagram
level it was not possible to reload the project (produced
the error message 'end' expected
rather than 'class_instance'), fixed.
- Fixe bugs in the computing of minimum size or the
resizeable diagram elements (package, node etc ...)
depending on the zoom.
- The drawing settings show packages name in tab
was not always correctly managed, fixed.
- Management of the Java JDK 5 generics. The tab
Parametrized of the class dialog is modified. In
Java only the columns name and optionaly extends
are used. The definition of a class is not modified (this
means that there is no new keywords), if the class has
parameters they are generated after the class's name
by ${name}.
- New font management helping Qt to use a font
corresponding to the scale. Note : the improvement depends on the
OS and the Qt release : there is no change with Qt 2.3 under Linux,
small fonts are now used with Qt 3 under Linux and with Qt 2.3 under
windows.
- Adds new colors including white.
- In the annotation dialog indicates the member's name
when you add an annotation having at least two members.
- Java Generator 2.3
Adds the management of the generics.
- Java Catalog 2.3
Java Reverse 2.3
Adds the management of the annotations's operations
with a default value. Remark : the management of the
generics is not yet done.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.11
March, 26th 2006
- Management of the Java JDK 5 annotations.
Adds the class stereotype @interface, when you
ask for the default annotation definition in Java, the
default interface definition is used then '@' is
added before interface.
The new keyword ${@} is allowed in the Java definition
of the classes, attributes, associations and operations,
of course this keyword is replaced by the annotations by
the code generator. When you create a new project this keyword
is placed after ${comment}.
In the dialogs the button Edit annotation is added
to modify the annotations through a dedicated dialog.
The proposed annotations are the pre-defined Java annotations
@Deprecated, @Documented, @Inherit, @Override, @Retention,
@SuppressWarnings and @Target
more the classes having the stereotype @interface,
but any annotation may be enter by hand in the multi-lines
editor.
Obviously the button Edit annotation is only active
when the definition contains the keyword ${@},
you have to add the keyword in the definitions of the old
projects to be able to set the annotations
- Java Generator 2.2
Adds the management of the annotations.
- Java Catalog 2.2
Java Reverse 2.2
Adds the management of the annotations.
Manage class's members without specified visibility
- Html Generator 2.3.2
XMI Generator 1.1.3
To bypass ${@} in the definitions.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.10
March, 21th 2006
- Deployment nodes was improperly resized in some
cases, fixed.
- The resize of a resizeable element (package, note...)
was wrongly managed by undo / redo, fixed.
- When a move is done through the keyboard arrows using the auto
repeat, the complete move is saved in the historic rather than
each individual move.
- Add a button edit in the diagram's toolbar to call the
diagram's menu like with a right mouse click done out of
all the elements.
- Add new format of diagrams : Iso A0 and A1, US D and E.
- When you move a package in a diagram, the
artifact, class, component, deployment node, package and
use cases defined in the package (not through an
other one) and in collision with the package
at the beginning of the move are also moved. If you want to
also move the connected elements, do a very short move
(for instance use the keyboard arrows to do a move and its opposite)
then ask for select linked items and restart the move.
Note : contrarilly to the states> when you
resize a package the sub-elements are not moved to stay
in it.
- C++ Reverse 2.0.9
Adds the management of the template friend in C++.
Other improvements
- File Control 1.0.3
Your command is applied on the auxiliairy files cpp_includes,
generation_settings, idl_includes, java_imports, stereotypes
and tools when the Plug-out in applied on the project.
Check if a file exists before applying the command.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.9.7
March, 14th 2006
- File Control 1.0.2
Do the save before applying the command on
the files ! Two errors on a so small program, grrrrrr :-(
2.9.6
March, 13th 2006
- File Control 1.0.1
Fixe a bug in the computing of %dir, sorry.
2.9.5
March, 12th 2006
- Adds Undo Redo in the diagrams, the shortcuts are
Control-z and Control-u for undo,
Control-y and Control-r for redo.
The depth of the historic is 20, it is emptied
on the editions (including the drawing setting edition),
the browser element deletion/undeletion, the change of scale
or diagram format, etc ... The undoable operations are moving,
removing from view, element adding.
- The menu of a class diagram (shown on a right mouse
click done in the diagram out of any diagram element)
proposes the new entry add classes of the selected
class view when the selected browser element is
a class view containing class(es) not already
shown in the class diagram.
- C++ Generator 2.0.16
Fixe a bug in the calculation of the dependencies.
- XMI Generator 1.1.2
Do not place several UML:TaggedValue in the same
ModelElement.taggedValue
- Java Catalog 2.1.3
Java Reverse 2.1.2
It was not possible to reverse a nested enum, fixed
- Html Generator 2.3.1
Rename the generated files index_X where X is
a character, replacing this one by its ascii code to not have
illegal filenames under Windows.
- Plug-out empty
Fixe the profile of UmlBasePackage::getProject()
to return a UmlPackage rather than a
UmlBasePackage.
- File Control 1.0
New plug-out, must be applied on the project
or a package.
This plug-out is written to do check-in
or check-out on the files of a project.
Because I don't know what file control you use (CVS ...)
this plug-out asks for the command to be made on
each file. The command is executed through the function
system, don't forget to give the option -nc for
clear case. Of course in case you don't use
a file control you may use this plug-out to set
the file permissions using chmod
in the commands under Linux etc ...
This plug-out is automatically configured on the
new project, to use it in your already existing project :
the name of the executable is file_control, you must
specify a first parameter being ci or co
(so this plug-out is declared two times), and
the target is the project or a package. Create a
new project and look at the tool settings to have an example
of configuration.
2.9.4
February, 27th 2006
- Adds the management of the template operations in C++.
A template operation has an empty declaration and
the actuals are directly specified in the definition (of course
between ${class} and ::).
- C++ Reverse 2.0.8
Adds the management of the template operations in C++.
Adds a progress bar, the progress is based on the number
of files, not on the time
- C++ Generator 2.0.15
Adds the management of the template operations in C++.
- Java Catalog 2.1.2
Java Reverse 2.1.1
Adds a progress bar, the progress is based on the number
of files, not on the time
- XMI Generator 1.1.1
Allows to choose how the tagged values are generated,
because some tools don't accept some form.
tagged values are used to produce description (may be
on several lines), stereotypes, user properties
and type definition.
2.9.3
February, 22th 2006
- duplicate marked after could
have dramatic effects, for instance crashing
operation's definition, fixed.
- It was not possible to edit the description or something
else from the class dialog using the Editor button
with BOUML_EDITOR unset : the internal editor didn't
have the focus, fixed.
- Plug-out empty
Add a missing 't' in the Java definition of
UmlBaseClass::setAssociatedClasses()
- C++ Generator 2.0.14
Adds the management of the 'external' classes
(see here)
- Java Generator 2.1.1
Adds the management of the 'external' classes
(see here)
- Java Catalog 2.1.1
When a JDK 5 enum is scanned this one is created in
the modeler, fixed.
- Sort
This is a new plug-out, allowing to re-order elements
in packages, views and use cases.
Its realization both in C++ and Java is detailled in the new
tutorial about plug-out writting.
2.9.2
February, 13th 2006
- Little improvements made in conjontion with the writing of
the
tutorial of BOUML.
2.9.1
February, 4th 2006
- Previous releases crash when you confirm
the edition of an enum_pattern's item, fixed.
- Use case wizard 1.0
This is a new plug-out, allowing to set properties like
pre-conditions etc ... on use case.
Must be applied on a use case.
This plug-out is configured by default
in the new projects. The name of the executable to
add it to the plug-outs list in of the existing
projects is usecasewizard.
This plug-out is defined in C++ and Java, like the
Html Generator, allowing you to modify it in your prefered
language. I give it as an example to show you how to
simply extend the BOUML features.
2.9
January, 22th 2006
- Previous releases crash on duplicate
marked into when a marked item is a diagram, an artifact,
a component, a deployment node, a view,
a package or a use case, fixed.
When you duplicate an artifact the new one doesn't
have associated artifacts or classes.
When you duplicate a component the new one doesn't
have associated classes.
When you duplicate a deployment node the new one doesn't
have relation.
When you duplicate a package, a use case or a
view the new one doesn't have relation nor sub items.
- When a browser item is duplicated its description is now
also copied.
- In all the pro files replace CONFIG = by
CONFIG +=, to help to compile BOUML under MacOS X
- In a class diagram, the visibility of the class's members
was shown only when the drawing setting show classes
member full definition was set to yes (directly or indirectly).
The new drawing setting show visibility is introduced
to show or not the members visibility independently of
the writting of the full definitions. When you load an old
project the value of show visibility is the value
of the corresponding show classes member full definition.
- C++ Reverse 2.0.7
Fixes on the management of the scope (namespace or
upper class).
The Package unknown is not any more created in case
of problems, it is replaced by the usage of explicit types (i.e.
a string rather than a relation to a class defined under unknown),
or typedefs (named typedef<n>, where n
is a number), or extra class members.
- C++ Generator 2.0.12
Fixe a bug on the management of the scope (namespace or
upper class) of inherited classes
- .pro Generator 2.1.1
Generate CONFIG += rather than CONFIG =
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.8
January, 7th 2006
- Management of the Java JDK 5 enums.
Generics and annotations will be added later.
When you load a project made by a previous release :
-
The may be existing class stereotype enum_pattern
is renamed (the new name is context dependent and
is given in a message box), and the classes having
this stereotype are modified to have the new one
-
Except for the class stereotype enum, the
class stereotypes valuing enum in Java are
modified to become enum_pattern in Java
(one suposes this stereotype didn't exist because
it has not special meaning for Java).
-
The class stereotype enum_pattern is created
from the class stereotype enum replacing
the Java stereotype enum with enum_pattern.
-
The classes having the stereotype enum and
a non empty Java definition receive the stereotype
enum_pattern
-
In case at least one class is read-only BOUML
ask you to save the upgraded project in a new one
The classes having the stereotype enum_pattern
are managed like the old Java pseudo enum.
The classes having the stereotype enum
are managed like the Java enum introduced by the JDK 5.
Because a Java JDK 5 enum may have attributes, relations
and operations, it is now possible to add these kinds
of members to a class having the stereotype enum, but
the their default definitions are empty in C++ and Idl.
The keyword ${items} is introduced in the Java definition
of a JDK 5 enum, it has no meaning is the other cases,
during the Java code generation it is replaced by the enum
constants and the keyword ${members} is replaced by
the other members.
To distinguish the attributes corresponding to the enums
constants and the other attributes, the stereotype
attribute is introduced, this one indicates a non
enum constant. So, the attributes having the stereotype
attribute are generated by ${members}, the
others by ${items}
New generation settings are added to specify the
code generated for the JDK 5 enums.
To be still compatible with the Java JDK 1.x the Java definition
of the API of the plug-outs don't and will not use
the Java JDK 5 enums.
- Little changes to compile under Mac OS X.
- Java Generator 2.1
Java Reverse 2.1
Java Catalog 2.1
Manage the Java JDK 5 enums.
- XMI Generator 1.1
Allows to choose the encoding.
Upgrade for the Java JDK 5 enums
- Html Generator 2.3
Escape html special characters. Manage the new enum
definition.
Upgrade for the Java JDK 5 enums.
- C++ utilities 1.1
.pro Generator 2.1
Rose project import 2.1
State machine generator 1.1
Upgrade for the Java JDK 5 enums.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.7.8
December, 22th 2005
- Fixe a bug on the management of deleted items still
referenced during the project reading.
Previous releases may crash on this
case of non consistency.
- Now when you ask for referenced by on a class,
the attributes, operations and classes referencing the target
class at the UML level are also given. Note : the
operations's bodies are not taken into acount.
- Management of ${h_value} in the C++ declaration of
attributes and relations, see below. Because only the
C++ declaration is showed in the C++ tab of the attribute and
relation dialogs, the initial value is only shown when the
keyword ${h_value} is used.
- C++ Generator 2.0.11
For a given artifact, when the header file definition contains
${all_includes} no declaration are produced
in the header file and all the #includes are produced in
the header file, except the #includes of the header file
in the source file of course.
The already existing keyword ${value} is still replaced
in the definition of a static attribute or
relation by the initial value.
The new keyword ${h_value} is replaced in the
declaration of a static attribute or
relation by the initial value.
- C++ Reverse 2.0.6
Management of ${h_value} : when the initial value of a
static attribute or relation is specified in the declaration,
force the attribute or relation specification to contain
${h_value} else ${value}.
- Html Generator 2.2.1
Management of ${h_value}
- XMI Generator 1.0.6
Add generation of the C++ and Java definition. When you
start the XMI generator, this one ask you to choose between
the UML, C++ or Java exported definitions.
2.7.7
December, 4th 2005
- In the class and operation dialog, when you edited something
in a table (for instance the name of an operation's parameter)
and you went directly in an other tab, the change in the
table was not taken into account. It was necessary to
click elsewhere in the table before went in another tab, fixed.
- XMI Generator 1.0.5
The user properties are exported and produce tagged values.
2.7.6
December, 3th 2005
- The Windows version didn't allow to use an editor
(specified by BOUML_EDITOR) placed in a directory having a path
containing spaces, fixed.
- The extension of the auto generated file's
name edited by the editor specified through BOUML_EDITOR
is now the one specified through the generation settings.
For the Windows version : set the filename to contains
only valid characters.
- In the Java and Idl tabs of the artifact dialog the '$' is
just replaced by '@' and the user keywords are not
replaced by their values (in fact BOUML tries to manage a
user keywords when it finds a '$' rather than a '@'
because of a typing error), fixed.
- When a class or its members was changed, its self
relations moved a little bit in the class diagrams
without true reason, fixed.
- The stereotype of a duplicated marked browser item may not be
visible even this is asked, fixed.
- In the previous releases an operation could not be
virtual and inline at the same time, fixed.
- In the sub-menu add inherited operations the
abstract operations are now written in italic. In the
associated dialog used when there are too many inherited
operations, the abstract operations's profile has the
header [a] (to use italic is not possible).
- When an operation is duplicated (even through
add inherited operations), its C++ and Java bodies
are also copied.
- In the previous releases a class could not be provided/realized by
several components, remove this limitation. Change the browser
class menu select associated component by the sub menu
select associated components allowing to select a
component provided or realizing the class when several components
do that. The API with the
Plug-outs is modified, the operation associatedComponent
defined on UmlBaseClass is renamed associatedComponents
and now returns a vector of components.
Old Plug-outs may be used with this release, in this case
only one component chosen randomly is returned by
associatedComponent.
- New C++ and Java default operation definition according
to their body indent (2 spaces by default), see below
- C++ Generator 2.0.10
Java Generator 2.0.4
New way to specify the indent of the operations body. In the previous releases it was
necessary to indent all the lines. Now an indent added to
each line may be specified, this indent is the spaces and tabs
placed between ${body} and the first previous
character not equal to a space and a tab.
In C++ : when the last characters of a line are '\' followed by
an optional carriage return then a newline, the next line
is not indented; When the first character of a line is '#'
this line is not indented; These two rules are applied
whatever the context, the code generator doesn't check if
the characters are in a comment, a string or a literal
character.
When the body is empty the spaces and tabs placed before
${body} are not output.
The right way is just to add spaces or tabs before the keyword
${body}, itself followed by '}'. This is the new default
definition of a C++ operation for new projects
Because the keyword ${body} was a priori not
indented in the definition of the operations for the
previous releases, this new feature doesn't have undesired
effect on old operations.
- C++ Reverse 2.0.5
Java Reverse 2.0.4
Because the bodies of the operation is already indented,
remove the indent of the keyword ${body} in the
reversed operations's definition
- Idl Generator 2.0.4
Fixe a bug in the generation of the operations's exceptions
Add a missing ';' at the end of a module definition
- Plug-out upgrade 1.0.3
Upgrade the operation associatedComponent
defined on UmlBaseClass to return several components.
- Html Generator 2.2
Plug-out empty
Upgraded to manage several components realizing/providing a class.
They can't be used this previous releases of BOUML
- XMI Generator 1.0.4
Manage characters " & < and > in strings
2.7.5
November, 16th 2005
- All the generation settings was not read with
release 2.7.4, fixed.
- Under Linux with a QT release 3.x it was not possible to
edit the user properties value. Partially fixed,
currently return goes to another cell and doesn't
insert a newline.
- Set the size of the diagrams under Windows as it was
already made under Linux when a session is restored.
- Stop to save / restore the browser's scroolbars position,
but force the selected browser item to be visible when
a session is restored. However the session files created by
the previous release of BOUML are managed by this release.
2.7.4
November, 13th 2005
- When a project is closed the current session (opened
diagrams list, browser view etc ...) is saved to be
restored the next time the project will be load.
The file used to save the sessions is placed among the
other files of the projects and is named
<uid>.session, where <uid> is the value
of BOUML_ID to allow each user to have his own
session. This feature is not provided when BOUML_ID
is not defined.
The size of the diagrams sub-windows
is restored (except under Windows else the program goes
in an infinite loop inside Qt), not their position because
this information is not available (private in Qt classes).
The scroolbar position is not restored in the browser
(even I ask for).
- Improve the displacement of the objects in a diagram
when the scale is changed, moving their center rather
than their top-left corner (yes, at last !).
- Hide the limits of the diagram canvas when you print it
- When the drawing of a class is modified in a class diagram,
its center is unchanged, and the line breaks of the class's
self relations are moved if needed to not have them under
the class picture. Before when a self relation was hidden
because the class picture grew it was not easy to show it
again manually.
2.7.3
November, 7th 2005
- Add some checks concerning the state machine
- Indicate why a relation can't be added
- New dialog to help C++ programmers to manage the parameters
of the operations, called through the new buttons placed
in the tab C++ of the operation dialog
- State machine generator 1.0.2
Add entry point, terminate management
2.7.2
November, 3th 2005
- Take immediatly into account the new value of the
user keywords for the forms @{...}
in the dialogs to show the result after
substitution.
- C++ Generator 2.0.9
A non defined user keyword associated to
a form @{...} may produced an infinite loop,
fixed.
- State machine generator 1.0.1
Add completion transition management
2.7.1
November, 1th 2005
- XMI generator 1.0.3
Fixe class's relations generation
- C++ Generator 2.0.8
Fixe a bug associated to the nested classes
- Html Generator 2.1.4
Write transition's name
- State machine generator 1.0
This is a new plug-out, produce the classes
implementing a state machine.
Must be applied on a state machine.
This plug-out is configured by default
in the new projects. The name of the executable to
add it to the plug-outs list in of the existing
projects is stmgen.
It is under development, the pseudo states fork, join,
entry point, terminate, deep history, shallow history and the
regions are not yet managed, nor the completion
(you must specify triggers). Currently this
Plug-out is implemented in C++ and
produce C++ definition, it will be also implemented in Java
to produce Java definition (why not !).
When you apply this plug-out on a state machine
a class having the same name (removing non legal characters)
is created in the same class view to implement it.
This class doesn't contain static attributes and may
have several instances. Each sub-state is managed through an own
sub-class, the tree of the states and the associated classes
is the same. For each trigger, whatever the
state waiting for it, an operation having the same name
(the C++ trigger must have a legal C++ name, the
C++ guards must be legal C++ forms etc ...) is
defined. Currently the triggers can't have parameters,
and a transition can't have several triggers.
You must apply these operations on the instance of the
class implementing the state machine to simulate the event,
the returned value is true until the final
state is reached. The operation starting the execution
is named create (the only legal trigger for
a transition from an initial pseudo state).
A trigger's name can't start by the character '_', allowing
me to produce operations and attributes starting by '_'
without collision.
2.7
October, 27th 2005
- BOUML wasn't compilable with GCC 4.0.x, fixe this problem
even I don't really trust on these GCC releases (see
message).
- The files generation_settings, tools, stereotypes,
cpp_includes, java_imports and idl_includes
are now re-written only when they are really modified.
Note that for performance purpose this check is not done for
all the other files, for instance when you do a change, thus
undo it, the corresponding files will be re-written.
- Nested class visibility is editable
- When a form @{xyz} is found by the
code generators and the associated dialogs, and xyz
is a key of a user property, this one is replaced by the
corresponding value. The user property is seached
first in the item for which the code is generated, if not
found in its parent, if not found in its grand-parent
etc ...
- Java Generator 2.0.3
Idl Generator 2.0.3
Add management of @{xyz} forms.
- Html Generator 2.1.3
Add management of @{xyz} forms.
Does substitutions of the ${abx} forms in the
comments introduced in BOUML 2.6
- C++ Generator 2.0.7
Add management of @{xyz} forms.
Doesn't generate the full definition of an initialized
static const attribute only in the header file,
the attribute is defined and initialized in the
source file.
- XMI generator 1.0.2
The generation of a package for the views is
optional. Memorize the filename used for the previous
XMI generation to propose it by default.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.6.4
October, 21th 2005
- When you quit BOUML closing its window through your window
manager capabilities rather than using project > quit
and the project is modified, BOUML will ask you to confirm.
- When a class, use case, use case view or a package
is moved by drap-and-drop in the browser and may be placed
in or after the destination, BOUML ask for you to choose.
The class menu entries set it nested in and extract
from becoming useless are removed.
- Add management of the keyword ${inline} in the
declaration of the operations in C++.
- C++ Generator 2.0.6
C++ Reverse 2.0.4
Html Generator 2.1.2
Add management of the keyword ${inline} in the
declaration of the operations in C++.
- Plug-out upgrade 1.0.2
To add the operation UmlBaseItem::moveAfter allowing to change
the order of the items in the browser (staying under the
same parent), and to access / modify the new
generation settings managing the default description
and the default return type forms introduced in the 2.6
2.6.3
October, 16th 2005
- Phantoms non class relations could remained after
destruction of item target, may crash BOUML, fixed
- XMI generator 1.0.1
Fixe indentation of </Generalization>.
In an operation's parameter whose type is a class,
replace UML:DataType by UML:Classifier.
The dependency's client and supplier was reversed,
fixed.
Some tools doesn't accept "*" in a mulplicity specification,
replace "*" by "0..-1", "2..*" by "2..-1" etc ...
Classes defined under a use case or a use case
view are generated as actor, their operations,
attributes and relations are not generated except
dependencies and generalizations.
Use case / class / component / deployment view are
generated as a package adding the view king in the
name.
Adds use cases generation.
Adds component generation (without UML2.0 features).
Adds node generation.
2.6.2
October, 13th 2005
- It was not possible to read a project containing
an extra member having a stereotype (produced
the error message 'end' expected
rather than 'stereotype'), fixed.
- The extra member dialog forgot to set the stereotype,
fixed.
- XMI generator 1.0
New plug-out, must be applied at the project
level.
Actually only the UML definition of the packages,
classes, attributes, relations and operations
are saved in the produced file.
To be compatible with existing tools, the format is
xml 1.0, xmi 1.2 for UML 1.4.
This plug-out is configured by default
in the new projects. The name of the executable to
add it to the plug-outs list in of the existing
projects is gxmi.
2.6.1
October, 2th 2005
- After changing the rank of messages in a collaboration
diagram, some of them are not shown sorted, fixed.
- In a collaboration diagram, when you edit a message which
doesn't correspond to an operation, this message was
not included in the message list, fixed.
- Changing the format of a diagram didn't have the
expected behavior when the zoom was not 100%, fixed
- Change the default Z position of the relations and other
lines in the diagrams to be dependent on the Z position
of the extremities
- Show the limits of the diagram canvas
2.6
September, 26th 2005
- Unfortunately it was possible to draw an anchor from a
class to a line break point in a class diagram, with
dramatic consequences, fixed.
- Since the release 2.5.4, in the sequence and class diagrams the full
operations displaying was wrong in C++ mode, fixed.
- When a plug-out can't be lauch under Windows
because the executable can't be found (PATH problem etc ...)
a message box is displayed from now on.
- The definition of a set_ operation was wrong in C++
and Java when the attribute / relation name is not the
UML name (definition of the get_ operation was right),
fixed.
- In the operation dialog, add buttons default definition
and default declaration for the get_ and
set_ operations.
- New generation settings to specify default description
for artifacts, classes, operations, attributes
and relations.
A new tab is added in the generation settings dialog
to set them, by default they are empty.
Add the button default to fill the description with
the default value in the corresponding dialogs.
From now on, keyword substitutions are
made in the description of the corresponding objects
as for their declarations / definitions. This
feature is under construction.
- New generation settings for C++ allowing to set the
default form specifying the operation return type form.
The affected tabs of the generation settings dialog
are the first one and the fourth C++ tab.
- Change a little the UML tab of the relation dialog to save
height, and a splitter is placed between the two
roles to choose their respective height.
- C++ Generator 2.0.5
The path generated for an #include was wrong
when #include with pathname is set in the generation
settings and the header files are generated in different
directories, fixed.
Fixe carriage return / line feed problem in code
generation under Windows.
When the name of a static attribute or relation
is not the same in UML and C++ the definition of the C++
variable was wrong (the declaration was correct), fixed.
Do keywords substitution in the comments (to be completed).
- Java Generator 2.0.2
Idl Generator 2.0.2
Fixe carriage return / line feed problem in code
generation under Windows
Do keywords substitution in the comments (to be completed).
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.5.5
September, 18th 2005
- When the browser sub-window is scrolled horizontally the
drag & drop of a browser's item was not always
possible, fixed
- With BOUML compiled with Qt3, resizing a graphic item
using the mouse had a strange behavior except for the
bottom right corner, fixed. Note : the delivered version
of BOUML for Windows use QT2 and didn't have this bug.
- When you rename a class, the contructors and destructor
are now automatically renamed
- Add UML 2 standard stereotypes
- C++ Generator 2.0.4
When an artifact is associated to several classes
some of them could miss in the declaration list produced
for ${declarations}, fixed
- Plug-out empty
Updated to rename the contructors and destructor
when their class is renamed
- Plug-out upgrade 1.0.1
Add the renaming of the contructors and destructor
when their class is renamed
- C++ utilities 1.0
New plug-out for C++ modeling. Actually this
one works on class to help to add contructor (without
parameter), destructor (virtual or not), copy
constructor (with parameter const or not) and
assignment operator (with parameter const or not),
of course all these operations have an empty body.
This plug-out is defined in C++ and will be
extended depending on your requests. The name of the
executable is cpp_util
Because I am not a Java developer, I don't know what may
be usefull for Java, don't hesitate to ask for a Java
utilities plug-out
2.5.4
September, 11th 2005
- Previous releases may crash when you close
a dialog without closing the sub editions lauched through
the button editor with BOUML_EDITOR not defined,
fixed. Furthemore now when you do it, BOUML ask you to confirm
the loss of the modifications made through the sub editions not
yet closed.
- When you created a dependency between two components
the result was a generalization, fixed.
- The size of a closed dialog is saved to be re-used
the next time a dialog of the same type will be opened.
- Force the drawing name of a use case to be on
the top of the use case picture
- The keyword ${description} is added for the code
generation. This one similar to ${comment} except
that the code generators produce the description part
without adding "//" or /* .. */. This allows you to choose
between the two ways to produce the comments. This new
keyword is of course managed by the reverse in case it is
used in the defaults set through the generation settings.
When this new keyword is used, the reverse doesn't remove
the "//" or "/*...*/" from the reverse form to set the
description in the model.
- C++ Reverse 2.0.3
Previous releases produced a syntax error when
the visibility is not specified in an inheritance,
fixed (default visibility is private).
Add management of ${description}
- C++ Generator 2.0.3
Java Generator 2.0.1
Java Catalog 2.0.3
Java Reverse 2.0.3
Idl Generator 2.0.1
Html Generator 2.1.1
Add management of ${description}
2.5.3
September, 4th 2005
- Drag and drop inside the browser may produced an
infinite loop when an item is finally not moved (placed
under itself), fixed.
2.5.2
August, 24th 2005
- C++ Reverse 2.0.2
Fixe bugs.
2.5.1
August, 21th 2005
- The API with the Plug-outs is extended to
manage the states.
- Html documentation Generator 2.1
Updated to manage the states, must not be used with
the previous releases of BOUML.
- Plug-out empty
Updated to manage the states, must not be used with
the previous releases of BOUML.
- Plug-out upgrade 1.0
This is a new plug-out, its goal is to upgrade
the (old) plug-outs not made from the last up to
date version of the plug-out empty, adding the
missing features.
It is applied through the entry plug-out upgrade of
the menu Tools (this entry doesn't appears while a
dialog is opened or when the project is not a
plug-out).
This first release add the management of the states
and associated features.
- C++ Generator 2.0.2
Remove a wrong check concerning inheritance.
2.5
August, 9th 2005
- Add state actions (,
and
).
- It was not possible to drag nested classes from the browser
into a sequence or collaboration or use case diagram. Fixed
- This the previous releases, when you try to open a sequence
diagram you may have the error message
'end' expected rather than 'show_full_operations_definition'
and a part of the diagram is not load. Fixed
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.4.1
August, 5th 2005
- Old releases of BOUML crash when you add a message
in a sequence diagram from a life line
to a class instance (this is forbidden : the
target must be a life line or a duration bar)
because the check was incomplete, fixed.
- C++ Reverse 2.0.1
Java Reverse 2.0.2
Java Catalog 2.0.2
Fixe a bug on the concatenation of the comments
during the reverses
2.4
July, 31th 2005
- Add state regions. Note : the regions are
not visible as long as the drawing of the state
is not enough increased
- Now, when you move or resize a state in a
state diagram, the position of its sub states
is updated
- The new sub-menu Diagram default format of the
Miscellaneous menu allows to set the default format
of the diagrams (Iso A2/A3/A4/A5, or US A/B/C)
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.3.2
July, 24th 2005
- To save the project is not allowed when a least a dialog
is opened. Now a message box is shown when the shortcut
Control-s is hit or the project's menu is asked
but a dialog is opened.
- Add the entry save visible picture part
near copy visible picture part in the diagram's
menu. This one allows to chooze a file to save the visible
part of the diagram using the PNG format.
- Rename column from "*" to "do" in some dialogs hopping this
is more visible, because some people ask me to know how
to remove operation's parameter etc...
- The optional environment variable BOUML_LIMIT_DESKTOP
allows to specify a sub-part of all the desktop, its value
must be x0,y0,x1,y1 without any spaces, where
x0,y0 specify the top-left corner and x1,y1
the bottom-right corner. These limits are taken into account
only for the initial size and position of the BOUML's
windows and when a dialog is opened, after that you are
able to go out of these limits up to the true desktop
limits. Usefull mainly for the users having a multiple
monitors (side by side) configuration, see the
the post Bugs > Window placement and sizing (multiple monitors)
on the forum
2.3.1
July, 18th 2005
- minor change on the way to set a diagram's item upper/lower
(see my respons for the post Bugs > state diagrams
on the forum)
2.3
July, 17th 2005
- Fixes concerning the colors in the sequences diagrams.
For the old release since the 2.2, editing the
drawing settings of a sequence diagram under Linux may
crash BOUML !
- Fixes in the Java definition of the empty
plug-out
- After a cut here made on a duration bar in a
sequence diagram, the color of the new duration bar
was not set, fixed
- Add behavioral state machine. Still on going, must be
done : to add region, to update empty plug-out
to access to the states. Activity diagrams
will be added too.
- A state machine is a state defined under a
class view, by default it has the stereotype
machine, these are only differences with the other
states.
- A sub machine is a state having
the stereotype submachine, this is only
difference with the other states. Theorycally
a sub machine is defined under a machine,
but BOUML doesn't check the usage of the stereotypes.
- Any state may contain sub states, pseudo
states, transitions and state diagram.
- When you add a state or a pseudo state
in a diagram out of any drawing state, the new
one is added to the state containing the diagram.
So in the example
it is useless to draw the state machine ReadAmount
to add sub states and pseudo states.
- An example
of a state machine and a state diagram
is given in the screenshots.
- In the dialog's User tab the value is now
edited through a multiline editor
- On the diagrams the keyboard's arrows Up, Down, Left
and right move the selected items.
- Html documentation Generator 2.0.1
ask for to remove or not all the already existing HTML
files in the target directory prior to generate the new ones
- C++ Generator 2.0.1
old releases crash on an empty enum, fixed
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.2.2
June, 15th 2005
- This release only exist for the Linux distribution,
some users have compilation problem associated with the
files Labeled.h, JavaCatWindow.cpp and
UmlWindow.cpp, fixed
2.2.1
June, 8th 2005
- Depending on your configuration the encoding of the
accentued characters in the BOUML files could be wrong.
Fixed
- Documentation still referred components rather
than artifacts, fixed
2.2
June, 5th 2005
- Add fragments (),
available in all the diagrams.
- Add continuations (),
available in the sequence diagrams.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
- Java Reverse 2.0.1
Java Catalog 2.0.1
Fixe the same bug in these two plug-outs
2.1
June, 2th 2005
- It is not still possible to draw association between
components, the already defined ones are removed,
the right way is to use dependency.
- Improve the component's drawing settings
to allows to write the component's compartments
(required and provided interfaces and the
realizations), for the components not drawn
as an icon.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.0
May, 23th 2005
- First version associated to UML 2.0.
- The sources, libraries and executables, are now supported by
artifacts rather than Components. The behavior of an
artifact is exactly the behavior which a component had.
- I suppose that all the components previously defined are used to produce
sources, libraries or executables, so :
-
When you load a project saved with a release less or
equal to 1.5.1, all the components become artifacts,
all the component views become deployment views and
all the component diagrams become deployment diagrams.
-
Furthermore, in case this project is a plug out, the
UmlBaseComponent class is modified with its members to
become the UmlBaseArtifact class, and the
UmlComponent class is modified to become the UmlArtifact
class updating only its default members. New
UmlBaseComponent and UmlComponent classes are created.
Obviously this may be not enough and you should have to do manually
some additional changes. The modified plug out doesn't allow
to fully manage components, for that you have to create a new
plug out from the new definition of the plug out named
empty.
- BOUML force a save as, then the project is closed.
- The only way to have components, component views and
component diagrams is to create new ones.
- A new drawing setting is added allowing to drawn the components
as an icon (old drawing) or following the UML 2.0 specifications.
Nethertheless when a component not drawn as an icon has a stereotype, this
least is written rather than <<component>>
the same rule is followed for the artifacts. The non icon drawing
is resizeable.
- The drawing of the required and provided interfaces
doesn't follow exactly the UML 2.0 specifications : to minimize
the number of labels, the interface's name is attached to the line
termination rather than to the line(s).
- C++ Generator 2.0
C++ Reverse 2.0
Java Generator 2.0
Java Reverse 2.0
Java Catalog 2.0
Idl Generator 2.0
Html documentation Generator 2.0
.pro Generator 2.0
Rose project import 2.0
Singleton 2.0
empty 2.0
Update plug-outs to follows the new API
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
1.5.1
May, 11th 2005
- Fixe a bug on the duration color saving.
- In case you can't reload a project because you have the
error ...expected rather than 'duration'
, acknowledge the message and exit from BOUML,
edit the specified file at the given line with any text editor and
replace duration by
duration_color. Retry : the same error may exist
several times.
1.5
May, 5th 2005
- The deletion of the labels in the diagrams is not
possible any more.
- Update the window title when the corresponding diagram
is renamed.
1.4.10
April, 24th 2005
- Do not re-open diagrams modified then closed to save
them, to decrease saving time.
1.4.9
April, 23th 2005
- Release 1.4.5 up to 1.4.7
may crash under Windows due to a C++ compiler bug in
optimize speed mode. Bypassed by having
one operation compiled with optimize speed off.
- Release 1.4.5 up to 1.4.8
doesn't save link and self link of the
collaboration diagram. Fixed
1.4.8
April, 17th 2005
- Release 1.4.5 up to 1.4.7
may crash under Windows due to a C++ compiler bug.
This delivery contains the debug version of BOUML
to mask the bug, because I do not have time to understand
what is append until the next week end, for professional
reasons.
- C++ Reverse 1.0.3
Adds management of Q_EXPORT, QM_EXPORT,
etc... present into Qt definition.
Little fixings.
1.4.7
April, 10th 2005
- Remove the management of the font associated to the screen
size introduced in the 1.4.5, because this is required by a
user.
- Add a progress bar appearing when a saving need time
1.4.6
April, 7th 2005
- New drawing settings dialog, using tabs
to reduce its size.
1.4.5
April, 6th 2005
- Add copy/cut/paste commands for
the diagrams. A paste is only possible in a
diagram whose type is the one of the diagram where the
copy/cut was made. The shortcuts are
Control c for copy,
Control x for cut and
Control v for paste.
The cut is equivalent to a copy followed
by a remove from view, this means that the corresponding
browser items are not deleted.
- Little modification to compute the default size of the
generation settings dialog.
- In case the default font point size is greater than 10
and the screen width is lower or equal to 1024 or its
height is lower or equal to 768, the default font point
size is set to 10.
1.4.4
April, 3th 2005
- Decrease the size of the drawing settings dialogs.
- The API base packages was read only. Now when the
associated file is writable, all may be changed except
the name. This allows to change the namespace/package/module
or the directories where the code generation are made.
- Add diagram's element alignement, the reference is the
first selected element.
- Fixe a bug concerning the undo changes in a diagram
and on the a bi-directional relation's role b
drawing in a diagram.
1.4.3
March, 31th 2005
- import Rose 1.1.2
Manage the components, note that the Rose tree of
components is not reproduced because the
components are too differents under Rose and BOUML,
and because BOUML recommends to place each component
view near the corresponding class view
- Html generator 1.1
Ask for the directory where the html and pgn files
will be produced rather than use a directory under /tmp
1.4.2
March, 28th 2005
- Drag and Drop from the browser to a diagram forgot to
map viewport position to content position due to
scrollbars position, fixed.
- Change positionning of the relation's role name and
multiplicity (correct it for a quarter of turn) in the
diagrams.
1.4.1
March, 23th 2005
- C++ Reverse 1.0.2
oupsss, C++ reverse loops on the first reversed file,
fixed.
1.4
March, 22th 2005
- Through the miscellaneous menu the size of the base font
used for the browser and the diagrams may be specified.
Note that sometimes changing the size does nothing because
the desired font is not available. A had introduced this
feature mainly because the default size under Linux and
Windows is not the same, this may change the relative
position of the objects and a relation drawn vertically
with one font will be inclined with an other.
This size is memorized in the file memorizing the project,
but I allow to change the font size even when the file
is read only (the new font size can't be saved).
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
1.3.2
March, 20th 2005
- Now all the sequence diagram items may be placed upper/lower.
1.3.1
March, 16th 2005
- import Rose 1.1.1
little change
1.3
March, 13th 2005
- Release 1.1 & 1.2 contains a major bug
linked to the diagrams saving, fixed.
- Add import of a bouml project into a package.
- Under Windows the optimal window size command may
produce an infinite resizing loop, fixed.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
1.2
March, 8th 2005
- import Rose 1.1
correction when a file path is specified through
a variable ($var form into the rose model files)
1.1
March, 6th 2005
- Now the identifier of an item in a diagram is fixed and
the order of the item definitions is also fixed in the
*.diagram generated files. This may help to merge diagram
files !
- C++ Generator 1.1
C++ Generated code was wrong in case a referenced class is
nested in an other one or sometimes when it is defined
in an other namespace, fixed.
C++ Generated code for a friend to a template class was
wrong, fixed.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous release of BOUML.
1.0
February, 26th 2005