Certains prônent la modélisation à 100% (il devient inutile de développer), d'autres ne jurent que par les standards (UML par exemple) et d'autres encore visent à l'exploitation de modèles spécifiques à un métier.
D'autres encore (moi :D) pronent une modélisation modérée.
Je m'explique. Je fais du développement depuis un bout de temps. J'ai d'abord commencé en loisir, puis j'ai suivi des études d'info, et depuis qques année maintenant, j'en vis.
Dans les premiers temps, qd je codais qque chose, même si c'était un projet d'une assez grande envergure (ca m'est arrivé 2 fois avant mes études), je réflechissais un peu au départ, mais je commençais à coder assez vite. Inutile de dire que j'ai refactoré le code plusieurs fois parce qu'une évolution n'était pas possible dans la conception courante.
Ensuite à l'université j'ai appris la modélisation. Super ! En partant d'un problème assez flou, avec des méthodes ou des schémas ou les deux, je peux identifier,découper,modulariser mon problème, et même aller jusqu'à de la génération de bouts de code. J'adorais ça. Voir évoluer la résolution d'un problème du début à la fin, et l'abstraction que ca nécessite, tout ca me plaisait bien. Et avec mon point de vue de dev ca marchait plutôt pas mal. Dans les projets d'étude en tout cas.
Enfin, qd j'ai commencé à bosser, et bien la modélisation, comment dire... j'en ai jamais vraiment vu. Les types qui réfléchissent ne sont presque jamais ceux qui développent ensuite. Les rares documents de "modélisation" que j'ai eu en main étaient de sources totalement hétéroclites (majoritairement des .doc avec des bouts d'excel dedans, et des images souvent pondues par Visio). Souvent je n'ai pas pris un projet au début, donc où l'architecture générale du projet ou le code ou les deux étaient déjà commencés. L'absence de commentaires est très récurrente, et la modélisation inexistante.
Heureusement, pour mon stage j'ai eu la chance d'avoir une portion de projet où j'ai fait l'intégralité du code. Je me suis donc mis en devoir d'utiliser un logiciel UML à la fois pour bien concevoir ce que j'avais à faire, et pour avoir un beau rapport de stage.
Et les ennuis ont commencé. J'ai utilisé Rational (je bossais chez big blue) qui est réputé, et malgré une prise en main rapide, j'ai vite déchanté. Le code généré est relativement simple, et donc ne présente pas réellement d'intérêt. Il ne gérait pas très bien les modifs de schémas. En fin de compte, c'est assez difficile de modéliser un cas assez technique, pas sûr que ca ait apporté une lisibilité supplémentaire. Les graphes obtenus par des clics de souris sont longs à faire et à modifier. Et surtout j'ai perdu pas mal de temps, parce qu'une fois parti dans le code, eh bien moult problèmes que je n'avais pas bien vus à la modélisation sont apparus.
Finalement, en ce qui me concerne en tout cas, je pense qu'il vaut mieux que je commence le code assez tôt, même si la modélisation n'est pas encore terminée, quitte à la faire évoluer au fur et à mesure. On voit mieux la berge en s'en approchant que du large.
Je ne peux donc pas appuyer mon code sur celle-ci, mais à la limite c'est mieux, je préfère qu'elle soit plus haut niveau et pas trop détaillée. Le relecteur n'a pas forcément besoin de connaitre tous les points d'implémentation.
Et j'ai récemment découvert un petit outil de génération de graphiques UML bien sympa, qui évite tout clic! http://umlspeed.sourceforge.net/
# Modelisation vs Code
Posté par Mat (site web personnel) . En réponse à la dépêche Acceleo 2.3 compatible Eclipse Ganymede. Évalué à 9.
D'autres encore (moi :D) pronent une modélisation modérée.
Je m'explique. Je fais du développement depuis un bout de temps. J'ai d'abord commencé en loisir, puis j'ai suivi des études d'info, et depuis qques année maintenant, j'en vis.
Dans les premiers temps, qd je codais qque chose, même si c'était un projet d'une assez grande envergure (ca m'est arrivé 2 fois avant mes études), je réflechissais un peu au départ, mais je commençais à coder assez vite. Inutile de dire que j'ai refactoré le code plusieurs fois parce qu'une évolution n'était pas possible dans la conception courante.
Ensuite à l'université j'ai appris la modélisation. Super ! En partant d'un problème assez flou, avec des méthodes ou des schémas ou les deux, je peux identifier,découper,modulariser mon problème, et même aller jusqu'à de la génération de bouts de code. J'adorais ça. Voir évoluer la résolution d'un problème du début à la fin, et l'abstraction que ca nécessite, tout ca me plaisait bien. Et avec mon point de vue de dev ca marchait plutôt pas mal. Dans les projets d'étude en tout cas.
Enfin, qd j'ai commencé à bosser, et bien la modélisation, comment dire... j'en ai jamais vraiment vu. Les types qui réfléchissent ne sont presque jamais ceux qui développent ensuite. Les rares documents de "modélisation" que j'ai eu en main étaient de sources totalement hétéroclites (majoritairement des .doc avec des bouts d'excel dedans, et des images souvent pondues par Visio). Souvent je n'ai pas pris un projet au début, donc où l'architecture générale du projet ou le code ou les deux étaient déjà commencés. L'absence de commentaires est très récurrente, et la modélisation inexistante.
Heureusement, pour mon stage j'ai eu la chance d'avoir une portion de projet où j'ai fait l'intégralité du code. Je me suis donc mis en devoir d'utiliser un logiciel UML à la fois pour bien concevoir ce que j'avais à faire, et pour avoir un beau rapport de stage.
Et les ennuis ont commencé. J'ai utilisé Rational (je bossais chez big blue) qui est réputé, et malgré une prise en main rapide, j'ai vite déchanté. Le code généré est relativement simple, et donc ne présente pas réellement d'intérêt. Il ne gérait pas très bien les modifs de schémas. En fin de compte, c'est assez difficile de modéliser un cas assez technique, pas sûr que ca ait apporté une lisibilité supplémentaire. Les graphes obtenus par des clics de souris sont longs à faire et à modifier. Et surtout j'ai perdu pas mal de temps, parce qu'une fois parti dans le code, eh bien moult problèmes que je n'avais pas bien vus à la modélisation sont apparus.
Finalement, en ce qui me concerne en tout cas, je pense qu'il vaut mieux que je commence le code assez tôt, même si la modélisation n'est pas encore terminée, quitte à la faire évoluer au fur et à mesure. On voit mieux la berge en s'en approchant que du large.
Je ne peux donc pas appuyer mon code sur celle-ci, mais à la limite c'est mieux, je préfère qu'elle soit plus haut niveau et pas trop détaillée. Le relecteur n'a pas forcément besoin de connaitre tous les points d'implémentation.
Et j'ai récemment découvert un petit outil de génération de graphiques UML bien sympa, qui évite tout clic!
http://umlspeed.sourceforge.net/