Formation Qualité du développement objet

Public admis

  • Salarié en Poste
  • Demandeur d'emploi
  • Entreprise
  • Etudiant

Financements

Eligible CPF Votre OPCO Financement personnel

Objectifs de la formation

Afin de traiter les 2 axes décrits ci-dessus et de les illustrer avec des outils ou travaux pratiques, ce module est divisé en 2 parties :

  • Les bonnes pratiques de la programmation orientée objet : patrons de conception et d’architecture
  • Qualité du code source et application d’une démarche qualité lors des projets de développement informatique.

PLB CONSULTANT


Informatique et Management
Voir la fiche entreprise

Tarif

A partir de 1 480,00 €

Durée 2 jours (14h)
Modes
  • Centre
  • Entreprise
  • Distance
Sessions
Lieux Partout en France

PLB CONSULTANT


Informatique et Management
Voir la fiche

Tarif

A partir de 1 480,00 €

Durée 2 jours (14h)
Modes
  • Centre
  • Entreprise
  • Distance
Sessions
Lieux Partout en France

Description

La programmation orientée objet (POO) est le paradigme de programmation le plus utilisé actuellement car c’est sûrement celui qui apporte le plus d’évolutivité, de maintenabilité et de fiabilité aux applications développées.
Malgré ses qualités propres, la POO nécessite beaucoup d’expertise si l’on veut atteindre les critères de qualité demandés par l’industrie. Les développeurs expérimentés et les architectes doivent avoir une connaissance et une compréhension des patterns architecturaux et de conception. Ces patterns recensent les problèmes fréquemment rencontrés dans l’ingénierie logicielle, leurs solutions, leurs conséquences.

En dehors des aspects collaboration et organisation des classes, le code source en lui-même a également des influences sur la qualité finale d’un logiciel. Des standards définissent les caractéristiques qualité d’un logiciel, leurs métriques associées ainsi que les méthodes de calcul par l’analyse du code source. La plateforme SonarQube est l’outil standard de facto qui rassemble tous les outils nécessaires à l’analyse du code source pour tous les langages informatiques. En dehors du calcul des indicateurs, SonarQube permet la mise en place d’une démarche qualité adapté aux spécificités d’un projet. Cet outil s’intègre généralement dans les pipelines d’intégration continue utilisés dans les usines logicielles.

Programme

Jour 1 : Patrons d’architecture et patrons de conception

Introduction aux patterns

Historique des design patterns
Objectifs d’un pattern
Formalisme de description
Distinction design pattern et patterns architecturaux
Typologie des design patterns

Les Patrons de création

Rendre un système indépendant de la façon dont les objets sont créés
Étude des patrons : fabrique abstraite, constructeur, prototype, singleton

Travaux Pratiques :

Reconnaissance d’un pattern d’après le problème posé, implémentation

Les patrons de structuration

Composer des objets pour obtenir de nouvelles fonctionnalités
Identifier des structures de classes abstraites et évolutives
Étude de : adapteur, pont, composite, décorateur, façade, proxy

Travaux Pratiques :

Reconnaissance d’un pattern d’après le problème posé, implémentation

Les Patrons de gestion de collaboration

Identifier des coopérations évolutives
Étude de : chaîne de responsabilités, commande, interpréteur, itérateur, médiateur, mémento, observeur, état, stratégie, patron de méthode, visiteur

Travaux Pratiques :

Reconnaissance d’un pattern d’après le problème posé, implémentation

Patterns architecturaux

Architecture en couche
Architecture MVC
Architecture distribuée : SOA, micro-services

Travaux Pratiques :

Organisation en couche d’une application Web (JavaEE ou .NET)
Framework MVC pour la construction d’interface

Jour 2 : Qualité du code

Introduction à la qualité

Argumentaire pour l’analyse de code
Définition d’une métrique, métriques internes et externes
Modèles qualité du logiciel, les efforts de standardisation, les normes SQuaRE
Mise en œuvre, qualité et intégration continue
Classification et panorama des outils d’analyse
L’offre de Sonar (SonarQube et SonarLint)

Mise en place d’une démarche qualité

Les règles de codage, règles standard, règle propre à un langage, spécifique à un projet
Les transgressions : typologie, classification et sévérité
Notion de dette technique, workflow de résolution des transgressions, rôles projet
Concepts pour adapter la démarche :  profils qualité, leak periods, indicateurs, métriques et portes qualité
Recommandation pour la définition des objectifs et amélioration continue

Travaux Pratiques :

Installation de SonarQube, présentation de l’interface
Analyse d’un projet (Java, C/C++ ou .NET), personnalisation des règles

Fiabilité d’un logiciel

Les bugs
Examens des règles liés aux les bugs pour les différentes technologies Java, C/C++ et .NET
Le rôle des tests dans la fiabilité d’un logiciel. Testabilité d’un logiciel. Typologie des tests.
Couverture des tests, explication du calcul des différents métriques Sonar
Les outils pour les différentes technologies, les objectifs à atteindre

Travaux Pratiques :

Intégration des plugins de couverture de test pour les différentes technologies
Écriture d’une classe de test et visualisation des effets sur la couverture

Maintenabilite

Les sous-caractéristiques et métriques associées
Anti-patterns et code smells, examens de certaines règles
Calcul de la complexité d’un code, complexité cognitive, duplications
La documentation, Importance des APIs, Métriques fournies par Sonar, Documentation non prise en compte par Sonar

Travaux Pratiques :

Comparaison de librairies Open Source, appropriation du code source

Sécurité

Sous-caractéristique de la sécurité : Confidentialité, Intégrité, Non-répudiation, Traçabilité, Authenticité
Examens des règles provoquant des vulnérabilités
Intégration avec SonarQube

