- Cours pratique
- Informatique
Formation Qualité du développement objet
Patrons de conception et métriques qualité

- Durée
- 2 jours
- Niveau
- Intermédiaire
- Modalités
- Présentiel / Distanciel
Description de la formation Qualite developpement
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.

Objectifs pédagogiques
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.
Programme
Contenu du cours, module par module
3 modules
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
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
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
Patterns architecturaux
- Architecture en couche
- Architecture MVC
- Architecture distribuée : SOA, micro-services
Travaux pratiques
Travaux pratiques
Travaux pratiques
Travaux pratiques
Framework MVC pour la construction d’interface
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
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
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
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
Analyse d’un projet (Java, C/C++ ou .NET), personnalisation des règles
Travaux pratiques
Écriture d’une classe de test et visualisation des effets sur la couverture
Travaux pratiques
Travaux pratiques
- 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
Programme mis à jour le 03/11/2025
Public concerné
Les profils visés pour cette formation sont les architectes, chefs de projet, développeurs.

Prérequis
Il est important de connaitre un ou plusieurs langages de programmation objet.
J’évalue mes connaissances pour vérifier que je dispose des prérequis nécessaires pour profiter pleinement de cette formation en faisant le test de prérequis.
Faire le testFinancement
Cette formation peut être prise en charge par votre entreprise, seule ou avec l’appui de son opérateur de compétences. Nous fournissons le devis et les pièces attendues par l’OPCO.
Formations liées
- Ranorex : Automatiser les tests des applications mobiles avec RanorexRéf. TRNX2 joursIntermédiaireProchaine session : 17 déc.1 590 €
- Revue de codeRéf. RDCT1 jourFondamentalProchaine session : 25 nov.990 €
- Robot FrameworkRéf. DTRF3 joursIntermédiaireProchaine session : 21 oct.2 090 €
- Robot Framework avancéRéf. RFWA2 joursFondamental1 590 €