TECHNOLOGIE OBJET RAPPORT DU PROJET LONG LANGAGE : JAVA ANIMATION DE DIAGRAMMES D ETAT.

Documents pareils
Cours de Génie Logiciel

SOMMAIRE. Présentation assistée sur ordinateur. Collège F.Rabelais 1/10

Guide d utilisation 2012

Projet Active Object

Installation du logiciel Windows Suivant Démarrer Tous les programmes Démarrer Tous les programmes Marketing Manager Marketing Manager Linux ici Mac

Plateforme de capture et d analyse de sites Web AspirWeb

Manuel d utilisation de l outil collaboratif

GanttProject : guide utilisateur

Cartographie Informatique Eclairage Public

Réglages du portail de P&WC

Securexam Consignes pour l EFU Les 2, 3 et 4 juin 2015

USTL - Licence ST-A 1ère année Initiation à la programmation TP 1

Utiliser Net Support School (NSS Version ) Philippe Cailleretz Er-Tice Avion mars 2011.

WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/ bits, Windows 2008 R2 et Windows bits

Guide de l utilisateur Mikogo Version Windows

OBLIGATIONS D ÉPARGNE DU CANADA GUIDE DE TRANSMISSION WEB oec.gc.ca PROGRAMME D ÉPARGNE-SALAIRE 20$ 40$ 80$ 50 $ 30$ WEBGUIDE-14

KWISATZ_TUTO_module_magento novembre 2012 KWISATZ MODULE MAGENTO

BOSS : Bourses régionale du Sanitaire et du Social GUIDE UTILISATEUR ETUDIANT

TP Protocoles SMTP et POP3 avec Pratiquer l algorithmique

TUTORIEL Qualit Eval. Introduction :

Rapports d activités et financiers par Internet. Manuel Utilisateur

Groupe Eyrolles, 2003, ISBN : X

Manuel de l utilisateur

Guide explicatif de l utilisation. de la plateforme d éducation en ligne (e-learning)

Service des ressources informatiques - Conseil Scolaire de District Catholique Centre-Sud Page 1

Utilisation de la Plateforme Office365 et d Oultlook Web App

GUIDE DES PROFESSEURS(ES) POUR LÉA Version du 27 janvier 2009

Les tâches d un projet

Animer son cours depuis la tablette

Ouvrir le compte UQÀM

Ouvrez un compte Hotmail pour communiquer

GloboFleet. Mode d emploi CardControl Plus

Aide à l Utilisation du site «Mon Monitoring»

SOMMAIRE. Comment se connecter?

KWISATZ MODULE PRESTASHOP

MANUEL D UTILISATION DE LA SALLE DES MARCHES APPEL D OFFRES OUVERT ACCES ENTREPRISES. Version 8.2

Business Talk IP Centrex. guide. web utilisateur. pour. les services standards

Générer du code à partir d une description de haut niveau

Guide de rapports ADT Sélecte

V 8.2. Vous allez utiliser les services en ligne de la plate forme de dématérialisation de la Salle des Marchés achatpublic.com.

Manuel d utilisation du module Liste de cadeaux PRO par Alize Web

Contrôle Parental Numericable. Guide d installation et d utilisation

GUIDE Excel (version débutante) Version 2013

GUIDE D UTILISATION. Gestion de compte. à destination des intermédiaires

Guide d usage pour Word 2007

TP redondance DHCP. Gillard Frédéric Page 1/17. Vue d ensemble du basculement DHCP

PROGRAMMATION D UN ENREGISTREUR NUMÉRIQUE PERSONNEL (ENP) À PARTIR D ILLICO WEB. Guide d utilisation v 1.0

Tutorial Terminal Server sous

Logiciel SuiviProspect Version Utilisateur

YAPBA M. Logiciel libre de suivi de vos comptes

DISTRILOG 2 QUICK START

GUIDE D INSTALLATION INTERNET haute vitesse

AnaXagora LMS v3.0. Guide d utilisation

