loader image

Gate Training

logo-png
Langages et Développement

Formation Qualité du développement objet

2 Jours

La programmation orientée objet (POO) est aujourd’hui le paradigme de programmation dominant, reconnu pour sa capacité à offrir évolutivité, maintenabilité et fiabilité aux logiciels. Toutefois, la mise en œuvre de ces avantages nécessite une expertise approfondie, particulièrement dans les domaines des patterns de conception et d’architecture. Ces derniers permettent de résoudre les problèmes récurrents de l’ingénierie logicielle tout en garantissant la pérennité des systèmes. En parallèle, la qualité du code source joue un rôle crucial dans la réussite d’un projet, notamment grâce à des outils comme SonarQube, qui analyse et assure la qualité tout au long du cycle de développement. Cette formation vous offre une compréhension complète des bonnes pratiques en POO, des patterns architecturaux, ainsi que des méthodes d’analyse de code pour une démarche qualité efficace.

Objectifs de la Formation

À l’issue de cette formation, vous serez capable de :

  1. Maîtriser les patrons de conception et d’architecture utilisés en programmation orientée objet.

  2. Implémenter une démarche qualité rigoureuse dans vos projets de développement logiciel.

  3. Analyser la qualité du code à l’aide des outils standards du marché, dont SonarQube.

  4. Améliorer la fiabilité, la maintenabilité et la performance de vos applications en utilisant des pratiques et outils éprouvés.

À qui s’adresse cette formation ?

Public Cible

Cette formation s’adresse à :

  • Architectes logiciels souhaitant approfondir leurs connaissances des patrons d’architecture et de conception.

  • Développeurs expérimentés désireux de renforcer la qualité du code qu’ils produisent.

  • Chefs de projet cherchant à intégrer des pratiques de qualité dans le processus de développement.

Prérequis

Pour suivre cette formation, il est recommandé d’avoir une connaissance préalable des principes de la programmation orientée objet et de maîtriser au moins un langage de programmation orienté objet (Java, C++, C#, etc.).

 

Contenu de la Formation

Jour 1 : Les Patterns de Conception et d’Architecture

  • Introduction aux Design Patterns

    • Historique et objectifs des design patterns

    • Distinction entre design patterns et patterns architecturaux

    • Typologie des design patterns : Création, Structure, Comportement

  • Les Patterns de Création

    • Rendre un système indépendant de la manière dont les objets sont créés

    • Étude des patterns : Fabrique abstraite, Constructeur, Prototype, Singleton

    • Travaux Pratiques : Identification et implémentation de patterns en réponse à des problèmes concrets

  • Les Patterns de Structure

    • Composer des objets pour créer de nouvelles fonctionnalités

    • Étude des patterns : Adaptateur, Pont, Composite, Décorateur, Façade, Proxy

    • Travaux Pratiques : Application de patterns pour structurer un projet logiciel

  • Les Patterns de Comportement

    • Identifier les collaborations entre objets dans un système évolutif

    • Étude des patterns : Chaîne de responsabilité, Commande, Interpréteur, Itérateur, Médiateur, Mémento, Observateur, Stratégie, Méthode, Visiteur

    • Travaux Pratiques : Implémentation de patterns pour gérer la collaboration entre objets

  • Patterns Architecturaux

    • Architecture en couches, MVC, SOA, Microservices

    • Travaux Pratiques : Structuration d’une application Web avec un framework MVC (JavaEE, .NET)

Jour 2 : Qualité du Code et Démarche Qualité

  • Introduction à la Qualité du Code

    • Importance de l’analyse de code et des métriques de qualité

    • Modèles qualité du logiciel et standards SQuaRE

    • Outils d’analyse : SonarQube et SonarLint

  • Mettre en place une Démarche Qualité

    • Règles de codage standards et spécifiques à un projet

    • Gestion de la dette technique et processus de résolution

    • Travaux Pratiques : Installation de SonarQube, personnalisation des règles pour un projet

  • Fiabilité Logicielle

    • Rôle des tests dans la fiabilité et la testabilité d’un logiciel

    • Couverture de tests et outils associés (Sonar, Jenkins)

    • Travaux Pratiques : Mise en œuvre de tests automatisés et mesure de la couverture

  • Maintenabilité et Complexité du Code

    • Identification des anti-patterns et code smells

    • Calcul de la complexité cognitive, cyclomatique et gestion des duplications

    • Travaux Pratiques : Analyse et optimisation de la maintenabilité d’une application

  • Sécurité du Logiciel

    • Sécurisation des applications selon les sous-caractéristiques de sécurité : confidentialité, intégrité, authenticité

    • Travaux Pratiques : Détection et correction des vulnérabilités à l’aide de SonarQube

  • Performance Logicielle

    • Mesure de la performance : utilisation des ressources, temps de réponse, débit

    • Outils de profilage et d’optimisation de performance

    • Travaux Pratiques : Profilage et optimisation de la performance d’une application web

 

Méthodes Pédagogiques

Cette formation combine théorie et pratique. Chaque module est illustré par des exemples concrets et des travaux pratiques permettant aux participants d’appliquer immédiatement les concepts étudiés. L’accent est mis sur l’utilisation d’outils standards comme SonarQube, afin d’assurer une démarche qualité dans le développement logiciel.

 

Au terme de cette formation, vous aurez acquis les compétences nécessaires pour mettre en œuvre une démarche qualité rigoureuse dans vos projets de développement orienté objet. Vous serez également capable de résoudre des problèmes complexes grâce à l’utilisation des patterns de conception et d’architecture adaptés, tout en garantissant la fiabilité, la performance et la sécurité de vos applications.

Pour plus d’informations ou pour vous inscrire à cette formation, contactez Gate Training dès aujourd’hui et démarrez votre parcours vers une qualité optimale du développement logiciel.

 

Niveau:

Intermédiaire

Classe à distance:

Possible