Parcours développeur C

Retour

Parcours C++ QT

  • 57 Jours
  • 399 heures
  • REF: METIER-C++QT
  • Partager :

MODULE 1 GENERALITES -1 Jour-7 heures

Objectifs:

  • Appréhender les métiers du développement
  • Etre préparé à la demande du client
  • Contenu détaillé
  • Intervention d’un professionnel du secteur
  • Le positionnement d’une ESN
  • Qui sont les clients : secteurs d’activité demandeurs 
  • Les types de missions (assistance technique, maintenance, prestations forfait/régie, formation, encadrement d’équipe) 
  • Un secteur en évolution
  • Les différents métiers du développement 
  • Développeur C++ QT ; en quoi cela consiste t il?
  • Votre positionnement sur un projet
  • Entretien client
  • Quelles sont les qualités requises?
  • Les pièges à éviter
  • Simulation d’entretiens client et Debriefing

MODULE 2 ALGHORITHMIQUE – 2 jours-14 heures

Objectifs

  • Présenter les principes fondamentaux de la programmation et de l’algorithmique et expliquer les notions communes à tous les langages de programmation
  • S’approprier les structures logiques et la démarche de résolution d’un problème de façon structurée et indépendante de toute contrainte matérielle ou logicielle
  • Résoudre des problèmes plus ou moins complexes
  • Contenu détaillé
  • Introduction à l’algorithmie
  • Instructions de base
  • Variables 
  • Affectation 
  • Tests
  • Boucles
  • Exercices
  • Procédures et fonctions Introduction 
  • Définition d’une procédure
  • Définition d’une fonction
  • Appel d’une procédure
  • Appel de fonction et retour
  • Maitriser les notions de fichiers
  • Acquérir les bases des méthodes de programmation structurée nécessaires à l'apprentissage de tout langage de programmation
  • Apprendre à raisonner sur un algorithme
  • Exemple : Les tris à bulle, les tris par inversion …
  • Découvrir et mettre en œuvre la traduction d'un algorithme dans un langage de programmation

MODULE 3 METHODES AGILES SCRUM ET CYCLE EN V-2 jours-14 heures

Objectifs

  • Acquérir les fondamentaux de la méthodologie
  • Maitriser les méthodologies cycle en V et Agile
  • Contenu détaillé
  • AGILE SCRUM
  • Développement logiciel agile
  • Les fondamentaux du développement logiciel agile
  • Les développements agiles et le manifeste agile
  • Approche d'équipe intégrée 
  • Un feedback au plus tôt et fréquent 
  • Aspects des approches agiles
  • Approches de développement agile 
  • Pourquoi automatiser les tests sur mobiles ? 
  • Création collaborative de user story 
  • Rétrospective 
  • Intégration continue 
  • Planification des releases
  • Principe, pratiques et processus fondamental agile 
  • Les différences des tests entre les approches classiques et agile 
  • Activités des tests et développement 
  • Produits d'activité des projets 
  • Niveau de test 
  • Test et gestion de configuration 
  • Option d’organisation avec des tests indépendants 
  • Statuts de test dans les projets 
  • Compétences 
  • Gérer les risques de régression en faisant évoluer les cas de test manuels et automatisés 
  • Rôles et compétence d’un testeur dans une équipe agile : Compétence d’un testeur agile
  • Méthodes agiles
  • Présentation des familles de conduite de projet 
  • Méthodes prédictives 
  • Méthodes adaptatives
  • La méthode SCRUM 
  • Présentation de Scrum
  • Scrum comme conduite de l'équipe projet
  • Gestion de projet généraliste
  • Spécification dynamique
  • Adaptation aux projets logiciels 
  • Rôles dans un projet Scrum
  • Les acteurs intervenant dans et autour d'un projet SCRUM
  • Répartition des responsabilités
  • Client
  • Equipe
  • Scrum master 
  • Itérations
  • Présentation des phases de SCRUM
  • Objectifs
  • Version
  • Sprint
  • Scrum 
  • Suivi du projet SCRUM
  • Les objectifs fonctionnels dans SCRUM et le suivi des livrables
  • Backlog de produit
  • Backlog de sprint 
  • SCRUM avec Sprint
  • Détail sur le cycle principal de SCRUM
  • But
  • Itérations de 4 semaines
  • Livraison
  • CYCLE EN V
  • Cycle des projets 
  • Présentation des fondamentaux de la conduite de projet 
  • Expression des besoins 
  • Analyse 
  • Conception 
  • Réalisation 
  • Vérification et validation
  • Utilisation du cycle en V 
  • Définition du cycle en V 
  • Analyse des besoins
  • Spécifications
  • Conception architecturale
  • Conception détaillée
  • Réalisation 
  • Tests unitaires
  • Tests d’intégration
  • Test de validation
  • Recette fonctionnelle 
  • Avantages du cycle en V 
  • Inconvénients du cycle en V
  • Alternatives au cycle en V

MODULE 4 INITIATION A UBUNTU 18 ET AU SCRIPTING SHELL-2 jours-14 heures

Objectifs 

  • Apprendre à installer et utiliser Ubuntu sous Linux
  • Gérer les comptes utilisateurs, exécuter des tâches, sécuriser votre système.
  • Créer des comptes et configurer les réseaux afin d’optimiser au maximum votre système d’exploitation Ubuntu.
  • Contenu détaillé
  • Installation et configuration d’Ubuntu 
  • La communauté Ubuntu 
  • Les différentes versions d’Ubuntu 
  • Exécuter l’installeur 
  • Le système d’exploitation
  • Partitionnement 
  • Distribution logicielle
  • Multi-Boot Windows
  • L’interface Ubuntu 
  • Ouvrir et fermer une session 
  • Gérer les comptes : les comptes utilisateurs et leurs privilèges 
  • Gérer des fichiers Nautilus 
  • Transférer des fichiers 
  • Les serveurs de fichiers : Samba 
  • Découvrir l’environnement GNOME
  • Sécuriser son interface Ubuntu 
  • PAM et mots de passe 
  • Mettre en place des pare-feux efficaces 
  • Détecter les intrusions 
  • Gérer les paquets 
  • Les paquets LAMP : Apache, PHP, MySQL, groupes 
  • Installer, lister et supprimer des paquets 
  • Configurer des paquets 
  • Les paquets réseau 
  • Les services réseaux : Postfix, Dovecot, … 
  • Dépendances des paquets 
  • Créer un entrepôt de paquets réseau local 
  • Configurer un serveur proxy mandataire 
  • Répliquer un entrepôt de paquets réseau 
  • Gérer les files d’attente pour une impression
  • Utilisation des Shell 
  • Historique 
  • Les commandes de filtres ( grep , Sed , awk , egrep…) 
  • Recherche complexe de fichiers: FIND 
  • Plus loin avec le Bourne Shell 
  • Programmation Shell • Utilisation du Shell en interactif
  • Les variables
  • L’arithmétique
  • Les instructions de contrôle 
  • Les fonctions
  • Les chaines de caractères
  • Les expressions régulières
  • La gestion des fichiers 
  • La programmation multitâches en Shell 
  • Commandes, variables, et utilitaire système 
  • Bonne écriture d’un script 
  • Exercice Shell

MODULE 5 GESTION DE CONFIGURATION RTC ET TRACABILITE REQTIFY-4 jours-28 heures

Objectifs

  • Comprendre la planification de projets en mettant l'accent sur les méthodes agiles 
  • Configurer des zones de projet 
  • Configurer le contrôle des sources 
  • Installer un système de conception 
  • Gérer des rapports et des tableaux de bord 
  • Personnaliser des projets et des processus 
  • Créer une cartographie Reqtify à partir des documents projet
  • Consulter et présenter les données
  • Effectuer des analyses d’impact et à produire des matrices de traçabilité
  • Contenu détaillé
  • RTC 
  • Les bonnes pratiques de la planification de projet 
  • Gestion des éléments de travail dans IBM Rational Team Concert 
  • Création de zones et d'équipes de projet 
  • Planification dans Rational Team Concert 
  • Gestion des rapports et des tableaux de bord du projet
  • Traçabilité Reqtify
  • Principe de fonctionnement de Reqtify
  • Types de documents projet, moteur d’analyse, interface utilisateur 
  • Cartographie
  • Création et navigation dans la cartographie projet 
  • Analyse des indicateurs projet
  • Qualité générale et catégories documentaires 
  • Analyse des règles projet
  • Exigences doublons, exigences non définies, exigences non couvertes 
  • Types Reqtify
  • Exigences et attributs 
  • Filtres
  • Types de filtres, filtres simples et composés 
  • Génération de rapport
  • Création, édition, matrices de traçabilité, rapport d’attribut 
  • Fonctions avancées
  • Fiches de modification, étiquettes et archivage

MODULE 6 - LANGAGE C – 3 jours -21 heures

