Diseño y Programación Orientados a Objetos
1er. Sem 2006
Tarea 4: Persistencia de Objetos aplicada a Figuras Geométricas


Esta tarea tiene por objeto:
  1. Experimentar con la persistencia de objetos en Java
  2. Conocer el formato Fig Format 3.2
  3. Ejercitar la generacion de programas que sigan cierto estándar en su formato o estilo.
  4. Utilizar el objeto JFileChooser.
Esta tarea será revisada compilada desde consola; es decir se requiere que usted cree un archivo Makefile para que el ayudante compile su trabajo sólo ejecutando la sentencia
$ make
Para ejecutar su programa el ayudante utilizará
$ make run

Descripción:
En esta tarea se pide que a partir de su Tarea 3, usted cree una aplicación con las funcionalidad de la Tarea3 que cuente con la opción de grabar a y recuperar de disco las figuras creadas.
Para lo anterior ustede agregará un menú de nombre Archivo, con dos items: abrir, guardar, guardar como.
Para abrir un archivo utilice la clase JFileChooser para seleccionar el archivo a abrir. No ponga mayor atención a los errores producto de un mal uso por parte del usuario (por ejemplo abriendo un archivo con formato errado).
Para lograr persistencia guarde los objetos usando formato para objetos binarios usado la clase ObjectOutpurStream y ObjectInputStream. Como extensión de susu archivos de dibujo utilice .329.

BONO: Si usted quiere optar a un bono de 20 puntos (se agregan a la suma total de todas sus tareas antes de promediar), usted puede al guardar un archivo seleccionar, además del formato .329,  el formato .fig32, el cual almacena su figura en un formato compatible con el editor xfig. Las figuras guardadas en este formato podrán ser abiertas con este utilitario (xfig) y deberian verse igual.

Sobre Documentación: En la documentación de esta tarea, no es necesario que usted haga una descripción en alto nivel de los algoritmos usados, pero sí adjunte un diagrama de clases (las clases principales y la relación entre ellas como aquí). En esta tarea la verificación de estilo se debe realizar. Usted debe entregar su código documentado de manera que se pueda generar la documentación con el utilitario javadoc. El archivo Readme puede ser entregado en archivos de texto; sin embargo, se estimula a quienes puedan entregarlo en formato html poniendo las ligas a los códigos fuentes, diagrama de clases, etc.