Despuí©s de un día de arduo trabajo, he subido al CVS la versií³n actual de la parte de ingeniería inversa aunque he detectado los siguientes detalles:
- El proceso de importacií³n del ensamblado al XMI no es lento, tampoco la serializacií³n, algo muy bueno.
- El proceso de importacií³n del XMI, es decir las deserializacií³n, en MonoUML es un poco tardado (en mi P4 2.8/512 RAM, tardo unos 2 minutos).
- Las pruebas que hice fueron con un XMI de unos 5.0MB, es decir la librería de Gtk# completa (ademí¡s de TODAS sus dependencias), algo no tan bueno aunque vií©ndolo bien 5.0MB de XMI no es tanto, pues esta completa la librería.
- Al XMI aíºn le hace falta aumentar en tamaí±o, pues apenas agregue las clases (constructores, mí©todos) y las enumeraciones ademí¡s de los tipos primitivos, así que segíºn mis cí¡lculos aumentarí¡ un 50% mí¡s en tamaí±o.
Despuí©s de esperar aproximadamente 2 minutos para deserializar se ve lo siguiente:
Es claro que en el dií¡logo Reverse Engineering se deben utilizar threads para que el usuario no crea que se ha colgado la aplicacií³n. Cuando todo este mejor sin duda harí© el dialogo de importacií³n simultanea de ensamblados para ser salvados en un sí³lo XMI, aunque sería bueno ayudar a Rodolfo para permitir que dentro de la librería XMI se permitan míºltiples archivos simultaneamente, posiblemente eso mejore el serializacií³n de XMI al igual que su deserializacií³n en MonoUML.
Ademí¡s de todo lo anterior, Rodolfo se propuso hacer esa característica de poder cortar los Edges (asociaciones) como lo hace Poseidí³n y ArgoUML, y lo ha logrado:
Y no sí³lo eso, sino que junto con algunas características anteriores escritas por Manuel el canvas se esta convirtiendo en algo mí¡s usable, olvidemonos de cosas arcaicas como los Glue Points :) ¡Felicidades!
PD. Que bonito el tema de ClearLooks