Projet informatique UML-Cpp avec QT4 - BFH

Transcription

Projet informatique UML-Cpp avec QT4 - BFH
Haute école spécialisée bernoise
Haute école technique et informatique, HTI
Section Electricité et système de communication
Laboratoire de l’informatique technique
Projet informatique
UML-Cpp avec QT4
© 2012, Laboratoire d’informatique technique
Nom de fichier:
Création:
Auteur:
Version:
Projet_UML_Cpp.DOC
8 avril 2012
Elham Firouzi
1.1
Table des matières
Table des matières
1 Introduction ....................................................................................................................................... 3 1.1 But du projet ............................................................................................................................... 3 1.2 Les thèmes proposés................................................................................................................... 3 1.2.1 Bras robotique ..................................................................................................................... 3 1.2.2 Traitement de texte.............................................................................................................. 3 1.2.3 Programme de dessin .......................................................................................................... 3 1.2.4 Formule ............................................................................................................................... 4 1.2.5 Gestion de stock .................................................................................................................. 4 1.2.6 Station météo....................................................................................................................... 4 1.2.7 Calculatrice ......................................................................................................................... 4 1.2.8 UML diagramme de classe ................................................................................................. 5 1.2.9 Projet propre........................................................................................................................ 5 1.3 La notation .................................................................................................................................. 5 1.4 La documentation ....................................................................................................................... 5 1.5 Le délai pour la documentation .................................................................................................. 5 2 Exemple de projet : Puissance 4 ....................................................................................................... 6 2.1 Description du travail ................................................................................................................. 6 2.2 Les différents étapes de réalisation ............................................................................................ 6 2.3 La procédure de réalisation ........................................................................................................ 6 Annexe A: La bibliothèque Qt4 ................................................................................................................ 7 Procédure d’installation ........................................................................................................................ 7 Exemple de graphisme réalisé avec Qt4 ............................................................................................... 7 2
Introduction
1 Introduction
1.1 But du projet
Les buts de ce projet sont les suivants :


