Proyecto CineVerse Open Source
Proyecto CineVerse Open Source
ASIGNATURA
PROFESOR:
ING. OMAR DE LA CRUZ GONZALEZ
ENTREGA DE:
“Proyecto de CineVerse - Primer Parcial”
FECHA:
7/06/2024
CineVerse
Versión 1.0
Historial de Revisiones
Fecha Versión Descripción
05/06/2024 1.0 ● Creación de la documentación inicial.
● Desglose de los Objetivos generales, específicos, alcance,
términos y dependencias.
● Detalle de los requerimientos funcionales y no funcionales
● Vista general de los módulos y sus requerimientos iniciales
○ Gestión de Tipo de Artículos
○ Gestión de Elenco
○ Gestion de Generos
○ Gestión de Idiomas
Tabla de contenidos
Historial de Revisiones 3
Tabla de contenidos 4
Sección I, Introducción 5
1. Objetivo 5
2. Objetivos Específicos 5
3 Alcance 5
4. Definiciones, Siglas y Abreviaciones 6
Sección II, Descripción Global 8
1. Requisitos Funciones Generales del Sistema 8
2. Restricciones 9
Sección III, Características del Sistema 9
1. Tecnologías utilizadas 9
Almacenamiento de Datos 9
BackEnd – Lógica de Negocios 9
FrontEnd - Interfaz de Usuario: 10
2. Módulos de Gestión 10
Gestión de Artículos 10
Gestión de Tipos de Artículos 11
Gestión de Géneros 11
Gestión de Idiomas 12
Referencias:...........................................................................................................................18
Sección I, Introducción
1. Objetivo
Desarrollar un sistema de videoclub moderno que ofrezca servicios de programas de televisión,
rentas y ventas de películas, y artículos, requiere un enfoque centrado en la experiencia del
usuario. La interfaz debe ser intuitiva y atractiva, con una navegación clara y responsive para
dispositivos móviles y de escritorio. Es fundamental implementar una función de búsqueda
avanzada con filtros detallados y recomendaciones personalizadas basadas en el historial de
visualización del usuario. Además, el sistema debe permitir la creación de perfiles individuales,
mantener un historial de visualización, y ofrecer listas de deseos, así como opciones de
valoraciones y reseñas. La integración de un sistema de gestión de contenidos eficiente, junto con
un sistema de pagos seguro y flexible, garantizará una operación fluida y mejorará
significativamente la satisfacción del usuario
2. Objetivos Específicos
● Diseñar un sistema de gestión para los diversos tipos de artículos que se ofrecerán a los
usuarios.
● Implementar un sistema de administración para las rentas y devoluciones de artículos, con
el fin de organizar y manejar de manera eficaz las transacciones relacionadas con
videojuegos, películas, artículos y alquileres.
● Integrar un sistema de gestión de idiomas que permita a los usuarios alquilar sus películas
y videojuegos en el idioma de su preferencia.
● Desarrollar un sistema que gestione una amplia variedad de películas y juegos
personalizados para cada cliente.
● Implementar un sistema que clasifique los diferentes géneros de películas, facilitando a los
usuarios la elección según sus gustos.
● Crear un sistema que informe a los empleados sobre sus responsabilidades y actividades
específicas con cada cliente.
3 Alcance
• Nombre del sistema: CineVerse
● El sistema está diseñado para gestionar tanto el alquiler como la venta de películas y
programas de televisión, ya sea en formato físico (DVD, Blu-ray) o digital. Además,
permite registrar clientes, mantener su información de contacto y un historial detallado de
alquileres o compras para cada cliente.
● El sistema descrito en este documento se utilizará exclusivamente en un entorno web. No
obstante, los desarrolladores han decidido implementar procesos e interacciones con la
base de datos a través de una API, con el fin de asegurar la escalabilidad del proyecto y
facilitar su posible expansión a otras plataformas en el futuro.
4. Definiciones, Siglas y Abreviaciones
● CineVerse: Sistema que se encarga de almacenar información y ofrecer una gestión de
alquileres o ventas de películas y programas de televisión en formato físico (DVD, Blu-
ray) o digital.
● UX (User Experience): “es la forma en la que una persona percibe un producto y cómo
se siente al interactuar con él.”(2022)
● UI (User Interface): “se refiere al conjunto de elementos visuales y funcionales que
permiten a los usuarios interactuar con un sistema o aplicación digital, como son los
botones, formularios, menús, iconos, barras de desplazamiento y otros componentes
gráficos que facilitan la navegación y la ejecución de tareas dentro de una interfaz.”(UI
(User Interface) O Interfaz de Usuario: Qué Es, Significado Y Ejemplos, 2023)
● MySQL: “es un sistema de administración de bases de datos relacionales. Es un software
de código abierto desarrollado por Oracle. Se considera como la base de datos de código
abierto más utilizada en el mundo.”(Londoño, 2023)
● NetBeans IDE: “es un entorno de desarrollo integrado libre, hecho principalmente para el
lenguaje de programación Java. Existe además un número importante de módulos para
extenderlo. NetBeans IDE es un producto libre y gratuito sin restricciones de uso.”(de,
2006)
● JavaScript: “es un lenguaje de programación o de secuencias de comandos que te
permite implementar funciones complejas en páginas web, cada vez que una página web
hace algo más que sentarse allí y mostrar información estática para que la veas, muestra
oportunas actualizaciones de contenido, mapas interactivos, animación de Gráficos
2D/3D, desplazamiento de máquinas reproductoras de vídeo, etc.”(¿Qué Es JavaScript? -
Aprende Desarrollo Web | MDN, 2023)
● HTML (HyperText Markup Language): “Lenguaje de marcado de hipertexto o
HyperText Markup Language por sus siglas en inglés. Es un lenguaje que permite definir
y darle estructura a las páginas web.”(Franciscomelov, 2023)
● CSS (Cascading Style Sheets): “es un lenguaje que maneja el diseño y presentación de
las páginas web, es decir, cómo lucen cuando un usuario las visita. Funciona junto con el
lenguaje HTML que se encarga del contenido básico de los sitios.”(Santos, 2023).
● JDBC (Java Database Connectivity): “es una de las herramientas más utilizadas
dentro del mundo de los datos estructurados. Como los demás sistemas y herramientas
para el manejo de los macrodatos, JDBC (Java Database Connectivity) pretende
destacar el valor de los datos y facilitar su
procesamiento.”(https://www.facebook.com/grokkeepcoding, 2022)
● Swagger: “es una documentación online que se genera sobre una API. Por lo tanto, en
esta herramienta podemos ver todos los endpoint que hemos desarrollado en nuestra API
Swagger. Además, nos demuestra cómo son los elementos o datos que debemos pasar
para hacer que funcione y nos permite probarlos directamente en su interfaz.”
(https://www.facebook.com/grokkeepcoding, 2022)
● API (Application Programming Interface):son mecanismos que permiten a dos
componentes de software comunicarse entre sí mediante un conjunto de definiciones y
protocolos.(¿Qué Es Una API? - Explicación de Interfaz de Programación de
Aplicaciones - AWS, 2023)
Sección II, Descripción Global
El sistema debe contar con vistas web que permitan registrar los movimientos realizados en el
sistema de renta de VideoTeca, como la gestión de artículos, proceso de renta y devolución,
ingreso de un nuevo cliente y la finalización de la renta del artículo y pagos realizados al mismo.
De forma general el sistema debe contar con los siguientes paneles de administración :
Funcionalidad básica
Reportes
● Una consulta por criterios (ej: Rentas por Cliente, fecha, artículo, etc.) ●
Un Reporte de rentas: entre fechas, por tipo de artículo, etc.
2. Requisitos No Funcionales
Requerimientos técnicos
● Requerimientos técnicos : el sistema debe debe ser desarrollado en el lenguaje open source
PHYTON, bajo el framework de FrontEnd de DJango, basado en la Web .
2. Restricciones
• Se deben utilizar lenguajes de programación y herramientas Open Source.
• El sistema debe funcionar en cualquiera de los navegadores web actuales tomando en
cuenta a la fecha las versiones posteriores de mediados del año 2021.
• Los usuarios con nociones básicas de ofimática deben ser capaces de utilizar el sistema,
por lo tanto, el mismo debe tener un UX/UI que no sobrepase una dificultad media.
Sección III, Características del Sistema
1. Tecnologías utilizadas
Almacenamiento de Datos
● Para el almacenamiento y gestión de datos del sistema se utilizará el gestor de base de datos
relacional MySQL.
● Para el desarrollo del BackEnd, se utilizará el entorno de desarrollo NetBeans IDE 8.2 y
Visual Studio junto con la tecnología JDBC para la transferencia de datos. JDBC es un
API que proporciona comunicación y manipulación de datos para bases de datos
relacionales, como MySQL, que se utilizará en este caso.
• La interfaz estará construida con HTML, CSS Y JavaScript por facilidad de uso y
compresión a futuro para mantenimientos del sistema.
2. Módulos de Gestión
Gestión de Artículos
En este módulo se almacenan los artículos que estarán disponibles para la renta (películas y
videojuegos) en VideoTeca. Cada producto debe tener un nombre, sinopsis, género, fecha de
estreno, proveedor, precio, clasificación y otras características.
○ Tipo Articulo ID
○ Descripción(Pelicula, CD Musica, o Libro)
○ Estado del artículo (rentado, disponible o no disponible)
Gestión de Géneros
En esta vista se registran los géneros de cada artículo.
○ GeneroID
○ Descripción
○ Estado (Activo e Inactivo)
Gestión de Idiomas
En esta vista se registran los idiomas de cada artículo.
○ Identificador
○ Descripción
○ Estado (Activo e Inactivo)
Gestion de Elenco
En esta vista se registran los elencos de cada libro, película o música.
○ Identificador
○ Descripción
○ Estado (Activo e Inactivo)