Configurer Entreprise Architect pour ActionScript3

  • warning: array_map(): Argument #2 should be an array in /var/www/titouille.ch/www/modules/system/system.module on line 1050.
  • warning: array_keys() expects parameter 1 to be array, null given in /var/www/titouille.ch/www/includes/theme.inc on line 1845.
  • warning: Invalid argument supplied for foreach() in /var/www/titouille.ch/www/includes/theme.inc on line 1845.
Portrait de titouille

Entreprise Architect (EA) est un outil vraiment intéressant. A la base, c'est un puissant outil de création de diagramme UML de différents types.
J'ai eu l'occasion de l'utiliser pour faire des tests il y a un peu plus d'une année, et je m'y suis remis dernièrement pour d'autres tests de génération pour une entreprise.

Non seulement il permet de créer des diagrammes très complexes, mais il donne la possibilité de faire du reverse engineering de classes, et surtout de la génération. Et dans le cas qui m'intéresse, c'est un des rares outils (payant malheureusement) qui offre une génération complète en ActionScript 2 et ActionScript 3.

On crée son modèle UML avec un ou plusieurs diagrammes de classes / interfaces, on défini les attributs (variables) et les opérations (fonctions), on crée des liens entre les différentes classes (extends, import, implement, ...), on peut même définir le code qui devra se trouver dans les fonctions, des commentaires, les paramètres, etc... EA est très complet.

Pour ceux qui seraient intéressés à l'utiliser en tant que générateur de classes ActionScript, voici quelques petites astuces à suivre pour que les générations se passent sans souci :

  1. Pour générer des classes en ActionScript 3, incluant les notations de package, il est nécessaire de spécifier la version ActionScript utilisée pour la génération : menu Tools -> Options -> Source Code Engineering -> ActionScript et choisissez la version par défaut 3.0.
  2. Par défaut, l'implémentation de getter / setter n'est pas possible. Pour l'activer, il suffit d'aller dans le menu Settings -> UML et de rajouter 2 nouveaux stéréotypes "property get" et "property set" basés sur la classe "operation". Ils seront ensuite disponible lors de la création de nouvelles opérations dans une classe, en tant que stéréotypes. Au final, lors de la génération, nous aurons bien des déclarations du type "public function get ..." et "public function set ..."
  3. Il est possible de modifier la génération du code source en passant par le menu Settings -> Code Generation Templates. Un panneau apparait et permet de modifier n'importe quel élément de génération, par exemple pour rajouter des retours à la ligne ou des commentaires. Avec un peu de temps, on comprend vite qu'un élément de type "Class Body" inclu par exemple l'élément "Attribute" qui lui même inclu l'élément "Attribute Note" et "Attribute Declaration", etc... Ce qui suggère ainsi la logique d'implémentation, et les possibilités de modifications.
  4. On peut ajouter les types de données natifs du langage (uint, int, Date, *, etc...) via le menu Settings -> Code DataTypes. On choisi le langage, et on peut ajouter / modifier / supprimer les différents types natifs du langage pour qu'ils soient accessibles directement dans les types des variables, paramètres ou retours.

Voilà quelques pistes intéressantes, à vous maintenant de customiser EA tel que vous le désirez pour qu'il génère exactement ce que vous voulez Wink