sábado, 7 de noviembre de 2009

SGSS (sistema de gestión de socios y simpatizantes)

SGSS es una aplicación para la gestión de personas pertenecientes a una determinada organización no gubernamental. Es una aplicación hecha en java y además es un proyecto de software libre, la podemos encontrar en source forge http://sgss.sourceforge.net.

En el curso 2008/2009, en la clase de funciones como proyecto final de la asignatura Carlos, nos propuso colaborar en este proyecto a unos compañeros y a mi. Decidimos entonces crear una parte de la interfaz, más concretamente unos formularios para la entrada de datos.

Dicho esto, voy a comentar los problemas a los que tuvimos que enfrentarnos para poder realizar los formularios.

1º Estructura, después de descargarnos el código fuente y configurar el entorno para la ejecución del proyecto, nos vimos inmersos en un montón de paquetes y de clases que desde luego no sabíamos por dónde coger.


2º Deducción, este paso sin duda es el más complejo y a la vez el más bonito. Estuvimos tratando de descifrar de dónde venía cada cosa y hacia dónde iba, después de leer he intentar entender el código por fin empezábamos a hacernos una idea de nuestros “nuevos problemas”.



Conseguimos deducir que tendríamos que hacer un formulario para cada una de las entidades que estaban en el paquete org.attacmadrid.sgss.entity, así que nos centramos en uno que ya estaba hecho. El problema vino porque en este proyecto no se utilizaba un administrador de diseño de los que tiene por defecto Java, sino que utiliza el administrador de diseños MigLayout (http://www.miglayout.com/). De nuevo nos encontrábamos perdidos, no sabíamos desarrollar una interfaz gráfica en Java pero ahora tendríamos que estudiar como funcionaba este administrador de diseño para conseguir hacer los formularios.

3º Pruebas, estuvimos un tiempo hasta que llegamos a comprender como funcionaba el administrador de diseño, hasta que al fin lo entendimos. En el proyecto vimos que el formulario que teníamos de ejemplo, en realidad era una vista donde sólo teníamos que colocar las etiquetas, las cajas de texto, botones… Tan rápido como pudimos hicimos nuestra primera vista, la agregamos al proyecto, compilamos y ejecutamos, pues bien, para nuestra sorpresa la vista no aparecía por ningún sitio.

Después de la desesperación, volvimos a mirar de nuevo el código porque sin duda, algo se nos escapaba. Y una vez más conseguimos ver lo que se nos escapaba y esta vez tenía que ser la definitiva.

4º Desarrollo, nuestro objetivo era crear una simple vista con un formulario para que el usuario pudiera introducir sus datos. Bien, teniendo ya claro que había que hacer una vista por cada entidad que tuviese el proyecto, nos dimos cuenta que por cada vista que hacíamos también teníamos que hacer varias clases más. Ej: Para la vista CreateActividadView.java

Para esta vista teníamos que hacer una clase con el formulario ActividadForm.java, también había que crear una clase para la acción CreateActividadAction.java, todo esto tenía que estar relacionado con la entidad Actividad.java y por último teníamos que unirlo todo para que en la ventana principal apareciese nuestras vistas, así que, tuvimos que modificar la clase SGSSMainFrame.java.

Solo después de enfrentarnos a estos problemas y desarrollar las clases que nos faltaban pudimos terminar nuestro cometido.