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