Introducci´on a la computaci´on ING1310 2/2006 Tarea 3 Profesores: Vanny Smith y Ricardo Zilleruelo. Auxiliares: Francisco Claude y Daniel P´erez Fecha de entrega: 23/10/06 El sistema desarrollado en la tarea anterior ha sido de gran utilidad, sin embargo ha surgido la necesidad de extender el sistema. Esto por que hasta ahora toda la informaci´on se maneja en la memoria RAM, lo que hace caro expandir el tama˜ no de la base de datos y tambi´en presenta un riesgo en cuanto a que si el computador se cortara, se perder´ıa toda la informaci´on de los alumnos. Para esto se pide que agregue al sistema la capacidad de guardar y cargar la informaci´on desde archivos en disco, para asegurarse de que no se pierda la informaci´on en caso que se corte la m´aquina. Tambi´en ha nacido el inter´es en realizar consultas sobre la informaci´on de los alumnos v´ıa web. Para cumplir con los nuevos requisitos del sistema, usted debe realizar los siguientes puntos. 1.
Usted debe desarrollar su tarea 3 a partir de lo desarrollado en la tarea 1. Esto quiere decir a partir de la clase Nota y de la clase Alumno. Tambi´en deber´a usar una interface llamada ArchivoFormatoTag cuya descripci´on es la siguiente: Interface ArchivoFormatoTag M´ etodos
2.
void write2html(BufferedWriter bw)
M´etodo que tiene como objetivo escribir en el archivo representado por bw una representaci´ on del objeto que implementa la interface en un documento html.
void write2xml(BufferedWriter bw)
M´etodo que tiene como objetivo escribir en el archivo representado por bw una representaci´ on del objeto que implementa la interface en un documento xml.
Debe implementar una clase llamada NotaFile. Esta debe extender de la clase Nota y debe implementar la interface ArchivoFormatoTag. La descripci´on de la clase es la siguiente: Clase NotaFile Constructor NotaFile(double nota, String curso, int cdtos, int sem, int a˜ no)
Constructor en donde los par´ ametros representan; curso: curso en el que se obtuvo la nota, cdtos: cantidad de cr´editos del curso en el que se obtuvo la nota, sem: semestre en el que se obtuvo la nota y a˜ no: a˜ no en el que se obtuvo la nota.
M´ etodos static NotaFile xml2NotaFile(BufferedReader br)throws IOException
1
M´etodo est´ atico que tiene como objetivo leer un archivo y retornar una instancia de la clase NotaFile. El archivo contiene la informaci´ on escrita en formato xml, a partir de la cual se genera la instancia.
3.
Debe implementar una clase llamada AlumnoFile. Esta debe extender de la clase Alumno y debe implementar la interface ArchivoFormatoTag. La descripci´on de la clase es la siguiente: Clase AlumnoFile Constructores AlumnoFile(String nombre, String dir, int fono, int ingreso, String pass, String imagePath)
Constructor en donde los par´ ametros representan; nombre: nombre del alumno, dir: direccin del alumno, fono: tel´efono del alumno, ingreso: a˜ no de ingreso del alumno, pass: password del alumno e imagePath: path de una imagen del alumno.
M´ etodos static AlumnoFile xml2AlumnoFile(BufferedReader br)throws IOException
M´etodo est´ atico que tiene como objetivo leer un archivo y retornar una instancia de la clase AlumnoFile. El archivo contiene la informaci´ on escrita en formato xml, a partir de la cual se genera la instancia.
Note que esta clase posee el par´ametro imagePath, que no posee la clase Alumno. 4.
Recuerde que ambas clases implementan la interface ArchivoFormatoTag, por lo que usted debe implementar los m´etodos que se declaran en ella. Ejemplos de los formatos de los archivos que ustede debe leer y escribir se encuentran en el archivo de la tarea 3 (Tarea3.zip).
5.
Usted puede probar su tarea con Tarea3.java. y Alumnos.xml. Si su tarea funciona correctamente esta generar´a un archivo llamado Alumnos2.xml y Alumnos2.html. Los archivos de prueba y de referencia se encuentran en el archivo de la tarea 3 (Tarea3.zip).
6.
Los archivos Alumno.java, Nota.java, ArchivoFormatoTag.java, Alumnos.xml, Alumnos2.xml, Alumnos2.html y Tarea3.pdf se encuentran en el archivo Tarea3.zip. Este puede descargarlo de: http://www.dcc.uchile.cl/∼rzilleru/ing1310.html/archivos/Tarea3.zip.
2