Objectifs

  • Savoir développer en langage C
  • Connaître les aspects avancés du langage C
  • Contenu détaillé
  • Introduction 
  • Présentation du langage C 
  • Évolution du C et du C++ 
  • Principe de compilation
  • Compilation des programmes
  • Écriture d'un programme 
  • Outils de développement
  • Les compilateurs C
  • Environnements de développement
  • Installation de Code::Block
  • Création d'un nouveau projet 
  • Premier programme
  • Ouvrir un projet C
  • Le premier programme
  • Source du premier programme
  • Eléments 
  • Vocabulaire
  • Caractères autorisés
  • Les identificateurs
  • Séparateurs 
  • Blocs d'instruction
  • Les mots-clefs
  • Blocs d'instructions
  • Les commentaires
  • Programme main 
  • Déclarations
  • Préprocesseur directive #include
  • Variables
  • Portée et initialisation des variables
  • Types 
  • Types de base
  • Type caractères : `char` • Type entier : `int` • Les flottants : `float`
  • Déclaration des variables
  • Constance 
  • Constantes 
  • Déclaration de variable constante
  • Opérateurs 
  • Opérateurs simples 
  • Opérateurs d'affectation `=` 
  • Opérateurs arithmétiques 
  • Les conversions numériques implicites 
  • Les opérateurs relationnels
  • Autres opérateurs 
  • Les opérateurs logiques
  • Les opérateurs de manipulation de bits 
  • Les opérateurs d'incrémentation et de décrémentation 
  • Affectation composée 
  • Opérateur virgule
  • Opérateurs avancés 
  • Opérateur conditionnel ternaire 
  • Les opérateurs de cast 
  • L'opérateur &
  • L'opérateur sizeof 
  • Priorité des opérateurs (ordre décroissant)
  • Contrôles 
  • Instructions conditionnelles 
  • if---else  switch
  • Branchement non conditionnel break 
  • Branchement non conditionnel continue 
  • Branchements non conditionnel goto
  • Boucles 
  • Boucle while 
  • Boucle do---while 
  • Boucle `for`
  • IO 
  • Sortie
  • Présentation printf
  • Format d'impression
  • Précision des caractères d'impression
  • Précision (suite) 
  • Entrées
  • Exemples
  • scanf
  • Exemple scanf
  • Putchar et getchar
  • Tableaux 
  • Tableaux
  • Présentation
  • Tableaux à une dimension
  • Initialisation des tableaux uni-dimensionnels
  • Tableaux multi-dimensionnels
  • Initialisation des tableaux multi-dimensionnels 
  • Chaînes de caractères
  • Les chaînes de caractères
  • Initialisation d'une chaîne de caractères
  • Copie de chaînes de caractères
  • Concaténation de chaînes de caractères
  • Fonctions sur chaînes de caractères
  • Comparaison de chaînes de caractères
  • Autres opérations sur les chaînes de caractères
  • Recherche dans une chaîne
  • Fonctions 
  • Introduction
  • Les fonctions
  • Définition d'une fonction 
  • Exemple de déclaration et d'utilisation d'une fonction
  • Autre exemple
  • Déclaration de fonction 
  • Paramètres
  • Paramètres de fonction
  • Retour d'une fonction
  • Appel d'une fonction
  • Exemple didactique
  • Passage de l'adresse à une fonction
  • Directives 
  • Directives simples
  • Les directives de compilation
  • Les #define
  • Attention attention 
  • Macro avec argument 
  • Attention Attention 
  • Compilation conditionnelle
  • Directive #undef
  • Compilation conditionnelle 
  • Directive #ifdef et #ifndef
  • Directives #if #elif #endif 
  • Autres 
  • Symboles prédéfinis
  • Directive #defined
  • Directive #error
  • Pointeurs 
  • Présentation
  • Introduction 
  • Schéma de principe
  • Avantage des pointeurs
  • Notation
  • Pointeurs et tableaux
  • Initialisation
  • Contenu de la variable pointée
  • Utilisations
  • Quelques confusions à éviter
  • Arithmétique sur les pointeurs
  • Règle
  • Pointeurs et tableaux
  • Balayage de la mémoire avec un pointeur
  • Mémoire
  • Les bases
  • Gestion de la mémoire dynamique
  • malloc
  • free
  • Extensions 
  • Cas des chaînes de caractères
  • calloc
  • realloc
  • Organisation de la mémoire
  • Fonctions 
  • Définitions
  • Fonctions
  • Exemple arguments 
  • Plus loin
  • Tableaux en argument d'une fonction
  • Les pointeurs sur les fonctions
  • Arguments d'une application 
  • Fonctions avec arguments variables 
  • Utilisation de va_list
  • Les fonctions récursives
  • Typedef 
  • Définition de type
  • Création de nouveaux types
  • Les énumérations
  • Initialisation des énumérations 
  • Les unions
  • Présentation
  • Les unions
  • Variables structurées
  • Tableau de structures
  • Typedef et Structure
  • Pointeurs et structures 
  • Divers
  • Exercice 8 : Structure
  • Alignement en mémoire
  • Exemple
  • Les champs de bits
  • Remarques sur les champs de bits
  • Listes chaînées 
  • Généralités
  • Présentation
  • Utilisation des listes chaînées
  • Structures chaînées avec typedef
  • Structures et fonctions
  • Fichiers 
  • Gestion de haut niveau
  • Les fichiers en haut niveau
  • Utilisation
  • Lecture écriture fichier mode bloc
  • Écriture lecture fichiers mode caractères 
  • Lecture écriture des chaînes de caractères
  • Classes de variables
  • Classes de variables
  • Variables globales
  • Variables locales
  • Variables auto
  • Variables statiques
  • variable externes 
  • variables register 
  • Variables volatiles 
  • C99
  • Apports de C 99
  • Fonctions inline
  • Compilation 
  • Présentation
  • La compilation
  • Les principales options de compilation
  • Les étapes de compilation
  • Makefile
  • Exemple d'un fichier Makefile 
  • Les librairies
  • Pour aller plus loin
  • Définitions 
  • Librairie statique 
  • Librairie dynamique 
  • Règles pour la portabilité

MODULE 7 PROGRAMMATION C++- 9 jours-63 heures

