n2_cupiAlquiler_GuíaDeTrabajo - Cupi2

Universidad de los Andes
Ingeniería de Sistemas y Computación
Algorítmica y Programación por Objetos 1
Ejercicio Nivel 2 – CupiAlquiler
Guía de trabajo
Descripción global
El equipo Cupi2 fue contratado por una empresa de alquiler de carros. Esta empresa necesita una
aplicación que permita manejar la información administrativa de la empresa y la información de los
carros que tienen en alquiler.
Objetivos del ejercicio
En el presente ejercicio usted trabajará en:
 Declarar e inicializar constantes.
 Declarar e inicializar atributos.
 Completar y crear métodos.
 Definir expresiones lógicas y aritméticas.
 Utilizar estructuras condicionales.
Los siguientes pasos conforman el plan sugerido para desarrollar el ejercicio. La idea es ir
desarrollando y probando incrementalmente los métodos de las clases. No se preocupe si las
clases de la interfaz y de pruebas tienen errores. Estos desaparecerán cuando termine
(correctamente) los cambios en el modelo del mundo.
Preparación
1. Descargue del sitio web del curso el archivo demo de la aplicación (del enlace llamado
n2_cupiAlquiler_Demo) y ejecútelo para conocer el funcionamiento esperado del programa.
2. Descargue del sitio web del curso el esqueleto del ejercicio (del enlace llamado
n2_cupiAlquiler_Esqueleto). Descomprima este archivo e importe el proyecto llamado
n2_cupiAlquiler en Eclipse.
3. Lea el enunciado del problema disponible en:
n2_cupiAlquiler/docs/specs/Descripcion.pdf.
4. Estudie el modelo del mundo diseñado para este ejercicio. Este modelo se encuentra en:
n2_cupiAlquiler/docs/specs/ModeloConceptual.jpg. Identifique las clases, relaciones entre
clases,
constantes,
atributos
y
métodos.
Lea
también
el
documento
RequerimientosFuncionales.pdf que se encuentra en el mismo directorio.
5. Desde Eclipse revise la documentación de las clases del mundo. Esto le permitirá entender
para qué sirve cada método y cada uno de los atributos. También puede generar la
documentación del proyecto (archivos .html) ejecutando el programa doc que se encuentra en
n2_cupiAlquiler/bin/win (para Windows) y en n2_cupiAlquiler/bin/mac (para Mac).
Dentro del código del esqueleto se encuentran indicados los puntos donde usted debe realizar
alguna modificación (añadir atributos, completar métodos, construir nuevos métodos, etc.), por
medio de comentarios de la siguiente forma:
// TODO: Breve explicación de la modificación que debe realizar.
Estos puntos son indicados dentro del editor de eclipse por medio de una marca de color azul que
aparece en una columna a la izquierda de la ventana de edición, como se ilustra en la siguiente
figura:
Parte 1: Completar la clase Carro
1. Declare las constantes faltantes: KILOMETRAJE_REPARACION, MAXIMO_KILOMETRAJE,
MINIMO_NUM_ALQUILER. En el modelo del mundo (ModeloConceptual.jpg) se encuentran los
valores de estas constantes.
2. Declare los atributos faltantes. En el modelo del mundo (ModeloConceptual.jpg) se encuentran
los nombres y tipos de estos atributos.
3. Complete el método constructor de la clase: public Carro( String pModelo, String
pMarca, double pPrecioAlquiler, double pPrecioReparacion )
4. Complete los métodos analizadores: public String darModelo(), public String
darMarca(),
public
int
darKilometraje(),
public
double
darPrecioReparacion( ) y public boolean darAlquilado()
5. Complete el método modificador public boolean alquilar( ) de acuerdo a su
documentación.
6. Complete el método modificador public
documentación.
boolean
reparar(
)de acuerdo a su
Parte 2: Completar la clase CupiAlquiler
1. Declare las asociaciones faltantes: carro3 y carro4, de acuerdo con el modelo conceptual.
2. Complete el método constructor de la clase:
public CupiAlquiler()
3. Complete el método analizador public boolean buscarCarro (String pModelo)de
acuerdo a su documentación.
4. Complete el método analizador public String darCarroMasAlquilado( ) de acuerdo
a su documentación.
Respuesta del método.
1. Si ninguno de los carros han sido alquilados, el método debe retornar la frase: “Ningún
carro ha sido alquilado.”
2. De lo contrario, devuelve el primer carro que tenga el mayor número de alquileres con el
siguiente mensaje: “El carro más alquilado es: <Marca del carro> <Modelo del carro>.”
5. Complete el método modificador public void public boolean alquilarCarro(
String pModelo, int pNumDias )de acuerdo a su documentación. Debe usar el
método alquilar de la clase Carro. No olvide actualizar los ingresos de la empresa cuando
el carro se puede alquilar.
6. Complete el método analizador public boolean repararCarro( String pModelo)de
acuerdo a su documentación. Debe usar el método reparar de la clase Carro. No se le
olvide actualizar los ingresos de la empresa cuando hay suficientes ingresos para reparar el
carro.
Validación
Para comprobar el funcionamiento de su ejercicio usted puede:
1. Ejecutar las pruebas automáticas disponibles en el ejercicio (validación funcional del mundo)
que le permitirán verificar la correcta implementación de sus métodos. Para ejecutar las
pruebas en el entorno de Eclipse presione click derecho sobre el paquete
“uniandes.cupi2.cupiAlquiler.test” (o alguna de sus clases internas), seleccione la opción “Run
as” y posteriormente la opción “JUnitTest”.
2. Ejecutar el programa e interactuar con todas las opciones disponibles en la interfaz.
Entrega
Este ejercicio debe ser realizado de manera INDIVIDUAL.
1. Construya el archivo entregable con el ejercicio completo. No olvide revisar que su entrega
cumple con lo especificado en las normas del curso referentes a entregas de ejercicios.
Consultar:
http://cupi2.uniandes.edu.co/sitio/index.php/cursos/apo1/normas-administrativas
2. Entregue el archivo del ejercicio vía SicuaPlus, de acuerdo con las normas, fecha y hora de
entrega.