Archivo para diciembre, 2008

JAI-JDK integrado con Eclipse

Posted in CUSL3-coolImaging on diciembre 29, 2008 by luisette

Tal y como comentamos la solución de usar JAI como una biblioteca linkada no nos parecía una solución aceptable pudiendo hacer que esta forme parte de la máquina virtual. Por ello, decidimos emplear el tiempo necesario para solucionar este problema.
Al final y tras varios días de esfuerzo hemos conseguido utilizar JAI estando instalado en el JDK.

Anuncios

Resumen hasta el día de hoy

Posted in CUSL3-coolImaging on diciembre 28, 2008 by luisette

Puesto que hace algun tiempo que no actualizamos el blog, vamos a dar una visión general del estado del proyecto.

A día de hoy, tenemos parte de la aplicación funcionando, podemos decir, que practicamente el diseño principal está terminado. Ya tenemos que empezar a hacerla más robusta y a añadirle mayor funcionalidad a la aplicación.

Por otro lado, tal y como dijimos en post’s anteriores estamos usando la filosofía Scrum. Pero al ser un proyecto de dos personas, no podemos llevar Scrum al pie de la letra, aunque si estamos usando algunos de sus principios. Estamos usando un product Backlog que alberga la lista de tareas que tenemos hasta el momento. De esta lista, nos fijamos unas cuantas tareas a realizar en cada spring. Estos spring son de tiempo variable, al no estar dedicados al 100% al proyecto, y las reuniones las solemos hacer cada 2 o 3 días.
Para mantener el product Backlog estamos usando la tecnología de Google Bloc de Notas que cubre todas nuestras necesidades.

Finalmente, la documentación, la estamos intentando desarrollar conforme avanzamos con la aplicación.

Combinando JAI

Posted in CUSL3-coolImaging on diciembre 28, 2008 by luisette

Tal y como nos comentó un compañero del CUSL-3, Andreu Correa Casablanca, tenemos que rectificar la documentación debido a que JAI no está optimizada para todas las plataformas. En concreto no está optimizada para Mac, pero si para linux, windows y sun, incluso para unas plataformas presenta mejor optimización que para otras.

Pero al documentarnos nos dimos cuenta que nosotros no estabamos usando la versión de JAI apropiada, por lo que optamos por instalar la versión optimizada para Windows. La opción elegida ha sido la instalación de JAI con el CLASSPATH por no encontrar una solución aceptable con la instalación de JAI en el JRE o en el JDK.

Tanto al instalar JAI en el JRE como en el JDK, nos encontramos con el problema que al ejecutar la aplicación no encuentra las bibliotecas JAI, obteniendo un error del tipo “java.lang.NoClassDefFoundError” hemos intentando buscar información al respecto y probado diferentes soluciones, pero la información recopilada no ha sido suficiente para conseguir que funcionase la integración con Eclipse.
Según hemos encontrado y hemos entendido, esto se puede deber a que la máquina virtual no encuentra donde se encuentran las bibliotecas, por lo que hay que añadir en el PATH la localización de las bibliotecas, pero ni cambiando el PATH hemos conseguido que todo funcione.

Además de probar estas dos opciones, intentamos instalar JAI con el CLASSPATH, al principio conseguimos que funcionase al linkar las bibliotecas que forman parte de JAI (jai_core, jai_codec, mlibwrapper_jai) pero estas funcionaban dando un error donde no podía cargar la aceleración nativa (Error: Could not load mediaLib accelerator wrapper classes…). Al final esto se ha solucionado cambiando la variable PATH del sistema para que encuentre las bibliotecas .dll, las cuales están optimizadas para Windows (en este caso concreto).

Al final hemos conseguido que todo funcione correctamente, pero la solución tomada no ha sido la más óptima, pensamos que es mejor que nuestra aplicación funcione tomando directamente las bibliotecas desde el JRE porque esta solución es más elegante.

Filosofía scrum

Posted in CUSL3-coolImaging on diciembre 16, 2008 by odracirnumira

Esta entrada debía haber sido publicada hace ya una semana y media, pero bueno, más vale tarde que nunca.

