2010-11-01 3 views
3

J'essaie de trouver un bon moyen de développer un projet logiciel au lieu de passer beaucoup de temps dans la phase de développement et de codage, mais je ne trouve pas de solution appropriée.Quels sont les meilleurs outils d'analyse et de conception de développement logiciel et qui ont la capacité de transformer la conception en code réel?

Je connais un peu de Visio - Rational Rose - Paradigm et d'autres outils UML. Quels sont les bons outils d'analyse et de conception que je peux utiliser dans la POO, la OOD, les structures de données et les modèles de conception?

Pouvez-vous m'informer avec le meilleur logiciel ou celui que vous avez essayé et trouvé bon de le faire?

Y at-il un outil logiciel que nous pouvons lui fournir l'analyse et la conception du projet dans le format de base de données y compris les tables et ses relations OU le format de la programmation orientée objet projet de logiciel entier écrit dans la langauge de programmation spécifiée comme PHP - ASP - JSP ou tout autre langauge ??

Merci à l'avance ...

+0

Check Spring ROO –

Répondre

2

Je ne connais aucun outil qui vous permet de modéliser graphiquement l'ensemble du système (en utilisant par exemple UML), puis de générer une application complète, fonctionnelle et complète (UI + Domain Logic + Persistance).

Il y a quelques options qui vous donneront une partie de ce qui précède cependant:

  1. Il existe différents outils UML qui généreront une partie de la solution pour vous. @netcoder mentionné Enterprise Architect ci-dessus, il y a aussi AndroMDA (open source, fonctionne avec un certain nombre d'outils UML).
  2. Il existe des outils exécutables UML qui fournissent un environnement de modélisation complet et complet, dans lequel vous concevez votre application complète, y compris la logique, dans l'outil, puis traduisez vers votre environnement cible. Voir par exemple Bridgepoint. Ceux-ci ne sont toutefois pas gratuits et tendent à cibler le marché intégré. En tant que tel, ils n'ont pas de traducteurs prêts à l'emploi pour les applications Web: vous devrez en écrire un vous-même. Il y a webdsl. Ce n'est pas basé sur UML - utilise plutôt une collection de langages textuels spécifiques au domaine. Mais il fournit un environnement complet et intégré (y compris le plugin IDE eclipse) et génère des applications web basées sur Java.

Je l'ai utilisé tous les trois sur des projets, résumerait comme suit:

  • Les plugins UML (AndroMDA, etc.) Je n'aime pas. Parce qu'ils couvrent seulement une partie du problème, vous finissez par travailler à des niveaux d'abstraction mixtes (modèles vs. code) et le garder en synchronisation est généralement difficile (le problème de «l'ingénierie du voyage aller-retour»). J'aime les outils UML exécutables. Ils fournissent un ensemble cohérent d'abstractions et ne souffrent pas de désynchronisation des modèles, car il n'y a pas d'aller-retour. Cependant, développer vos propres règles de traduction est une entreprise non triviale.Ils sont aussi chers et jolie niche.
  • Je suis très impressionné par WebDSL (en l'utilisant sur un projet en cours). L'environnement est bon, le langage est intégré et cohérent et couvre toute la pile. C'est encore un projet jeune, et encore une fois c'est un créneau (la langue n'est pas standard). Mais il est open source, évoluant rapidement et a une communauté si petite mais sensible.

La route que vous emprunterez (le cas échéant) dépendra de l'emplacement de vos priorités.

hth.

+0

Merci beaucoup pour votre réponse informative et je vais essayer la dernière option que vous avez dit (WebDSL) et j'espère que nous nous entraiderons pour les questions et les projets futurs. – TopDeveloper

0

J'ai essayé quelques outils de conception UML (Dia, bouml, umbrello, Visio, UML2 d'Eclipse). Cependant, mon préféré, et malheureusement ce n'est pas open source, est Sparx Systems Enterprise Architect. Un peu cher (environ 200 $ US une licence), mais il peut générer du code à partir d'UML, et inverser le code vers UML, dans plusieurs langages (C++, Java, PHP, etc.). C'est un logiciel Windows, mais je l'utilise sur Linux sous Wine sans aucun problème.

0

Il semble que votre question concerne le développement piloté par les modèles. Vous avez aujourd'hui deux options:

La première option consiste à générer du code à partir d'un modèle. Habituellement, il prend le modèle xmi en entrée et génère le squelette de l'application mais pas la logique métier codée dans les méthodes.

La deuxième option est le code en direct et la synchronisation du modèle. Chaque changement dans le diagramme est immédiatement traduit en code. Je dirais qu'avec de nouvelles méthodologies agiles, seule la modélisation agile peut survivre. Je ne pense pas que Model Driven Development soit agile car vous ne pouvez pas avoir plusieurs itérations de modèle en code et de code en modèle.

Questions connexes