15 October 2006

Clientes UML

En un esfuerzo por no perder la perspectiva con driza, intento hacer esquemas UML frecuentemente.

Como concepto, UML me parece una buena idea, aunque pienso que las implementaciones actuales son lentas y no permiten una transformación sencilla y fiel código -> esquema y viceversa.

El problema que tengo con la lentitud se debe a que tengo un samsung Q30 como máquina de trabajo. Esta muy bien como portatil, pero al no tener ventiladores se calienta con relativa facilidad, y cuando esta muy caliente no supera los 600Mhz (Cuando esta frio llega a 1.1Ghz).

Aplicando los 600 Mhz a los clientes UML, descubres que el mundo va raaaaapido en comparación con tu ordenador, y que poner cada clase en el esquema puede ser 0.5 o 1 segundo de quietud total. En mi opinion, esto se debe a que todos ellos utilizan regiones de dibujado en vez de widgets, y la implementación de la representación de objetos en las regiones de dibujado no esta muy optimizada.

Desde el principio queria que la herramienta fuese libre. Probe argouml y umbrello. Descarté argouml porque iba despacio, y la interfaz me parecio un poco ... incomoda. Así que utilice umbrello durante bastante tiempo. La interfaz me parece comoda, e inicialmente va muy rápido. La importación de código de python funciona.

Sin embargo, a medida que iba añadiendo clases y esquemas, se iba enlenteciendo, hasta ser practicamente inmanejable. Como guarda todos los esquemas para cada acción (por el undo/redo), el consumo de memoria es bastante elevado.


Así que hace poco probe otra aplicación, gratis pero no libre (y solo en la community edition), que se llama poseidon for uml. Está escrito en java, lo cual significa un gran consumo de memoria y recursos. Sin embargo, tengo que decir que la interfaz me ha parecido la más clara que he probado para cualquier cliente UML, y sobre todo, que la complejidad del esquema/proyecto apenas incide en el consumo de recursos. Gracias a esto, he podido hacer un esquema con todas las clases actualmente funcionales (salvo las generadas con el designer) del proyecto.

No comments: