Está en la página 1de 17

“!

FACULTAD DE INGENIERÍA
CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES

“CINE CONDOR”

Informe final del curso:


Programación Orientada a Objetos

Integrantes:
FABRIZIO JESUS DIAZ NARVAEZ
JOSEPH LENIN CRUZADO LAIZA
JOREL GIUSEPPE TORRES MIÑANO
JORGE MANLIO GONZALO ROJAS SEGURA
PIERO VILLAREAL SANTIAGO

Docente:
MARIA HAYDEE LI FERNANDEZ
TRUJILLO – PERÚ
2020

1
“CINE CONDOR”
|

ÍNDICE DE CONTENIDOS

1. NOMBRE DEL PROYECTO…...…………………………………………………..2


2. REALIDAD PROBLEMATICA……..………………………………………………2
3. DESCRIPCION DEL PROGRAMA………………………………….…………….2
4. LISTA DE CLASES DEL PROGRAMA…………………………………………..2
5. DIAGRAMA DE CLASES…………………………………………………………..4
6. LISTA DE METODOS DEL PROGRAMA…………...……………………………6
7. CAPTURAS DE PANTALLA DE LA EJECUCION……………………………..12
8. CONCLUSIONES Y RECOMENDACIONES…………………………………….16

CAPÍTULO 1. NOMBRE DEL PROYECTO


Programa de simulación para entretenimiento audiovisual “Cine Condor”.
1
“CINE CONDOR”
|

CAPÍTULO 2. REALIDAD PROBLEMATICA


Debido a la pandemia mundial y el estado de cuarentena, muchas familias se han limitado a
disfrutar de un agradable momento en un cine público. De este modo, la empresa “Cine Condor”
con sucursales en diferentes puntos se vio en la obligación de adaptarse al cambio y de esta
manera seguir generando ingresos. Así es como “Cine Condor” decidió contratar ingenieros de
sistemas, para desarrollar un software que permita la compra y reservación de asientos para las
películas recientes o en cartelera.

CAPÍTULO 3. DESCRIPCION DEL PROGRAMA


El programa implementado permite simular la compra de entradas de una película (normal o 4k),
para ello se registrarán los datos del usuario y también se le permitirá reservar los asientos de la
sala de cine, también el usuario podrá escoger un combo de alimentos y cada operación realizada
actualizará el estado del precio total a pagar que se mostrará al final de la compra. Recordemos
que todo esto se demostrará a través de una interfaz gráfica.

CAPÍTULO 4. LISTA DE CLASES DEL PROGRAMA

1. Película

Es una clase abstracta, la cual usaremos como fuente de información que le mostrará al
usuario con respecto a la película que valla a escoger. (Título, Duración, Sinopsis, Director
y Precio)

2. Película Normal

Esta clase almacena información o datos con respecto a la película seleccionada, esta
información es enviada a nuestra clase abstracta Película donde se le mostrará al usuario
a más detalle.

3. Película 4K

De misma manera que la clase Película Normal, esta clase también almacena información
o datos con respecto a la película seleccionada. Según el tipo de película que el usuario
desee ver, pues la única variación entre la clase Película Normal y Película 4K es el valor
definido en el atributo precio.

4. Película en Cartelera

En esta clase, haremos uso de nuestra interfaz gráfica, pues es aquí donde haciendo uso
de la librería AWT le mostraremos al usuario las películas en cartelera y la información con
respecto a cada una si la llegase a escoger. Además, el usuario también podrá escoger
entre diferentes opciones como es la selección de asientos y el de combos. Por otro lado,
también se hace un seguimiento de las operaciones que realiza, de esta manera
obtenemos el monto total a pagar.

5. Imagen Película

2
“CINE CONDOR”
|

Esta clase sirve para hacer llamado a las imágenes que se presentaran en nuestra interfaz
gráfica. Todas estas imágenes (.jpg) se colocarán en lienzos que nosotros implementamos
en nuestro panel y que ya se encuentran establecidas con respecto a su medida.

6. Imagen Combo

Esta clase hace llamado a las imágenes que tenemos para la sección de combos, estas
se presentaran en nuestra interfaz gráfica. Estas, así como en la clase Imagen Película
son colocadas en lienzos dentro del panel con sus medidas establecidas.

7. Combo

Esta clase recibe todos los datos del proceso que se está realizando, pues hay un método
que se encargara de calcular el precio total sumando el precio de los asientos
seleccionados y el combo que fue seleccionado también. Para esto último, se hace
llamado a la clase Imagen Combo que le permitirá visualizar al usuario y escoger cual es
el combo que desea adquirir.

8. Cine

En esta clase tenemos el sub panel que se mostrará luego de haber seleccionado la
película, donde se nos muestran los componentes con los datos de la película a más
detalle y el resto de los procesos.

9. Header

