J’ai involontairement lancé un pavé dans la mare en demandant en public pourquoi les écoles continuent d’enseigner Merise, et pourquoi les jeunes diplômés persistent à apposer le terme en bonne place sur leur CV.
Soyons clairs, j’ai fait beaucoup de missions différentes, dans le public, le bancaire, le commerce, l’industrie… Je n’ai jamais croisé Merise. En fait déjà quand j’étais moi-même à l’école il y a une dizaine d’années, il y avait déjà l’aveu que ce n’était quasiment pas/plus utilisé et que notre enseignement était dépassé sur ce point
Même UML dont la notation est plus ou moins concurrente ou équivalente à celle de Merise, j’en ai finalement assez peu vu. Ça s’est limité aux quelques cahiers de spécifications que personne ne lit et qui sont totalement inutiles, ou à un petit jeu de diagrammes de bases plus ou moins repris comme convention pour échanger entre nous, en attachant peu d’importance à utiliser les bons symboles.
Alors soyez francs en commentaire : Utilisez-vous vraiment Merise professionnellement ? Vos collègues l’utilisent-ils ? Combien de fois l’avez-vous rencontré hors sphère éducative ? Était-ce utile ou nécessaire à ce moment là ? Et UML ?
Je n’ai pas la prétention de dire que c’est inutilisé et complètement mort, mais ça reste certainement peu significatif et probablement réduit aux gros cahiers de spécifications dont personne ne se sert vraiment, ou simplement imposé par des anciennes directions projet qui ont appris à faire comme ça dans le temps.
De ce côté là ça a la même utilité que Cobol ou Fortran : indispensable dans certaines entreprises qui ont un SI d’il y a 20 ans ou des contraintes très spécifiques, inutile partout ailleurs. Là où c’est encore moins utile que Fortran c’est que pour le jeune diplômé qui ne fera que lire, UML est bien plus répandu. Le temps que notre jeune diplômé soit en expérience de guider des conceptions en se basant sur Merise, il en restera encore moins qu’à mon époque et on attendra plutôt d’eux qu’ils fassent évoluer les choses. Dans tous les cas il y a bien mieux pour passer son temps en école.
C’est d’ailleurs la même chose côté algorithmie. Merise est peut être très bien fait, je ne dis pas le contraire, mais voir Merise sur un CV c’est assez proche d’un « Turbo-Pascal ». Même si on apprend les concepts et la méthodologie avec ça, ça n’apporte rien à être mis en avant. Et sauf si tout le reste du monde est à des années lumières de la France au niveau informatique, il y a des chances que notre sacro-sain Merise franco-français ne soit pas indispensable à cet apprentissage, qu’il y a d’autres façons de faire qui sont partagées par juste tout le reste du monde.
Apprenez à programmer avec Python, Java, Scheme, Scala ou d’autres. Apprenez les méthodes agiles, éventuellement approfondissez sérieusement UML si vous voulez partir dans cette voie, mais Merise, sérieusement, ne le mettez pas en avant dans votre formation.
Je sais que les écoles ne peuvent évoluer au jour le jour, et qu’il est parfois bon de ne pas céder à la dernière techno quand il s’agit d’apprendre des méthodes et des concepts, mais là ça ressemble vraiment à un héritage historique poussiéreux.
12 réponses à “Merise, avec plein de toiles d’araignée tout autour”
Je suis complètement d’accord avec toi sur un point : il n’est pas utile de mettre Merise en avant sur un CV car on le sait tous, ça n’aide souvent que très peu (voir pas du tout) dans la vie de tous les jours.
Par contre, je pense que cette méthode reste correcte pour enseigner la conception/modélisation de base de données : pour un débutant, je pense qu’il est plus simple de comprendre un diagramme qu’une structure de base déjà toute montée.
De la même manière, je pense que la notation UML (seulement certains points de la méthode) sont indispensables à l’apprentissage, surtout lorsqu’on ne souhaite pas focalisé son enseignement sur un langage spécifique.
Pour conclure, je pense que les abstractions fournies par ces méthodes sont utiles à l’apprentissage mais pas forcément par la suite. Lorsqu’on a assimiler les concepts, on peut s’en passer sauf dans certains cas bien précis…
ah la célèbre méthode Merise !
LA fierté française :)
Longuement étudié, jamais utilisé.
Il me semble que mon école enseigne UML à présent.
Mais la encore, l’utilité réelle en entreprise est plus que sujet à caution…
Je suis sorti de l’école il y a 1 an. J’y ai appris UML et en fouillant un peu on s’aperçoit qu’effectivement c’est très proche de Merise.
UML m’est particulièrement utile pour la rédaction de spécifications/documentation techniques :
– modéliser une base de données relationnelle,
– décrire les interactions entre différents webservices dans des cas d’architecture complexe,
– décrire les différents états d’un objet et les transitions liées.
Je l’utilise aussi pour dessiner au tableau dans des phases de réflexion à plusieurs. Un langage commun est fort utile.
(tiens c’est du wordpress ici, maintenant ? et plus du disqus ? Et pourquoi pas du Dotclear ? enfin, ce n’est pas le sujet du jour)
Sinon, jamais eu à utiliser Merise, mais parfois à lire des schémas en Merise. Dans tous les postes que j’ai occupés, j’ai eu à :
– lire des schemas préparés par l’architecte/chef de projet pour mon dév, qui représentaient le modèle de données métier voire la DB,
– produire des schémas pour mettre à jour la documentation pour les développeurs suivants / les collègues en place, que ce soit pour la DB, pour l’archi métier ou pour les classes
– lire les schémas de mes collègues (encore aujourd’hui) pour comprendre l’architecture des classes sur la partie du code en question
Le plus souvent c’était en UML, et la génération avec un logiciel adapté type ArgoUML ou StarUML. Une fois, mon CP était un merisien, et j’ai quand même compris son schema.
Il y a Merise et Merise. Merise concerne plusieurs choses. J’ai eu des cours de Merise à l’IUT et en Miage (dans les années 1994-98). Et finalement, ce que j’ai utilisé dans le milieu professionnel, c’est surtout la partie MCD (modèle conceptuel de donnée). D’ailleurs je me rappelle qu’à mon arrivé chez Aston, j’ai eu droit à un 2-3 jours de stage sur les MCD, durant lesquels d’ailleurs j’ai compris plus de choses que pendant mes 4 ans d’études :)
Et même si, formellement, je ne fais plus de Merise depuis très longtemps, mes connaissances sur les MCD me servent encore aujourd’hui pour élaborer mes schémas de bases de données.
Et quand je vois les schémas de bases de nombreux projets, je me dis que certains devraient se mettre à UML/Merise MCD (ou à autre chose, mais quoi finalement ?)
J’ai appris Merise pendant mes études et effectivement je n’ai jamais eu l’occasion de m’en servir depuis. Ca ne fait que quelques années que je suis développeur mais du coup je ne le mentionne pas sur mon CV.
Pareil : en 11 ans de carrière (cabinet de conseil), jamais vu de Merise, un peu d’UML et encore parce que c’était imposé par la DSI client, plutôt par respect de leur charte qu’une utilisation réelle par les développeurs (souvent d’autres prestataires).
Pour ma part, je rédige des spécifications fonctionnelles les plus détaillées possibles, qui sont souvent copiées/collées à 90% par les MOE dans leurs propres specs ; ils y ajoutent vraiment les aspects les plus techniques du MPD par exemple…
Ces spécifs ne sont pas décrites par formalisme UML ou autre, mais par des diagrammes, schémas lisibles par tous (métier, MOA, MOE, utilisateurs finaux).
Ce qui se conçoit bien, s’énonce souvent très simplement !
;)
Pour définir des architectures objets, nous utilisions UML très régulièrement chez l’éditeur de logiciel où j’ai travaillé pendant 7 ans. C’était très utile pour discuter sur des patterns ou sur de nouvelles APIs.
Depuis que je travaille dans l’internet, la question de faire de bonnes APIs ne se pose plus (de même que les architectures logiciels qui ne sont pas aussi importantes que dans l’édition logicielle). Et donc, je ne pratique quasiment plus UML…
Tout est une question d’environnement, et de type de problèmes que vous avez à résoudre. UML est très utile, mais pas pour tout le monde.
Je suis un peu étonné des commentaires. J’ai 42 ans. Mon âge a une importance compte tenu de la réponse que je vais faire. S’il y a bien une chose qui a été massivement utilisé (et à retenir) dans Merise c’est le Modèle Conceptuel de Données, étroitement lié au bases de données relationnelles. J’ai eu l’occasion de l’utiliser successivement dans la Distribution, la Banque, la Bourse et d’autres secteurs. A l’époque, on savait dénormaliser un modèle conceptuel pour optimiser les accès mémoire / temps. Aujourd’hui je rencontre de (jeunes) JEE/.Net-istes qui ne savent pas faire la différence entre une clé primaire et un index… mais je ne veux pas à mon tour lancer involontairement lancer un pavé dans la mare :D puisque les architecture N-tier et Cloud ont amené une banalisation de la modélisation objet, le mapping relationnel-objet, le NoSQL et bien d’autres concepts innovants. A mon sens, votre billet concerne plus le retard des programmes pédagogiques par rapport à la réalité du terrain de l’entreprise qu’une remise en cause de la méthode Merise.
Ah mais il ne s’agit pas du tout d’une remise en cause de Merise lui-même. Que ce soit parfait ou complètement à côté de la plaque est totalement indifférent à ce discours.
Je pleure aussi sur l’absence de culture informatique et surtout de compréhension de ce qu’il y a au dessus de la syntaxe, qu’on parle d’algo, de modèle de données, et globalement de « comment tout ça fonctionne en interne », mais je ne suis pas certain que ceux qui sortent avec « Merise » sur leur CV parce que ça a été abordé en cours soient forcément mieux armés de ce côté. En fait vu que tu vises particulièrement les jeunes et que moi aussi, probablement que ceux qui ont Merise sur le CV et qui ne savent pas concevoir un vrai modèle sont malheureusement les mêmes (comme quoi…)
Le fond de mon discours est bien là : le retard de l’école sur ce qui se fait réellement dans l’entreprise, ainsi que le décalage entre ce qu’on affiche et ce que l’entreprise attend.
Pour revenir globalement sur les commentaires, effectivement, le MCD est un artefact qu’on voit encore couramment. Ceci dit on le voit aussi dans d’autres pays qui ne connaissent même pas Merise de nom. Si c’est un des artefacts de Merise, ça ne justifie pas l’apprentissage de Merise elle-même, ça justifie juste d’aborder le « comment concevoir ». Si c’est fait intelligemment, on rencontrera probablement les mêmes concepts, personne n’a rien inventé.
Ah oui, au fait, bravo pour le concept du site : un instant de fraîcheur dans un mode de bruts :)
Perso, après dix ans de grands comptes, l’entreprise attend quand même des esprits typés « merisien » si on peut appeler ça comme ça : un modèle dual, avec un aspect MOA d’un côté et un aspect MOE de l’autre (L/P), et une logique de séparation des données d’un côté et des traitements de l’autre, parce que c’est ce qui reste de plus compréhensible pour le commun des non-informaticiens, et ce qui rassure l’exploitation d’avoir un stockage de données exploitable en-dehors de l’applicatif.
Forcément ces schémas, très « urbanisants », sont passés de mode, mais de là à dire qu’on est en décalage avec la réalité du monde de travail, c’est quand même un très grand pas à franchir.