SOMMAIRE

I. CARACTERISTIQUES

II. L'INTERFACE UTILISATEUR

2.1 Fenêtre de Navigation

2.2 Fenêtre d'édition

2.3 Fenêtre « To Do »

III. FENETRE DE DETAILS

3.1 Onglet « ToDoItem »

3.2 Onglet « Properties »

3.3 Onglet « Javadocs »

3.4 Onglet « Source »

3.5 Onglet « Constraints»

3.6 Onglet « TaggedValues »

3.7 Onglet « Checklist »

3.8 Onglet « History »

IV.  CONCLUSION


I. CARACTERISTIQUES

ArgoUML est un outil d'aide à la conception orientée objet.

ArgoUML est entièrement codé en Java 1.2 et utilise les classes de base de Java (Java Foundation Classes). Ceci permet à ArgoUML de fonctionner sur pratiquement n'importe quelle plateforme munie d'une machine virtuelle Java.

 

ArgoUML est conforme avec la norme UML 1.3 définie par l'OMG. Le code pour la représentation interne d'un modèle UML est complètement produit suivant les spécifications de l'OMG. Pour se faire, une bibliothèque spéciale de metamodel ( NSUML ) a été développée par la société Novosofts sous licence GPL. Ceci rend ArgoUML extrêmement flexible pour s'ajuster aux nouvelles normes UML à venir. Cependant quelques caractéristiques avancées d'UML ne sont pas encore disponibles dans les diagrammes. Notamment, il n’existe pas encore de diagramme de séquence.

 

XMI est un format d'échange XML entre les outils UML. ArgoUML utilise ce standard de sauvegarde pour faciliter l'échange de données avec d'autres applications. Ceci permet de convertir des données Rational Rose vers ArgoUML. Malheureusement, cette conversion ne peut se faire sur les données graphiques de Rational Rose.

 

ArgoUML utilise l'outil GEF (Graph Editing Framework) de l'University de Californie Irvine (UCI) pour éditer les diagrammes UML. Les digrammes suivants sont supportés :

 

§         Diagramme de classes

§         Diagramme d'état

§         Diagramme d'activité

§         Diagramme de cas d'utilisation

§         Diagramme de collaboration

§         Diagramme de déploiement

§         Diagramme de séquence (disponible dans un future proche)

 

OCL (Object Constraint Language) est un langage logique de prédicat. ArgoUML est entièrement conforme à la syntax et aux types d'OCL et s'appuit sur le compilateur OCL développé par l'Université Technique de Dresden. Par ailleurs, il est possible de générer du code Java à partir de contraintes OCL.

 

Les données textes et les diagrammes de cas d'utilisations peuvent être maintenant stockés dans une base de données mySQL. Etant donné, qu'ArgoUML implémente JDBC, l'exportation des données vers n'importe quelle base de données compatible JDBC devient facile.

 

Les diagrammes peuvent maintenant être exportés vers un format GIF, PostScript, eps, PGML ou svg. Le format standard de sauvegarde des diagrammes reste le PGML, mais il sera changé lors de la prochaine norme en svg (Scalable Vector Graphics) suivant les spécifications du consortium W3C.

 

ArgoUML permet la génération de classes Java à partir des diagrammes de classes.

 

Design Critics est un thread de control qui s'exécute en tâche de fond. Il analyse le travail de l'utilisateur, avertit des erreurs de syntaxes et propose des améliorations. Design Critics n'interrompt jamais l'utilisateur, mais envois toutes ses remarques dans la « To Do » liste.

 

Une des difficultés des concepteurs est de garder le fil conducteur de leur conception. C'est à dire le séquencement des tâches à réaliser. Grâce à la « To Do » liste, ArgoUML facilite le travail des concepteurs en leurs rappelant les tâches élémentaires qui reste à accomplir et les éventuelles erreurs trouvées par le Design Critics. Ceci permet alors au concepteur de se concentrer d'avantage sur des questions de conceptions et non sur des problèmes de syntaxes. Par ailleurs, le concepteur peut ajouter des notes personnelles dans la « To Do » liste pour rappel. Les entrées de la « To Do » liste peuvent être ensuite classées par ordre de priorité. Dans certains cas, un wizard est disponible pour la résolution des problèmes.

 