La siguiente clase es para mostrar la base con cuestiones estéticos en nuestra interfaz
gráfica.

CAPÍTULO 5. DIAGRAMA DE CLASES

3
“CINE CONDOR”
|

4
“CINE CONDOR”
|

CAPÍTULO 6. LISTA DE METODOS DEL PROGRAMA

5
“CINE CONDOR”
|

6.1. Lista de Métodos en la clase Película

6.1.1. Película
Este método permite instanciar nuestros atributos, en el cual almacenaremos información
acerca de la película. Donde según la película que escoja los datos se guardaran en los
siguientes atributos:
 Título
 Sinopsis
 Director
 Duración
 Precio
La información por cada atributo varía según la película seleccionada y según el tipo de
película.

6.1.2. Get y Set


Para nuestros atributos necesitamos realizar los métodos de Get y Set para cada uno.

6.1.3. getAdicionalPorTipo
Este método calcula el precio según el tipo de película que se halla escogido. Para ello
hará uso del método getTipo.

6.1.4. getTipo
Es un método abstracto el cual obtendrá un dato según sea seleccionado el tipo de
película. Sus hijas película normal y 4K, contienen distintos valores, por lo que al
seleccionar una de ambas, este valor retornara en este método para luego ser calculado.

6.2. Lista de Métodos en la clase PelículaEnCartelera

6.2.1. PelículaEnCartelera
Este método permite instanciar nuestros atributos que serán actualizados durante la
ejecución del programa en la interfaz gráfica. Además, en el sub método
PelículaEnCartelera se instancia nuestro primer controlador, que será el de selección, de
este modo se nos permitirá escoger solo una película.

6.2.2. initComponents
Este es un método que se genera por defecto cuando decidimos colocar nuestros
controladores dentro de nuestro lienzo o nuestro panel en la interfaz gráfica.

6.2.3. seleccionarPeliculaButtonMouseEntered
Este método será usado para que al momento de ejecutarse suceda un evento dentro de
la interfaz. Este evento permite que el cuadro de “Seleccionar película” se pueda observar
cuando el cursor se encuentre encima de ella.

6.2.4. seleccionarPeliculaButtonMouseExited
De misma manera que la anterior, este método programa un evento en la interfaz gráfica
donde en esta ocasión cuando el cursor sea quitado de dicha zona, el mensaje de
“Seleccionar película” desaparezca.

6
“CINE CONDOR”
|

6.2.5. imagenPeliculaMouseEntered
Este método permite observar la opción de “Seleccionar película” cuando el cursor se
encuentra dentro de la zona de la imagen de la película.

6.2.6. imagenPeliculaMouseExited
A diferencia que el anterior método mencionado, este método hace que desaparezca o ya
no pueda verse la opción de “Seleccionar película” cuando el cursor se encuentra fuera de
la zona de la imagen de la película.

6.2.7. seleccionarPeliculaButtonMousePressed
Este método provoca un evento luego de haber hecho clic en la opción “Seleccionar
película”, mostrándonos a continuación los detalles de la película en un nuevo panel que
conoceremos como ‘dialog’.

6.2.8. Getters & Setters


Para nuestros atributos necesitamos realizar los métodos de Get y Set para cada uno.

6.2.9. generarMatrizDeAsientos
En el siguiente método se creará una matriz que representará a los asientos en una sala
de cine, por lo tanto, el usuario podrá escoger sus asientos de preferencia. Estos asientos
tendrán un valor booleano ‘false’, pues ninguno ha sido escogido aún.

6.2.10. obtenerFila
En el siguiente método se establecerá un orden para nuestra matriz anteriormente creada,
como ya se conoce cada asiento tiene un orden de combinación alfanumérica. De modo
que, en este método el usuario podrá tener noción de donde se encontrará ubicado el
asiento(s) que decidió reservar.

6.2.11. setAsientosSeleccionados
En el siguiente método, según la selección del usuario, la matriz se actualizará haciendo
que el valor booleano de aquellos asientos reservados ahora sea “true”. En el momento de
dicha selección aún se puede quitar de la selección a los asientos que anteriormente
fueron seleccionados, devolviéndoles el valor “false”. Por otro lado, este método también
nos permite verificar los asientos que fueron reservados con anterioridad y hacerlos
permanecer en su estado de reservado. Esto último se podrá demostrar en una segunda
iteración con la película.

6.2.12. descripcionDePelicula
En este método se aplica el evento de mostrar todos los datos con respecto a la película
que fue seleccionada. Esto se debe a que en la clase Película se almacenaron aquellos
datos de la película seleccionada y estas mismas se mostraran aquí. Los datos que se
mostraran en este método son los siguientes:
 Título
 Sinopsis
 Director
 Duración
 Horario

El horario será escogido mediante un controlador (CheckBox), según los horarios que se
encuentren disponibles.