Administration du site (Back Office)

MODULE DES ENCAISSEMENTS. Outil de comptabilisation et de transfert de revenus des établissements au Service des finances GUIDE TECHNIQUE

EP60.92 Projet d application pluridisciplinaire La chasse aux trésors

Gestionnaire des services Internet (IIS)

Comment créer une facture

Gérer les règles de prix catalogue sur Magento

INITIATION A L INFORMATIQUE. MODULE : Initiation à l'environnement Windows XP. Table des matières :

COTISANT AU RÉGIME GUIDE D ACCÈS AU COMPTE

NOTICE D INSTALLATION ET D UTILISATION DE LIVE BACKUP

FACTURATION. Menu. Fonctionnement. Allez dans le menu «Gestion» puis «Facturation» 1 Descriptif du dossier (onglet Facturation)

Guide de présentation du courrier électronique. Microsoft Outlook Préparé par : Patrick Kenny

PROCEDURE D EXPORT-IMPORT DU CERTIFICAT InVS INTERNET EXPLORER

FICHIERS ET DOSSIERS

1. Visualiser la «carte» de mon réseau social

Sommaire Introduction... 3 Le but du projet... 3 Les moyens utilisés... 3 Informations sur le client FTP... 4 Pourquoi une version Linux et

Publication dans le Back Office

Les diagrammes de modélisation

CREER ET ANIMER SON ESPACE DE TRAVAIL COLLABORATIF

Webmail Login avec autre Browser qu IE INDEX

Documentation Technique du programme HYDRONDE_LN

Saisissez le login et le mot de passe (attention aux minuscules et majuscules) qui vous ont

Premiers Pas avec OneNote 2013

Site Professionnel Opticiens :

Le guide des parents

BIRT (Business Intelligence and Reporting Tools)

Manuel d utilisation de la plate-forme de gestion de parc UCOPIA. La mobilité à la hauteur des exigences professionnelles

MUNIA Manuel de l'utilisateur

Contrôle Parental Numericable. Guide d installation et d utilisation

Guide d installation de STS pour Linux

MANUEL D INSTALLATION

GUIDE D UTILISATION DU BACKOFFICE

Documentation du site Mise à jour : Septembre 2013

Module Communication - Messagerie V6. Infostance. Messagerie

SQL Data Export for PS/PSS

Plateforme AnaXagora. Guide d utilisation

Vous avez cliqué sur le lien disponible sur le Site Uniformation. Vous venez d arriver sur cette page.

Contrôleur de communications réseau. Guide de configuration rapide DN

GUIDE ADMINISTRATEUR BIEN DÉMARRER AVEC WISEMBLY

Installation de CPA STUDIO :

MO-Call pour les Ordinateurs. Guide de l utilisateur

La messagerie électronique avec La Poste

Guide de l utilisateur Communauté virtuelle de pratique en gestion intégrée des risques

Les 1 er pas sur. Guide d utilisation

Création d une connexion VPN dans Windows XP pour accéder au réseau local de l UQO. Document préparé par le Service des technologies de l information

FAIRE UN PAIEMENT TIPI

M55 HD. Manuel Utilisateur

Table des matières ENVIRONNEMENT

Transcription:

École Nationale Supérieure d Électrotechnique, d Électronique, d Informatique, d Hydraulique et des Télécommunications. TECHNOLOGIE OBJET RAPPORT DU PROJET LONG LANGAGE : JAVA ANIMATION DE DIAGRAMMES D ETAT. Fait par : EL MAHI Moncef. SLIMANI Rajae BENSAID Mouad. Encadré par : Mr PANTEL Marc. Mr Navarro Emmanuel. Mr Gasparini Simone. 14 juin 2014

