Herramientas UML… ¿cuál utilizar?

Hoy en día en el mundo de la informática tenemos la fortuna de tener alguna herramienta que nos ayude en nuestra tareas cotidianas, desde mensajeros instantáneos para comunicarnos, hasta gestores de recetas de cocina para perpetuar el legado culinario de las abuelas, y por supuesto, el modelado con UML de software orientado a objetos no es la excepción.

Por desgracia, hay tal variedad de herramientas en el mercado que es difícil decidir cual es la mejor, personalmente sigo haciendo diagramas con lápiz y papel, pero llega un momento en el que es inmanejable (como muestra la persona en la foto :P). Creo que es difícil decir que una herramienta es la mejor, sin lugar a duda, la decisión depende de muchos factores, no solo el que cumplan al pie de la letra la especificación de UML, si no además, que sea una herramienta intuitiva y que no consuma demasiados recursos de nuestro ordenador.

Personalmente utilizo dos herramientas, tanto con fines docentes como de investigación, quizá no son las mejores pero al menos cumplen con lo que necesito ¿cómo tomé la decisión de cual era mejor? lo explicaré brevemente a continuación.

Para decidir que herramienta UML utilizar decidí hacer análisis de las herramientas existentes en el mercado, entre búsquedas en Internet y dos comparativas bastante buenas que encontré [(1) UML Tools por Mario Jeckle (2) Comparison of Unified Modeling Language Tools en Wikipedia], decidí crear mi propia lista de cualidades deseadas en una herramienta UML, tanto para la enseñanza como para uso comercial. Las características que finalmente analicé fueron las siguientes:

  • Código abierto
  • Tipo de licencia (siendo muy importante que hubiera un licenciamiento académico a un coste accesible)
  • Lenguaje de programación utilizado
  • Integración con entornos de desarrollo (y cuales)
  • Coste
  • Versión de UML
  • Diagramas que soporta
  • Soporte para MDA
  • Soporte para XMI
  • Generación de código (y que lenguajes de programación soporta)
  • Capacidades de ingeniería inversa
  • Sistema Operativo
  • Requisitos de instalación

Las herramientas analizadas fueron:

Sin entrar en demasiados detalles de la evaluación, solo quiero comentar que todas las herramientas fueron instaladas y probadas modelando el mismo sistema orientado a objetos, donde además se analizó también la velocidad a la que se ejecutaban cada uno de ellos. Las pruebas siempre se hicieron utilizando el mismo ordenador.

Al final, dos herramientas satisficieron la calidad global deseada: Rational Software Modeler y Visual Paradigm for UML. Quiero destacar que ambas herramientas son muy potentes, soportan todos los diagramas de UML y además ayudan para la gestión de requisitos software, sin embargo, la que finalmente decidí utilizar fur Visual Paradigm for UML por su estabilidad de ejecución en diferentes sistemas operativos y la facilidad de abrir y trabajar con un modelo UML utilizando el mismo programa sin importar el sistema operativo y sin afectar en absoluto el trabajo hecho; además destacar que esta herramienta guarda todo el modelo en un solo fichero, así de simple, y basta con copiarse solo ese fichero y uno está seguro de que tiene todo el trabajo encapsulado en él. Finalmente, Visual Paradigm es una herramienta que trabaja bastante decente en ordenadores “poco potentes”.

Como el objetivo principal de mi análisis de herramientas era el de seleccionar un entorno de trabajo para mis alumnos, quiero destacar que tanto IBM como Visual Paradigm ofrecen sus herramientas de modelado para fines académicos sin coste alguno, y el proceso de gestión de licenciamiento es bastante sencillo.

Dado que Rational Software Modeler es también una estupenda herramienta, quiero simplemente comentar que la utilizamos dentro del Grupo SEL-UC3M como herramienta de modelado por parte de los estudiantes de doctorado.

