Votre outil de modélisation

Administrateur PHPfrance
Administrateur PHPfrance | 3131 Messages

05 oct. 2006, 15:20

Je suis en phase de modification de mon outil de modélisation, qui me gonfle à cause de sa lourdeur sur ma machine de travail qui n'est pas tout à fait au goût du jour. Il s'agit de Poseidon For UML. Je me suis récemment mis à Eclipse une bonne fois pour toutes, que j'ai donc installé sur cette même machine. ça tourne bien, mais certainement pas avec Poseidon en prime.

Je voulais donc faire un tour d'horizon des outils de modélisation que vous utilisiez, et comment vous les raccrochiez à PHP.

Mammouth du PHP | 19672 Messages

05 oct. 2006, 19:33

Personnellement, le seul que j'utilise est MySQL WorkBench pour modéliser mes bases de données.

Mais pour ce qui est de l'UML, d'abord je suis une tanche dans ce type de modélisation et ensuite le seul que j'ai essayé est Dia avec le plugin pour PHP5... qui n'a jamais fonctionné, les liens de génération du code restant désespérément inactifs. Et depuis... ho quoi, peut-être deux ans, on attend toujours la doc annoncée, même payante (il était question de 10€)

Sinon, j'ai à peine touché quelques autres comme Poseidon ou encore Borland mais les versions gratuites et il n'y a pas de lien avec PHP.

Donc mon seul outil de modélisation actuel est situé quelque part entre mes deux oreilles ;)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 1511 Messages

05 oct. 2006, 19:50

J'ai trouvé le meilleur outil qui existe, la feuille de papier :langue:
Très utile de surcroit, mais on ne s'en lasse pas, car c'est ce qu'il y a de plus efficace.
Ensuite, on voit a peu près le plan de ce que l'on veut obtenir.
@+

Administrateur PHPfrance
Administrateur PHPfrance | 3131 Messages

05 oct. 2006, 19:51

Je vais tester bouml pour voir ce que ça donne, il se targue de sa légèreté :)

Mammouth du PHP | 983 Messages

05 oct. 2006, 20:31

Pour les mêmes raisons que toi naholyr, j'ai arrêté Poséïdon qui prend énormément de RAM.

StarUML est écrit en Delphi, ce qui signifie qu'il est dispo seulement pour Windows. Mais du coup, c'est plutôt rapide. Il gère la plupart des diagrammes UML, fait du reverse engineering comme un chef (Java, C++, C#).

Il génère même depuis peu du code PHP5 en installant ce template.

Bref, à tester pour les windowsiens!

Mammouth du PHP | 1511 Messages

05 oct. 2006, 20:35

Tiens au fait, quelqu'un aurait-il un tuto pour faire de l'uml?
@+

Mammouth du PHP | 983 Messages

05 oct. 2006, 20:41

UML est considéré plus comme une boîte à outils qu'une méthode. Il est assez difficile de trouver des tutoriels étant donnés qu'il faut connaître un certain nombre de choses pour commencer.
Par contre, il existe des introductions assez développées :
- http://uml.developpez.com/
- http://uml.free.fr/

Mammouth du PHP | 1511 Messages

05 oct. 2006, 20:58

Je file chercher la boite d'aspirines :langue:
@+

ViPHP
ViPHP | 2144 Messages

05 oct. 2006, 21:34

Je dois encore avoir un cours d'uml sur support électronique, faudrait que je fouille un peu, si ça intéresse quelqu'un...

Sinon, pour avoir un peu jouer avec Poséidon, cv'est vrai qu'il est puissant au niveau des fonctionnalité, mais très gourmant en ressources, comme d'autres programmes équivalents, tel que la gamme de Rationnal,

Mammouth du PHP | 19672 Messages

06 oct. 2006, 06:36

Je dois encore avoir un cours d'uml sur support électronique, faudrait que je fouille un peu, si ça intéresse quelqu'un...
Oui, ça m'intéresse :)
J'ai bien deux bouquins sur UML, un qui vaut pas un clou de chez O'Reilly (C'est rare chez eux) intitulé "Introduction à UML" dans lequel l'auteur fait plus montre de son savoir que de l'enseignement et un autre beaucoup plus sympa mais un peu brouillon à mon sens de la collection "Les cahier du programmeur"intitulé "Modéliser un site de E-Commerce avec UML".

Dans l'ensemble, je dirais que l'UML est une méthode de modélisation puissante et à mon avis un peu indispensable pour tout projet d'envergure, mais l'auto-apprentissage de cette matière est particulièrement ardue. Avoir au départ une bonne culture "objet" ne peut qu'aider à aborder certains concepts.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Administrateur PHPfrance
Administrateur PHPfrance | 3131 Messages

06 oct. 2006, 10:05

Pour les mêmes raisons que toi naholyr, j'ai arrêté Poséïdon qui prend énormément de RAM.

StarUML est écrit en Delphi, ce qui signifie qu'il est dispo seulement pour Windows. Mais du coup, c'est plutôt rapide. Il gère la plupart des diagrammes UML, fait du reverse engineering comme un chef (Java, C++, C#).

Il génère même depuis peu du code PHP5 en installant ce template.

Bref, à tester pour les windowsiens!
J'ai testé hier à la maison, excellente produit ! Simple mais complet, par contre un défaut pour PHP5 (le seul mais grave à mon sens) : le code qu'il génère n'inclut pas la documentation :( C'est très embêtant je trouve, mais il doit être possible d'éditer le template...

Edit: après avoir potassé l'API je sais comment faire :) je m'y attèle et j'enverrai le template remis à jour à StarUML.

ViPHP
ViPHP | 2144 Messages

06 oct. 2006, 19:14

Cyrano : je tenterai d'exumer mes vieilles archives ce we, mais c'est pas gagné...

Mammouth du PHP | 684 Messages

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.
Zigz4g

Mammouth du PHP | 983 Messages

09 oct. 2006, 20:05

Le problème de Dia, c'est qu'il est très light puisqu'il ne permet de faire que des diagrammes de classe. Il ne gère pas XMI et son ergonomie n'est pas dès plus simple..

ViPHP
ViPHP | 2144 Messages

09 oct. 2006, 20:44

Cyrano : j'ai cherché, mais je n'ai retrouvé que la version papier de mon cours d'uml, et pas la version électonique, désolé :oops: