Formation Qualité du développement objet Patrons de conception et métriques qualité

Durée 2 jours
Niveau Intermédiaire
Classe à distance
Possible

Vous pouvez suivre cette formation en direct depuis votre domicile ou votre lieu de travail. Plus d'informations sur notre solution de classe à distance...

Référence DQUA
Éligible CPF Non

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.

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.

Public :

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.

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

Date de mise à jour du programme : 06/07/2022

Dates et lieux

Du 29 au 30 avril 2024
Lieu
Distanciel
Durée
2 jrs
1480 € HT
Du 29 au 30 avril 2024
Lieu
Paris
Durée
2 jrs
1480 € HT
Du 24 au 25 juin 2024
Lieu
Distanciel
Durée
2 jrs
1480 € HT
Du 24 au 25 juin 2024
Lieu
Paris
Durée
2 jrs
1480 € HT
Du 28 au 29 octobre 2024
Lieu
Distanciel
Durée
2 jrs
1480 € HT
Du 28 au 29 octobre 2024
Lieu
Paris
Durée
2 jrs
1480 € HT
Du 16 au 17 décembre 2024
Lieu
Distanciel
Durée
2 jrs
1480 € HT
Du 16 au 17 décembre 2024
Lieu
Paris
Durée
2 jrs
1480 € HT

Logo partenaire action collective de l'OPCO Atlas Votre formation prise en charge jusqu'à 100% des coûts pédagogiques ! *

Depuis 2011, Atlas (ex-Fafiec) a sélectionné PLB Consultant pour vous proposer les meilleures formations autour du développement objet avec .NET, Java et C++.
-  Sessions inter-entreprise sur Paris et Lille.
-  Sessions intra-entreprise sur toute la France.


* jusqu'à 100% des coûts pédagogiques selon votre branche d'activité dans la limite des fonds mutualisés dédiés aux actions collectives et en application des critères de prise en charge en vigueur (cf conditions détaillées sur le site d'Atlas)


Formations Informatique
et Management
en ligne à ce jour

+
Stagiaires dans nos salles
de cours sur
l'année

%
De participants satisfaits
ou très satisfaits de nos
formations


Formateurs experts
validés par
PLB