Cuando propusimos el uso de la filosofía scrum, no estábamos realmente familiarizados con ella. Por suerte para nosotros, pudimos contactar con un experto en ingeniería del software, el cual nos precisó que la filosofía scrum sólo tiene sentido cuando se aplica a grupos de personas moderadamente grandes. Cuando se trabaja con grupos pequeños de desarrollo, lo que prima es la simple y llana comunicación intensiva. Si bien puede optarse por emplear algunas de las pautas de la filosofía scrum (como el product backlog), aplicarla a rajatabla no tiene demasiado sentido. Así pues, hemos optado por reducir el proceso a la mera comunicación entre los dos miembros del proyecto.

Primer esbozo

Posted in CUSL3-coolImaging on diciembre 16, 2008 by odracirnumira

Tras dos semanas moderadamente intensas de trabajo, tenemos un primer esbozo de la aplicación. Si bien quedan bastantes detalles que depurar, los requerimientos funcionales especificados en la primera documentación de la aplicación están básicamente satisfechos. La documentación, a su vez, ha sido completada con parte del diseño asociado a lo que actualmente hay implementado. Si bien queda por detallar bastantes aspectos, que intentaremos tener  recogidos cuanto antes, se muestra una visión bastante detallada del diseño interno del sistema. La nueva versión de la documentación se encuentra disponible aquí.

Algunas capturas de pantalla están disponibles aquí y aquí.

Continuamos con el diseño

Posted in CUSL3-coolImaging on diciembre 3, 2008 by odracirnumira

Tras un par de días trabajando en ello, hemos ampliado la documentación del proyecto (disponible aquí).

El que nos planteáramos emplear una filosofía de trabajo para nosotros desconocida, como es el Scrum, nos ha hecho cambiar el modo de hacer las cosas. De hecho, todavía no estamos totalmente adaptados, y suponemos que nos va a llevar algunos días más.

Nos comentaron que UML y Scrum no se llevan bien, pero tras pensar un poco y tras leer algo de Internet, hemos llegado a la conclusión de que tal incompatibilidad no existe. Scrum es una filosofía de trabajo, un proceso iterativo a lo bestia. El que se emplee este método no nos impide usar UML, el cual es un lenguaje de modelado (e independiente de la filosofía usada para construir el software).

Scrum, con un poco de suerte, nos quitará de encima una buena parte de documentación inútil a la que nos hemos visto obligados a recurrir en otras circunstancias.

Para lo que sería nuestra primera iteración en Scrum, hemos definido una serie de requisitos funcionales que están en la nueva documentación. Aunque todavía no estamos aplicando de forma exacta el Scrum, pronto elaboraremos una lista detallada tanto de las tareas de esta iteración (sprint backlog) como del proyecto global (product backlog), y nos pondremos más en serio.

La nueva documentación incluye además los primeros casos de uso y el storyboard correspondiente.

Software de desarrollo UML elegido

Posted in CUSL3-coolImaging on diciembre 1, 2008 by odracirnumira

Tras una tarde y media, bastante intensa, buscando software para el desarrollo en UML, hemos concluido que la mejor alternativa será el empleo de NetBeans con el plugin que trae de desarrollo UML.

En principio queríamos un plugin para Eclipse capaz de manejar de forma eficiente una amplia variedad de diagramas UML. Sin embargo, tras buscar y buscar, todos los plugins que encontramos no satisfacían nuestras necesidades: sus licencias no nos convencian; no permitían tratar una gran cantidad de diagramas; eran antiintuitivos; no se dejaban llevar por la filosofía “lo frecuente, fácil, y lo complejo, posible”, etc. Otras alternativas como Visual Paradigm tenían el clásico problema de “un sólo diagrama de un tipo en un mismo proyecto”.

Al final, NetBeans. El año pasado lo estuvimos usando para un proyecto de software de nuestra facultad, y aunque era una herramienta bastante pesada, nos daba lo que queríamos: diagramas fáciles y rápidos, así como generación de código.

La versión usada de NetBeans es la 6.5, con el plugin UML.