- assurer qualité, fiabilité et maintenabilité
- minimiser l'effort
- mettre en œuvre méthodes, outils et bonnes pratiques
Concevoir
Concevoir le logiciel (utiliser Uml et les outils existants maintenant dans Eclipse : Topcased, Papyrus, eclipse-uml2. Utiliser netbeans et son outil Uml intégré)
Connaître et utiliser les motifs de conception (design-patterns): Composite, Stratégie, Visiteur, DAO, MVC, Observateur, Façade etc...
Concevoir des classes maigres (une seule responsabilité par classe), composées de méthodes courtes (limiter, en général, la taille d'une méthode à ce qui peut être contenu dans une fenêtre de l'outil de développement).
Utiliser massivement (mais à bon escient) la délégation . Vérifier la pertinence du nommage des classes et des méthodes. Refactorer le code en permanence.
Connaître
Les outils, méthodes, et cadres applicatifs standard ou émergents:
- struts, spring, seam, velocity ou jet (templating), outillage xml
- programmation générative, approches dirigées par les modèles
Construire
Structurer et découpler: une application doit être structurée en couches, chacune des couches est, si nécessaire, divisée en modules.
Les sous-ensembles du logiciel sont vus comme des boites noires, c'est à dire qu'ils déclarent une API sous la forme d'un jeu d'interfaces. Si le couplage entre les classes d'un module est fort, le couplage entre les modules et les couches doit être faible.
Lorsqu'une classe implémente une interface, la règle est de déclarer l'objet d'interface et d'instancier la classe. De plus, depuis jdk1.5, utiliser les génériques pour paramétrer classes et méthodes, ainsi que les annotations.
Outiller
Adopter les outils adaptés, facteurs de qualité:
Trace configurable
- log4j
- Implémenter des méthodes toString pour les classes
- JUnit
- TestNG
- Cactus
- Cargo + Selenium
- Subversion
- Cvs
- Utiliser l'outil ant pour compiler et déployer l'application
Analyser
Lire beaucoup de code.
Lire (et comprendre) le code des bibliothèques tierces.
Faire des revues de code en ayant une vision conceptuelle du logiciel.
Se représenter, mentalement, l'application en termes de diagramme de classes (à minima).
Faire de la rétro conception avec l'outil intégré dans netbeans.
Mettre au point
Savoir utiliser les outils de débogage, en comprendre les mécanismes (protocole de débogage distant, compilation dynamique et rechargement à chaud du bytecode).
Configurer l'outil de débogage pour tracer l'exécution des bibliothèques tierces.
Savoir diagnostiquer les erreurs en analysant les traces des piles d'exception.
Aucun commentaire:
Enregistrer un commentaire