Programme
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égie d?évolution d?un système
- L?organisation du sous-système 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, ant)
- Améliorer la productivité de l?équipe (eclipse, subversion, maven)
- Préparer l?exploitation avec de bonnes traces (Apache Log4J et Common Logging ou SLF4J)
- Suivre la mémoire (jconsole, profiling)
Le suivi de la qualité
- Les différents types de tests
- La mise en oeuvre des tests unitaires automatisés (junit, jcover)
- L?automatisation des tests d?intégration
- Les outils de mesure de la qualité (CodeStyle, PMD, jDepend,...)
Les bonnes démarches de projet
- L?organisation d?un projet autour d?UML : UP, le processus unifié
- Centrer un projet sur les modèles : MDA (Model Driven Architecture)
- Centrer un projet sur l?agilité des développeurs : eXtreme Programming