Projet RIR : Rapport Hebdomadaire du 21 Mai 2015
Transcription
Projet RIR : Rapport Hebdomadaire du 21 Mai 2015
Projet RIR : Logiciel de Simulation et d’ajustement de spectres de réflectivité infrarouge en java Rapport Hebdomadaire du 21 Mai 2015 Étudiants : Idrissa Diagne Estelle Rivière Brice Robert Arthur Vallet Tuteur de stage : Hervé Peyre Anne-Muriel Chifolleau Projet tuteuré de Master 1 de Physique Informatique Table des matières 1 Compte Rendu 1.1 Réunion . . . . 1.2 Travail effectué 1.3 Arthur . . . . . 1.4 Brice . . . . . . 1.5 Idrissa . . . . . 1.6 Estelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 2 2 2 2 3 2 Diagramme de Gantt 4 3 Diagramme UML 5 1 Compte Rendu 1.1 Réunion Discussion sur le diagramme de Gantt : celui-ci doit comporter tout le projet avec toutes les tâches et le nom des personnes qui vont l’effectuer. Il doit afficher les dates de rattrapages des examens, ainsi que celles du rapport et de la soutenance (envoi d’un email à Mr. Casagne). Nous devons anticiper ces écheances pour pouvoir imprimer le panneau, envoyer le rapport et être prêt dans les temps. Nous devons aussi prévoir un programme livrable intermediaire. Si une personne fait deux tâches en même temps, elle doit quantifier son travail pour pouvoir afficher un pourcentage. La partie debogage doit tester tous les cas limites et fait partie de la tâche d’implémentation. Pour la partie ”Utilitaire d’aide” (cf. cahier des charges section 2.3 Durée Moyenne), il est important de penser au futur et donc au tactile. Ce problème pourrait être resolu avec une case à cocher. On a défini les tâches prévisonnelles. La partie prévisonnelle du projet doit fournir toutes les explications possible pour pouvoir être réaliser dans les prochaines années. Elle apparaı̂tra dans le rapport. Le programme doit pouvoir être modifiable simplement et donc modulable. Explication sur les ”Valeurs tabulaires”, il va donc falloir repenser la routine de calcul (cf. cahier des charges section 2.4 Longue Durée). Estelle 1 1.2 Travail effectué 1.3 Arthur Débogage Structure : La création de structure n’était pas fonctionnelle, c’est réglée (1j) débugoge Matériaux : Les Matériaux avec un TTL, devenant nul, avaient un problème pour se supprimer, ceci est réglé.(2j) optimisation Matériaux : Brice avait besoin de réécrire la classe matériaux, pour simplifier l’importation on a optimisé la lecture d’un matériau pour ne transmettre qu’un dictionnaire de paramètres.(1/2j) recherche retro engenering : Le retro engenering n’est pas disponible apres beaucoup de recherche. Les seules solutions existantes étant payantes (poseidon, together).(1/2j) soutien : Pour une plus grande productivité, la majorité de mon temps est consacrée à aider les autres. 1.4 Brice Prise de connaissances de la classe Materiau déja présent, de son fonctionnement, de sa structure et des appels liés par les autres classes.(3h) Il y a eu réflexion sur la conception d’une classe mère Pseudo-Material permettant l’implémentation de classes filles matériau.(2h) Ici, on a créé une sous classe Material possédant les paramètres des matériaux, nous permettant, par calcul, d’obtenir les indices optiques de celle-ci. La sous classe Material de PseudoMaterial ne traitant que sur les objets Java, nous avons donc par la suite créé une classe fille de Material, MaterialXML, qui prends, cette fois ci, en compte la lecture ou l’écriture des fichiers XML de la librairie et du projet. Cela a donc nécessité une refonte et création de nouveaux constructeurs, de méthodes, voir modification de classes qui sont liées comme la classe Oscillateur, LireMateriau et création de méthodes toString dans la classe MétaStructure facilitant le débogage. Lors des phases test, il y a eu quelques oublis de paramètres vite réglé. La plus grosse difficulté était la division du contenu de l’ancienne classe Materiau, présente dans le projet des années précédentes, et de devoir adapter son contenu, soit dans la classe mère PseudoMaterial avec les éléments en commun à tous les matériaux (Nom, Auteur, ID, Commentaire...), soit ceux qui leur sont propres(16h). Création d’une interface MatGenXML permettant une meilleure modularité lors du traitement des fichiers XML que cela soit pour MaterialXML ou encore d’une future classe à données tabulaire affectant la classe ListMaterial.(6h) 1.5 Idrissa Module experimentale. 2 1.6 Estelle J’ai envoyé un mail à Mr. Casagne pour obtenir les dates de soutenances et rapport. Nous attendons sa réponse. Cette semaine, j’ai pu me plonger dans les interfaces graphiques avec la création d’une interface ”AboutBox”(à propos) et d’une fenêtre appelée ProgressBar où l’on voit une barre de chargement et le logo du projet. J’ai commencé par prendre connaissance de la partie ”Interface” et ”Chargement” du projet. J’ai ensuite créé ”AboutBox”, séparé du programme pour commencer. Au moment de l’integrer au programme, j’ai rencontré une difficulté lié aux images. Un programme contient tous les chemins des images ”Images” dans ”DATA”. J’avais effectué ma fenêtre avec du code généré automatiquement par NetBeans, celui-ci ne pouvant être modifié, j’ai dû recommencer ”à la main” avec une autre méthode. Finalement, c’est en utilisant une partie du code généré automatiquement et en donnant les bons chemins que le problème a été resolu.(2 jours) J’ai ensuite pu implementer la barre de progression (2 jours). Le problème qui apparait très vite est que nous devions augmenter la barre progression ”à la main” puisque l’on ne connait pas les temps de chargement des fichiers et qu’il est aléatoire. La seconde difficulté est que les ordinateurs n’affichaient pas le logo et la barre de progression. La fenêtre se ferme après son chargement. La fenêtre apparaissait mais n’affichait pas le logo et la barre de progression. Nous (Arthur et moi) avions donc essayer différentes méthodes avec ”wait”,”Thread”, ”timer”, et callback” ainsi que l’utilisation de méthode ”synchronized”. Le problème a finalement été réglé. Je suis en train de créé une fenêtre transparente pour la ProgressBar. Ce qui me permet de prendre en main les programmes liés au drag’n drop et qui me sera utile pour ma prochaine tâche le drag’n drop. 3 2 Diagramme de Gantt Figure 1 – Diagramme de Gantt 4 3 Diagramme UML Figure 2 – UML 5