Objectifs

  • Appréhender les concepts objets (Classe, Encapsulation, polymorphisme, héritage) qui ne sont pas présents en langage C 
  • Mise en pratique à l’aide de nombreux exercices 
  • Prendre en main l'interface de développement Eclipse 
  • Mettre en oeuvre des différents outils
  • Eclipse pour développer des applications C : édition, compilation, debug 
  • Configurer
  • Visual Studio afin de pouvoir développer en C++ 
  • Etre capable de surcharger des opérateurs et des méthodes pour redéfinir leur exécution. 
  • Connaitre bonnes pratiques et règles de conception en C++
  • Contenu détaillé
  • Programmation Orientée
  • Objet
  • Modélisation, Abstraction 
  • Encapsulation 
  • Classe et Objets 
  • Instanciation d'objet 
  • Les membres, attributs, méthodes 
  • Héritage, Polymorphisme
  • Du C au C++ 
  • Préambule 
  • Définitions, Types 
  • Paramètres de fonctions par référence 
  • Fonctions inline 
  • Appels de fonctions C 
  • Entrées et sorties simples
  • Les classes 
  • Les classes 
  • Déclaration dans le fichier cpp 
  • Méthodes, Paramètres par défaut 
  • Masquage, Surcharge 
  • Les constructeurs
  • Constructeurs
  • Exemples d'utilisation 
  • Types de constructeurs 
  • Constructeur par copie 
  • Constructeurs par transtypage 
  • Usage du mot clé explicit 
  • Constructeurs à arguments multiples 
  • Liste d'initialisations, Le destructeur
  • Qualifieurs 
  • Constance 
  • Variables statiques 
  • Méthodes statiques 
  • Autres types de classe de stockage 
  • Constance 
  • Fonctions amis, Classes amies
  • Les exceptions 
  • Exemple d'exception 
  • Remarques 
  • Attraper une exception 
  • La classe exception et sa dérivée stdexcept 
  • Réponses
  • Laisser échapper une exception 
  • Déclaration de fonction avec exception non traitées 
  • Faire/défaire 
  • Espaces de nommage 
  • Présentation 
  • Déclaration 
  • Définition 
  • Utilisation 
  • Exemples connus 
  • Exclusion de méthodes d'un namespace 
  • Espace de nommage anonyme
  • Préprocesseur 
  • Les directives 
  • Directives include et define simple 
  • Instructions conditionnelles 
  • ifndef define ifdef 
  • Identificateur 
  • Les macros 
  • Macros prédéfinies
  • Dérivation
  • Héritage 
  • Classe fille 
  • Déclaration de la classe fille 
  • Encapsulation 
  • Particularité amusante 
  • Héritage multiple 
  • Portée d'héritage 
  • Redéfinition vs surcharge 
  • Problématiques des classes dérivées
  • Polymorphisme 
  • Méthodes virtuelles 
  • Contrainte sur les fonctions virtuelles 
  • Fonctions virtuelles pures et classes abstraites
  • Pointeurs 
  • Rappels 
  • Définition d'un pointeur 
  • Difficultés de notation 
  • Pointeurs et allocation mémoire 
  • Désallocation 
  • Organisation de la mémoire 
  • Pointeurs et classes 
  • Le pointeur *this* 
  • Arithmétique sur les pointeurs 
  • Cas d'utilisation des pointeurs : pas • RTTI
  • Définition 
  • Exemple pratique 
  • Règles à respecter 
  • TypeId 
  • Utilisation
  • Pointeurs intelligents 
  • Problématique des pointeurs 
  • Présentation des pointeurs intelligents 
  • unique_ptr 
  • Exemple de unique_pointer 
  • shared_ptr 
  • Exemple de shared pointer 
  • weak_ptr 
  • Avantages et inconvénients des pointeurs intelligentsssage d'argument 
  • Présentation 
  • Templates variadiques 
  • Templates externes 
  • Assertions statiques 
  • Expressions et fonctions lambda 
  • Sémantique RValue Reference/Move 
  • Enumérations typées 
  • Le type tuple 
  • Support des expressions régulières 
  • Tables de hachage 
  • Boucles d'intervalle 
  • Multithreading 
  • Principes 
  • Démarrage et détachement d’un thread 
  • La classe std ::call_once 
  • L’espace de noms this_thread 
  • Futures / promises et packaged_task 
  • Programmation asynchrone avec async 
  • Politiques de démarrage 
  • Comparaison thread versus future 
  • Partage de ressources et mécanismes de synchronisation 
  • Mutexes et données atomiques 
  • Unique-lock et lock_guard 
  • Introduction à la programmation Multicore 
  • ECLIPSE 
  • Introduction 
  • Les objectifs et les principes d'Eclipse
  • Les concepts de base : vue, éditeur, perspective, espace de travail, projet, répertoire, fichier, nature. 
  • Le démarrage d'Eclipse 
  • Fonctions d'aide
  • Gestion des vues et des perspectives. Gestion des ressources
  • Fonctions de navigation, de recherche
  • Gestion des projets
  • Le debug
  • La perspective
  • Debugger dans Eclipse
  • Les différents Breakpoints et Watchpoints
  • L'inspection des variables ou expressions, la navigation dans la pile d'exécution
  • Le contrôle de l'exécution
  • Le debug réparti
  • Gestion des versions avec GIT
  • La configuration d'Eclipse 
  • La gestion des préférences
  • La gestion des propriétés
  • Les références entre projets
  • L'ajout de Plug-ins et Features
  • Le paramétrage d'Eclipse
  • La configuration d'Eclipse
  • La gestion des préférences
  • La gestion des propriétés
  • Les références entre projets
  • L'ajout de Plug-ins et Features
  • . Le paramétrage d'Eclipse
  • Installer la prise en charge de C++ dans Visual Studio
  • Surcharge des opérateurs
  • Liste des opérateurs qui peuvent être surchargés
  • Surcharge d'un opérateur par une fonction membre 
  • Surcharge d'un opérateur par une fonction non membre 
  • Surcharge de l'opérateur d'affectation `operator=`
  • Opérateur de conversion vers un autre type 
  • Symétrie
  • Surcharge de méthodes 
  • Templates
  • Présentation
  • Patrons de fonction
  • Utilisation
  • Remarques
  • Piège sur les pointeurs
  • Patron de fonction à l'intérieur d'une classe
  • Instanciation implicite et explicite
  • Spécialisation
  • Patrons de classe
  • Exemple
  • Fonctions exportées
  • Template sur les opérateurs
  • Foncteurs
  • A quoi servent les foncteurs ? 
  • Cas d'utilisation 
  • Performance
  • Les bonnes pratiques et règles de conception en C++
  • Organiser votre projet travailler en itération
  • Quelles seront les étapes de création ?
  • Quelles technologies vais-je utiliser ?
  • Laquelle sera la mieux adaptée à mon projet ?
  • Quelle est la structure du projet à adopter ?
  • Quels outils seront nécessaires ? 
  • Faire du versioning
  • Développer, commenter
  • Respectez les conventions
  • Structure
  • Nommage
  • Les design patterns
  • L'optimisation de code
  • Factoriser 
  • Profiling/Profilage de code
  • Réaliser une veille régulière
  • Editer des rapports de bug 
  • Quelques concepts de base
  • Écrire un code compréhensible
  • Une déclaration par ligne
  • Choisissez des noms explicites
  • Une ligne = une instruction
  • Respectez des règles d'indentation strictes
  • Respectez les conventions
  • Les mêmes règles pour tout le projet
  • Préférez les énumérations
  • Préférez les tableaux à une dimension
  • Du bon usage des commentaires 
  • Un commentaire ne doit pas paraphraser le code
  • Un commentaire ne sert pas à marquer les étapes 
  • Les commentaires à visée pédagogique 
  • Les commentaires sous forme de cartouche 
  • Éviter les effets de bord
  • La pile et le tas
  • Gestion des paramètres de compilation
  • Les bases de la programmation par contrat
  • Problèmes d’instances 
  • Éviter la création des objets
  • maîtriser et réduire le nombre d’objets
  • Ré utiliser et factoriser les instances 
  • Utiliser les « Factories » pour optimiser la création des objets 
  • Introduction de « singletons » dans une application :Avantages et inconvénients 
  • Gestion d’algorithmes de pools d’objets 
  • Introduction des caches de ressources 
  • Introduction des caches de calculs 
  • Renoncer aux habitudes du C Un tableau d'éléments ?
  • C'est std::vector 
  • Une chaîne de caractères ?
  • C'est std::string 
  • Le flux d'entrée par défaut ?
  • C'est std::cin 
  • Utiliser un fichier ?
  • C'est std::fstream 
  • Convertir ses données avec std::stringstream

