n4_prestamos_GuiaDeTrabajo - Cupi2

Universidad de los Andes
Ingeniería de Sistemas y Computación
Algorítmica y Programación por Objetos 1
Ejercicio Nivel 4: Central de Préstamos
Descripción global
Se quiere extender la funcionalidad de la aplicación Central de Préstamos de la Universidad, la cual
se encarga de manejar el préstamo de todos los recursos que la universidad ofrece a sus estudiantes.
Se espera con esta extensión, aplicar multas a los estudiantes que no devuelvan los recursos que se
les han sido prestados.
Objetivos del ejercicio
En el presente ejercicio usted trabajará en:
 Asignación de responsabilidades a clases.
 Definición y uso de contratos de métodos.
 Utilización de la herramienta de documentación Javadoc.
 Uso de excepciones (clase Exception) para indicar situaciones de error en la aplicación.
 Implementación de métodos para cumplir contratos
Preparación
1. Descargue del sitio del curso el archivo n4_prestamos.zip del ejercicio.
2. Descomprima el archivo y cree el proyecto en Eclipse llamado n4_prestamos con el
contenido.
3. Lea la descripción del problema disponible en n4_prestamos /docs/specs/Descripcion.doc. Por
ahora no tenga en cuenta la descripción de la extensión al problema, ya que a partir de la
misma es que tendrá que hacer ajustes a la aplicación y documentación que aquí se
presentan.
4. Lea
la
descripción
extendida
del
problema
disponible
en
n4_prestamos/docs/specs/Descripcion_extensión.doc.
5. Revise
el
documento
de
requerimientos
funcionales
de
la
aplicación
RequerimientosFuncionales.doc, también disponible en n4_prestamos /docs/specs/.
6. Estudie el modelo del mundo diseñado para este ejercicio, disponible en n4_prestamos
/docs/specs/ModeloConceptual.jpg en las imágenes ubicadas en el mismo directorio.
Identifique las clases, relaciones entre clases, atributos y métodos.
Ta
Parte 1: Implementar la clase Multa
Para el desarrollo de este ejercicio, el nombramiento en la creación de clases y método debe tener en
cuenta el modelo del mundo presente en n4_prestamos /docs/specs/ModeloConceptual.jpg
a. Cree la clase Multa, la cual representa una multa a un estudiante por pérdida o demora de un
recurso.
b. Defina y documente las constantes que permiten definir:
 Los tipos de multas (DEMORA por demora en la entrega de un recurso, ó PERDIDA
por perdida del mismo)
 Los estados de una multa (PAGADA para una multa pagada, y NOPAGADA para una
multa no pagada).
Recuerde que documentar un constante, implica escribir antes de cada constante su
explicación (el comentario se debe encerrar entre los símbolos /* y */). Por ejemplo:
/**
* Indica que la multa es por demora en la entrega del recurso
*/
public static final int DEMORA = 0;
c. Defina y documente los correspondientes atributos.
d. Implemente y documente el constructor de la clase. Los parámetros deben contemplar: el tipo
de la multa, el valor de la multa y el recurso involucrado en la multa.
Debe tener en cuenta que cuando se crea una multa, el estado por defecto de la misma es no
pagada.
e. Implemente y documente los métodos de la clase:
 darTipo
 darValor
 darEstado
 darRecurso
 pagar
Parte 2: Completar la clase Estudiante
Teniendo en cuenta que un estudiante puede tener más de una multa, modifique la clase Estudiante
para asociarle, por medio de una contenedora de tamaño variable, las multas que se le puedan
generar al estudiante. A continuación los pasos a seguir:
a. Defina y documente el atributo que permite modelar una lista de multas como una
contenedora de tamaño variable.
b. Modifique el constructor para crear la lista de multas.
c. Implemente y documente los métodos:
 agregarMulta
 darMultas
 pagarMulta
 consultarMultas
Parte 3: Completar la clase CentralPrestamos
a. Implemente y documente los siguientes métodos ( también se encuentran señalados con
//TODO):
 eliminarEstudiante
 registrarMulta
 pagarMulta
b. Complete el método consultarMultas.
Parte 4: Generación de documentación
Cuando haya verificado que todas las pruebas de la aplicación sean exitosas, genere el Javadoc del
proyecto. Para esto es necesario hacer doble clic sobre el archivo doc.bat (ubicado en
n4_prestamos/bin/win para Windows) o doc.sh (ubicado en n4_prestamos /bin/mac para Mac)
por fuera de eclipse.
La documentación se genera en el subdirectorio n4_prestamos /docs/api. En caso de no aparecer el
directorio api, modifique las variables de ambiente siguiendo las instrucciones proporcionadas en el
siguiente enlace a partir del punto 8:
http://cupi2.uniandes.edu.co/sitio/images/recursos/herramientas/InstalacionJDK.pdf
Una vez generada la documentación empiece por leer el archivo:
n4_prestamos /docs/api/index.html
Revise la documentación html de las clases del mundo y verifique las responsabilidades de los
métodos, constantes y atributos.
Validación
Para comprobar el funcionamiento de su ejercicio:
a. Ejecute las pruebas unitarias.
b. Ejecute el programa
c. Interactúe con todas las opciones disponibles en la interfaz.