Bonjour,
Je suis grand débutant en programmation C++, bien que j'ai lu de très bons tuto, et que j'ai d'anciennes bases de POO avec java et un peu de php/html.
Je suis sur un projet conséquent d'un programme assez complexe, qui sert à des automatisations de tâches et calculs. J'ai déjà effectué une bonne partie de la phase conception, en réalisant les organigrammes du futur programme. L'architecture de mon projet est composée de différents "modules", qui correspondent à des tâches bien différentes qui s'enchainent, l'enchainement étant déterminé dans un cycle séparé. En somme:
Cycle de fonctionnement: (Début)->|Module 1|->|Module 2|->|Module 3|->(Fin)
Module 1: Chaine d'actions 1
Module 2: Chaine d'actions 2
Module 3: Chaine d'actions 3
Le programme devra avoir une interface graphique, au départ pour lancer l'application, modifier les paramètres, puis lancer le cycle. Et pendant le cycle, uniquement des fenêtres de présentation de l'avancement et de l'action en cours, mais ces dernières ne doivent pas empêcher la mise en pause ou l'arrêt forcé d'un cycle. Les paramètres dont je parle seront stockés dans un fichier XML, qui servira au programme pour le fonctionnement automatique, mais qui devra pouvoir être modifié manuellement (à partir d'une interface).
L'application utilisera des matrices et des calculs relativement poussés, une communication par port COM ainsi que des envois de résultats sur un serveur (ftp ou autre...).
1- Ai-je été suffisamment clair dans la présentation de mon projet?
Après différentes recherches, je pense m'orienter vers:
- une programmation en C++
- l'utilisation de Qt, notamment pour l'interface graphique, la lecture/écriture XML, et le fonctionnement réseau (COM et serveur)
- l'utilisation de la bibliothèque BOOST pour tout ce qui touche aux matrices
2- Ces choix sont-ils a priori pertinents?
3- Les bases sont à présent posées. Pour le développement à proprement parler, quelle est la marche à suivre? C'est-à-dire, d'une part, comment organiser le code, et d'autre part, utiliser les bibliothèques.
Dois-je programmer mes "modules" en C++, séparément, et ne prévoir Qt que pour afficher le tout par la suite, ou dois-je programmer mes modules directement dans Qt (en utilisant les variables de Qt les types, etc...)?
4- L'architecture de mes fichiers de code sera-t-elle la suivante:
- main.cpp: lancement du programme, interface graphique
- cycle.cpp: cycle principal appelé par le main, et appelant les modules
- module1.cpp: module 1, enchainement de tâches
- module2.cpp: module 2, enchainement de tâches
- module3.cpp: module 3, enchainement de tâches
- classeQt1.cpp: interface correspondant au module 1
- classeQt2.cpp: interface correspondant au module 2
- classeQt3.cpp: interface correspondant au module 3
- classePerso1.cpp: une classe d'objets utilisés dans le programme
- classePerso2.cpp: une autre classe d'objets utilisés dans le programme
J'espère avoir été assez clair dans mes interrogations,
Merci pour vos réponses.
Partager