2009-02-28 13 views
0

J'essaye actuellement de dessiner un ensemble de diagrammes UML pour représenter les produits, les offres, les commandes, les livraisons et les paiements. Ces diagrammes ont probablement été inventés par un million de développeurs avant moi. Y a-t-il des efforts pour standardiser la modélisation de ces choses communes?Où puis-je trouver des diagrammes UML (au lieu de réinventer la roue)?

  1. Ou encore la modélisation de domaines spécifiques (par exemple l'automobile). Savez-vous s'il existe un référentiel contenant des diagrammes UML (diagrammes de classes, diagrammes de séquences, diagrammes d'états ...)?

Répondre

3

Il existe un mouvement pour documenter (par opposition à normaliser) des modèles pour certains domaines. Ceux-ci sont appelés modèles d'analyse et est un terme que Martin Fowler a proposé. Il a effectivement écrit un livre intitulé Analysis patterns. En outre, il a un dedicated section sur son site Web où il présente certains de ces modèles accompagnés de diagrammes UML.

Peut-être que vous trouverez inspiration qui vous aidera à modéliser votre domaine. J'ai mis l'accent sur le mot inspiration car je pense que les différentes entreprises ont des exigences différentes bien qu'elles opèrent dans le même domaine, de sorte que les solutions que vous pourriez lire ne sont peut-être pas adaptées à votre problème.

0

Je pense que la question MiniQuark est vraiment bonne et sera tôt ou tard fournie par des fournisseurs tels que Omondo, Rational IBM etc ... Les utilisateurs n'ont pas seulement besoin d'outils, ils ont besoin de modèles prêts à l'emploi règles métier à l'intérieur d'une architecture bien définie existante. Pourquoi développer à partir de zéro une nouvelle architecture si le travail est déjà fait? En Java nous utilisons beaucoup de frameworks, de méthodes existantes etc ... alors pourquoi ne pas aller plus haut et réutiliser l'architecture? Il est aujourd'hui impossible de deviner comment un projet va évoluer et de nouvelles demandes arrivent chaque jour. Nous avons donc besoin d'une architecture stable qui a été testée précédemment et est extensible. J'ai vu tellement de projets démarrant avec une belle architecture puis réalisant au milieu du projet que ce n'est pas ce qu'il y a de mieux et que l'on change ensuite d'architecture. Renommer des classes, diviser des classes, créer des paquets etc ... après la première itération, ça devient un vrai foutoir. Pouvez-vous imaginer ce que nous avons trouvé après 10 itérations !! un désordre total !! Ce gâchis aurait été évité si vous utilisiez un modèle prédéfini qui a été testé précédemment car la classe manquante, ou le paquetage etc., aurait déjà été créé et seul un renommage de classe serait suffisant à des fins d'architecture. L'ajout de méthodes de règles métier met fin à l'étape de codage avant le test de déploiement.

Je pense qu'il y a une confusion entre les modèles et la question initiale qui est liée à la réutilisabilité du modèle UML. Il n'y a pas aujourd'hui de modèle réutilisable sorti de la boîte qui a été développé. C'est vraiment étrange mais le travail n'a jamais été fait ou n'a jamais été partagé. Omondo a essayé de lancer une initiative sans succès réel. J'ai entendu dire qu'ils travaillent sur des centaines de modèles en boîte qui seront open source et donnés gratuitement à la communauté. J'espère que cela sera fait parce que c'est très important pour moi et que cela me ferait gagner beaucoup de temps au début d'un projet.

+0

Ne soyez pas dérouté par ce qu'est un modèle. Un modèle pour Omondo est un modèle unique par projet, composé de plusieurs paquets et diagrammes. Un modèle ne peut pas être simplement un diagramme parce qu'un diagramme est pour moi juste une vue du modèle dans la configuration spécifique et pas le modèle lui-même. J'ai vu une opposition intéressante entre Ed (par exemple EMF) et Vlad (Omondo) parce que pour Ed la modélisation est une vue d'un problème et pour le projet complet de couverture de modélisation de Vlad. Les modèles réutilisables ne sont possibles que si le modèle couvre le projet complet et pas seulement la vue d'un problème !! –

3

Il existe de nombreux outils qui font les deux - mais ils ne sont généralement pas gratuits! Microsoft Visio fait les deux et est extensible. Pour les artefacts UML, ils sont livrés avec des générateurs automatiques dans le code du template VB/Java - mais vous pouvez les modifier pour générer automatiquement n'importe quel code. De nombreux utilisateurs de Visio ont créé des modèles à partir desquels ils peuvent être utilisés comme modèles.

Artisan Enterprize est de loin l'outil UML le plus puissant (mais ce n'est pas bon marché).

Certains affirment que Rational Rose ou RUP est le meilleur outil

Mais pour fabrication de voitures et d'autres modèles du monde réel similaire, de loin le meilleur outil est Mathworks Simulink (non pas parce qu'il est l'un des plus chers) . C'est de loin le meilleur outil parce que vous pouvez animer le modèle - vous pouvez prouver que le modèle fonctionne avant de générer le code slik (quelle que soit la grammaire/langue/autres modèles que vous souhaitez pousser)! Vous pouvez obtenir un permis d'étudiant pour environ £ 180; avec la 'chose réelle' poussant £ 4000 (pour les artefacts liés à la voiture). Le produit complet avec toutes les garnitures est d'environ £ 15k. Simulink est également extensible avec un langage C like bien qu'il existe un add-in .Net et des API pour utiliser une pléthore d'autres langhuages. Et, tout comme Visio, il y a un forum mondial créant des modèles de modèles de monde réel freeware, shareware &. De nombreux constructeurs automobiles mondiaux utilisent déjà Simulink.