Por último, no puedo dejar de mencionar como la Web 2.0 ha llegado también al mundo del modelado UML, y quiero recomendarles yUML, una herramienta que a pesar de estar en versión Beta, permite crear al vuelo y con una sintaxis poco compleja, diagramas UML que pueden compartirse a través de Internet con mucha facilidad, yo la veo como una herramienta muy útil al momento de tener reuniones virtuales o para crear sin mucha complejidad un diagrama UML que quiera ser compartido en algún blog o borrador de modelado. Esperemos que en el futuro, esta herramienta siga evolucionando y nos ofrezca más posibilidades de interacción y colaboración.

Ejemplo de Diagrama de Casos de Usos hecho con yUML

61 thoughts on “Herramientas UML… ¿cuál utilizar?”

  1. Estoy de acuerdo. La herramienta Staruml presenta buenas caracteristicas, pero lo que me decidió a utilizar definitivamente visual paradigm, es la inestabilidad de staruml.

  2. Hola Pedro,

    A mi definitivamente es la que más me ha gustado, sobre todo por su soporte multiplataforma, da igual si estás en Linux, Mac o Windows, siempre tienes la misma interfaz de usuario y herramientas, además de que es bastante estable.

    Gracias por visitarme, saludos.

  3. Amigo Jams muy bueno tu analisis segun lo que dices y parte significativa en mi caso y como llegue a tu blog es porque estoy buscando una herramienta que contenga todos los diagramas muchas gracias.

  4. Hola Erikson,

    Me alegra que este análisis de herramientas te haya sido de utilidad. Comentarios como el tuyo me motivan a seguir escribiendo 🙂 Cualquier comentario o consulta ya sabes dónde encontrarme.

    Un saludo,

    Jams!

  5. Una corrección al margen del tema. Hay un error ortográfico en el siguiente párrafo:

    …UML utilizando el mismo programa sin importar el sistema operativo y sin afectar en absoluto el trabajo echo;

    Por otro lado, muy interesante el artículo. Gracias.

  6. Hola Santiago,

    Muchas gracias por el tirón de orejas, la verdad que mi ortografía tiene que mejorar, gracias por poner tu granito de arena para que este post mejore. Un saludos y gracias por visitarme.

    Saludos,

  7. Hola Bernanardo,

    De las herramientas Open Source y gratuitas, yo creo que una buena opción es StarUML, es sencillo y compatible con la versión 2.0 de UML. Otra buena opción menos abierta y también gratuita es Visual Paradigm Community Edition, sin embargo si anidas diagramas y exportas como imagen el modelo, te pone una marca de agua, no es grave pero puede no gustarte.

    Espero que te sea de utilidad este comentario, gracias por visitarme en mi Web.

    Saludos,

  8. Hola acabo de Recibir un curso de Enterprise Architect y la verdad me gusto su integración con los diversos diagramas y lenguajes, que te parece este software de diseño…

  9. Hola Pedro,

    Enterprise Architect es una muy buena herramienta también, no la incluí en este análisis ya que se salía del alcance del mismo, ya que uno de los requisitos era que tuviera licencia educativa, y en el año en que hice este estudio no la tenían. Pero sin duda es una herramienta muy potente tambien.

    Saludos y gracias por visitarme.

    Arturo

  10. Gracias por el análisis. Muy importante que tomas en cuenta factores que van más allá de que la herramienta “sea bonita” o no. Yo uso StarUML, vamos a cambiar a Visual Paradigm, a ver que tal. Saludos.

  11. Hola Iván,

    Gracias por pasarte por mi blog, me alegra que te haya sido de utilidad este análisis. A mi Visual Paradigm me gusta, sobre todo por que es multiplataforma.

    Saludos

  12. Muy bueno el Análisis me ayudo a reducir tiempo en encontrar herramientas. En la empresa en la que estoy recién estamos comenzando con UML: Cual de las 2 que nombras (Rational y Visual ) es mas simple de utilizar (amigable) en un comienzo cuando uno es novato en el modelado? Ya que descarto que ambas son muy completas. Gracias de antemano por tus respuestas.
    Saludos cordiales.

  13. Hola Juan,

    Primeramente gracias por visitar mi Blog 🙂 La verdad que ambas herramientas son muy buenas, si buscar algo poco complejo y multiplataforma (Linux, Mac, Windows) sin duda la mejor opción es Visual Paradigm For UML, además de que Visual Paradigm te ofrece una Community Edition, la cual no tiene coste y puedes usar para probar la herramienta con total libertad.

    Si como me comentas están iniciando con UML, te recomiendo que visites la Librería de Patrones de Producto que hemos realizado en el Software Engineering Lab de la Universidad Carlos III de Madrid (UC3M), donde encontrarás información que te puede ser de utilidad para iniciarte con UML. Te recomiendo especialmente que veas la sección del Método de Craig Larman. Otro buen recurso de aprendizaje autodidacta es nuestro curso de Metodologías de Desarrollo Visual en el portal de OpenCourseWare de la UC3M.

    Espero que mis comentarios te sean de utilidad, cualquier otra cosa, seguimos en contacto.

    Arturo

  14. Muchismas gracias Profesor ,muy útil la información adicional que me brindó. Un fuerte abrazo desde Córdoba Argentina y seguimos en contacto.

  15. Hola Juan,

    Me alegro que te sea de utilidad lo que te he recomendado, cualquier cosa como te dije seguimos en contacto.

    Saludos,

    Arturo

  16. Hola JAM! gracias por el análisis! Soy estudiante de sistemas y tengo q presentar mi trabajo final usando una herramienta uml, me sirvio muchisimo tu aporte! thnx

  17. Hola Alejandra,

    Gracias por visitar mi Blog, me alegro que este breve análisis te haya sido de utilidad.

    Saludos,

    Arturo

  18. Por lo que lei no genera codigo en Visual Basic .net, alguien sabe si el de IBM lo genera?

  19. Hola Sebastian,

    De la familia de IBM el único software de modelado con UML que se queda disponible en el mercado es IBM Rational Rose Modeler; de acuerdo a IBM es el sustituto de Rational Software Modeler, el cuál han sacado del mercado (puedes ver la noticia aquí).

    No he utilizado Rational Rose Modeler, pero de acuerdo a su hoja de especificaciones, en su versión IBM Rational Rose Developer for Visual Studio parece que si hay generación de código en VB.net. Te dejo aquí un enlace para que puedas ver la hoja de especificaciones que he descargado de la Web de IBM.

    Espero te sea de ayuda mi comentario.

    Saludos,

  20. Hola Jams, acabo de ver tu análisis y me gusto mucho, pero yo quiero aprender bien UML, que libro o tutorial me recomendarias para aprender que sea sencillo pero util ya que quiero aplicarlo en un proyecto.

    Espero me puedas asesorar, gracias de antemano

    Saludos

  21. Gracias Jams, le di un vistazo en Internet y el libro parece estar muy bueno porque trae ejemplos prácticos. Lo voy a conseguir, y nuevamente gracias por tomarte el tiempo de contestar.

    Saludos

  22. Todo escelente profesor ..
    gracias por el aporte

    tenga una pregunta..
    ¿como instalar el sofware como version educativa Visual Paradigm for UML?

  23. Hola Héctor,

    Me Alegro que te gustara este post. La versión que puedes utilizar sin ánimo de lucro es la Community Edition, la cuál puedes descargar aquí. Ahora, si eres estudiante coméntale a tus profesores que pueden solicitar un acuerdo académico con Visual Paradigm, para más információn remítelos a este enlace.

    Saludos,

    Arturo

  24. Buenos dias Profesor. Soy el encargado de la documentación en un proyecto en el cual trabajo. Me gustaría saber su opinión sobre cual herramienta utilizar (que sea amigable, que tenga una comunidad de usuarios donde consultar información). Necesito que sea de licencia libre. Ya que es un proyecto desarrollado bajo ambiente Linux.

  25. Hola Carlos,

    Gracias por visitar mi Blog y me alegro que te sea de utilidad. Sobre tu pregunta, si quieres usar algo en la línea del Open Source, yo te recomendaria StarUML o ArgoUML, entre esas dos, a mi me gusta más la primera, pero te animo a probar ambas herramientas.

    Saludos,

  26. Jams, excelente aporte con este artículo. Estaba usando el Argo, pero está bastante feo, así es que estoy descargando el Visual Paradigm.

    Pedro.

  27. Hola Jams

    Qué herramienta me recomiendas que genere código visual basic.net? Tanto en software libre como en licenciado?

    Gracias por tu ayuda de antemano

  28. Hola José,

    Gracias por visitar mi blog 🙂 Los que se que general código en VB.Net son UModel de Altova y Visual Paradigm, que es el que yo uso a diario.

    Ambos son propietarios pero de Visual Paradigm tienes la Community Edition que puedes utilizar sin problema.

    Saludos,

  29. Gracias por tu analisis…soy estudiante y ya estaba pensando en no complicarme por ahora y tratar de usar Visio (ni idea si tiene un UML estandar) aunque a la larga me daria problemas.. pero me ahorraste el andar probando herramienta por herramienta..
    El Visual Paradigm me imagino que crea varios diagramas, es que como estudiante creo que vere algunos… y los puedo imprimir? o exportar en algun formato tipo pdf o algo?


    gracias a ti.
    gracias a San google que me trajo aqui algo?

  30. Hola Luis,

    Visio como herramienta para hacer diagramas funciona bien, sin embargo, no cumple estrictamente con los estándares del OMG (Object Management Group) y fue algo que me gustó de Visual Paradigm for UML y es por ello que lo uso como herramienta para mi proyectos, así como para mis clases de Ingeniería del Software. Los diagramas que haces con Visual Paradigm los puedes exportar como imagen o como PDF. Si te gusta la herramienta, comenta a tu profesor o profesora que la empresa Visual Paradigm sede una licencia de uso con fines educativos y así pueden utilizarla como herramienta de base en clase y 100% legal, cualquier duda estoy para ayudar en lo que pueda.

    Un saludo y gracias por visitar mi Blog.

    Arturo

  31. Hola profesor, gracias por la información tan detallada que brinda.
    Yo también soy docente, pero de nivel secundario, y en este momento estoy bajando Visual Paradigm para enseñar UML a mis alumnos.
    Si nos sirve, mas adelante solicitaré la licencia.
    Saludos desde Buenos Aires!

  32. Hola Alexander,

    Me alegra que hayas encontrado este Post de interés. Hay varios sitios para aprender UML, yo te recomiendo que le des un vistazo a el Curso de Metodología de Desarrollo Visual que tengo publicado en el OpenCourseWare de la Universidad Carlos III de Madrid, te ayudará no solo a aprender los básico de UML, si no que además, te ayudará a comprender mejor lo que son los métodos de desarrollo. Espero que te sea de utilidad.

    Saludos.

  33. Hola Jams, gracias por el link. Me sirvio muchisimo. No se si me podrias ayudar con un proyecto sobre UML, el titulo es el siguiente:
    “Elaboracion de Horarios y Matricula de Cursos web”.

    Saludos.

  34. Hola Gaby,

    UML Designer no lo he utilizado, sin embargo, he dado un vistazo a sus características (http://www.umldesigner.org/overview/index.html) y lo veo muy bien, sobre todo por que es compatible con UML 2.5, por lo tanto, considero que es una buena opción a reserva de probarlo. Si lo pruebas y quieres compartir tu reseña en este espacio, yo encantado.

  35. Distinguido profesor, disculpe el atrevimiento por escribirle.
    Estoy realizando un sistema para el diagnóstico de fallas del sistema eléctrico de un molino de bolas. El mayor incoveniente que tengo es que no sé la metodología que voy a utilizar; le agradecería guiarme en la solución a mi problema.
    Sin otro particular, le expreso un saludo cordial, desde la ciudad más alta del mundo Potosí-Bolivia.

Leave a Reply

Your email address will not be published. Required fields are marked *