Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Una nueva cadena de cines llamada MI CINE te ha contratado para que desarrolles un
prototipo para su boletería. El programa que debes crear es bastante básico. El cine tiene
cinco salas de cine y se proyectan cinco películas en horarios diferentes.
Requerimientos funcionales
El gerente ha definido la siguiente lista de requerimientos que tu programa debe cumplir.
Película
Las películas que el cine proyecta disponen de la siguiente información:
● id: Un número entero para identificar a cada película que se proyecta.
● título: El título oficial de la película.
● duración: El tiempo de duración de la película en minutos.
● estreno: Define si la película está de estreno o no.
● hora: La hora en formato “HH:MM” en la que se proyecta la película.
Cuando se muestra la cartelera del cine, las películas se deben imprimir en el siguiente
formato: id - [hora] título (duración) * SI ESTÁ DE ESTRENO *
Sala
El cine dispone de cinco salas de cine para proyectar las películas. La capacidad de cada
sala es de 25 personas distribuidas en cinco filas y cinco columnas. Cada vez que se
requiere mostrar los asientos disponibles, se debe imprimir en forma de matriz la
distribución de la sala de cine. Las filas se enumeran con letras desde la A hasta la E;
mientras que, las columnas se numeran desde el 1 hasta el 5. La siguiente imagen muestra
como debe imprimirse la distribución de los asientos.
- - A S I E N T O S - -
1 2 3 4 5
A O O O O O
B O O O O O
C O X X X O
D O O O O O
E O O O O O
El caracter O indica que el asiento está disponible; mientras que, el caracter X indica que el
asiento ya se encuentra reservado. Cada vez que se requiere reservar un asiento (en el
proceso de compra) se debe establecer la letra de la fila y el número de columna, por
ejemplo “A3”. Si el asiento ya se encuentra ocupado o no existe, el programa debe emitir el
correspondiente mensaje de error.
Boleto
Cada boleto que se emite a un cliente dispone de la siguiente información:
● sala: Un número entero que indica el número de la sala de cine.
● película: Contiene la información de la película que se va a proyectar.
● fila: Indica el número de fila del asiento. Por ejemplo.: A, B, C, etc.
● columna: Indica el número de la columna del asiento. Por ejemplo: 1, 2, 3, etc.
El boleto tendrá una forma rectangular en pantalla (formado por caracteres), con toda la
información pertinente.
Cine
El cine dispone de cinco salas de cine y una cartelera con películas. El precio del boleto es
de $3.15 USD. Las películas que actualmente proyecta el cine son:
Existen tres operaciones que realizan los usuarios del programa en la boletería que se
describen a continuación.
Mostrar la cartelera
Esta operación imprime en pantalla la cartelera del cine de la siguiente manera:
- - C A R T E L E R A - -
1 - [14:30] El Rey León (117) * ESTRENO *
2 - [16:00] Spiderman: Lejos de Casa (130) * ESTRENO *
3 - [18:20] Annabelle 3: Vuelve a Casa (106)
4 - [16:15] Avengers: End Game (188)
5 - [11:30] Toy Story 4 (100)
Mostrar sala
Esta operación permite mostrar los asientos de la sala de cine para una película específica,
de la siguiente manera:
Comprar Boletos
Esta operación permite emitir los boletos que un cliente requiera para ver una película en la
sala de cine. Lo primero que se debe elegir es la película que se desea ver. Se debe validar
el dato ingresado para que solamente se pueda seleccionar entre los ID de películas en la
cartelera.
Luego, el programa solicita al usuario que ingrese un asiento para cada boleto. Si el asiento
ingresado no está disponible, o no existe; el programa emite un error y vuelve a solicitar al
usuario que ingrese un número de asiento.
Boleto #3
╔══════════════════════════════════════════════════════╗
║ Sala: 1 ║
║ Hora: 16:00 ║
║ Asiento: A4 ║
║ Pelicula: Spiderman: Lejos de Casa ║
╚══════════════════════════════════════════════════════╝
TOTAL $ 9.45
Requerimientos no funcionales
Los siguientes requerimientos han sido planteados por el profesor de la materia en función
de los conocimientos que has adquirido.
Ingreso de datos
Para el ingreso de datos se debe utilizar el teclado y validar la información de acuerdo a los
requerimientos planteados.
Datos iniciales
Los datos iniciales que requiere la aplicación para funcionar se encuentran “quemados” en
el código fuente. Estos datos son:
● Cartelera del cine (cinco películas que se proyectan)
● Salas del cine (número de filas y columnas)
Diagrama de clases
Se ha definido un esqueleto de la aplicación que se representa en el siguiente diagrama de
clases.
- - M I C I N E - -
+ + MENÚ PRINCIPAL + +
1. Mostrar cartelera
2. Mostrar sala
3. Comprar boletos
4. Salir
Ingrese su opción:
1
- - C A R T E L E R A - -
1 - [14:30] El Rey León (117) * ESTRENO *
2 - [16:00] Spiderman: Lejos de Casa (130) * ESTRENO *
3 - [18:20] Annabelle 3: Vuelve a Casa (106)
4 - [16:15] Avengers: End Game (188)
5 - [11:30] Toy Story 4 (100)
+ + MENÚ PRINCIPAL + +
1. Mostrar cartelera
2. Mostrar sala
3. Comprar boletos
4. Salir
Ingrese su opción:
2
Ingrese el id de película:
3
+ + MENÚ PRINCIPAL + +
1. Mostrar cartelera
2. Mostrar sala
3. Comprar boletos
4. Salir
Ingrese su opción:
3
- - B O L E T O S - -
Ingrese el ID de la película:
1
Ingrese el número de boletos:
3
Seleccione los asientos
1 2 3 4 5
A O O O O O
B O O O O O
C O O O O O
D O O O O O
E O O O O O
Boleto #1
Ingrese el asiento:
c2
Boleto #2
Ingrese el asiento:
c3
Boleto #3
Ingrese el asiento:
c4
RESUMEN DE LA COMPRA:
Boleto #1
╔══════════════════════════════════════════════════════╗
║ Sala: 1 ║
║ Hora: 14:30 ║
║ Asiento: C2 ║
║ Pelicula: El Rey León ║
╚══════════════════════════════════════════════════════╝
Boleto #2
╔══════════════════════════════════════════════════════╗
║ Sala: 1 ║
║ Hora: 14:30 ║
║ Asiento: C3 ║
║ Pelicula: El Rey León ║
╚══════════════════════════════════════════════════════╝
Boleto #3
╔══════════════════════════════════════════════════════╗
║ Sala: 1 ║
║ Hora: 14:30 ║
║ Asiento: C4 ║
║ Pelicula: El Rey León ║
╚══════════════════════════════════════════════════════╝
TOTAL: $9.45
Entregables
Para la entrega del proyecto se debe generar un solo archivo comprimido en zip con los
siguientes documentos:
Exposición
La exposición dura 15 minutos. Cada grupo debe exponer los siguientes apartados:
● Enfoque comercial:
○ Funciones
○ Plus de tu aplicación
○ Modelo de negocio, precio, formas de pago, etc.
● Consideraciones técnicas para el diseño del programa
○ Diagrama de clases
○ Aplicó conceptos de POO
○ Dificultades
○ Problemas resueltos
○ Código más importante
● Demostración
○ Requerimientos funcionales
○ Validaciones
○ Resultado final
Extra
Se pueden agregar las siguientes funcionalidades extra al programa:
● Facturación (2)
○ Datos adicionales al cliente (cédula/ruc, teléfono, dirección y correo
electrónico)
○ Calcular Subtotal, IVA y Total
○ Emitir factura (impresión por pantalla)
● Tienda de Snacks (2)
○ Catálogo de productos
○ Combos
○ Compra (por separado)
● Precios diferenciados (2)
○ Las salas tienen diferente precio
○ Las vermouths tienen otro precio
○ Personas adultas mayores o niños. 50% de descuento.