MODULE 8 INITIATION A LA STL-1 jour-7 heures

Objectifs 

  • Découvrir la bibliothèque standard STL
  • Contenu détaillé
  • Composants de la STL : types complémentaires, conteneurs, algorithmes, itérateurs, objets fonctions, les adaptateurs
  • Les chaînes de caractères STL, la classe template basic_string et ses spécialisations
  • Les conteneurs séquentiels et associatifs : définition, rôle et critères de choix
  • Les allocateurs et la gestion de la mémoire des conteneurs
  • Les méthodes d'insertion, de suppression, d'itération et d'accès aux principaux conteneurs : Vector, List, Set, Stack...
  • Le concept d'itérateur. Parcours d'un conteneur
  • Les différents groupes d'algorithmes STL : non mutants, mutants, de tri et de fusion, numériques.
  • Manipulation de conteneurs (manipulation, recherche de valeurs...).
  • Paramétrer les algorithmes génériques par des objets "fonction"
  • Les "adapteurs" et la modification du comportement d'un composant
  • La STL et les traitements sur les flux (fichiers, mémoire...)
  • Principe du RAII : les pointeurs automatiques et la classe auto_ptr.
  • Les exceptions standard de la STL
  • Travaux pratiques Implémentation des relations avec les collections de la STL
  • Utilisation d'algorithmes standard quelconques

MODULE 9 QT5 DE LA DECOUVERTE A LA MAITRISE-5 jours-35 heures

Objectifs 

  • Mettre en œuvre des interfaces graphiques complexes
  • Utiliser les différents outils proposés par l'environnement Qt ;
  • Utiliser le processus de " build " d'une application Qt ;
  • Utiliser certains modules " non graphiques " de la librairie Qt.
  • Contenu détaillé
  • Présentation de la librairie Qt
  • Petit historique
  • Les différentes techniques de développement proposées 
  • Les librairies concurrentes
  • Les éléments importants d'un projet Qt
  • Le fichier de build et l'outil qmake 
  • Les fichiers de conception graphique (.ui)
  • Les fichiers relatifs à la gestion de l'internationalisation 
  • Travaux pratiques : Mise en œuvre de notre première interface graphique
  • Introduction au modèle objet de Qt 
  • Présentation des types/fonctions/macros de base (QtGlobal) 
  • Présentation du type de base QObject 
  • Arborescence d'objets 
  • Présentation des types collections 
  • Gestion des propriétés 
  • Travaux pratiques : Utilisation des collections Qt
  • Introduction au développement d'applications graphiques 
  • Première application graphique " Hello World " (QMainWindow) 
  • Présentation de la classe de base QWidget 
  • Utilisation des stratégies de placement 
  • Utilisation du mécanisme de docking (QDockWidget) 
  • Gestion des événements 
  • Développement de boites de dialogue personnalisées (QDialog)
  • Gestion du focus 
  • Travaux pratiques : Utilisations de différentes classes de Widget
  • Présentation de l'outil Qt Designer 
  • Utilisation en mode autonome 
  • Intégration dans l'IDE Eclipse 
  • Travaux pratiques : Utilisation du designer d'interfaces
  • Mise en œuvre du modèle MVC 
  • Présentation du modèle MVC 
  • Travaux pratiques : Mise en œuvre du MVC
  • Développement graphique avancé 
  • Utilisation des containers graphiques 
  • Création de menus
  • Développement d'objets graphiques spécifiques 
  • Gestion des styles de présentation 
  • Gestion du drag'n drop 
  • Travaux pratiques :
  • Utilisation de containers
  • Réalisation d'une classe de Widget Utilisation du drag'n drop
  • Développement avancé 
  • Gestion des interactions entre objets (Signals et Slots) 
  • Gestion de l'internationalisation et de l'Unicode 
  • Introduction au multithreading 
  • Présentation des Timers 
  • Gestion de la sérialisation (QDataStream) 
  • Travaux pratiques :
  • Développement d'une application Qt multitâches
  • Utilisation de la sérialisation pour persister un modèle de données
  • Génération et distribution 
  • Utilisation poussée de QMake 
  • Déploiement d'applications multi-plateformes

MODULE 10 UTILISATION DE QTEST-2 jours-14 heures

Objectifs

  • Familiariser les intervenants à l’utilisation de base de l’outil « QTest»
  • Contenu détaillé 
  • Présentation des tests de charge
  • Problématique 
  • Positionnement dans le cycle de vie d’une application 
  • Objectifs de test 
  • Phases d’un projet de tests de charge 
  • Profils de l’équipe de test 
  • Détail des phases d’un projet de test 
  • Eléments de succès d’un test de charge 
  • Quizz et applications pratiques
  • Présentation des composants de l’outil QTest de Quotium
  • Exemples de mise en œuvre de l’outil QTest de Quotium

Module 11 INITIATION A IBM RHAPSODY 8-5 jours-35 heures

