¿Cuál es la mejor herramienta de diagramación UML? [cerrado]
Estoy intentando elegir una herramienta para crear diagramas UML de todos los tipos. La usabilidad es un criterio importante para mí, pero aun así tomaría más potencia con una curva de aprendizaje más pronunciada y sería feliz. Gratis (como en la cerveza) estaría bien, pero estaría dispuesto a pagar si la herramienta vale la pena. ¿Qué debería usar?
Un poco de contexto: recientemente, para la escuela de posgrado, investigué herramientas UML para su usabilidad y comprensión de UML en general para un proyecto independiente. También soy modelo/arquitecto para ganarme la vida.
Las publicaciones anteriores tienen demasiadas respuestas y pocas preguntas. Un malentendido común es que UML se trata de crear diagramas. Claro, los diagramas son importantes, pero en realidad estás creando un modelo. Estas son las preguntas que deben responderse, ya que cada producto/solución de proveedor hace algunas cosas mejor que otras. Nota: En mi opinión, las respuestas enumeradas son las mejores, incluso si otros productos admiten una característica o necesidad determinada.
- ¿Estás modelando o dibujando? (Dibujo - ArgoUML , implementaciones libres y Visio )
- ¿Estarás modelando en el futuro? (Para modelado básico: ediciones comunitarias de productos de pago)
- ¿Quieres formalizar tu modelaje a través de perfiles o metamodelos? ¿OCL? ( Sparx , RSM, paradigma visual )
- ¿Le preocupa la portabilidad del modelo y la compatibilidad con XMI? ( GenMyModel , Sparx , Visual Paradigm , Altova )
- ¿Tiene un conjunto de documentos existente con el que necesita trabajar? (Depende de los documentos)
- ¿Le gustaría generar códigos auxiliares o código funcional completo? ( GenMyModel , Visual Paradigm , Sparx , Altova )
- ¿Necesita procesos más maduros, como gestión de casos de uso, creación de patrones, creación de activos, integración de RUP, etc.? (Productos racionales RSA/RSM/IBM)
Ejemplos detallados: IBM Rational Software Architect no implementó UML 2.0 completamente cuando se trata de relaciones de tipos al crear un perfil UML, pero Visual Paradigm y Sparx lo hicieron bien.
Ok, eso fue demasiado detallado, por lo que un ejemplo más simple sería ArgoUML , que no tiene funciones de generación de código y se enfoca en dibujar algo más que el aspecto de modelado de UML.
Sparx y Visual Paradigm hacen UML muy bien y generan código bien; sin embargo, conectarse a los ciclos de vida del proyecto y otros procesos es donde RSM/RSA es fuerte.
Tenga cuidado con los procesos o marcos de generación de código cerrados o específicos de un producto, ya que podría terminar atrapado con ese producto.
Este es un simple volcado de ideas, por lo que es posible que un par de detalles no sean perfectos; sin embargo, esto debería proporcionar un mapa general de las preguntas y soluciones a investigar.
NUEVO: encontré una buena lista de muchas herramientas UML con descripciones. Lista de herramientas Wiki UML
Para diagramas de secuencia únicamente, pruebe websequencediagrams.com . Es un producto freemium (gratuito para las tareas básicas, pago para funciones avanzadas) y le permite crear rápidamente un diagrama sin tener que preocuparse por líneas y plantillas.
Alice->Bob: Solicitud de autenticación nota a la izquierda de Bob: Bob piensa en ello Bob->Alice: Respuesta de autenticación
Para mí es Enterprise Architect de Sparx Systems. Una herramienta UML muy completa a un precio muy razonable.
Lista de funciones muy sólida que incluye: gestión integrada de proyectos, creación de líneas base, exportación/importación (incluida la exportación a html), generación de documentación a partir del modelo, varias plantillas (Zachman, TOGAF, etc.), complementos IDE, generación de código (con complementos IDE disponibles para Visual Studio, Eclipse y otros), API de automatización: la lista continúa.
Ah, sí, no olvide la compatibilidad con el control de código fuente directamente desde el interior de la herramienta (SVN, CVS, TFS y SCC).
También me mantendría alejado de Visio: sólo obtienes diagramas, no un modelo. Cambie el nombre de una clase en un lugar en una herramienta de modelado UML y cambiará el nombre en todos los lugares. ¡ Este no es el caso en Visio!
Para mi trabajo UML simple y breve, he usado esta herramienta:
StarUML - http://staruml.sourceforge.net/en/
Excelente software gratuito para dibujar UML.
Aunque el Star UML original ya no se mantiene, ahora hay una bifurcación llamada White Star UML , que se desarrolla activamente.
Como normalmente uso UML más como herramienta de comunicación que como herramienta de modelado, a veces tengo la necesidad de flexibilizar un poco el lenguaje, lo que hace que las herramientas de modelado estrictas sean bastante difíciles de manejar. Además, suelen tener un gran techo para algún que otro dibujo. Esto también significa que no doy puntos de bonificación a las herramientas que manejan bien el modelado de ida y vuelta. Teniendo esto en cuenta...
Cuando uso Visio , tiendo a usar estas plantillas para mis necesidades de UMLing (las integradas son una mierda). Podría ser que me haya acostumbrado, ya que es la principal herramienta de diagramación en mi tarea actual.
OmniGraffle también tiene algunas plantillas UML integradas y hay más disponibles en Graffletopia , pero no lo recomendaría como herramienta de diagramación ya que tiene demasiadas peculiaridades (peculiaridades que son buenas para muchas cosas, pero no para UML). Prueba gratuita, así que por supuesto... :)
He estado probando MagicDraw un poco, pero aunque funcional, la interfaz de usuario me distrajo.
Por lo demás, Topcased me parece un proyecto (o grupo de proyectos) interesante. La última vez que lo usé todavía tenía algunos errores, pero funcionó y parece haber evolucionado muy bien desde entonces. Funciona muy bien en cualquier plataforma habilitada para Eclipse. Gratis como en el discurso y la cerveza :)
En cuanto a la herramienta de diagramación Dia , es bastante fea (interfaz y dibujos resultantes), pero hace el trabajo. Una alternativa gratuita a una herramienta de modelado interesante es Umbrello , pero realmente no la he usado mucho.
Definitivamente estoy de acuerdo con mashi en que las pizarras blancas son geniales (junto con una cámara digital o un teléfono celular).
Probablemente algunas de las mejores herramientas que he usado pertenecen a la familia de herramientas Rational .