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:
- ArgoUML
- Poseidon for UML
- OpenAmeos
- Visual Paradigm for UML
- StarUML
- Rational Software Modeler (sucesor de Rational Rose)
- Enterprise Architect
- Umbrello UML Modeler
- UML Designer
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.
Estoy de acuerdo. La herramienta Staruml presenta buenas caracteristicas, pero lo que me decidió a utilizar definitivamente visual paradigm, es la inestabilidad de staruml.
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.
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.
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!
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.
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,
De las herramientas open souce, cual te parece mejor?
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,
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…
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
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.
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
BUena info, gracias.
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.
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
Muchismas gracias Profesor ,muy útil la información adicional que me brindó. Un fuerte abrazo desde Córdoba Argentina y seguimos en contacto.
Hola Juan,
Me alegro que te sea de utilidad lo que te he recomendado, cualquier cosa como te dije seguimos en contacto.
Saludos,
Arturo
Muchas gracias Jams, muy útil su análisis.
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
Hola Alejandra,
Gracias por visitar mi Blog, me alegro que este breve análisis te haya sido de utilidad.
Saludos,
Arturo
Por lo que lei no genera codigo en Visual Basic .net, alguien sabe si el de IBM lo genera?
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,
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
Hola José,
Me alegro que te gustara este post. A mi personalmente para mis clases de UML me gusta usar este libro: Learning UML 2.0. Russ Miles & Kim Hamilton. Ed. O’Reilly. También te recomiendo que visites los siguientes recursos en los que he colaborado para su creación:
Espero que te sea de utilidad.
Saludos 🙂
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
Todo escelente profesor ..
gracias por el aporte
tenga una pregunta..
¿como instalar el sofware como version educativa Visual Paradigm for UML?
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
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.
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,
Jams, excelente aporte con este artÃculo. Estaba usando el Argo, pero está bastante feo, asà es que estoy descargando el Visual Paradigm.
Pedro.
Hola Pedro,
Me alegro que te haya servido esta aportación, gracias por visitar mi Blog.
Saludos,
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
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,
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?
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
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!
Estimada Gabriela,
Me alegra que la información te haya sido de utilidad.
Un saludo
Buena informacion gracias
Muy buen análisis, saludos.
Hola Marco Antonio,
Me alegra que te haya sido de utilidad.
Saludos,
Hola Jams, quisiera pedirte un favor. Actualmente llevo un curso sobre UML, utilizamos la herramienta
El problema es que no entiendo casi nada sobre el tema UML. Me encanta este post por las herramientas pero quizás me podrÃas brindar algunos tutoriales ya que no conseguà ninguno.
Saludos.
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.
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.
Hola Alexander,
Si tienes ya algún modelo, podemos comentarlo.
Saludos,
Hola, Disculpe ¿que tan recomendable es utilizar UML Designer?
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.
muy buena la informacion
Me alegra que te haya sido útil.
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.
Hola Diego,
En general de todas las metodologÃas que conozco te recomiendo SCRUM y Kanban.
Saludos,