Sommaire 1 Introduction...................................... 3 1.1 Présentation des diagrammes d états transitions.................... 3 1.1.1 Description des diagrammes d états :...................... 3 1.2 Objectifs du projet.................................... 4 1.3 Cahier des charges.................................... 4 1.4 Organisation du travail.................................. 5 2 Modélisation du simulateur de diagrammes d états-transitions........ 6 2.1 Démarche de la construction de notre modèle..................... 6 2.1.1 Action....................................... 6 2.1.2 Evènement.................................... 6 2.1.3 Transition..................................... 6 2.1.4 Etat........................................ 6 2.1.5 EtatSimple.................................... 6 2.1.6 EtatAbstrait................................... 7 2.1.7 EtatExcecutable................................. 7 2.1.8 EtatConcurrent.................................. 7 2.1.9 EtatOU...................................... 7 2.1.10 Simulateur.................................... 7 2.1.11 SimulateurAbstrait................................ 8 2.2 Diagramme de classe................................... 8 3 Programmation du simulateur de diagrammes d état.............. 9 3.1 Choix de conception et raffinages............................ 9 3.1.1 nextstep de la classe EtatAbstrait....................... 9 3.1.2 nextstep de la classe EtatAbstrait....................... 10 4 Interface textuelle................................... 11 5 Interface graphique générique............................ 12 5.1 Cas d utilisation..................................... 12 5.2 Ergonomie......................................... 12 6 Test : Interface graphique spécifique simulant le comportement d un feu clignotant............................................ 14 6.1 Description........................................ 14 6.2 Démarche......................................... 14 6.2.1 Remarques.................................... 14 6.3 Diagramme........................................ 15 6.4 Construction du diagramme............................... 15 6.5 Simulation à travers l interface textuelle........................ 15 6.6 Simulation à travers l interface graphique SWING.................. 17 7 Tests de l interface graphique générique sur l exemple de la figure 6..... 18 1

SOMMAIRE 2 8 Diagrammes de validation.............................. 20 8.1 Diagramme de validation 1............................... 20 8.2 Diagramme de validation 2............................... 20 9 Répartition des tâches................................ 21 10 Manuel utilisateur................................... 22 11 Conclusion....................................... 23

1 Introduction 1.1 Présentation des diagrammes d états transitions 1.1.1 Description des diagrammes d états : Définition Un diagramme d états (appelé aussi diagramme d état-transitions) décrit le comportement des objets d une classe au moyen d un automate d états associés à la classe. Le comportement est modélisé par un graphe, ce graphe est constitué de Noeuds, ces derniers représentent les états possibles des objets. Et aussi, de transitions d état. Une transition est une action ou une réaction de l objet sous l effet d une occurrence d événement. Un diagramme d états peut être aussi defini comme une description du cycle de vie d un objet d une classe. En effet : Les états qui peuvent être pris par les objets d une classe. Les événements qui provoquent la transition d un état à un autre. Les actions subies ou provoqués qui accompagnent un changement d état. Les activités qui surviennent tant que l objet est dans un état donné. Maintenant, on passe à la définition de chaque composantes du diagramme : On commence par la notion d état. Un état est une étape dans le cycle de vie d un objet. Chaque objet possède à un instant donné un état particulier. Chaque état est identifié par un nom.de plus, il est stable et durable. Chaque diagramme d états transitions comprend un état. Remarques : Il est possible de n avoir aucun état final (exemple d un système qui ne s arrête jamais). Pour la notion de transitions : Les états sont reliés par des connexions unidirectionnelles appelées transition. Concernant la notion d événement, en fait : Un événement correspond à l occurrence d une situation donnée dans le domaine étudié. Un évènement est une information instantanée qui doit être traitée à l instant où il se produit. 3