7
“CINE CONDOR”
|

6.2.13. clicSeleccionarAsientosButton
En la matriz establecida con anterioridad, se hace llamado a este método que es quien
permite agregar el evento a cada botón de la matriz asientos y de esta manera hacer que
el proceso en el método setAsientosSeleccionados lo reporte.

6.2.14. seleccionarAsientos
Este método nos permite hacer que al momento de que los asientos sean seleccionados
por el usuario, estos cambien de manera visual y así dar a entender que los asientos se
encuentran ocupados, de la misma manera reporta los asientos reservados y también
hace un seguimiento de la cantidad de asientos y calculando el monto total a pagar.

6.2.15. seleccionarCombo
Este método permite mostrar en el panel los combos disponibles, quitando el anterior
proceso y colocando el panel en blanco, este método muestra cada combo con su
respectiva imagen y sus dimensiones.

6.3. Lista de Métodos en la Clase Película Normal

6.3.1. PeliculaNormal
Este método recibe los datos de la película que fue seleccionada, y luego las enviará de
retorno a la clase Película. Para ello los datos que son enviados como parámetro a este
método son:
 Título
 Sinopsis
 Director
 Duración
 Precio

6.3.2. getTipo
Este método es una hija del método padre en la clase Película, pues al haber sido
seleccionada una película normal, entonces aquí se retornará un valor que ya fue
predeterminado. Por lo tanto, el tipo sería PelículaNormal.

6.4. Lista de Métodos en la Clase Película 4K

6.4.1. Pelicula4K
Este método recibe los datos de la película que fue seleccionada, y luego las enviará de
retorno a la clase Película. Para ello los datos que son enviados como parámetro a este
método son:
 Título
 Sinopsis
 Director
 Duración
 Precio

6.4.2. getTipo
Este método también es una hija del método padre en la clase Película, pues al haber sido
seleccionada una película 4K, entonces aquí se retornará un valor que ya fue
predeterminado. Por lo tanto, el tipo sería Película4K.
.

8
“CINE CONDOR”
|

6.5. Lista de Métodos en la Clase Cine

6.5.1. Cine
Este método tiene los arreglos con respecto a nuestra interfaz gráfica, y esta
principalmente compuesto por:
 Frame
 Controladores AWT
 Dialog

Pues a pesar de ello, los componentes también se crean por defecto, haciendo de esto
una edición más fácil de la interfaz gráfica.

6.5.2. cargarPeliculas
Este método contiene los datos que se mostraran en los contenedores de texto, de
manera que demostrará al usuario la sinopsis y entre otros datos más en su respectivo
lugar en la interfaz.

6.5.3. initComponents
Este método está incluido por defecto al hacer uso de controladores AWT.

6.5.4. exitForm
Este método también está incluido por defecto, pero su función es cerrar el frame o
ventana cuando el usuario desee cerrar la interfaz.

6.5.5. main
Este método es el cuerpo principal de nuestra interfaz, lo que el usuario observará al
ejecutar el programa.

6.6. Lista de Métodos en la Clase Header

6.6.1. Header
Este método establece las medidas del lienzo.

6.6.2. paint
Este método crea el lienzo y establece su posición.

6.6.3. BufferedImage getImage


Este método get recibe la imagen establecida.

6.6.4. setImage
Este método coloca la imagen que fue establecida dentro del lienzo en el que se decidió
establecer, y que se mostrará en la interfaz.

9
“CINE CONDOR”
|

6.7. Lista de Métodos en la Clase Imagen Película

6.7.1. ImagenPelicula
Este método establece el tamaño o las medidas con respecto a la imagen de cada película
y su lienzo.

6.7.2. BufferedImage getImage


Este método get recibe la imagen establecida.

6.7.3. setImage
Este método coloca la imagen que fue establecida dentro del lienzo y que se mostrará en
la interfaz.

6.8. Lista de Métodos en la Clase Combo

6.8.1. Combo
En este método se mantiene la información de los atributos para luego ser nuevamente
recalculados, pues si el usuario escoge un combo, entonces el precio o monto total a
pagar se actualizará. Por ello en el método se hace llamado a los siguientes atributos:
 Título
 horarioSeleccionado
 asientosSeleccionados
 montoTotal
Haciendo uso de estos atributos con sus respectivos valores, podemos calcular y
actualizar los datos que el usuario luego verá en la boleta digital.

6.8.2. initComponents
Este método está incluido por defecto al hacer uso de controladores AWT.

6.8.3. buttonlActionPerformed
Este método hace que en pantalla se muestre una pequeña ventana donde se presentarán
todos los datos con respecto a la selección del usuario. De esta manera es como el
usuario verá un resumen de la película que escogió, sus asientos, el horario, los combos,
y el monto total a pagar. Finalmente, se le mostrará un mensaje indicando la compra
exitosa.

