ArgoUML es una aplicación de diagramado de UML escrita en Java y publicada bajo la Licencia EPL. Dado que es una aplicación Java, está disponible en cualquier plataforma soportada por Java.
El Magazine de Desarrollo de Software entrega premios anuales a herramientas de desarrollo de software populares en varias categorías. En 2003 ArgoUML fue una de las finalistas en la categoría "Design and Analysis Tools". ArgoUML recibió un premio "runner-up"(revelación), derrotando a muchas herramientas comerciales.
Sin embargo, desde la versión 0.20, ArgoUML está incompleto. No es conforme completamente a los estándares UML [1] y carece de soporte completo para algunos tipos de diagramas incluyendo los Diagrama de secuencia y los de colaboración [2] Archivado el 10 de octubre de 2006 en Wayback Machine..
Nuevas Características en V0.20:
- UML 1.4 - Características de extensibilidad mejoradas de UML 1.4
- Diagramas de Secuencia
- Compatibilidad AndroMDA
- Calidad - Cientos de bugs han sido arreglados.
- La mayoría de las funciones ahora soportan la selección múltiple de los elementos del modelo.
- Arrastrar y soltar desde el árbol de exploración al diagrama y dentro del árbol de exploración.
Otras características:
- Construido en diseños críticos suministra una revisión no obstructiva del diseño y sugerencias para mejoras.
- Interfaz de módulos Extensible.
- Soporte de Internacionalización para Inglés, Alemán, Francés, Español y Ruso.
- Restricciones OCL para Clases.
- Soporte para el lenguaje de generación de Código: Java, PHP, Python, C++ y Csharp (C#)
- Ingeniería inversa
- Disposición(layout) automática del diagrama de clases.
- Generación de ficheros PNG, GIF, JPG, SVG, EPS desde diagramas.
- Soporte para comentarios para múltiples elementos.
- Todos los diagramas 1.4 están soportados.
ArgoUML maneja los siguientes tipos de diagrama:
- Clases
- Estados
- Casos de Uso
- Actividad
- Colaboración
- Desarrollo
- Secuencia
- No tiene botón "deshacer".
- Los Modelos a veces no pueden ser reabiertos.
- Import/Export a Java.
- No hay llamadas-reflexivas en los diagramas de secuencia--> si existen las llamadas reflexivas, es un poco complejo hacerlas, pero sí se pueden, se hacen al tomar una acción, partir desde el objeto que se quiere reflexivo, generar 2 puntos (como haciendo un cuadrado) fuera del objeto y luego volviendo al objeto.
- Al mover una clase las relaciones no se mueven de forma correcta.
- Al seleccionar un área no se seleccionan las clases de relación.
- Debes de crear un diagrama de clases, para crear algún otro diagrama.