1. INTRODUCTION 4 On peut décrire un événement par : Son nom. Sa liste de paramètres. Son objet expéditeur. Son objet destinataire. Sa description textuelle. Remarque : La communication entre objets par évènements est de type asynchrone, atomique et unidirectionnelle. En résumé Etat d un objet : Situation d un objet que l on désire connaître et gérer. Transition : Passage d un objet d un état à un autre. Elle est déclenché par un évènement. Evènement : Stimulus qui provoque une (ou plusieurs) transition(s). A chaque stimulus peut correspondre une action responsable des modifications de l objet. Pour la notion de Garde : Une garde est une condition booléenne qui permet ou non le déclenchement d une transition lors de l occurrence d un évènement. 1.2 Objectifs du projet L objectif de ce projet est de simuler des diagrammes d état, plus précisément d afficher les évènements qui se produisent au cours de la simulation et les interactions correspondantes. Une interface graphique sera également définie. 1.3 Cahier des charges Le projet doit respecter un cahier des charges qui définit les contraintes de réalisation suivantes : Le projet est à effectuer en groupe de trois personnes Il faut une organisation professionnelle afin de pouvoir avancer vite et rendre un travail de qualité. La démarche de notre organisation vous sera présent dans une section suivante. Le projet doit fonctionner sans aucune modification sur les machines LINUX des salles de TP du 2eme étage du batîment C de l ENSEEIHT. Les principes énoncés en cours et étudiés en TD et TP doivent être respectés lors de la réalisation de ce projet.

1. INTRODUCTION 5 Les divers outils vus en TOB devront être utilisés s ils peuvent être utiles pour la réalisation du projet. Nous devons disposer d un algorithme qui permet d effectuer toutes les fonctions escomptées tout en prenant en compte la complexité temporelle et spatiale. Ces fonctions doivent être compréhensible par l utilisateur et doivent prendre des paramètres que cet utilisateur peut entrer facilement (soit sur un terminal : ce qu on faisait jusqu à présent) ou via une interface graphique (Ce qu on va développer au cours de ce projet). 1.4 Organisation du travail Dès la publication du projet et la constitution des groupes, on a décidé de nous réunir afin de nous organiser et de répartir les tâches à faire pendant les vacances. à la fin de cette réunion, un chef du projet a été désigné dont la mission est de surveiller la progression du projet, le respect des Deadlines, la communication entre les membres du groupe et l information du professeur encadrant de la progression du travail ainsi que les prévisions des tâches à effectuer pour la semaine suivante. Pour la communication entre les membres du groupe, on a décidé de créer un groupe privé sur Internet nous permettant un échange instantané dans le cas de difficultés rencontrées par un membre. On a fixé des crénaux de travail individuel et collectif : Les créneaux de travail individuel nous permettent de réaliser les tâches individuelles. Les créneaux de travail collectif nous permettent de nous réunir afin de discuter de la progression du projet et de réunir les tâches faites tout en veillant à ce que le travail rassemblé soit cohérent avec la vision globale souhaitée et avec les contraintes fixées par le cahier des charges fonctionnel. Ceci est réalisé avec un calendrier gnatt chart :

2 Modélisation du simulateur de diagrammes d états-transitions 2.1 Démarche de la construction de notre modèle On va vous décrire dans les sous paragraphes qui suivent les choix réalisés dans la conception et l implémentation de ce projet. 2.1.1 Action l interface Action hérite de l interface Runnable. une action est déclenchée généralement par un événement. Une interface qui hérite d une autre, pourquoi??? En effet, si on utilise directement Runnable, on n aura plus besoin de créer une classe ( ici Interface ) Action. Du coup, on peux simplement justifier ce choix par le fait qu on veut avoir Action à la place de Runnable. Pour finir, Cette classe va être realisée lors de la création du test. 2.1.2 Evènement C est une classe qui a comme attribut un nom, ce dernier caractérise chaque évènement. 2.1.3 Transition La classe transition possède : Un état source. Un état cible. Unn évènement. Et enfin une action. La méthode la plus importante est celle qui nous permet de franchir une transition : franchir. 2.1.4 Etat L Etat est une interface, qui sert principalement à factoriser trois méthodes, qui sont : activer. désactiver. nextstep(list Evenement ). 2.1.5 EtatSimple La classe EtatSimple hérite de la classe abstraite EtatAbstrait. 6

