PROJETS GÉNIE INFORMATIQUE 2015-2016

La page est créée Kévin Besson
 
CONTINUER À LIRE
PROJETS GÉNIE INFORMATIQUE 2015-2016
PROJETS GÉNIE INFORMATIQUE

         2015-2016

                             1
PROJETS GÉNIE INFORMATIQUE 2015-2016
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