F4B304A : Langage C++ et génie logiciel


Retour
Imprimer la fiche programme
Code analytique: EDF04B304
Responsable  : Didier GUERIOT   
Programmé en UVF4B304, UVF4B306

Présentation :

Le langage C++ est un outil de base, absolument nécessaire pour tout ingénieur s’orientant vers différents domaines tels que ceux de la finance (empirique, systèmes d’information avec une connotation algorithmique, ...) mais aussi du traitement des données (signal, image, ...). Pour être pleinement opérationnel dans ces différents contextes, ce langage seul ne suffit pas et sert principalement d'outil d'accès à des librairies spécialisées (Quantlib pour la finance quantitative, Orfeo Toolbox pour la télédétection au sens large, ...). Néanmoins, ces librairies font appel à des concepts avancés de ce langage associés à des paradigmes de génie logiciel.

Ce module propose donc une formation qui s’articule autour de deux axes complémentaires :

1. Un module synthétique présente le langage C++ avec une description fine des mécanismes objet qui y sont associés (héritage, polymorphisme, généricité, …) ainsi que leurs spécificités dans ce langage. Plusieurs développements pratiques simples concrétisent cette présentation.

2. En parallèle à l'axe précédent, les bases du génie logiciel dans un contexte orienté langage à objets sont dispensées pour proposer une méthodologie générale de conception d’applications logicielles (UML, …) et une pratique concrète de tels développements.

Objectifs pédagogiques :


  • Maîtriser les concepts avancés du langage C++.
  • Programmer ces concepts avancés du langage C++.
  • Acquérir les principes de conception d'applications logicielles.

Volume horaire : 36h


Contenu détaillé :

C++ :
- C1 : Introduction & structures du langage
- C2 : Notions "Objet" (encapsulation, héritage, polymorphisme)
- TP1 : Prise en main (compilation) & notions "Objet"
- C3 : Construction (copie, ...) & opérateurs
- TP2 : Concepts "objets" (mémoire, polymorphisme, ...)
- C4 : Introduction aux "templates"
- C5 : The "Standard Template Library" (STL)
- TP3 : Utilisation de la STL
- C6 : Smart Pointers (STL, Boost, ...)
- TP4 : Intérêt des "smart pointers"

Génie Logiciel :
- C1 : Introduction, cycle de vie d'un logiciel, démarche de conception, transcription en UML
- PC1 : Conception d'un logiciel
- C2 : Architecture & design, transcription en UML
- PC2 : Diagramme de classes
- C3 : Implémentation (composants & patterns)
- PC3 : Exploitation de la notion de pattern
- BE : Etude de cas & outils adaptés (UML)
- TP : Implémentation effective de l'étude de cas du BE

Travaux personnels encadrés :

Les quatres séances TP1 à TP4, relatives au C++ constituent un TP unique qui parcourt les différents concepts du langage C++ (depuis la compilation de son premier programme C++ à l'utilisation des templates et des smart-pointers).


Année 2016/2017
Dernière mise à jour le 08-FEB-16
Validation par le responsable de programme le


IMT Atlantique
Campus de Brest
Technopôle Brest-Iroise
CS 83818
29238 Brest Cedex 3
France

Tél  +33 (0)2 29 00 11 11
Fax +33 (0)2 29 00 10 00