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