Objectifs

  • Identifier les avantages et les bases de Model Bbased Systems Engineering (MBSE)
  • Utiliser Systems Modeling Language (SysML) pour créer un modèle dans Rational Rhapsody
  • Utiliser Rhapsody dans toutes les étapes d'analyse sytèmes et de conception
  • Valider les modèles système jusqu'à l'exécution (simulation)
  • Contenu détaillé • Ingénierie des systèmes basés sur les modèles (MBSE)
  • Analyse des besoins
  • Analyse fonctionnelle
  • Synthèse de conception

MODULE 12 GESTION DES EXIGENCES-2 jours-14 heures

Objectifs

  • Appliquer des méthodes structurées et systématiques d’ingénierie des exigences
  • Maitriser l’accroissement de la pertinence des exigences, leur réalisation et leur gestion s 
  • Appliquer des règles pour la rédaction d’exigences dans un langage naturel ,de même que les règles portant sur l’amélioration et les exigences qualité des spécifications.
  • Contenu détaillé
  • Principes de la gestion des exigences
  • Procédures et processus
  • Gestion de projet et des risques 
  • Responsabilités et règles
  • Définition des exigences
  • Spécification des exigences
  • Analyse des exigences
  • Traçabilité des exigences 
  • Gestion des exigences
  • Gestion des anomalies
  • Utilisation des outils

MODULE 13 QUALIFICATION : PROCESSUS ET MANAGEMENT- 2 jours-14 heures

Objectifs

  • Découvrir les fondamentaux de la gestion de projet de test 
  • Acquérir les fondamentaux de la stratégie de tests 
  • Savoir piloter son projet depuis la phase de démarrage jusqu’à la réalisation du projet de test 
  • Prendre conscience de son rôle et de sa valeur ajoutée dans le projet de test 
  • Savoir gérer et motiver son équipe
  • Contenu détaillé
  • Les fondamentaux du Management de projet de test 
  • ²Définitions
  • Le processus Projet 
  • Les caractéristiques essentielles 
  • Une démarche rigoureuse, outils, méthodes 
  • Les principales phases d’un projet 
  • Les points clefs de la réussite 
  • Typologies de méthodes de gestion de projet de test 
  • Les composantes essentielles 
  • La conduite d'un projet d'organisation ou de déploiement
  • Gestion et management du projet de test 
  • Les fondements de la gestion de projet : Maîtriser passé, présent et futur 
  • Les fondements du management de projet : le triangle Coût/Qualité/Délai 
  • Garantir le contrôle des paramètres du projet
  • Phase 1 : le démarrage du projet de test
  • De l'idée au lancement de projet 
  • Quelle méthodologie? 
  • Quels acteurs? 
  • Quels outils? 
  • Etude de cas 
  • Déterminer les objectifs de l’ouvrage et de l’oeuvre 
  • Documents types : note d'orientation, note de synthèse
  • Phase 2 : La préparation du projet de test 
  • Les études préalables 
  • Etude de cas 
  • Choix des outils 
  • Documents types dont note de cadrage
  • Phase 3 : La conception du projet de test 
  • Organisation et structuration de projet 
  • Le découpage du projet 
  • Etudes de cas 
  • Documents et outils types dont Master Test Plan
  • Les différents intervenants (MOA, AMOA, MOE) 
  • Relation prestataires, exploitants 
  • L'élaboration du cahier des charges fonctionnel : expression de besoins, démarche, méthode, rédaction 
  • Phase 4 : La réalisation du projet de test
  • Le suivi de projets (qualité, délais)
  • Eléments de reporting 
  • Elaboration et mise en place de tableaux de bord 
  • Exercices - documents types 
  • L'assistance au démarrage
  • Le bilan du projet de test 
  • Démarche, méthodes, outils 
  • Maintenance de l’existant 
  • Montée de version des outils 
  • Réorientation de la démarche outillée 
  • Etude de cas 
  • Documents types
  • Quelle organisation pour quel projet? (exercice)
  • Nouvelles architectures SOA
  • Elaboration de la stratégie de tests

MODULE 14 INTRODUCTION A LA VALIDATION ET AUX TESTS – 2 jours-14 heures

Objectifs

  • Situer la place des tests dans une politique qualité
  • Reconnaitre les activités et les acteurs des tests
  • Comprendre les enjeux relatifs aux tests Contenu détaillé
  • Contexte 
  • Processus de test et cycle de vie logiciel 
  • Niveaux de test (rappel) 
  • Types de tests (rappel) 
  • Acteurs d’une équipe de test 
  • Le rôle de l’analyste
  • Analyse des bases des tests 
  • Avant de concevoir les tests 
  • Documentation des tests : norme IEEE 829 
  • Identifier les bases de test 
  • Exigences et spécifications 
  • Cycle de vie des documents 
  • Analyser les documents selon le niveau de test 
  • Identifier les conditions de test
  • Notions de traçabilité 
  • Traçabilité vers les tests
  • Evaluer la couverture des tests

MODULE 15 CONCEPTION DES TESTS ET JEUX DE DONNEES- 1 jour-7 heures

