par
zigz4g » 07 oct. 2006, 23:12
Je met ma petite contribution a ce poste :
Je modélise les classes PHP5 sous Dia avec le plugin de UML2PHP5.
C'est correct, il faut néanmoins regarder du côté de la template XSLT pour obtenir des fichiers générés à sa sauce. Pour les autres, il suffit de configurer le plugin par son fichier de configuration.
Le petit défaut que je pense est possible de résoudre avec le fichier de configuration, c'est qu'il faut redéfinir les méthodes abstraites ou les méthodes des interfaces dans la classe héritantes. Bon la encore faut regarder dans le fichier de conf pour certainement obtenir des schémas plus propres et ne pas faire trop vite mais on manque de temps dans le projet en cours

Je dirais aussi que pour un projet assez volumineux, le fait de faire des schémas permet de garder une bonne cohérence dans le développement. Pour ce qui est de l'UML dans notre projet, on ne fait que les diagrammes pour générer les classes. C'est déjà pas mal, surtout quand on s'appercoit qu'il faut refaire parfois quelques classes lors du développement.
Pour le reste de la méthodologie, je dirais qu'elle est pratique met long à mettre en place dans le cadre de petits projets et même pour des gros.
L'avantage par rapport au papier c'est qu'il est possible de faire des versions des fichiers grace à subversion par exemple (OK le classeur peut faire la même chose et la date avec

).
Pour ce qui est de l'apprentissage, c'est grace à la pratique que l'on apprend le mieux. C'est par contre grace au C++ que je comprend l'UML et moins l'inverse. Une fois les méthodes de bases apprises, on comprend mieux des concepts plus avancés, je pense aux designs patterns.
Je clos mon poste par un outil rarement cité car je ne suis pas sur qu'il est porté sous Windows : Umbrello.
Il permet de générer du code PHP5. Si mes souvenirs sont bons, ce n'était pas encore d'une grande qualité pour la génération du code. Enfin, plus un problème de norme qui ne me plaisait pas

Dans la FAQ, il y aurait une méthode pour faire du reverse ingenering des fichiers PHP.