Travaux Pratiques

Démonstration d’une vulnérabilté, correction

Performance

Sous-caractéristique de la performance : Utilisation des ressources, temps de réponse, débit
Métriques externes, outillage, surveillance continue, profiling
Modélisation de la charge
L’activité d’optimisation

Travaux Pratiques :

Modélisation de charge d’une application web

Prérequis

Il est important de connaitre un ou plusieurs langages de programmation objet.

Public

Les profils visés pour cette formation sont les architectes, chefs de projet, développeurs.

Ces formations pourraient vous intéresser

Objectifs de la formation

  • Choisir les indicateurs
  • Construire ses tableaux de bord
  • Piloter la qualité grâce aux tableaux de bord
Tarif

A partir de 1 390,00 €

Durée

2j / 14h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

  • Identifier les objectifs et les apports de la méthode de l'analyse de valeur
  • Analyser les étapes de la démarche d'analyse de  la valeur des produits
  • Appliquer la méthode de l'analyse de valeur pour en exploiter les résultats
Tarif

Contacter l'organisme

Durée

Nous contacter

Modes

Objectifs de la formation

  • Identifier les spécificités du secteur social à chaque étape de l'opération de construction
  • Analyser le rôle des différents acteurs publics et privés pour optimiser la conduite de l'opération
  • Développer les objectifs de développement durable dans la réflexion

Tarif

A partir de 1 585,00 €

Durée

2 jours - 14 heures

Modes
  • Distance
  • Entreprise

Objectifs de la formation

  • Comprendre la norme ISO13485
  • Mettre en place un SMQ pour une entreprise de DM-DIV
  • Identifier et gérer les risques liés à la qualité des produits
Tarif

A partir de 1 160,00 €

Durée

2j / 14h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

Ce cours Flexera InstallShield Avancé vous apprendra les fonctionnalités les plus avancées de l'outil pour packager vos applications et intégrer vos packages aux processus de développement dans votre entreprise.

Tarif

Contacter l'organisme

Durée

3j / 21h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

À l'issue de cette formation Développement iOS avancé pour iPohne/iPad, vous aurez acquis les connaissances et compétences nécessaires pour :

  • Mettre en oeuvre des fonctionnalités avancées relatives à l’IA
  • Maîtriser la programmation “propre”  en Swift (généricité, module, …)
  • Comprendre l’intérêt de la programmation fonctionnelle et savoir la mettre en oeuvre
  • Maîtriser la programmation des tâches en arrière plan (background)
  • Maîtriser la programmation des capteurs et l’architecture de Core Motion
  • Communiquer avec un périphérique Bluetooth
  • Maîtriser la programmation des notifications Push
  • Déveloper des applications gérant le parallélisme (multithreading)
  • Ouvrir les applications (partage de données, extension)
Tarif

A partir de 2 260,00 €

Durée

4j / 28h

Modes
  • Centre
  • Entreprise
  • Distance

Formation Domain-Driven Design (DDD)

Proposé par PLB CONSULTANT

Objectifs de la formation

Concrètement, à l'issue de cette formation Domain-Driven Design, vous aurez acquis les connaissances et les compétences nécessaires pour :

  • Maîtriser les concepts et principes clés de l’approche Domain-Driven Design
  • Mettre en œuvre les principes de conception du DDD et savoir appliquer les patterns
  • Utiliser un langage commun à tous les acteurs liés par le développement du logiciel
  • Avoir une expérience concrète d’implémentation de l’approche DDD
Tarif

A partir de 1 700,00 €

Durée

2j / 14h

Modes
  • Centre
  • Entreprise
  • Distance

Développer son offre produit

Proposé par GROUPE LEXOM

Objectifs de la formation

  • Détecter les opportunités de succès de votre entreprise sur un marché nouveau
  • Identifier les axes de développement de nouveaux produits
  • Identifier les méthodes et les techniques d'un lancement de produit
Tarif

A partir de 1 390,00 €

Durée

2j / 14h

Modes
  • Centre
  • Entreprise
  • Distance

Formation - Sketchup

Proposé par IB Cegos

Objectifs de la formation

  • Évaluation des compétences acquises via un questionnaire en ligne intégrant des mises en situation.
Tarif

Contacter l'organisme

Durée

3 jours (21 heures)

Modes
  • Entreprise
  • Distance
  • Centre

Objectifs de la formation

Concrètement, à l'issue de cette formation DevOps Agile vous aurez acquis les connaissances et les compétences nécessaires pour :

  • Énoncer toutes les phases de développement d’un projet Agile et les mesures de “quality gate” (mur qualité)
  • Citer des outils logiciels associés
  • Savoir utiliser un outil de backlog (recueil des besoins)
  • Savoir utiliser un outil de versionning et comprendre son vocabulaire (repository, branche, push, commit, etc.)
  • Comprendre le fonctionnement d’un outil de « build » logiciel
  • Connaître la typologie des tests logiciels et les outils associés
  • Comprendre la distinction entre intégration, livraison et déploiement continu
  • Comprendre en quoi consiste un pipeline d’intégration continue
  • Comprendre le paramétrage d’outils comme Jenkins ou GitLabCI
  • Savoir construire une application simple avec Ansible (playbook)
  • Comprendre les concepts de conteneur (Docker) et d’orchestrateur (Kubernetes)
  • Savoir créer un conteneur Docker simple
  • Comprendre en quoi consiste le déploiement d’une application sur un cluster Kubernetes
  • Comprendre en quoi un outil comme Elastic Search participe à l’amélioration continue d’un logiciel
Tarif

A partir de 1 480,00 €

Durée

2j / 14h

Modes
  • Centre
  • Entreprise
  • Distance

Je cherche à faire...