PROJETS GÉNIE INFORMATIQUE 2015-2016
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
PROJETS GÉNIE INFORMATIQUE • Durée 20 jours • Travail en binôme • Du 3 au 23 Juin 2016 2015-2016 PROJETS GÉNIE INFORMATIQUE 2
OBJECTIF • Produire un logiciel écrit en langage C et contrôlé par une interface graphique GTK+ 2015-2016 PROJETS GÉNIE INFORMATIQUE 3
OBJECTIF PÉDAGOGIQUE • Continuité du module A&P et aboutissement de la 1ère année • Progresser encore en programmation avant la 2è année – Conception de programmes – Programmation Orientée objet – Programmation de scripts – Programmation de cartes électroniques – Programmation de robots – Programmation d’interfaces graphiques Java/Swing • Appliquer en condition de projet les notions apprises • Avoir programmé plusieurs projets est un passage obligatoire pour tout informaticien 2015-2016 PROJETS GÉNIE INFORMATIQUE 4
ATTENTES • Quelques paramètres en entrée – Modifiables par curseur et bouton incrément • Quelques valeurs de sortie – Réactualisées quand les paramètres varient • Ergonomie • Fonctionnalités – Exporter les valeurs dans un format exploitable – Recharger les valeurs de la dernière exécution – ... 2015-2016 PROJETS GÉNIE INFORMATIQUE 5
PAS TROP SIMPLISTE TOUT DE MÊME • Coupler HScale/VScale avec SpinButton 2015-2016 PROJETS GÉNIE INFORMATIQUE 6
Suffisant AU MOINS pour valider • Plusieurs paramètres pouvant varier • Affichage d’informations 2015-2016 PROJETS GÉNIE INFORMATIQUE 7
Grades PEUT ALLER JUSQU’À supérieurs • Options activables • Fichier de sauvegarde • Fonction d’exportation • etc. 2015-2016 PROJETS GÉNIE INFORMATIQUE 8
SUJETS • Choisir votre sujet parmi les sujets proposés – 5 thèmes – 2 ou 3 sujets proposés par thème – Offre une certaine liberté pour développer votre sujet • Mais pas de sujets libres – Le plus souvent répondrez à besoin définit par client – Évite de faire des choix disproportionnés : dangereux ! – Évite de recopier des projets existants 2015-2016 PROJETS GÉNIE INFORMATIQUE 9
LES CINQ THÈMES 1. GESTION INDUSTRIELLE 2. ÉLECTRONIQUE 3. ROBOTIQUE 4. MÉCANIQUE 5. INFORMATIQUE 2015-2016 PROJETS GÉNIE INFORMATIQUE 10
THÈME 1 : GESTION INDUSTRIELLE • Sujet 1.1 : Calcul d’un indice OTIF (On Time In Full) – Date de la passation de commande ; Date de livraison souhaitée par le client, proposée au client, acceptée par le client, confirmée au client ; Date d’expédition ; Date de réception chez le client… • Sujet 1.2 : Calcul d’un indicateur TRS (Taux de Rendement Synthétique) – Temps cumulé d’ouverture ; temps d’arrêts cumulé ; temps de cycle réel ; production réalisée ; … • Sujet 1.3 : Simulateur pour paramétrer et comparer sur 30j deux règles de réapprovisionnement sur seuil ou périodique • Important : – Lecture/écriture dans des fichiers texte (CSV, HTML) – Échanges entre plusieurs logiciels différents 2015-2016 PROJETS GÉNIE INFORMATIQUE 11
THÈME 2 : ÉLECTRONIQUE • Sujet 2.1 : Transformation « Triangle » (Δ) vers « Etoile » (Y) • Sujet 2.2 : Transitors : illustrer le phénomène • Important : – Lectures/écritures binaires dans des fichiers 2015-2016 PROJETS GÉNIE INFORMATIQUE 12
THÈME 3 : ROBOTIQUE • Sujet 3.1 : Utilitaire de calculs et conversion d’angles (Euler, quaternion, matrice de rotation, etc.) • Sujet 3.2 : Robot aspirateur autonome − Explore pour ramasser la poussière (sans oublier de zones), évite les obstacles (murs, mobilier, …) et va tout seul recharger sa batterie • Sujet 3.3 : Vision par ordinateur (Récupérer/modifier les pixels d’une image, Appliquer des masques • Important : de convolution) – Lectures/écritures binaires dans des fichiers 2015-2016 PROJETS GÉNIE INFORMATIQUE 13
THÈME 4 : MÉCANIQUE • Sujet 4.1 : Effet Venturi (débit, vitesse, diamètres, etc.) • Sujet 4.2 : Calcul de ressorts (compression, traction, hélicoïdal, spiral, lames, etc.) • Sujet 4.3 : Utilitaire pour la thermodynamique • Important : – Savoir créer de petits utilitaires de calcul – Lire/écrire des fichiers provenant de logiciels différents 2015-2016 PROJETS GÉNIE INFORMATIQUE 14
THÈME 5 : INFORMATIQUE • Sujet 5 : Une interface de saisie T9 « text on 9 keys » pour afficher tous les mots correspondant à une combinaison de touches 1 abc 2 def 3 – Charger un dictionnaire dans une ghi jkl mno structure arborescente « Trie » 4 5 6 pqrs tuv wxyz pour faciliter et accélérer la 7 8 9 recherche des mots typedef struct noeud *Noeud ; • Important : struct noeud { – Savoir implanter des char mot[256] ; Noeud fils[26] ; algorithmes et des } ; structures de données 2015-2016 PROJETS GÉNIE INFORMATIQUE 15
RECETTE 1. Rapport entre 2 et 6 pages maximum – Conception – Manuel utilisateur (avec captures d’écran) – Métriques (SLOC, % CLOC, % BLOC, nb fichiers, fct, structures) – Dépôt sur la plateforme moodle1a.estia.fr 2. Code source – Dépôt sur la plateforme moodle1a.estia.fr 3. Vidéo de démonstration – Dépôt sur le disque réseau (emplacement à définir) 2015-2016 PROJETS GÉNIE INFORMATIQUE 16
CONCEPTION • Liste des fonctionnalités proposées • Croquis de l’interface « à la main » – Avec choix ergonomiques – Couleurs, Regroupements, Organisation de l’interface • Hiérarchie et placement des composants – Window, HBox, VBox, Grid, Frame, Label, Entry, SpinButton, HScale, VScale, RadioButton, Image – MenuBar, Notebook, CheckButton, ComboBox, … 2015-2016 PROJETS GÉNIE INFORMATIQUE 17
OUTILS DE DÉVELOPPEMENT • Dessiner l’interface graphique – Glade 3.8 • Écrire/Compiler le code source (au choix) – Notepad++ / GCC / Makefile – VisualStudio 2010--13 Pro – Eclipse CPP (CDT) / GCC 2015-2016 PROJETS GÉNIE INFORMATIQUE 18
DÉROULEMENT • 3 Juin : 2h cours • 6 (G3+G4) ou 8 (G1+G2) Juin : 4h TP • 10 Juin : 2h TP • 14 Juin : 4h TP • 16 Juin : 4h T. Perso • 17 Juin : 2h T. Perso • 20 Juin : 2h TP • 23 Juin : 4h T. Perso • 24 Juin : Fin et dépôt de la recette (et dépôt de la vidéo au plus tard le 27 Juin) 2015-2016 PROJETS GÉNIE INFORMATIQUE 19
LES SÉANCES DE TRAVAIL PERSONNEL ? • Temps qui est prévu dans votre agenda – Pour faire avancer le projet en équipe – Un espace est réservé pour vous accueillir dans le bâtiment pendant ces heures • Pas d’enseignant dans la salle durant ces séances – Les enseignants sont présents uniquement lors des TP – Préparez vos questions pour les TP – Venez spontanément à nos bureaux • Ferons du mieux que nous pouvons pour vous débloquer 2015-2016 PROJETS GÉNIE INFORMATIQUE 20
GESTION DU TEMPS • 12h TP + 10h T. Perso = 22h = 8h + 8h + 6h = 2,75j • Prévu au planning : 2H x 2,75j = 5,5 H.j 2015-2016 PROJETS GÉNIE INFORMATIQUE 21
RECOMMANDATIONS • Compiler au fur et à mesure – Tester au fur et à mesure – Tests unitaires • Faire des sauvegardes régulièrement !!! – Archives zip numérotées – Version stable = compile et fonctionne • Ne pas s’y prendre au dernier moment ! – Commencer dès maintenant 2015-2016 PROJETS GÉNIE INFORMATIQUE 22
OUTILS DE CAPTURE D’ÉCRAN • BB FlashBack Express – Outil de capture • Zone écran + son micro • Génère fichier FBR recorder – Outil de lecture • Ouvrir le fichier FBR • Exporter en AVI, WMV ou FLV – Idéalement environ 5 Mo en moyenne player • Respecter un maximum d’environ 15 Mo pour ne pas saturer le disque réseau 2015-2016 PROJETS GÉNIE INFORMATIQUE 23
PROJETS GÉNIE INFORMATIQUE C’est parti ! 2015-2016 PROJETS GÉNIE INFORMATIQUE 24
LANGAGES ET BIBLIOTHÈQUES • Seul langage accepté : C – C++, C#, Objective C, Swift – Visual Basic – Java – PHP, Python – … • Seule bibliothèque acceptée : GTK+ – Qt, MFC, Tcl/Tk – SDL, OpenGL – OpenCV, Gandalf – … 2015-2016 PROJETS GÉNIE INFORMATIQUE 25
MÉTRIQUES • cccc – http://cccc.sourceforge.net • cncc – https://sourceforge.net/projects/cncc/ – Compiler : g++ cncc.cpp -o cncc.exe – Exécution : cncc.exe main.c callbacks.c callbacks.h – Ou encore : cncc.exe *.c *.h • ccount – https://sourceforge.net/projects/ccount/ • … 2015-2016 PROJETS GÉNIE INFORMATIQUE 26
TRAITER LE SUJET 1.1 : CALCUL D’UN INDICE OTIF Soient les valeurs connues (enregistrées dans un fichier, saisies, …) suivantes : • dpc : Date de la passation de commande Nous pouvons alors par exemple définir les indices suivants : • dls : Date de livraison souhaitée par le client • Exigence E = diff_date ( dls, dla ) • dlp : Date de livraison proposée au client • Negocié N = diff_date ( dlp, dla ) • dla : Date de livraison acceptée par le client • Respect R = diff_date ( dlc, dre ) • dlc : Date de livraison confirmée au client • Livraison L = diff_date ( dex, dre ) • dex : Date d’expédition • Délai D = diff_date ( dpc, dre ) • dre : Date de réception chez le client dpc dls dex dlc dre dla dlp L R E N D Et pour un nombre nb de commandes nous pouvons alors calculer : • lues depuis un fichier, • Emoy = ( E1 + E2 + … + Enb ) / nb • ou lues les unes après les autres (en • Nmoy = ( N1 + N2 + … + Nnb ) / nb • Rmoy = ( R1 + R2 + … + Rnb ) / nb cliquant sur un bouton « suivant »), • Lmoy = ( L1 + L2 + … + Lnb ) / nb • Dmoy = ( D1 + D2 + … + Dnb ) / nb ou encore le min, le max, l’écart-type, … 2015-2016 PROJETS GÉNIE INFORMATIQUE 27
TRIE POUR LE SUJET 5 typedef struct noeud *Noeud ; struct noeud { ListeMots mots ; 2 Noeud fils[8] ; /* de 2 à 9 */ } ; 6 typedef struct listemots *ListeMots ; struct listemots { 4 6 mot[256] ; bon ListeMots suivant ; } 7 2 5 bois, amis, anis MOT CODE 7 6 6 amis 2647 bois 2647 anis 2647 6 8 6 boisson 2647766 bonbon bon 266 Bonbon 266266 6 7 bonjour 2665687 boisson bonjour 2015-2016 PROJETS GÉNIE INFORMATIQUE 28
Vous pouvez aussi lire