Hoy en día existen cientos de herramientas UML , es decir herramientas que permiten modelar diagramas siguiendo la notación UML (si aún no sabes UML empieza por estas guías rápidas o estos libros introductorios). Es imposible pues encontrar ninguna página que las compare todas.  En esta página intentaremos proporcionar algunas listas clasificadas de herramientas UML que como mínimo os sirvan para empezar a buscar la herramienta más adecuada a vuestros intereses.

De hecho, mi única recomendación a la hora de seleccionar una herramienta es pensar bien para qué la queréis y cómo planeáis utilizarla. Una buena herramienta cuando el objetivo es generar código no funcionará bien si el objetivo es simplemente utilizar la herramienta para dibujar modelos informales como parte de las discusiones de diseño).

Listas de herramientas disponibles en esta página según su categoría :

He encontrado también las cuentas de twitter para algunas herramientas . Una forma fácil de estar al día de nuevas releases

Herramientas UML genéricas

Herramientas completas que buscan dar el máximo soporte a los diferentes tipos de diagramas UML:

Herramientas UML textuales

También podemos encontrar diversas herramientas que permiten la especificación textual de modelos UML (y que automáticamente dibujan el diagrama UML correspondiente). Pueden ser una solución útil en algunos casos. Hablamos de este tipo de herramientas en este post anterior: La manera más rápida de crear diagramas UML: 10+ herramientas online para el modelado textual 

Herramientas UML para Eclipse

Si utilizáis Eclipse como IDE, también es útil echar un vistazo a la lista de herramientas compatibles con el plug-in Eclipse UML 2 . Como ya comentamos aquí , la amplia adopción de las herramientas UML para Eclipse podría convertir el formato XMI que usan en un estandar de facto para todas las otras herramientas UML.

Entre todas ellas, destacaría espcialmente Papyrus, herramienta en la que nosotros mismos colaboramos y que es muy completa, cubriendo no sólo UML sino también otros lenguajes como SysML o UML-RT. O si queréis algo más sencillo, UML designer es también una muy buena opción.


Herramientas UML de software libre  

Quiero mencionar también un par de listas de herramientas UML open source. Tened en cuenta que bastantes de las herramientas mencionadas específicamente en otras categorías son también gratuïtas o incluso open source (por ejemplo, Papyrus).

En esta categoría y, aunque  sea por razones puramente sentimentales (fue mi primera herramienta UML) tengo que mencionar a ArgoUML. Su última release fue hace en 2011 pero si queréis algo muy sencillo sólo para explorar un poco el mundo UML aún os podría ser útil


Herramientas para UML ejecutable:

Executable UML (leed acerca delos nuevos estándares para Executable UML: fuml and Alf) busca definir los modelos UML con suficiente precisión como para permitir su ejecución directa. En su estado más puro, elimina incluso la necesidad de programar. Disponemos ya de varias herramientas para ejecutar modelos UML . Podéis consultar la lista que hemos recopilado hasta el momento aquí.

Herramientas UML específicas para MAC:

  • MacA&D con soporte para los principales diagramas de UML 2.2. y funcionalidades de generación de código para SQL, C++, Objective-C, Java, PHP and REALbasic
  • CanvasUML : para dibujar diagramas de clase
  • Otras herramientas como MagicDraw, VisualParadigm and QuickUML tienen también versión para MAC

Herramientas para dispositivos móviles:

  • Lucidchart tiene una versión para iPad capaz de reconozer figuras hechas a mano.
  • Draw UML: una herramienta de dibujo UML para el iPad.
  • MagicDraw Reader iPhone Edition . Permite a los usuarios visualizar modelos hechos con MagicDraw desde su iPhone o iPod Touch.
  • Mock4U UML : Como usar Balsamiq para crear mock-ups de modelos UML en el iPhone usando sus templates para iPhone –>
  • iUML : NO es realmente una herramienta de modelado sinó una guía de referencia para llevar en el iPhone y consultar la documentación mientras dibujamos modelos UML.
  • UML Process Aid es otra herramienta para consultar documentación sobre UML en el iPhone.
  • AndyUML: una herramienta Android para el dibujo de diagramas UML
  • astah* UML pad permite la creación de diagramas de clase UML en vuestro iPad. Además, se pueden exportar los modelos para completarlos más tarde utilizando otras de las herramientas de modelado de la misma marca.

 

Herramientas UML para Python:

  • PyUML es un plug-in de Eclipse open source para la generación (y la ingeniería inversa) de código python a partir de diagramas de clase UML.
  • Epydoc : Genera documentación UML a partir de código python (última actualización en 2008)
  • PyNSource : Ingeniería inversa de código python. El diagrama de clase UML generado se puede mostrar como un diagrama textual ASCII o como gráfico.
  • Lumpy . Módulo Python para generar diagramas UML (actualmente object y class diagrams) a partir de un programa Python en ejecución. Se puede ver como un debugger gráfico que usa UML para mostrar el estado del programa.
  • ObjectDomain : herramienta comercial con soporte para generación de código y ingeniería inversa para Python.
  • argoUML-python parece (parecía?) ir en la misma dirección pero todavía está lejos de ese punto.
  • GraphModels (django-command-extensions)
    crea un archivo GraphViz dot “UML-LIKE” para la aplicación seleccionada
  • Pyreverse incluida en Pylint (herramienta para el análisis de la calidad del código python) crea diagramas UML a partir de código
  • pywebuml utiliza graphviz para crear el diagrama de clases UML correspondiente a tu código python (y también funciona con Java y C#).
  • PyEcore es una implementación en Python del Eclipse Modeling Framework (usado por todas las herramientas UML de Eclipse)


Herramientas UML para Ruby:

  • RailRoady genera diagramas UML para los modelos y controladores de Rails. Los modelos se muestran como .svg files o con el lenguaje dot . RailRoady se basa en el original RailRoad diagram generator .
  • yUMLMeRails combina RailRoad y yUML para crear diagramas UML online a partir del código RoR
  • Umple (un tipo de herramienta UML textual ) genera código Ruby para las clases del modelo
  • Umlify es un proyecto open source que genera diagramas de clase a partir del código fuente Ruby. Como yUMLMeRails utiliza yUML para visualizar los diagramas.
  • Dentro de las herramientas comerciales Visual Paradigm for UML ofrece generación de código para Ruby
  • Otras iniciativas, como ruby-uml parecen ya abandonadas o tan sólo una declaración de intenciones (como argoUML-ruby


Herramientas UML para Perl:

  • UMMF es una implementación hecha en Perl del metamodelo UML capaz de generar también código Perl para un modelo UML dado.