2) Problèmes rencontrés :
2.1) Compréhension du système C-ISAM de
gestion de BD :
La librairie C-ISAM d'Informix qui avait été
utilisée pour gérer la banque de données fonctionne avec
un système de fichiers indexés grâce à des
clés. Il existe peu de documentation sur cette librairie à part
le manuel utilisateur qui est très technique et en anglais, c'est
pourquoi il a été assez dur de bien comprendre son mode de
fonctionnement ce qui était nécessaire pour corriger les anciens
programmes et aussi pour transférer la banque de données.
2.2) Organisation d'une BD de taille importante :
Il a été assez difficile de trouver un moyen de
gérer la nouvelle base de données utilisée par le
programme en Java, en effet à cause de la taille importante de la base
Java ne proposait pas de solution vraiment satisfaisante. Une solution aurait
pu être d'utiliser une base de données orientée objet
grâce à JDBC (Java DataBase Connectivity) mais cela aurait
impliqué soit que l'utilisateur se connecte à la base de
données sur un serveur distant, et ici on voulait développer un
programme n'ayant pas besoin de connexion Internet. Soit on aurait pu se
connecter à une base de données locale, mais à ce
moment-là l'utilisateur aurait du avant d'utiliser le programme
installer la base sur sa machine, c'est-à-dire installer un serveur, le
configurer et installer la base de données, ce qui aurait
été très pénible et aurait sûrement
découragé plus d'un utilisateur.
C'est pourquoi il fallait forcément opter pour la
solution de stocker les données dans des fichiers, mais là encore
ce n'était pas vraiment satisfaisant. En effet, Java ne propose pas
d'utiliser directement de fichiers indexés ce qui aurait
été très pratique dans notre cas. La solution finalement
adoptée d'écrire les données dans des fichiers à
accès direct en se plaçant à un certain point du fichier
est donc un bon compromis et nécessite la mise en place d'algorithmes
pour rechercher un enregistrement précis.
2.3) Réalisation des images radar :
Au niveau de la création et de l'affichage des images
radar plusieurs problèmes se sont posés. Tout d'abord il a fallu
transformer l'image dont les points étaient exprimés avec des
coordonnées polaires pour qu'ils aient des coordonnées
cartésiennes, ce qui n'a pas été très
simple. Heureusement Java possède une classe "Math"
qui permet de convertir des angles exprimés en degrés en radians
et vice-versa, ainsi que des variables prédéfinies telle que la
valeur de PI. Cela a déjà simplifié la programmation mais
il a fallu un certain temps avant d'afficher des images radar correctes ce qui
est maintenant presque terminé.
Il a aussi été difficile de trouver une
méthode de dessin des images qui soit assez rapide car ne connaissant
pas la programmation des interfaces graphiques en Java au départ, il
n'était pas évident de savoir quelle méthode utiliser.
Finalement l'exécution du programme a pu être
accélérée petit à petit et le temps d'affichage
d'une image est désormais raisonnable.
|