6.8.4. checkboxCombo1MousePressed
Este método hace llamado a un controlador conocido como “CheckBox” que permitirá al
usuario hacer clic dentro de un pequeño cuadrado que le permitirá la selección del primer
combo.

6.8.5. checkboxCombo2MousePressed
Este método hace llamado a un controlador conocido como “CheckBox” que permitirá al
usuario hacer clic dentro de un pequeño cuadrado que le permitirá la selección del
segundo combo.

10
“CINE CONDOR”
|

6.8.6. checkboxCombo3MousePressed
Este método hace llamado a un controlador conocido como “CheckBox” que permitirá al
usuario hacer clic dentro de un pequeño cuadrado que le permitirá la selección del tercer
combo.

6.8.7. combos
Este método únicamente reserva el nombre de cada combo, por defecto denominaremos
“Combo 1” para el primero, y de esta manera sucesivamente hasta el tercer combo.

6.9. Lista de Métodos en la Clase Imagen Combo

6.9.1. ImagenCombo
Este método establece el tamaño o las medidas con respecto a la imagen de cada combo
y su lienzo.

6.9.2. BufferedImage getImage


Este método get recibe la imagen establecida.

6.9.3. setImage
Este método coloca la imagen que fue establecida dentro del lienzo y que se mostrará en
la interfaz.

11
“CINE CONDOR”
|

CAPÍTULO 7. CAPTURAS DE PANTALLA DE LA EJECUCION


“Programa en ejecución, interfaz principal”

“Colocando el cursor encima de la película nos muestra la opción para seleccionarla.”

12
“CINE CONDOR”
|

“Nos muestra un panel con los datos acerca de la película.”

“Luego el usuario podrá escoger los asientos que se encuentren disponibles.”

13
“CINE CONDOR”
|

“Después de haber seleccionado los asientos se nos mostrará en el cuadro izquierdo y el


total a pagar.”

“Se le permite al usuario escoger un combo, o finalizar la compra.”

“Seleccionando un combo, el precio total se actualizará.”


14
“CINE CONDOR”
|

“Finalmente se le muestra al usuario una boleta digital con los datos de su compra.”

15
“CINE CONDOR”
|

CAPÍTULO 8. CONCLUSIONES Y RECOMENDACIONES


En este proyecto se priorizó el uso de todos los temas aprendidos anteriormente, haciendo así la
simulación de un programa que permite la reserva de asientos y películas de un cine. Fue
complicado entender temas como el polimorfismo y las clases abstractas en un principio, pero con
perseverancia logramos entender e implementarlo en nuestro programa, pues no sirvió de mucho
para la reserva de datos. El uso de controladores AWT nos ayudó a plasmar nuestras ideas al
momento de querer implementar una interfaz gráfica, pues no sabíamos cómo íbamos a crear un
botón antes de conocer el tema, ahora dominamos claramente el tema y este proyecto es
evidencia de ello. El proyecto funciona correctamente, y aunque hubo muchas ideas que
implementar se consiguió lo que desde un principio se planteó.

Joseph Cruzado Laiza menciona que el proyecto realizado fue de gran ayuda para todos nosotros,
pues nos permitió entender mejor la funcionalidad de una interfaz en algún sistema, y de este
modo tomar la iniciativa de querer crear interfaces más amigables con los clientes. A pesar, de
que tuvimos cierta complejidad entendiendo los temas, se logró desarrollar el programa y más que
solo eso, se logró exitosamente el trabajo en equipo.

Fabrizio Díaz Narváez indica que con respecto al proyecto fue una gran idea hacer un simulador
del sistema de ventas de un cine porque nos permite saber más sobre como las empresas
grandes llegan a hacer esto, aparte que nos da una idea de los temas de java

Jorge Rojas Segura menciona que desarrollar un proyecto en Java fue un gran reto, pues al ser
nuevos con este lenguaje hubo muchos temas que tuvimos que repasar y practicar en repetidas
ocasiones, gracias a ello hemos podido ser capaces de crear este programa que creemos que
puede servir para ayudar a las compañías a recordar algo tan importante como lo que ha sido
dejado de lado en estos tiempos, el entretenimiento.

Jorel Torres Miñano indica que este proyecto nos ha ayudado a mejorar nuestras habilidades en
programación y como equipo, este programa fue hecho con mucha dedicación de nuestra parte.
Hemos hecho uso correctamente de todo lo aprendido de Java hasta la fecha de haber concluido
el proyecto.

Piero Villareal Santiago menciona que la programación orientada a objetos resuelve problemas
con un análisis más cercano a la realidad esto hace el programa sea reutilizable, modificable y
mantenible. En el transcurso de cada sesión pude aprender los conceptos y técnicas que se
emplean para resolver determinado problema y que es necesario para el control de sus interfaces
dirigidas a los usuarios finales.

16

También podría gustarte