Les Checklists sont largement répandues lors des réunions d'étude de conception, en partie, parce qu'elles rappellent aux concepteurs, les détails de conception à vérifier et permet d'éviter des erreurs communes de conception. ArgoUML fournit aussi une Checklist qui répertorie les questions essentielles à se poser. Comme par exemple, le nom de la classe est-il approprié ? etc. Par ailleurs, les checklists sont évidemment spécifiques aux éléments (classe, attribut, association,...) dont elles se rapportent .

 


 

II. L'INTERFACE UTILISATEUR

 

 

La fenêtre principale d'ArgoUML est composé de 4 sous-fenêtres :

·         Une fenêtre de navigation (en haut à gauche)

·         Une fenêtre d'édition        (en haut à droite)

·         Une fenêtre « To Do »     (en bas à gauche)

·         Une fenêtre détails           (en bas à droite)

 

Nous allons étudier en détails ces différentes fenêtres dans les parties suivantes.

NB : Notez que dans la figure ci-dessus, on remarquera qu'ArgoUML permet tout de même l'édition d'héritage multiple alors que java interdit l'héritage multiple.

2.1 Fenêtre de navigation

La fenêtre de navigation nous montre tous les éléments de notre conception (classe, attribut, association,...). Cette fenêtre est similaire à n'importe quel autre fenêtre de navigation, tel que l'Explorateur Windows ou Rational Rose.

Un simple clic sur un objet de cette fenêtre, sélectionne l'objet dans la fenêtre d'édition et force l'affichage ses propriétés dans la fenêtre de détails.

Un double-clic sur un objet permet d'effectuer des modifications de celui-ci dans la fenêtre d'édition. Bien que cette fenêtre de navigation soit similaire à beaucoup d'autres applications, ArgoUML fournit un système de filtre. En effet, grâce à la liste déroulante située en haut de cette fenêtre de navigation, il est facile d'obtenir une vue mettant en évidence l'héritage des classes ou les transitions entre les états. D'autres vues sont fournies par ArgoUML et il nous est possible de définir une vue personnalisée par le biais de la fenêtre « Navigational Perspective Configuration ».

 

2.2 Fenêtre d'édition

La fenêtre d'édition est l'espace de travail principal. Elle est utilisée principalement pour l'édition de diagrammes.

 

Cependant, il est possible d'utiliser cette fenêtre pour éditer une table qui liste le contenu des diagrammes.

 

Plusieurs onglets sont disponibles en bas de la fenêtre indiquant les différentes façons pour visualiser ou éditer un objet.

 

ArgoUML inclus par défaut l'onglet «As Diagram», et le téléchargement de fichier jar optionnel permet d'avoir les onglets «As Table» et «As Metrics».

 

2.3 Fenêtre « To Do »

La fenêtre « To Do » list est une aide mémoire sur les tâches restant à faire. Ces tâches peuvent être classées par ordre de priorité ou suivant différent critères. Les items de cette liste peuvent être des mémos personnels entrées par le concepteur, mais la majorité d'entres-eux est générée par le thread de contrôle : Design Critics. En effet, le Design Critics analyse continuellement le travail du concepteur à la recherche d'éventuels omissions ou problèmes. Lorsqu'un problème est trouvé, le thread de contrôle crée un item dans la « To Do » liste. Bien entendu, la résolution d'un problème répertorié induit la suppression automatique de l'item de la « To Do » liste.

Lors de la sélection d'un item de la « To Do » liste, les informations relatives au problème sont affichées dans la fenêtre de détails sous l'onglet « ToDoItem ».


III. FENETRE DETAILS