Objectifs 

  • Savoir concevoir, rédiger et mettre en œuvre des tests boite noire quel que soit le niveau de test
  • Connaitre les normes et formalismes de documentation des cas de test 
  • Etre en mesure d’intégrer le cahier créé dans un dans un outil de gestion des tests Contenu détaillé
  • Introduction
  • Analyse des bases des tests 
  • Avant de concevoir les tests
  • Documentation des tests : norme IEEE 829 
  • Identifier les bases de test 
  • Exigences et spécifications 
  • Cycle de vie des documents 
  • Analyser les documents selon le niveau de test 
  • Identifier les conditions de test 
  • Notions de traçabilité 
  • Traçabilité vers les tests
  • Evaluer la couverture des tests 
  • Analyse d’impact
  • Conception des tests 
  • Création de jeux de données 
  • Créer les cas de test 
  • Techniques boîte noire 
  • Le standard BS7925-2 
  • L’approche par scénarios 
  • Partitionnement et classes d’équivalence 
  • Analyse des valeurs limites 
  • Tables de décision 
  • Diagramme de transition d’états 
  • Méthode Pairwise 
  • Techniques basées sur l’expérience 
  • Quand utiliser les techniques basées sur l’expérience 
  • Estimation d’erreurs 
  • Tests basés sur les listes de vérification 
  • Tests exploratoires 
  • Attaques 
  • Résumé des techniques et couverture
  • Implémentation 
  • Organiser les tests 
  • Prioriser les tests 
  • Valoriser les cas de test 
  • Sélectionner les données 
  • Détailler les procédures de test 
  • Les différents niveaux de détail 
  • Conseils de rédaction 
  • Cas de l’automatisation : identifier les tests et les données 
  • Outils de gestion des tests 
  • Implémenter un existant
  • Construire un référentiel des cas de test 
  • Maintenir les cas de test 
  • Référentiel des campagnes 
  • Exécuter et suivre les tests 
  • Exploiter la traçabilité

MODULE 16 IBM RATIONAL DOORS ET DXL-2 jours-14 heures

Objectifs 

  • Créer des données connexes aux exigences 
  • Manipuler, modifier et analyser les exigences avec Rational DOORS
  • Créer une traçabilité et en effectuer l'analyse
  • Maîtriser les principes de base de l'écriture et de l'application IBM Rational DOORS eXtension Language (DXL)
  • Contenu détaillé
  • RATIONAL DOORS 
  • Introduction 
  • Afficher l'information 
  • Modifier l'information 
  • Structurer l'information
  • Obtenir des documents Word dans Rational DOORS 
  • Créer des documents connexes aux exigences
  • Utiliser les données 
  • Utiliser les attributs pour recueillir des renseignements sur les exigences 
  • Trouver des données 
  • Manipuler l'affichage 
  • Créer la traçabilité et en effectuer l'analyse 
  • Insérer de l'information enregistrée sous d'autres formats
  • RATIONAL DOORS DXL 
  • Principes de base connexes au langage DXL 
  • Architecture Rational DOORS 
  • Renseignements sur les rapports 
  • Opérations d'entrée/sortie (E/S) pour les fichiers 
  • Boîtes de dialogue Rational DOORS 
  • Historique, discussions et accès 
  • Bibliothèques DXL 
  • Menus Rational DOORS 
  • Langage DXL évolué

MODULE 17 TESTS D’INTERFACE AVEC SELENIUM (API JAVA)-2 jours-14 heures

Objectifs

  • Automatiser le test d'applications web
  • Comprendre le contexte de l’automatisation
  • Connaitre la suite d’outils Selenium
  • Concevoir et optimiser les tests avec Selenium2
  • Exécuter et maintenir les tests conçus
  • Contenu détaillé
  • Les bases de l’automatisation des tests
  • Principes du test fonctionnel 
  • Principes du test de compatibilité 
  • Pourquoi automatiser ? 
  • Bénéfices et limites de l’automatisation
  • Choisir les tests à automatiser
  • Les tentations des fournisseurs et des utilisateurs
  • Introduction à Selenium
  • A propos de Selenium 
  • Architecture de la suite Selenium 
  • Points forts et limites de l’outil
  • Selenium IDE
  • Présentation de l’IDE
  • Capture et rejeu avec Selenium IDE 
  • Structure des scripts 
  • Création manuelle de script 
  • Les suites de test
  • Optimiser les tests avec Selenium IDE 
  • Utiliser les assertions
  • Intégrer des expressions régulières 
  • Localiser avec XPath 
  • Mettre en place des Rollup Rules
  • Piloter les tests conçus avec Selenium RC et WebDriver 
  • Différences RC / Webdriver 
  • Installation du serveur 
  • Convertir les scripts de tests 
  • Langages supportés 
  • Avantages de la conversion
  • Piloter les tests conçus avec Selenium RC et WebDriver (suite)
  • Exécuter les tests 
  • Consulter et interpréter les résultats 
  • Migrer de RC vers WebDriver
  • Paralléliser les tests 
  • Avantages de la parallélisation
  • Présentation et architecture Selenium Grid 
  • Installation et configuration 
  • Exécution parallélisée des tests
  • Aller plus loin 
  • Intégration de Selenium dans une organisation 
  • Principaux outils connexes 
  • Rules Module 18 INTEGRATION CONTINUE JENKINS-1 jour-7 heures
  • Objectifs 
  • Maîtriser les principes d'intégration continue
  • Contenu détaillé 
  • Intégration continue 
  • Définition, principes 
  • Notions de génie logiciel 
  • Best practices d’intégration continue 
  • La chaine de fabrication logicielle 
  • Utilisation de Jenkins 
  • Concepts, définitions 
  • Présentation de Jenkins 
  • Visite guidé de l’IHM 
  • Jenkins dans l’IDE
  • Le test fonctionnel dans l’intégration continue
  • Cas pratiques

MODULE 19 PROJET C-1 jour-7 heures

Objectifs

  • Mettre en application les acquis de la formation sur C
  • Contenu détaillé
  • Déroulement du module 
  • Les stagiaires travaillent en toute autonomie, en binôme. Ils sont libres d’effectuer les choix adaptés, de développer les parties dont ils jugent avoir le plus besoin et d'apporter leurs propres solutions aux problèmes posés.
  • Le formateur encadre les stagiaires par sa présence et répond aux questions. Il intervient pour épauler un binôme en difficulté ou pour faire le point à l'ensemble du groupe sur des notions non acquises. Il peut être amené à approfondir ou compléter certaines connaissances.

MODULE 20 PROJET C++ ET STL-2 jours-14 heures

