1. Université De Sousse
Institut Supérieur des Sciences Applique et de
Technologie de Sousse
ArgoUML
Réalisé Par :
Shili Mohamed
Atelier
génie
logiciel
Mohamed_recherche@hotmail.fr/Medshili_isetkr@hotmail.fr Master
De recherche informatique
3. Introduction
ArgoUML est un logiciel de création de diagrammes UML [1] sous licence libre
et programmé en Java (et donc multi-systèmes).
Mais qu’est-ce que l’UML ?,Eh bien, c’est un langage permettant de décrire des
objets et leurs relations.
L’emploi de l’UML] facilite grandement le développement d’applications dans
des langages dirigés par les objets en permettant d’en établir un modèle formel et
facile à comprendre.
07/03/2014
M2RINFO SPI
3
4. Caractéristiques(1/2)
ArgoUML est un outil d'aide à la conception orientée objet.
•Une application multi-plateforme :
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.
Standard UML
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.
Supporte XMI
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.
07/03/2014
M2RINFO SPI
4
5. Caractéristiques(2/2)
Ainsi ArgoUML permet :
La modélisation d’une application informatique.
La création des neuf types de diagrammes UML de manière simple et
graphique :
le diagramme de cas d’utilisation,
le diagramme de classes,
le diagramme de séquence,
le diagramme de collaboration
le diagramme d’état
le diagramme d’activité
le diagramme de déploiement
L’exportation de ces diagrammes dans de nombreux formats
(GIF,PNG, PS, SVG, ...).
La génération de classes Java (et même C/C++ et Php avec des plugins)
des objets décris avec ArgoUML.
L’analyse de classe Java déja existante (très pratique).
07/03/2014
M2RINFO SPI
5
6. L'interface utilisateur(1/4)
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.
07/03/2014
M2RINFO SPI
6
7. L'interface utilisateur(2/4)
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 ».
07/03/2014
M2RINFO SPI
7
8. L'interface utilisateur(3/4)
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».
07/03/2014
M2RINFO SPI
8
9. L'interface utilisateur(4/4)
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 ».
07/03/2014
M2RINFO SPI
9
10. Fenêtre de détails(1/6)
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.
07/03/2014
M2RINFO SPI
10
11. Fenêtre de détails(2/6)
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é
07/03/2014
M2RINFO SPI
11
12. Fenêtre de détails(3/6)
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
07/03/2014
M2RINFO SPI
12
13. Fenêtre de détails(4/6)
Comme son nom l'indique, l'onglet « Javadocs » permet la saisie de documentation java sur
l'élément sélectionné.
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.
07/03/2014
M2RINFO SPI
13
14. Fenêtre de détails(5/6)
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.
07/03/2014
M2RINFO SPI
14
15. Fenêtre de détails(1/6)
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.
07/03/2014
M2RINFO SPI
15
16. Fenêtre de détails(6/6)
L'onglet « Checklist » liste des questions essentielles à se poser lors de la conception.
Ces questions sont naturellement spécifiques aux objets sélectionnés.
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.
07/03/2014
M2RINFO SPI
16
18. Application(1/9)
La Liste des Tables
Nom de Class
Description
Utilisateur
Décrit tout les utilisateurs du notre application.
Matériel
Décrit tout les matériels
Réclamation
Décrit la gestion des réclamations
Affectation
Décrit la gestion d’affectations des intervenants
Intervention
Décrit la gestion des interventions
07/03/2014
M2RINFO SPI
18
18
19. Application(2/9)
Description de la classe « réclamation» :
Champ
id_reclamation
Int
date_reclamation
Date
heur_reclamation
Date
département
VARCHAR (40)
code_materiel
Int
type_panne
VARCHAR(20)
date_interv_souaite
Date
description
07/03/2014
Type
VARCHAR(100)
M2RINFO SPI
19
19
20. Application(3/9)
Description de la classe «affectation» :
Champ
id_ affectation
Int
date_ affectation
Date
heur_ affectation
Date
Code_matériel
Int
type_panne
VARCHAR(20)
description_panne
VARCHAR(100)
intervenant
VARCHAR (30)
remarque
07/03/2014
Type
VARCHAR(100)
M2RINFO SPI
20
20
21. Application(4/9)
Description de la classe «intervention» :
Champ
id_ intervention
Int
date_ intervention
Date
heur_ intervention
Date
utilisateur
VARCHAR(30)
Code_matériel
Int
type_panne
VARCHAR(20)
remarque
07/03/2014
Type
VARCHAR(100)
M2RINFO SPI
21
21
22. Application(5/9)
Description de la classe «utilisateur» :
Champ
matricule
Int
nom
VARCHAR(30)
type
VARCHAR(30)
departement
VARCHAR(40)
email
VARCHAR(30)
telephone
Int
login
VARCHAR(40)
password
07/03/2014
Type
VARCHAR(20)
M2RINFO SPI
22
22
23. Application(6/9)
Description de la classe « matériel» :
Champ
code
Int
type
VARCHAR (30)
marque
VARCHAR (40)
utilisateur
VARCHAR (20)
commentaire
07/03/2014
Type
VARCHAR(100)
M2RINFO SPI
23
23
25. Application(8/9)
Gêner de classe utilisateur en code java
public class Utilisateur {
public Integer matricule;
public String nom;
public String type;
public String departement;
public String email;
public Integer telephone;
public String login;
public String password;
public Void Ajoute() {
return null;
}
public Void Modifier() {
return null;
}}
07/03/2014
M2RINFO SPI
25
25
26. Application(9/9)
Gêner de classe utilisateur en code php4
<?phperror_reporting(E_ALL);
if (0 > version_compare(PHP_VERSION, '4'))
{
die('This file was generated for PHP 4');
}
class Utilisateur{
*/
var $matricule = null;
var $nom = null;
var $type = null;
var $departement = null;
var $telephone = null;
var $login = null;
var $password = null;
function Ajoute() {
$returnValue = null;
return $returnValue; }
function Modifier() {
$returnValue = null;
return $returnValue;
}} ?>
07/03/2014
M2RINFO SPI
26
26
27. 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.
07/03/2014
M2RINFO SPI
27
27