La fenêtre de détails permet l'édition d'informations concernant les objets selectionnés. La plupart des onglets possèdent une flèche orienté indiquant les objets auxquels l'onglet se rapporte. Par exemple, l'onglet « ToDoItem » possède une flèche orienté gauche indiquant que le contenu de l'onglet se rapporte à la fenêtre « To Do » liste. Les autres onglets ont une flèche orientée haut se référant aux objets de la fenêtre d'édition ou de navigation. L'onglet « History » ne possède pas de flèche orientée, sa présence dans la fenêtre détails est justifié par une facilité d'accès.

Chaque onglet peut-être extrait de la fenêtre détails par un double-clic.

 

Cependant, les fenêtres extraites ne sont pas mises à jour lors d'une modification de l'onglet correspondant dans la fenêtre détails.

3.1 Onglet « ToDoItem »

L'onglet « ToDoItem » donne la description des items de la fenêtre « To Do ».  La description est faite en trois courts paragraphes expliquant le problème, l'importance du problème et comment le résoudre.

La barre d'outils situé à gauche de l'onglet permet :

-         D'ajouter un mémo personnel dans la « ToDo » liste

-         Supprimer l'item « To Do » courant

-         Envoyer un mail à l'auteur de la critique de l'item courant (le mail est envoyé à Tigris dans le cas d'un item généré par le Design Critics)

-         Désactivé (Snooze) l'item durant un certain temps avant d'être réactivé

Certain item peut-être résolu par Wizard, dans ce cas les boutons "next" et "finish" deviennent actifs.

3.2 Onglet « Properties »

Cette onglet donne les propriétés des éléments selectionnés. Son contenu varie suivant le type des éléments sélectionnés.

Ces types sont définis comme suit :

·         General

o        Diagram

o        Package

·         Class Diagram

o        Package, Class, Interface, Instance

o        Dependency, Association, Generalization, Realization, Link

·         Use Case Diagram

o        Actor, Use Case

o        Association, Generalization

·         State Diagram

o        State, Pseudostate

o        Transition

 

3.3 Onglet « Javadocs »

Comme son nom l'indique, l'onglet « Javadocs » permet la saisie de documentation java sur l'élément sélectionné.

3.4 Onglet « Source »

L'onglet « Source » permet de voir le code java généré par ArgoUML. Pour le moment, toute modification effectuée sur de code n'est malheureusement pas répercutée sur le modèle UML.

3.5 Onglet « Constraints»

L'onglet « Constraints » permet d'éditer des contraintes sur l'élément sélectionné à l'aide du langage OCL (Object Constraint Language). OCL est un langage logique de prédicat. Malheureusement, cette version d'ArgoUML ne tient pas compte des contraintes saisies.

3.6 Onglet « TaggedValues »

L'onglet « TaggedValues » permet d'ajouter des tags sur les objets sélectionnés. On peut par exemple, saisir le statut de l'objet : testé ou non, la date de création, etc. Cependant, les valeurs de cet onglet n'est pas pris en compte par ArgoUML.

3.7 Onglet « Checklist »

L'onglet « Checklist » liste des questions essentielles à se poser lors de la conception. Ces questions sont naturellement spécifiques aux objets sélectionnés.

3.8 Onglet « History »

L'onglet « History » liste par ordre chronologique les critiques générés par le Design Critics et la manière dont elles ont été résolues.


IV. CONCLUSION

ArgoUML est un outil très simple d’utilisation. On voit que les concepteurs du produit ont réellement cherché à faciliter la tâche des développeurs, notamment par la thread de contrôle : Design Critics. On apprécie aussi le fait qu’ArgoUML soit un logiciel libre, mais sa diffusion auprès des utilisateurs risquent d’être compromis dû à une évolution assez lente du produit. En effet, ne pas pouvoir effectuer des diagrammes de séquences est fortement rédhibitoire à l’utilisation d’ArgoUML.

Par ailleurs, à part ArgoUML, les autres outils de modélisations UML du domaine libre restent vraiment primaires. Espérons donc un rapide développement d’ArgoUML pour enfin avoir une alternative aux logiciels payants et chers.