Examen laboratorio

Anuncio
N4 - Sala de Cine CUPI2
Autor
Fecha
Enunciado
Una sala de cine está compuesta de sillas que se identifican con una letra que representa la fila (A-K) y un número de
silla (1-20). Las sillas pueden ser de dos clases, preferencial (filas I, J y K) y general (filas restantes), las primeras
tienen un costo de $11.000 y las segundas de $8.000. En la figura que aparece más abajo se puede apreciar esta
estructura. Allí se muestra la interfaz usuario que se diseñó para este programa.
El cine presta el servicio de reserva a sus clientes con tarjeta TARCINE, que es una tarjeta prepago ofrecida por el
teatro para que el cliente pueda reservar boletas, lo mismo que obtener un descuento del 10% en el momento de
pagar. El servicio de reserva consiste en que un cliente puede llamar y solicitar que le reserven a nombre de su tarjeta
un conjunto de sillas para ser pagadas antes del comienzo de la función. El pago de la reserva se puede hacer con la
tarjeta del mismo cliente que la reservo o con otra.
Por política del cine, el número de la tarjeta TARCINE es el mismo número de cédula del cliente. La tarjeta
TARCINE se adquiere con un saldo inicial de $70.000 y se puede recargar con un valor de $50.000 cuantas veces se
quiera.
Modelo del Mundo
Listado de Requerimientos
Nombre
R1 – Crear una tarjeta TARCINE para un cliente
Resumen
Entradas
Resultados
Nombre
R2 – Recargar una tarjeta TARCINE de un cliente
Resumen
Se incrementa el valor del saldo de la tarjeta con una carga fija de $50.000. La tarjeta debe estar
registrada para el cliente indicado.
Entradas
La cédula del cliente. Una tarjeta debe estar registrada para el cliente.
Resultados
La tarjeta del cliente ha incrementado su saldo en $50.000
Nombre
R3 – Crear una reserva
Resumen
El cliente indica el grupo de sillas que quiere reservar y guarda su reserva, sólo si tiene una
tarjeta TARCINE creada.
Entradas
Grupo de sillas a reservar.
La cédula del cliente. Una tarjeta debe estar registrada para el cliente.
Resultados
Se ha creado una reserva con las sillas indicadas y quedó registrada a nombre del cliente o de su tarjeta TARCINE.
Nombre
R4 – Consultar una reserva
Resumen
A partir de la cédula del cliente, se consulta la reserva que tenga hecha y se muestra la lista de
sillas reservadas.
Entradas
Resultados
Nombre
R5 – Eliminar una reserva
Resumen
Al tener la información de la reserva de un cliente, es posible eliminar la reserva, siempre y
cuando no haya sido pagada.
Entradas
Reserva del cliente.
Resultados
La reserva hecha por el cliente ya no se encuentra en el sistema.
Ejercicio
public class Tarjeta
{
/**
* Resta una cantidad especifica de la tarjeta. <br>
* <b>pre: </b> cantidad > 0 && dineroDisponible > cantidad. <br>
* <b>post: </b> dineroDisponible = dineroDisponible - cantidad.
* @param cantidad Cantidad de dinero a restar.
* @throws Exception No tiene los fondos necesarios.
*/
public void restarDinero( int cantidad ) throws Exception
{
//TODO Implemente este método
}
}
public class Reserva
{
/**
* Agrega una nueva silla a la reserva. <br>
* <b>pre: </b> El estado de la Silla es Disponible. <br>
* <b>post: </b> El estado de la silla es reservada y está en la reserva.
* @param silla Silla a agregar. silla != null.
* @throws Exception La silla no está disponible
*/
//TODO Implemente el método según el contrato
/**
* Establece que la reserva ya fue pagada. <br>
* <b>post: </b> La reserva queda pagada y Todas las sillas quedan vendidas.
* @throws Exception Error generado cuando la reserva ya fue pagada
*/
//TODO Implemente el siguiente método según el contrato
}
public class Cine
{
//TODO Escriba el contrato javadoc para este método.
public void crearTarjeta( int cedula ) throws Exception
{
//Verifica que el cliente no tiene tarjeta
if( existeTarjeta( cedula ) )
{
throw new Exception( "El usuario con cédula '" + cedula + "' ya tiene tarjeta." );
}
//Crea la tarjeta para el cliente
Tarjeta tarjeta = new Tarjeta( cedula );
tarjetas.add( tarjeta );
totalDinero += Tarjeta.CARGA_INICIAL;
}
//TODO Escriba el contrato para el método darReserva e impleméntelo.
}
Descargar