Programme du cours
Les bonnes pratiques de conception
-
Les enjeux de la conception
-
La conception avec ou sans UML
-
La réutilisation : techniques et limites
-
Le rôle des interfaces et classes abstraites dans la stratégies d’évolution d’un système
-
L’organisation du sous-systèmes ou modules
-
La gestion de l’évolutivité par les dépendances
-
Le rôle du paquetage dans la conception
-
La notion de responsabilité dans l’organisation du système
-
Les design patterns pour résoudre les problèmes de conception récurrents
Les bonnes architectures pour Java EE
-
L’importance de l’architecture dans la conception
-
L’architecture multi-couches pour orienter le graphe de dépendances
-
Les design patterns dans l’architecture
-
Les technologies Java EE dans l’architecture
-
Les frameworks Java EE
Les bonnes pratiques de développement
-
Les techniques pour économiser la mémoire (instanciation, pool et cache)
-
Les transactions
-
La sécurité
Les outils pour bien développer
-
Améliorer la productivité individuelle (Eclipse, IntelliJ)
-
Améliorer la productivité de l’équipe (Git, Maven, Jenkins)
-
Préparer l’exploitation avec de bonnes traces (Apache Log4J et SLF4J)
-
Suivre la mémoire (JConsole, VisualVM)
Le suivi de la qualité
-
Les différents types de tests
-
La mise en œuvre des tests unitaires automatisés
-
L’automatisation des tests d’intégration
-
Les outils de mesure de la qualité (SonarQube, PMD,…)