ArgoUML
# ArgoUML

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 y carece de soporte completo para algunos tipos de diagramas incluyendo los Diagrama de secuencia y los de colaboración Archivado el 10 de octubre de 2006 en Wayback Machine..

## Características

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

## Desventajas

* 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.