2. MODÉLISATION DU SIMULATEUR DE DIAGRAMMES D ÉTATS-TRANSITIONS 7 2.1.6 EtatAbstrait C est une classe qui implémente( réalise ) deux interfaces, la première Etat et la deuxième qui est Comparable EtatAbstrait. Pour les attributs, on a choisit une liste pour chaque type d action, En effet : On une liste d action en entrée de l état : onentryaction On une liste d action en sortie de l état : onexitaction On une liste d action interne a l état : inaction 2.1.7 EtatExcecutable Cette classe hérite de la classe abstraite EtatAbstrait. Elle a deux méthodes de plus que la classe mère. Qui sont : ignorerfils. et reinitialiser. 2.1.8 EtatConcurrent La classe EtatConcurrent hérite de la classe abstraite EtatExecutable. Elle a comme attributs, une liste d états exécutables, qu on a appelé : régions. Elle a redéfinit toutes les méthodes qui se trouvent dans les classes mères. Plus, une méthode qui permet d ajouter une région à la liste de régions qu on avait. 2.1.9 EtatOU C est une classe qui hérite elle aussi de la classe abstraite EtatExecutable. Elle a comme attributs, une liste d états executables, qu on a appelé : fils. Elle a redéfinit toutes les methodes qui se trouvent dans les classes mères. Plus, une méthode qui permet d ajouter un fils dans la liste de fils qu on avait. 2.1.10 Simulateur Un simulateur est représenté par une interface qui permet de factoriser les méthodes, et de les spécifier. Les méthodes dont on a besoin ici sont : activer (EtatAbstrait) désactiver(etatabstrait) franchir(transition) ignorer( EtatAbstrait) indeterminisme(list Transition ) demarrer nextstep ajouterevenment(evenment) retirerevenment(evenment)

2. MODÉLISATION DU SIMULATEUR DE DIAGRAMMES D ÉTATS-TRANSITIONS 8 2.1.11 SimulateurAbstrait Le SimulateurAbstrait est une réalisation de l interface Simulateur. Et, qui est elle même censé être hérite par d autres classes afin de réaliser les simulations. Elle a comme attributs : une liste d états actifs. une liste de transitions franchises. un ensemble d evenments (pour eviter la redondonce). un ensemble d etats ignorés (sert a ignorer des états sans les desactiver). un état executable qui representra l entrée. Et dernièrement le pas de simulation. Maintenant, En ce qui concerne les méthodes. On réalise toutes les méthodes spécifiées dans l interdace Simulateur, Tout en ajoutant une méthode clearall qui permet de vider toutes les listes présentes dans la classe SimulateurAbstrait. 2.2 Diagramme de classe

3 Programmation du simulateur de diagrammes d état 3.1 Choix de conception et raffinages Par souci d efficacité, on ne décomposera que les méthodes dont l alorithme est un peu complexe, on évitera ainsi de raffiner les méthodes dont l algorithme est licite. 3.1.1 nextstep de la classe EtatAbstrait a Méthode : nextstep() Sémantique : cette méthode passe à l état suivant en éxécutant les événements liés à l état en cours. Paramètres : environnement : List Evenement Préconditons : aucunes Postconditions : L état est passé à l état suivant R0 : Passer à l état après avoir exécuté les événements liés à l état en cours R1 : (*Passer à l état après avoir exécuté les événements liés à l état en cours*) Définir une liste de transitions franchissables ; Franchir les transitions franchissables ; R2 : (*Définir une liste de transitions franchissables *) Structure de contrôle : Pour... faire, Si... alors.. sinon Pour tout chaque événement de l environnement a Si la transition associée à cet événement appartient à l état alors a L état est rajouté à la liste des états franchissables ; a Sinon rien ; Fin pour ; (*Franchir les transitions franchissables*) Structure de contrôle : Si... alors.. sinon S il existe des transitions franchissables alors a Désactiver l état a S il existe plusieurs transitions franchissables alors a Traiter le cas d indéterminisme a Sinon a Franchir la transition ; Rajouter la transitions à la liste des transitions franchies dans l environnement du Simulateur ; a Fin si ; Fin si ; 9

