Iniciando el proyecto (MonoCaffe 1)

La idea original de este blog (la cual no he desarrollado aun) es la de describir y documentar el ciclo de vida que sigue MonoCaffe. Como todo proyecto de software, espero que sea constante y vaya evolucionando entre versiones.
Antes de nada, me he documentado e incluso estoy colaborando en la traducción de un libro titulado Producing Open Source Software de Karl Fogel donde se explican muy bien las herramientas, implicaciones, responsabilidad y muchos temas más sobre el desarrollo de un proyecto de software libre.
Lo siguiente ha sido elegir las herramientas para la labor. En el caso de MonoCaffe, he elegido:
  • Java (libre, conocido, fácil y multiplataforma).
  • Swing.
  • HSQLDB.
  • Sourceforge para el hosting del proyecto (CVS, foros, sitio web, etc.)
Lo siguiente ha sido crear el sitio web. Utilizando herramientas como Inkscape fui capaz de crear todas las imágenes del sitio (e iconos para la aplicación). Luego con vim crear todo el contenido HTML/CSS ha sido un paseo de dos dias.

Con el CVS listo y funcionando, la página montada y las herramientas calientes, me he lanzado a realizar el analisis funcional de la aplicación utilizando UML (Dia Diagram Editor) para ilustrar gráficamente todo esto. Así que ahora mismo tenemos UML's describiendo la aplicación con algunos requerimientos, sus especificaciones funcionales y dos diagramas de flujo para los clientes y para el usuario del administrador.

Dado que vamos a almacenar todos los datos relativos a la aplicación para poder generar distintos reportes de uso, usuarios, etc. Va a ser necesario un medio de almacenamiento persistente, es decir, una BBDD. No he elegido productos como MySQL para facilitar la instalación sin la intervención del usuario. Así que lo siguiente ha sido el modelado de los datos para la BBDD. Siguendo el modelo de objetos que he definido he llegado a un modelo bastante sencillo de qué debería tener la BBDD de MonoCaffe:


Algo bastante sencillo y obviando temas importantes como las dependencias funcionales y metadatos y saltando directamente a la normalización.

Con lo mínimo ya preparado (tengo ganas de picar código) se abre NetBeans, checkout del proyecto desde el CVS y a ver qué sale.

Continuara...