Objectifs 

  • Mettre en application les acquis de la formation sur C++ et STL
  • Contenu détaillé 
  • Déroulement du module
  • Les stagiaires travaillent en toute autonomie, en binôme. Ils sont libres d’effectuer les choix adaptés, de développer les parties dont ils jugent avoir le plus besoin et d'apporter leurs propres solutions aux problèmes posés.
  • Le formateur encadre les stagiaires par sa présence et répond aux questions. Il intervient pour épauler un binôme en difficulté ou pour faire le point à l'ensemble du groupe sur des notions non acquises. Il peut être amené à approfondir ou compléter certaines connaissances.

MODULE 21 PROJET QT5 ET QTEST-1 jour-7 heures

Objectifs

  • Mettre en application les acquis de la formation sur QT5 et QTEST
  • Contenu détaillé
  • Déroulement du module
  • Les stagiaires travaillent en toute autonomie, en binôme. Ils sont libres d’effectuer les choix adaptés, de développer les parties dont ils jugent avoir le plus besoin et d'apporter leurs propres solutions aux problèmes posés. 
  • Le formateur encadre les stagiaires par sa présence et répond aux questions. Il intervient pour épauler un binôme en difficulté ou pour faire le point à l'ensemble du groupe sur des notions non acquises. Il peut être amené à approfondir ou compléter certaines connaissances.

MODULE 22 PROJET IBM RHAPSODY 8-2 jours-14 heures

Objectifs 

  • Mettre en application les acquis de la formation sur IBM RHAPSODY 8
  • Contenu détaillé 
  • Déroulement du module 
  • Les stagiaires travaillent en toute autonomie, en binôme. Ils sont libres d’effectuer les choix adaptés, de développer les parties dont ils jugent avoir le plus besoin et d'apporter leurs propres solutions aux problèmes posés. 
  • Le formateur encadre les stagiaires par sa présence et répond aux questions. Il intervient pour épauler un binôme en difficulté ou pour faire le point à l'ensemble du groupe sur des notions non acquises. Il peut être amené à approfondir ou compléter certaines connaissances.

MODULE 23 PROJET FINAL-3 jours-21 heures

Objectifs 

  • Mettre en application les acquis de la formation.
  • Contenu détaillé
  • Déroulement du module
  • Les stagiaires travaillent en toute autonomie, en binôme. Ils sont libres d’effectuer les choix adaptés, de développer les parties dont ils jugent avoir le plus besoin et d'apporter leurs propres solutions aux problèmes posés.
  • Le formateur encadre les stagiaires par sa présence et répond aux questions. Il intervient pour épauler un binôme en difficulté ou pour faire le point à l'ensemble du groupe sur des notions non acquises. Il peut être amené à approfondir ou compléter certaines connaissances.
  • Acquérir les fondamentaux et méthodes de développement d’applications agiles en mode projet
  •  Apprendre à développer des applications en C++ et utiliser la STL 
  • Utiliser le framework QT5 pour développer les applications graphiques en C++
  • Comprendre les process de qualification de gestion des exigences, de méthodologie de test et de validation afin de comprendre l’importance de la dimension
  • Test en mode projet
  • Appliquer en mode projet
  • BAC + 5 scientifique
  • Inscrit(e) comme Demandeur(e) d’Emploi

  • Appétences en informatique
  • Sens du détail, rigueur, qualités rédactionnelles, curiosité, intérêt pour les nouvelles technologies, esprit d’équipe
  • Idéalement avoir des bases en développement informatique.
  • Formateur/consultant ayant une expérience significative en entreprise sur le métier concerné et plus de 10 ans d’expérience
  • Support de cours remis à chaque participant, 1 stylo et un bloc-notes par stagiaire, 1 ordinateur à disposition
  • Vidéoprojecteur et tableau blanc et/ou paperboard
  • Feuille d’émargement à la demi-journée, questionnaire de satisfaction stagiaire, évaluations des acquis tout au long de la formation, attestation de stage
  • Attestation de formation

Modalités d'évaluation

 

En amont de la formation :

- Audit par téléphone par nos commerciaux et formateurs

- Tests d'auto-positionnement avant l'entrée en formation par le biais de questionnaire

 

Au cours de la formation :

Exercices pratiques et mises en situation professionnelle pour valider la compréhension de chaque notion abordée dans le programme de cours.

 

En fin de formation :

- Validation des acquis par le formateur ou via un questionnaire renseigné par les stagiaires

- Evaluation qualitative par les participants à l’issue de la formation via un questionnaire de satisfaction accessible en ligne.

Une attestation de fin de formation reprenant les objectifs de formation est également remise aux stagiaires puis signée par le formateur.

 

Modalités d’inscription :

Inscription possible jusqu’à la veille de la formation, sous réserve de places disponibles, en nous contactant au 01 56 59 33 00 ou par mail formation@sii.fr

 

Modalités particulières :

Nos formations sont accessibles aux personnes en situation de handicap. Renseignez-vous auprès de notre référente handicap au 01 56 59 33 00 ou par mail pedagogie@feeleurope.com

Dates

Formations associées

AGINIUS

153 avenue d'Italie

PARIS - Paris (75)

Prochaines formations
Toutes les dates de ce centre
Infos centre

Choisir SII Learning:

C’est choisir la force d’un réseau national avec une capacité d’intervention dans 100 villes et 50 centres en France.

C’est choisir la compétence avec plus de 600 formateurs experts dans leurs domaines et une offre de formation de plus de 600 programmes standards.

C’est choisir un réseau assurant une réelle capacité logistique avec plus de 200 salles équipées et une capacité d’accueil de 2000 stagiaires par jour.

C’est choisir une équipe dynamique, disponible et réactive, à l’écoute de vos besoins.

SII Learning : notre expertise au service de vos ambitions.