Aquí mantendré una lista comparativa de software gratuito para edición de diagramas UML. El prerrequisito para que el software sea incluido en la lista es la gratuidad excluyéndose licencias temporales y similares.
diagramas_uml
Además, daré especial importancia a los siguientes aspectos de modo que problemas relacionados con los mismos supondrán directamente una desventaja pero su cumplimiento no se mencionará como ventaja:
- UML 2
- Soporte como mínimo de los siguientes lenguajes de programación: Java, C#, Python.
- Utilizable en cualquier tipo de proyecto, sea comercial o no por ejemplo.
- Ingeniería inversa (capacidad de generar diagramas o modelos desde código fuente)
- Binario disponible para Linux y Windows, de forma nativa o por ser multiplataforma.
En orden de adición, no por importancia ni preferencia:
Visual Paradigm Community Edition
http://www.visual-paradigm.com/product/vpuml/communityedition.jsp
Ventajas:
- Buena integración con IDEs.
- Incluye localización en castellano.
- Muy personalizable.
- Soporta muchos más lenguajes de programación.
Desventajas:
- No permite su uso en proyectos comerciales e incluye marca de agua recordando este hecho.
- Muestra muchas otras funcionalidades no disponibles como gancho para las versiones de pago.
ArgoUML
Ventajas:
- Es software libre.
- Soporta PHP.
Desventajas:
- UML 1.4
StarUML
http://staruml.sourceforge.net/en/
Ventajas:
- Es software libre.
- Muy personalizable.
Desventajas:
- Problemas con la ingeniería inversa si hay caracteres locales, tildes por ejemplo.
- Sin versión para Linux aunque puede funcionar con Wine. http://www.tadicho.com/?p=154
UMLET
Ventajas:
- Es software libre.
- Buena integración con Eclipse.
- Permite edición sólo con texto (sin usar el ratón).
Desventajas:
- Sin ingeniería inversa.
JUDE COMMUNITY
http://jude.change-vision.com/jude-web/product/community.html
Ventajas:
- Buena personalización.
Desventajas:
- Soporte incompleto UML 2
BOUML
Ventajas:
- Muy rápido.
- Soporte PHP.
- Es software libre.
- Ingeniería inversa por encima de la media.
Desventajas:
- Muy poco intuitivo, curva aprendizaje grande.
Umbrello
Ventajas:
- Es software libre.
Desventajas:
- Sin binario actualizado para Windows.
http://www.websequencediagrams.com
http://www.websequencediagrams.com
Ventajas:
- Muy ágil y cómodo, diferentes estilos de presentación.
- Herramienta web, no requiere instalación.
- Permite edición sólo con texto (sin usar el ratón).
Desventajas:
- Herramienta web, necesitas estar conectado.
- Sólo soporta diagramas de secuencia.
yuml.me
Ventajas:
- Herramienta web, no requiere instalación.
- Muy ágil y cómodo.
- Permite edición sólo con texto (sin usar el ratón).
Desventajas:
- Herramienta web, necesitas estar conectado.
- Ciertos problemas con caracteres locales.
- No soporta diagramas de secuencia.
Nota: Websequencediagrams.com y yuml.me juntos sí que conforman una solución completa de UML. Lo que ocurre es que son proyectos distintos, diferentes autores, y por tanto no tiene sentido analizarlos en conjunto.
Modelio2
No lo he probado aún pero parece prometedor:
“Modelio2 is an open source modeling tool recently released. It completely supports UML2 and BPMN2, and provides extensions (modules) for SysML modeling, TOGAF modeling, Java (code generation, roundtrip & reverse), and many other targets.”
PlantUML
Del estilo de websequencediagrams.com pero soportando más tipos. Tiene la ventaja de que es un JAR que descargas en lugar de sólo un sistema online.
Draw.io
No sólo para UML sino para cualquier diagrama. En este caso se preparan a golpe de ratón y es recomendable la opción de trabajar con copia en Google Drive. Lo he utilizado especialmente para documentar arquitecturas de software a alto nivel.
Si descubres alguna herramienta mejor por favor deja un comentario 🙂