Articles précédents : Logiciel
- [33] Le client Jabber/XMPP Psi en version 0.12
- [12] Éclosion de Picviz
- [125] KDE 4.1 : Don't Look Back
- [0] Sortie du greffon Maven2 pour XRadar
- [21] Acceleo 2.3 compatible Eclipse Ganymede
- [412] Go-oo, une alternative à OpenOffice
- [78] Atheros libère un pilote pour ses composants 802.11n
- [31] Dolphin : l'émulateur GameCube et WII rejoint le Libre !
- [12] Codendi 3.6 : forge de Xerox
- [19] Topcased 2.0 est sorti
Liens connexes
- MeriseAcide (1980 hits)
- Binaires Linux x86 et x86_64 (261 hits)
- Captures d'écrans (2107 hits)
Dépêche modérée par
Dépêche éditée par
Logiciel : MeriseAcide, un outil d'aide à la modélisation Merise
Posté par Bombela (Jabber id, page perso, ). Modéré le 09 août 2008.Ce programme en interface console prend en entrée un fichier texte définissant un MCD (Modèle Conceptuel de Données) avec une syntaxe très simple. Il est possible d'obtenir le MCD et le MPD (Modèle Physique des Données) sous forme graphique, les éléments étant positionnés de manière entièrement automatique.
Enfin, le dictionnaire des données et le script SQL de création de la base de données peuvent aussi être générés.
MeriseAcide génère les diagrammes graphiques en PNG ou PDF, et positionne les éléments de manière entièrement automatique, grâce à l'utilisation de la bibliothèque Graphviz.
MeriseAcide (1980 hits)
Binaires Linux x86 et x86_64 (261 hits)
Captures d'écrans (2107 hits)
> Lire la suite (27 commentaires, moyenne: 3,1). [dépêche : 2124 caractères]
Un mode couleur est disponible, et il est même possible de les changer.
Le format de sortie du dictionnaire de données est au choix un fichier texte ou un tableau latex.
Pour la sortie SQL, les bases de données suivante sont supportées : SQLite, MySQL, PostgreSQL. Il est possible de désactiver la génération des contraintes SQL si nécessaire.
Toutes les options disponibles sont présentée si le programme est exécuté avec le paramètre “-h”.
Le code est en C++ et le programme a été testé sous GNU/Linux sur x86 et x86_64.
Un portage MS Windows a été tenté mais n'a pas abouti parce que je n'ai pas réussi à compiler Graphviz sous cet environnement (et faut dire que je suis mauvais avec cet OS).
Pour terminer, la syntaxe est documentée dans l'exemple fourni dans l'archive du binaire, et évidemment sur le dépôt Subversion. L'explorateur de dépôt du gestionnaire de projet Trac permet de le consulter directement à cette adresse.
(Ce fichier d'exemple ne comporte pas d'accent pour les entités et associations, mais MeriseAcide les supporte très bien)
Ce programme a été développé dans le cadre d'un BTS Informatique de Gestion et m'a été très utile pour travailler avec la méthode Merise et les bases de données pendant ma deuxième année. Peut-être que cela pourra aider d'autres personnes.
Merise / UML
Bonjour,
Je ne connais n'y l'un ni l'autre (pas encore appris) mais il me semblait que l'UML avait plus ou moins tué Merise. Quand est-il aujourd'hui ? Est-ce que Merise, francofrançais, a son utilité face à l'UML ? Quel avenir pour Merise ?
Merci.
-
[^]Re: Merise / UML
Posté par Maxime (Jabber id, page perso, ) le 09/08/2008 à 15:25. (lien). Évalué à 3.s/n'y/ni, désolé pour les blessés.
-
[^]Re: Merise / UML
Posté par Bombela (Jabber id, page perso, ) le 09/08/2008 à 15:41. (lien). Évalué à 6.Effectivement, UML à presque (si ce n'est complètement ?) écrasé Merise, mais cette méthode est toujours enseignée pour la conception de base de données.
Pendant mes deux ans de cours, je n'ai jamais eu d'UML orienté base de données et nous n'avons jamais eu de lien entre la partie base de données relationnelle et la partie programmation objet.
Ce programme est donc surtout utile pour les étudiants, mais il peux aussi rendre service pour concevoir des bases de données relationnelle rapidement. Personnellement, j'aime bien la méthode Merise pour ce genre de tâche.
Pour terminé, je dirais que dans la boite où je termine mon contrat en alternance, je n'ai jamais vu un seul morceau de Merise et encore moins d'UML...-
[^]Re: Merise / UML
Posté par Ontologia (page perso, ) le 09/08/2008 à 19:08. (lien). Évalué à 2.C'est pas si étonnant que ça. J'ai fait mon alternance dans une petite boite où j'étais d'ailleurs le seul informaticien et où on me demandait donc rien en terme de méthode.
Puis après le BTS une autre boite où c'était à peu près le même bordel, voire en pire parce qu'on était censé écrire des programmes qu'on était censés vendre. Et là, pas testé, pas de cahier des charges, et des logiciels pas finis, et plein de problèmes.
Là je suis tombé dans une grosse boite américaine, et comme dans toutes les grosses boites, on en mange de l'UML, des métriques dans tous les sens, des tests unitaires, fonctionnels (tiens d'ailleurs je vais peut être arrêter de coder et plus faire que ça), de la génération de code à partir de modèles, etc, etc....
Ne croit pas comme je l'ai cru que l'UML est un truc de prof, ça sert des fois. Je me prononcerai pas sur son utilité, et de la preuve de son utilité, ça dépend de beaucoup de facteur et de la situation.
Effectivement, Merise est mort. On utilise théoriquement UML pour modéliser la base à partir du diagramme de classe, ce qui aide bien vu que la base on est censé ne plus s'en occupé en disant merci au framework de persistance. D'ailleurs c'est pour ça qu'on t'as jamais parlé de lien entre couche objet et couche BDD : t'auras jamais à la coder
Après, beaucoup de gens (et surtout ceux qui ont fait un BTS, parce que les autres c'est rare qu'ils aient vu Merise), savent pas ce que c'est, mais on l'utilise quand même souvent pour avoir un beau modèle de la base de donnée, qui a elle été modélisée à l'époque en Merise.
Enfin, ça dépendra de ton parcours :-)-
[^]Re: Merise / UML
Posté par Bombela (Jabber id, page perso, ) le 09/08/2008 à 20:21. (lien). Évalué à 1.Je te rassure, je ne crois pas qu'UML est un truc de prof.
J'avoue n'avoir retenu que le diagramme de classe, que je trouve vraiment pratique pour modéliser un programme et discuter facilement avec d'autre programmeurs, mais mes souvenirs me font penser que le reste doit aussi être utile.
Au sujet du framework de persistance, j'en coderai probablement jamais, mais il vaut mieux savoir quels sont les principes qui sont derrière non ?
Cela permet d'appréhender le système et l'utilise correctement. C'est un peu comme savoir qu'un tableau est très pratique pour un accès directe à contrario d'une liste doublement chaînée qui est plus intéressante pour les insertions.
-
[^]Re: Merise / UML
Posté par Barret Michel (page perso, ) le 09/08/2008 à 21:26. (lien). Évalué à 2.En IUT j'ai appris la méthode mérise aussi.
--
Debian Sid
-
[^]Re: Merise / UML
Posté par Janfi (page perso, ) le 09/08/2008 à 21:46. (lien). Évalué à 3.Il y a aussi les étudiants de BTS Compta font pas mal de Merise/Merise2. Trop peut-être à mon goût, il y a d'autres thèmes qui me paraissent plus intéressants/importants, mais les référentiels sont ce qu'ils sont...
-
-
-
-
[^]Re: Merise / UML
Posté par letsyl () le 09/08/2008 à 18:20. (lien). Évalué à 4.UML n'est pas une méthode de conception. Comme son nom l'indique, c'est un langage dédié à la modélisation (Unified Modeling Language).
-
[^]Re: Merise / UML
Posté par Spyhawk () le 09/08/2008 à 18:25. (lien). Évalué à 4.Effectivement, ce qui a "tué" Merise est sans doute RUP (Rational Unified Process), développée par Rational Software d'IBM.
--
"The net is vast and infinite."-
[^]Re: Merise / UML
Posté par Spyhawk () le 09/08/2008 à 18:31. (lien). Évalué à 10... ou peut être La Rache, en y repensant, puisque c'est sans soute la méthode de conception logicielle la plus universellement répandue.
http://www.la-rache.com--
"The net is vast and infinite."
-
-
-
[^]Re: Merise / UML
Posté par LupusMic (page perso, ) le 10/08/2008 à 05:27. (lien). Évalué à 2.Contrairement aux légendes, Merise est toujours beaucoup utilisé. C'est comme Cobol ou Fortran, leur âge fait que les compétences et la stabilité des développement les valorisent par rapport aux solutions « modernes ». Quant à Merise, la méthode a la côte chez les utilisateurs, puisque cette méthodologie prévois d'intégrer l'utilisateur dans la démarche d'analyse.
Ce qui n'est pas le cas avec les méthodes modernes.-
[^]Re: Merise / UML
Posté par Dring FirebirdVsMySql () le 10/08/2008 à 16:58. (lien). Évalué à 9.Mon expérience perso, c'est la suivante :
UML & Merise ne sont utilisés que pour faire de zolis diagrammes, uniquement MCD et MPD (et généralement obtenu par ingénierie inverse) côté Merise, uniquement diagramme de classe et cas d'utilisation côté UML.
Les personnes maîtrisant ne serait-ce que 10% de l'un ou l'autre sont bien trop rares pour utiliser l'ensemble des diagrammes et modèles disponibles.
J'aurais l'air bien fin avec mon diagramme statut/état, ou mon MCT. Aucun utilisateur ou collègue ne saurait le lire, et donc encore moins le valider. Bref, rien ne remplace l'explication de texte pour l'analyse.
Autre chose : la plupart du temps, ça ne sert qu'un temps. Soit au démarrage du projet, soit lors des refontes et que le besoin de doc se fait sentir.
Dernière chose : sur la plupart de ces outils (ArgoUML, Rational, PowerDesigner, ...), je passe plus des 3/4 de mon temps à mettre en forme, alors que j'ai déjà une idée très précise de ce que je veux.
Le temps de configuration est également fastidieux ; je me rappelle de demi-journées passées à paramétrer les PowerDesigner de mes collaborateurs pour que la librairie Java soit bien identifiée, que le pilote ODBC soit bien paramétré, etc.
En un mot, j'ai un usage super limité de tout ça. UML, je ne m'en sers plus (marre de faire de la pédagogie au lieu d'avancer dans le projet), et je ne fais plus que des MCD. Le reste utilise un formalisme maison qui jusqu'ici convient à tous mes interlocuteurs, et qui est essentiellement textuel, avec des maquettes d'écran, et quelques schémas, mais pas trop.
L'UML est un échec cuisant. Cela devait réconcilier l'informaticien et ses utilisateurs en fournissant un langage commun. Sauf qu'il n'est enseigné qu'aux informaticiens, et qu'on veut à tout prix en faire un outil de génération de code.
Ma conclusion tient en peu de mots : c'est de la merde en boîte, dès qu'on va au delà des outils de base (MCD, MPD, Diagramme de classe) et/ou qu'on s'en contente pour communiquer avec les utilisateurs.--
Non, rien.-
[^]Re: Merise / UML
Posté par Bombela (Jabber id, page perso, ) le 11/08/2008 à 18:34. (lien). Évalué à 3.Ton analyse est très intéressante et nous avons un peu les mêmes avis.
Effectivement, je me suis limité à MCD->MPD, et diagramme de classe pour UML.
Les MCD, MOT, et autres modélisations aux noms barbares sont passée que trop fugitivement dans mon esprits... et ceux de mes camarades, mes collègues, mes parents (non là, je déconne)...
"Dernière chose : sur la plupart de ces outils (ArgoUML, Rational, PowerDesigner, ...), je passe plus des 3/4 de mon temps à mettre en forme, alors que j'ai déjà une idée très précise de ce que je veux."
En effet, en cours, c'était PowerDesigner d'imposé... sous MS Windows, avec tous les avantages que tu décris. En ajoutant le désir (que dis-je la nécessité !) d'avoir un rendu vectoriel (pour de beaux documents Latex superbement ignoré par les examinateurs), j'ai alors décidé de créer MeriseAcide :)
Avec MeriseAcide, tu écris ton MCD en moins de deux, et le plus dur, c'est de se souvenir des paramètres de la ligne de commande.
-
-
Enfin !
Je n'avais que AnalyseSI qui ne semble plus maintenu depuis un bon moment ! Reste plus qu'à tester, en espérant qu'il ne lui arrivera pas la même chose.
Merci beaucoup pour cette news, je n'avais rien trouvé malgré mes recherches.
-
[^]Re: Enfin !
Posté par Bombela (Jabber id, page perso, ) le 09/08/2008 à 15:54. (lien). Évalué à 3.J'avais testé AnalyseSI et il ne me convenais pas. J'ai alors décidé de développé mon propre outil. Je voulais quelque chose en langage compilé; en C++ parce que j'aime ce langage; uniquement en ligne de commande, et le plus automatisé possible. Il se peux que dans certain cas, le rendu ne sois pas le plus organisé et rangé possible. Il a l'avantage d'être entièrement automatique.
Je voulais un programme qui soit le plus rapide à l'exécution, histoire de faire du travail en presque temps réel. Je m'explique, je n'avais pas le temps de développer un outil interactif (et puis pas l'envie non plus). J'utilise le même principe que j'applique avec succès à Latex :
un Makefile qui relance evince quand la compilation à abouti, et un while sleep 0.5; do make; done pour vérifier périodiquement.
Pour ce qui est de la maintenance, c'est simple, si attention est porté à MeriseAcide et qu'on m'envoie des mails pour ça, alors, je corrigerais et ajouterai les nouvelles fonctionnalités demandée. De plus, tout le monde peux participer, certes c'est plus facile à dire qu'a faire, mais le code est bien découpé (beaucoup d'interface de classes) et puis je suis toujours là pour expliquer comment il fonctionne. C'est très valorisant de savoir que des gens utilises son programme.
Pas mal
J'ai longtemps cherché un truc de ce genre sans jamais le trouver. Aucun logiciel de conception de base de données ne permet de partir d'un modèle entité-association pour sortir directement le SQL. Personnellement, j'avais fait une DTD pour décrire un schéma entité-association et j'avais écrit un XSLT pour transformer ça en dot et le tracer avec GraphViz. Puis avec un script ruby très rudimentaire et très crade, je transformais le XML en schéma SQL.
En tout cas, vive le Merise pour la création de base de données, c'est vraiment l'idéal. Et bravo pour ton logiciel.
-
[^]Re: Pas mal
Posté par Bombela (Jabber id, page perso, ) le 09/08/2008 à 20:09. (lien). Évalué à 1.Merci, ça fait plaisir :)
-
[^]Re: Pas mal
Posté par Ontologia (page perso, ) le 09/08/2008 à 20:13. (lien). Évalué à 1.Il existe ausi AnalyseSI, c'est très simple, libre (mais mort) et ça peut faire l'affaire, mais MeriseAcid à l'air d'aller plus loin.
http://analysesi.free.fr/
Remarques & Suggestions
Salut,
Je trouve l'idée très bonne, et j'ai moi aussi longtemps cherché ce type d'outil sans pour autant me décider à en écrire un.
Je vais tâcher de m'installer un g++ rien que pour pouvoir faire quelques tests de modifications. Ce qui me tenterait :
* de pouvoir préciser le type des clés (par chez moi, on utilise des varchar(16), jamais des entiers)
* de pouvoir représenter une partie seulement du modèle (en indiquant par exemple une table de départ et un degré de profondeur, pratique quand on a plusieurs centaines de tables)
* de pouvoir paramétrer plus la présentation (ajouter des ombres, choisir la police, la taille, la mise en forme des clés primaires, étrangères, ...)
* de pouvoir avoir des nommages différents entre MPD et MCD (pour coller à un existant) et jouer sur les règles de nommage (utiliser des "_" ou non, tout mettre en maj/min, ...)
* ...
Pas mal de choses dépendent aussi de GraphViz, et surtout il faut que ça marche sous Windows, car au taf je n'ai pas le choix.
Je vais avoir quelques jours en août pour regarder ça...
Non, rien.
-
[^]Re: Remarques & Suggestions
Posté par Bombela (Jabber id, page perso, ) le 09/08/2008 à 21:08. (lien). Évalué à 2.Salut,
Tu peux choisir le type de clé unitairement dans le .ma (Le fichier à la syntaxe MeriseAcide contenant ton MCD). Après, si tu veux changer le type de clé par défaut, effectivement, il faut ajouter un peu de code :)
Pour ce qui est de limiter l'affichage du modèle, oui c'est possible, tout est sous forme d'arbre, il suffit d'ajouter un peu de code intermédiaire.
Le paramétrage de la présentation est limité par l'utilisation du moteur de rendu de graphviz. Moteur que j'ai du hacker pour ajouter certaines petites fonctionnalité. Pour faire bien, il faudrai coder un moteur de rendu pour MeriseAcide, cela permettrait en plus de se libérer de la maintenance d'une version personnalisée de la lib graphviz, et de tous les soucis que ça engendre (recompilation, merge avec la lib originale... etc). En utilisant Cairo et Pango, il doit être possible de développer ça sans trop de difficulté, c'est juste qu'il faut du temps...
Pour rendre plus souple les règles de nommage, quelques lignes de codes suffiront.
Et oui, j'ai pas réussis à compiler Graphviz pour Windows, et ça... c'est vraiment dommage.
Contacte moi sur mon adresse jabber si tu veux qu'on en discute. Je pourrais aussi te créer un accès en écriture à Trac et SVN pour te faciliter le développement.
Merci de l'intérêt que tu porte à MeriseAcide.
Et qu'est-ce qu'un "Une définition de MCD faite dans un simple fichier"
Bonjour,
Ce qui me gène est la syntax dite simple mais indéfinie :
"Une définition de MCD faite dans un simple fichier texte à l'aide d'une syntaxe simple et intuitive suffit au programme pour calculer le MPD et générer le fichier SQL de création de la base de donnée. "
Quelle est t'elle ?
Car sans cette syntax, rien ne débute !
Merci
-
[^]Re: Et qu'est-ce qu'un "Une définition de MCD faite dans un simple fich
Posté par Bombela (Jabber id, page perso, ) le 11/08/2008 à 18:37. (lien). Évalué à 1.Psst, regarde dans le corps de la dépêche, y a le lien suivant : http://bombela-dev.is-a-geek.org/MeriseAcide/browser/trunk/s(...)
Il est aussi indiqué que ce fichier fait parti de l'archive binaire.
Au plaisir !-
[^]Re: Et qu'est-ce qu'un "Une définition de MCD faite dans un simple fich
Posté par Laurent Besson (page perso, ) le 12/08/2008 à 17:27. (lien). Évalué à 1.Ooops désolé, mal regardé ! :(
-
Autre possibilité
Dans le même genre d'outil, il y a MeriseDot que l'on peu trouver ici : http://oss.phear.org/merisedot/ ça utilise aussi graphviz mais la syntaxe c'est du zsh, c'est simple et le MCD optenu est tout beau, par contre ça semble moins complet que MeriseAcide.
-
[^]Re: Autre possibilité
Posté par Tanguy Ortolo (Jabber id, page perso, ) le 13/08/2008 à 08:14. (lien). Évalué à 3.Au passage, c'est quoi, Zsh, quand ça ne désigne pas le Z shell ?
-
[^]Re: Autre possibilité
Posté par Bapt (page perso, ) le 13/08/2008 à 09:03. (lien). Évalué à 3.ça désigne bien le Z shell, donc zsh c'est zsh
-
J'aime bien !
Bonjour,
Après ne pas avoir assez pris de café et loupé syntax.ma...
Je l'ai testé... et bien c'est un outil que j'utiliserais dorénavant à la place de AnalyseSI...(plus besoin d'un wouinwouin)...
Merci Bombela ;)



Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.