28
ArgoUML Université De Sousse Institut Supérieur des Sciences Applique et de Technologie de Sousse [email protected]/[email protected] Master De recherche informatique Réalisé Par : Shili Mohamed Atelier génie logiciel

conception

Embed Size (px)

DESCRIPTION

AGL de conecption Argouml

Citation preview

Page 1: conception

ArgoUML

Université De SousseInstitut Supérieur des Sciences Applique et de

Technologie de Sousse

[email protected]/[email protected] Master De recherche informatique

Réalisé Par :Shili Mohamed

Atelier génie

logiciel

Page 2: conception

Introduction Introduction

PlanPlan

Caractéristiques

L'interface utilisateur

07/03/2014 2M2RINFO SPI

L'interface utilisateur

Fenêtre de détails

ConclusionConclusion

Application

Page 3: conception

Introduction 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

Page 4: conception

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'importequelle 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 lareprésentation interne d'un modèle UML est complètement produit suivant les spécificationsde l'OMG. Pour se faire, une bibliothèque spéciale de metamodel ( NSUML ) a été

07/03/2014 M2RINFO SPI 4

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êmementflexible pour s'ajuster aux nouvelles normesUML à venir. Cependant quelques caractéristiques avancées d'UML ne sont pas encore

disponiblesdans 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 desauvegarde pour faciliter l'échange de données avec d'autres applications. Ceci permet deconvertir des données Rational Rose vers ArgoUML. Malheureusement, cette conversion nepeut se faire sur les données graphiques de Rational Rose.

Page 5: conception

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

07/03/2014 M2RINFO SPI 5

le diagramme de collaborationle diagramme d’étatle 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).

Page 6: conception

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)

07/03/2014 M2RINFO SPI 6

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.

Page 7: conception

L'interface utilisateur(2/4)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.

07/03/2014 M2RINFO SPI 7

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 « NavigationalPerspective Configuration ».

Page 8: conception

L'interface utilisateur(3/4)L'interface utilisateur(3/4)

07/03/2014 M2RINFO SPI 8

La fenêtre d'édition est l'espace de travail principal. Elle est utilisée principalement pourl'é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».

Page 9: conception

L'interface utilisateur(4/4)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

07/03/2014M2RINFO SPI

9

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 ».

Page 10: conception

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

07/03/2014 M2RINFO SPI 10

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.

Page 11: conception

Fenêtre de détails(2/6)

L'onglet « ToDoItem » donne la description des items de la fenêtre « To Do ». La

07/03/2014 M2RINFO SPI 11

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é

Page 12: conception

Fenêtre de détails(3/6)

Ces types sont définis comme suit : General

07/03/2014 M2RINFO SPI 12

Generalo Diagramo Package

Class Diagramo Package, Class, Interface, Instanceo Dependency, Association, Generalization, Realization, Link

Use Case Diagramo Actor, Use Caseo Association, Generalization

State Diagramo State, Pseudostateo Transition

Page 13: conception

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é.

07/03/2014 M2RINFO SPI 13

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.

Page 14: conception

Fenêtre de détails(5/6)

07/03/2014 M2RINFO SPI 14

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.

Page 15: conception

Fenêtre de détails(1/6)

07/03/2014 M2RINFO SPI 15

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.

Page 16: conception

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.

07/03/2014 M2RINFO SPI 16

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.

Ces questions sont naturellement spécifiques aux objets sélectionnés.

Page 17: conception

Application

Application de Gestion des Pannes

07/03/2014 M2RINFO SPI 1717

des Pannes et des Interventions

Page 18: conception

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

07/03/2014 M2RINFO SPI 1818

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

Page 19: conception

Application(2/9)

Description de la classe « réclamation» :

Champ Type

id_reclamation Int

date_reclamation Date

heur_reclamation Date

07/03/2014 M2RINFO SPI 1919

heur_reclamation Date

département VARCHAR (40)

code_materiel Int

type_panne VARCHAR(20)

date_interv_souaite Date

description VARCHAR(100)

Page 20: conception

Application(3/9) Description de la classe «affectation» :

Champ Type

id_ affectation Int

date_ affectation Date

heur_ affectation Date

07/03/2014 M2RINFO SPI 2020

heur_ affectation Date

Code_matériel Int

type_panne VARCHAR(20)

description_panne VARCHAR(100)

intervenant VARCHAR (30)

remarque VARCHAR(100)

Page 21: conception

Application(4/9)

Champ Type

id_ intervention Int

date_ intervention Date

Description de la classe «intervention» :

07/03/2014 M2RINFO SPI 2121

heur_ intervention Date

utilisateur VARCHAR(30)

Code_matériel Int

type_panne VARCHAR(20)

remarque VARCHAR(100)

Page 22: conception

Application(5/9) Description de la classe «utilisateur» :

Champ Type

matricule Int

nom VARCHAR(30)

type VARCHAR(30)

07/03/2014 M2RINFO SPI 2222

type VARCHAR(30)

departement VARCHAR(40)

email VARCHAR(30)

telephone Int

login VARCHAR(40)

password VARCHAR(20)

Page 23: conception

Application(6/9) Description de la classe « matériel» :

Champ Type

code Int

type VARCHAR (30)

07/03/2014 M2RINFO SPI 2323

marque VARCHAR (40)

utilisateur VARCHAR (20)

commentaire VARCHAR(100)

Page 24: conception

Application(7/9) Diagramme de classe

07/03/2014 M2RINFO SPI 2424

Page 25: conception

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;

07/03/2014 M2RINFO SPI 2525

public String email;public Integer telephone;public String login;public String password;public Void Ajoute() {return null;}public Void Modifier() {return null;}}

Page 26: conception

Application(9/9) <?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;

Gêner de classe utilisateur en code php4

07/03/2014 M2RINFO SPI 2626

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; }} ?>

Page 27: conception

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

07/03/2014 M2RINFO SPI 2727

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.

Page 28: conception

07/03/2014 28M2RINFO SPI