3. PROGRAMMATION DU SIMULATEUR DE DIAGRAMMES D ÉTAT 10 3.1.2 nextstep de la classe EtatAbstrait a Méthode : nextstep() Sémantique : cette méthode permet de passer un l étape suivante lors de la simulation Paramètres : Préconditons : aucunes Postconditions : Le simulateur est passé à l état suivant R0 : Passer à l étape suivante lors de la simulation. R1 : (*Passer à l étape suivante lors de la simulation*) Incrémenter le pas de la simulation et réinitialiser la liste des événements, des transitions franchies et des états actifs ; R2 : (*Incrémenter le pas de la simulation et réinitialiser la liste des événements, des transitions franchies et des états actifs *) pas pas+1 ; copieevenements evenements ; copieetatsactifs etatsactifs ; Passer à l état suivant ; R3 : (*Passer à l état suivant*) Structure de contrôle : Pour... faire, Si... alors.. sinon Pour tout les états actifs faire a Si l état en cours n est pas ignoré alors a On passe à l état suivant en exécutant les événements liés à cet état ; a Sinon rien ; Fin pour ;

4 Interface textuelle La classe SimulateurTextuel hérite de la classe abstraite SimulateurAbstrait, qui elle même implémente(ou réalise) l interface Simulateur. Dans cette classe on commence par la redéfinition de la méthode démarrer qui a comme but principal d afficher les états actifs, la durée de simulation, la liste des événements et les transitions franchises. Tout en appellant la méthode démarrer de la classe mère. On a aussi redéfinie la méthode nextstep de la même manière que la méthode démarrer. l indéterminisme hérite quant à lui directement de la classe Simulateur. Elle propose à l utilisateur la liste des transitions possibles. Et permet de franchir la transition choisie par l utilisateur. Pour résumer, la classe SimulateurTextuel est créée uniquement pour effectuer l affichage souhaité à chaque simulation et qui correspond à l affichage donné dans l énoncé. En tenant compte de l indeterminisme s il y en a. 11

5 Interface graphique générique 5.1 Cas d utilisation avec détails sur les bouttons simuler et pas à pas. 5.2 Ergonomie Les deux figures suivantes présentent l interface graphique générique de l application qui permet la simulation des diagrammes d état : Pour organiser au mieux cette interface, notre choix s est porté sur une barre de menu contenant les principales fonctionnalités (Fichier Quitter l application,? A propos et le manuel utilisateur ), ensuite on a mis deux onglets : Diagramme et Evenement : Le premier donne à l utilisateur la possibilité de visionner le diagramme sous forme d un arbre JTree (Jpanel n1), le (Jpanel n2) permet d afficher la liste des transitions franchies JList et le (JPanel n3) permet d afficher l occurence d un évènement. Le second onglet contient la liste d évènements à engendrer. On sélectionne les évènements qu on souhaite déclencher et on les ajoute à la liste des évènements à déclencher au TOP SUIVANT, de même on peut retirer un évènement de la liste des évènements prévus au TOP SUIVANT. On a bien veillé à ne pas permettre l ajout du même évènement plus d une fois à la liste des évènements à déclencher. En ce qui concerne la partie en bas, on un Jlabel qui affiche le numéro du pas de simulation, un bouton démarrer qui devient simuler quand la simulation est lancée et qui permet d effectuer la simulation pas à pas, un 2 ème bouton démarrer qui à son tour devient simuler quand la simulation commence et qui permet la simulation en continu du diagramme d état, un bouton pause qui permet de suspendre la simulation, un bouton réinitialiser qui permet de remettre à zéro la simulation et finalement un bouton quitter qui permet de quitter l application. 12

