Salut à tous,
Je commence ma maîtrise en génie logiciel en janvier. Mon projet de maîtrise contient de la ré-ingénierie, conception et optimisation.
Je pars d'un logiciel existant, ayant une mauvaise conception et contenant environ 200 classes.
Je résume un peu l'état courant du logiciel:
- Le logiciel est écrit en Java.
- L'interface graphique est en Qt Jambi.
- Le corps est basé sur l'algorithme génétique.
Le but du projet:
1- Faire une bonne conception:
Rendre le code compréhensible, meilleure structure , réutilisable ...
2- Optimiser le corps:
Le but ici est de réduire le temps d'exécution en remplaçant la partie algorithme par du code C++ et en parallélisant l'algorithme avec MPI ou autres.
Ma stratégie actuelle est de commencer par refaire la conception du corps en laissant les autres composantes de côté pour l'instant.
Mais je me pose plusieurs questions:
- Est ce que je devrais implémenter ma nouvelle conception de la partie algorithme d'abord en Java et ensuite convertir en C++ une fois que tous va bien ou je suis mieux de commencer en C++ puisque de toute façon l'algorithme sera écrit en C++ à la fin.
- Est ce que interfacer Java/C++ se fait bien ou je risque d'avoir des problèmes ?
- En considérant le fait qu'au moins 60% du logiciel sera re codé, que l'algorithme doit être codé en C++ et que Qt est mieux supportée en C++ qu'en Java, pensez vous que je devrais laissez tomber Java et réécrire tous en C++ ?
Merci !
Partager