Approfondir la matière du module « Introduction dans la programmation Java » à l’aide de la
programmation d’une application Java légèrement plus complexe. Il s’agit en particulier de
réalisé un design orienté objet et de transposer ce dernier en code.
Encourager le travail en équipe. Par conséquent, ce projet devra être réalisé en groupe de 2 ou
de 3.
1.2 Les thèmes proposés
Choisissez un des thèmes suivants, qui ont été volontairement formulés de façon succin. C’est à vous
d’analyser le problème et de formuler un cahier de charge plus précis. Le but principale de ce projet est
la partie analyse et design en UML. Vous devez ainsi montrer au client la solution, que vous avez
retenue.
A la fin de projet vous devez rendre un rapport d’une dizaine de page environ. Dans votre rapport, vous
devez montrer la responsabilité des différentes classes et leurs relations. Vous devez également justifier
ces relations d’héritage ou d’associativité. Essayer de vous concentrer sur la structure générale du
programme. Mais il faut également approfondir un ou deux points.
1.2.1 Bras robotique
Développer un logiciel de contrôle pour un robot dont le bras est composé de cinq axes. Chaque axe
contient une sonde de position et une sonde qui mesure la force. Chaque axe peut être déplacé d’un
certain angle avec une certaine vitesse. Les déplacements doivent pouvoir être donnée de façon absolue
et relative. Chaque axe ne peut être déplacé que de 270 degrés au maximum. Chaque moteur possède
des circuits de protection contre la surcharge de l’effort et de température. Le contrôle du moteur
s’effectue à l’aide de l’interface sériel.
1.2.2 Traitement de texte
Développez un logiciel pour le traitement de texte. Un texte est composé de caractères ou de groupes
de caractères avec différents attributs (taille, jeux de caractères, couleur etc.). Un texte est composé de
paragraphes, qui peuvent être formatés (espace, ajustement etc.). Un texte peut être reparti en chapitres
et contenir des figures. Il existe également des routines de corrections, qui doivent chercher marquer les
erreurs.
1.2.3 Programme de dessin
Développez un logiciel pour le dessiner des schémas de circuits électroniques. Un circuit électronique
comprend des composants électroniques et leurs connexions. Les composants possèdent des propriétés
3
Introduction
intrinsèques et une position sur le circuit, qui doivent pouvoir être stockées. Le schéma du circuit doit
pouvoir être sauvé et rechargé à nouveau dans le programme.
1.2.4 Formule
Développez un logiciel pour le dessiner des graphes. Le programme doit pouvoir lire une formule sous
forme de string (par ex : sin(2*x)/(x-4)+1/x) et afficher son graphe sur l’écran, de façon
optimale ou selon les demandes de l’utilisateur. Pour des raisons d’efficacité, il est recommandé de
stocker la formule dans un format propriétaire, afin de ne pas devoir systématiquement analyser le
string.
1.2.5 Gestion de stock
Développez un logiciel pour la gestion de stock dans une entreprise. Les produits de base,
intermédiaires et finaux doivent être entreposés dans des stocks. Pour chaque produit intermédiaire ou
final, il faut pouvoir définir quels sont les composants de base qui interviennent dans sa production.
Pour des raisons de rendement, le stockage des produits doit être réduit au minimum. Pour chaque
article il faut définir une quantité minimale.
Pour tous les produits, il faut stocker les données techniques, le nom du livreur. Des nouveaux produits
doivent pouvoir être introduit dans le système ou des produits obsolètes doivent pouvoir être retirés du
système.
1.2.6 Station météo
Développez un logiciel pour la météo. Ce système est composé de deux parties : les stations de mesures
et le logiciel de traitement sur pc. Les stations de mesures sont reliées aux pc à l’aide de l’interface
RS232. Les stations de mesures mesurent la température, la pression de l’air, l’humidité ambiante, la
force et la direction du vent. Toutes les données sont stockées localement et sont accessibles par
RS233.
Le programme du pc lit les nouvelle mesure à travers l’interface RS232 et copie ces valeurs dans une
base de données Toutes ces valeurs doivent être affichée sur un graphe. L’utilisateur peut également
afficher des mesures du passé.
1.2.7 Calculatrice
Développez une calculatrice virtuelle pour pc avec une interface d’utilisateur graphique. Le GUI doit
contenir les boutons pour les chiffres 0 à 9, le point décimal et les opérateurs ‘+’ ‘-‘ ‘*’ ‘/’ ‘=’ et un
champ de texte pour l’affichage du résultat.
Les boutons et le champ de texte sont mis à disposition par QT4. La fonction connect() permet
d’annoncer les sources d’évènements du type bouton à leurs observateurs. La fonction setText() du
champ de texte permet d’y afficher un string.
4
Introduction
1.2.8 UML diagramme de classe
Développez un programme qui permet d’afficher des schémas UML. Le programme doit pouvoir
modéliser les classes et leur relation.
Dans une seconde étape ajoutez au programme les diagrammes de séquence et de collaboration.
1.2.9 Projet propre
Définissez un projet équivalent aux projets de ci dessus.
1.3 La notation
Le projet est noté, dont les critères sont les suivants:
1.
2.
3.
4.
La documentation
La fonctionnalité du programme
Le design du programme
La qualité du code
1.4 La documentation
La documentation doit contenir le cahier de charge, la gestion du projet (analyse), la structure du
programme (diagrammes de classes), les problèmes rencontrés, les tests etc. Le journal de travail peut
également y être fourni en annexe. Ajoutez également un CD avec le code source du programme. Le
rapport, sans les parties annexes, ne devrait pas contenir plus de 10 pages.
1.5 Le délai pour la documentation
Le délai pour la documentation est la 14ème semaine du semestre.
5
Projet puissance 4
2 Exemple de projet : Puissance 4
2.1 Description du travail
Le jeu puissance 4 doit être implémenté sur PC. Le programme doit posséder les caractéristiques
suivantes :
1.
2.
3.
4.
Les joueurs peuvent s’annoncer au début du jeu.
Chaque joueur reçoit une couleur.
Les joueurs peuvent jouer en alternance.
L’état du jeu doit être affiché avec une interface d’utilisateur graphique (GUI). Cette dernière
peut être programmée soit avec QT4 ou OpenGL.
5. Le programme doit déterminer le gagnant.
2.2 Les différents étapes de réalisation
En fonction de l’avancement du projet vous pouvez ajouter des nouvelles fonctionnalités à votre projet.
Toutefois la première étape devrait absolument être atteinte par tous les groupes. La deuxième étape est
le fonctionnement à travers le réseau. Le code pour la mise en réseau est mis à disposition sur le
serveur et sa description est fournie en annexe dans ce document.
6. Deux joueurs sur un PC
7. Deux joueurs à travers le réseau
8. Sauvegarde de l’état actuel du jeu
2.3 La procédure de réalisation
1.
2.
3.
4.
5.
Spécifier la partie gestion de projet (organisation du travail au sein de l’équipe, ...)
Réalisez le design du programme
Définissez le code du programme
Testez le code.
Constituez un journal de travail, dans lequel vous évoquez les connaissances acquises, les
problèmes rencontrés ainsi que les solutions pour ces problèmes.
6. La documentation ne devrait pas être écrite à la fin du projet, mais en parallèle.
6
Connexion des PC
Annexe A: La bibliothèque Qt4
Procédure d’installation
Voici la procédure pour installer Qt4 avec Eclipse.
1.
2.
3.
4.
5.
6.
7.
8.
Télécharger et installez « eclipse-cpp-indigo-SR1-incubation-win32 »
Télécharger et installez « qt-win-opensource-4.6.4-mingw »
Downloader et installer « MinGW-gcc440_1 »
Télécharger et installez « qt-eclipse-integration-win32-1.6.1 ». Choisissez « MinGWgcc440_1 » comme compilateur GNU.
Définissez la variable d'environnement QSPECMAKE en ajoutant « set QSPECMAKE=win32g++ » dans le fichier « start.bat », qui se trouve dans le directoire d'installation de « qt-eclipseintegration-win32-1.6.1 »
Il doit maintenant y'avoir un icone « Start Eclipse with minGW », il faut utiliser cet icone pour
démarrer Eclipse
Lancez Eclipse et configurez Qt dans Eclipse (introduisez les chemins pour les directoires
« bin » et « include » dans le menu: Window > Preferences > Qt)
Il faut introduire dans le menu « Build Command » l’option suivante : « mingw32-make » pour
chaque nouveau projet Qt. Ce menu est accessible sous : Project > Properties > C/C++ Make
Project > Make Builder > Build Command.
Exemple de graphisme réalisé avec Qt4
Le directoire « examples », qui se trouve dans le directoire d’installation de « qt-win-opensource-4.6.4mingw », contient quelques exemples graphique intéressants, qui ont été réalisés avec la libraire Qt4.
7
Connexion des PC
8
Connexion des PC
9