5. INTERFACE GRAPHIQUE GÉNÉRIQUE 13 Dans le cas d indéterminisme, une fenêtre s ouvre et invite l utilisateur à choisir entre une transition parmi la liste des transitions franchissables. On n a pas encore réussi à le faire, c est pourquoi, on tâchera à vous présenter ce cas le jour des tests.

6 Test : Interface graphique spécifique simulant le comportement d un feu clignotant 6.1 Description 6.2 Démarche Il s agit tout simplement de changer la vue par rapport à l interface générique, j ai par conséquent programmer les boutons de telle sorte qu ils engendrent des évènements puis j effectue une simulation en continu. L interface graphique contient la photo arrière d une voiture et un ensemble de boutons : Le bouton permet de déclencher le feu gauche. Le bouton permet de déclencher le feu droit. Le bouton détresse permet de déclencher les feux de détresse. Le bouton AF qui permet d arrêter les feux. Et le bouton quitter qui permet de fermer l application. 6.2.1 Remarques Par manque de temps, on a utilisé le diagramme de la figure 6 pour simuler le fonctionnement des feux clignotant. Par conséquent, il faut obligatoirement passer par le bouton AF si on veut passer du feu droit au feu gauche ou vice versa. On peut interprété ça par le fait que le conducteur passe par l état intermédiaire. (le bras dans son état normal) pour basculer d un état à un autre. Par contre pour les feux de détresse, ils ont un fonctionnement normal, pour les activer, on appuie sur le bouton détresse, et pour les désactiver, on réappuie sur le même bouton. 14

6. TEST : INTERFACE GRAPHIQUE SPÉCIFIQUE SIMULANT LE COMPORTEMENT D UN FEU CLIGNOTANT 15 6.3 Diagramme 6.4 Construction du diagramme La construction du diagramme commence par lister l ensembles des états simples, des états concurrents et des super états, on passe par la suite à la définition des évènements, des transitions entre les états et l affectation des actions associées à chaque transition.et enfin on n oublie pas de déclarer tous les fils auprès de leur père (superétat). 6.5 Simulation à travers l interface textuelle A chaque pas, le simulateur textuel propose à l utilisateur s il veut ajouter un événement à l environnement. Si c est le cas, l événement est rajouté à l environnement et déclenché lors du prochain pas de la simulation.

6. TEST : INTERFACE GRAPHIQUE SPÉCIFIQUE SIMULANT LE COMPORTEMENT D UN FEU CLIGNOTANT 16

6. TEST : INTERFACE GRAPHIQUE SPÉCIFIQUE SIMULANT LE COMPORTEMENT D UN FEU CLIGNOTANT 17 6.6 Simulation à travers l interface graphique SWING La photo qui suit montre la vue choisie pour tester le fonctionnement des feux clignotants. On a rencontré quelques difficultés pour définir un intervalle au bout duquel les actions se répètent, par conséquent, on a contacté d autres groupes qui nous ont proposé l utilisation d un timer, malheureusement, on n a pas réussi à l inclure dans notre interface. on a été dans l obligation de nous adresser envers des élèves de deuxième année qui nous initier à la notion des threads. On n a pas utiliser la notion pour faire plusieurs taches au même moment, mais on a contourner la notion pour obtenir du chronométrage.

7 Tests de l interface graphique générique sur l exemple de la figure 6 18

7. TESTS DE L INTERFACE GRAPHIQUE GÉNÉRIQUE SUR L EXEMPLE DE LA FIGURE 6 19

8 Diagrammes de validation 8.1 Diagramme de validation 1 Pour le premier diagramme de validation, on a trouvé un petit problème qu on a résolu par la suite. Quand on ajoute l événement A à l environnement le fils reste actif et par conséquent on ne passe pas à l état 1, on avait déjà pensé à ce problème lors de la conception, mais dans le cas où les événements sont différents. 8.2 Diagramme de validation 2 Pas de problèmes majeurs. 20

9 Répartition des tâches Après la séance du premier retour avec le professeur encadrant, le groupe s est réuni afin d apporter des modifications sur le diagramme UML comme a été suggéré. En effet, lors du premier rapport le diagramme était incomplet, on a donc mené une analyse plus approfondie et une réflexion sur l architecture du code qui a fait qu on a apporté les modifications nécessaires. Après s être mis d accord sur le diagramme UML final, ainsi que le patron de conception général, les tâches on été réparties comme suit : Conception du modèle et son implantation : Rajae SLIMANI et Mouad BENSAID Conception de la vue (Interfaces graphiques) et intégration avec le simulateur : Moncef EL- MAHI Exemples de test : tout le groupe, on a essayé de faire plusieurs exemples du plus basique au plus compliqué afin de tester tout les critères demandés. Rapport final : tout le groupe, chacun a expliqué la partie qu il a effectué après concertation avec le groupe. Au fur et à mesure de l avancement du projet, lorsque un membre du groupe rencontrait une difficulté (des problèmes de débuggages par exemples..), tout le groupe intervenait pour résoudre le problème afin de veiller à ce que le projet évolue parallèlement et ne pas retarder l exécution des tests. Nous sommes convenu à ce qu on s accorde des deadlines pour la réalisation de chaque partie (elles varient selon la complexité de la partie ainsi que la priorité de celle-ci, cf GanttChart) que chacun s est engagé à respecté afin de gérer au mieux le temps attribué pour la réalisation du projet. 21

10 Manuel utilisateur Afin de simuler un diagramme d état prédéfini, veuillez suivre les étapes suivantes : 1. Le diagramme à simuler doit être implémenté en JAVA. 2. Définir l arborescence du diagramme : Rentrer les Super-Etats et les sous états correspondant en respectant la hiérarchie et l indentation. L arborescence vous permettra de mieux visualiser la simulation en conclure le bon déroulement de celle-ci. 3. Rentrer la liste des évènements contenue dans le diagramme. 4. Pour une simulation pas à pas : Cliquer sur le bouton simuler pas à pas. Sur l onglet Evènements, ajouter l événement que vous souhaitez exécuter (lister dans le champs Evènement à déclencher, l événement sera ainsi ajouté à l environnement d exécution. Vous le verrez apparaître dans le champ TOP suivant qui indique qu il sera exécuté au TOP suivant de l horloge. Revenir sur l onglet Diagramme, la transition franchie sera affichée dans le champs Transitions franchies. Faire de même pour le pas suivant. Le nombre de pas simuler est affiché en bas à droite de la fenêtre. 5. Pour une simulation en continue : Sur l onglet Evènements, ajouter l événement que vous souhaitez exécuter (lister dans le champs Evènement à déclencher, l événement sera ainsi ajouté à l environnement d exécution. Vous le verrez apparaître dans le champ TOP suivant qui indique qu il sera exécuté au TOP suivant de l horloge. Revenir sur l onglet Diagramme, cliquer sur le bouton Démarrer dans le champs En continu, les transitions franchies seront alors affichées au fur et à mesure. Si l on souhaite rajouter un événement, cliquer sur le bouton pause et suivez les même étapes d ajout que précédemment ensuite cliquez sur simuler. La simulation en continue alors va continuer en tenant compte de l événement ajouté. 22

11 Conclusion Le projet long était avant tout une bonne épreuve de travail de groupe qui nous a permis de mener une réflexion à la fois globale et partagée. A l issue, nous avons pu développer le sens d initiative, de critique et de prendre du recul sur les choix de conception. Partir de rien nous a aussi permis de mener une profonde réflexion, d établir une architecture propre et non imposée et donc de mieux cerner le problème afin de répondre au mieux aux critères imposés et choisir les solutions adéquates. La gestion du timing et la répartition des tâches étaient un grand apport personnel en terme d outil et de stratégie d organisation. En ce qui concerne l apport pédagogique, le projet a balayé à peu près toutes les notions vues en cours, ce qui était un bon exercice où l on a retravaillé les notions pour développer la maîtrise du langage de technologie objet. *** Fin *** 23