Вы находитесь на странице: 1из 44

Facultad de Ciencias Empresariales

Ingeniera de Software
Sistema de Recomendacin de
Pelculas para MovieNet

Alumnos:
Jefe de Proyecto : Wladimir Rodriguez
Programadores : Bastian Rodriguez
Nicol Bascuan
Diseador : Jimena Villagrn
Analista : Diego Merino
Tester : Felipe Retamal

Profesor Gonzalo Rojas


Ingeniera Computacin e Informtica.
Concepcin, Julio 2016
1 Introduccin
En este Proyecto se crea un sistema de recomendacin de pelculas para la
empresa MovieNet. La idea de este sistema es recomendar las mejores pelculas de
acuerdo a los gustos de cada usuario esto se lleva a cabo con un seguimiento de la
actividad del mismo.

El detalle de este documento inicia con la descripcin y definicin de la empresa,


poniendo especial atencin en la problemtica y las posibles soluciones. Luego se realiza la
definicin del proyecto, donde se conocern los objetivos, el ambiente de desarrollo y
conceptos generales que son importantes de conocer al momento de leer este documento.
Para continuar se trabaja el anlisis de riesgos. Esta parte ayuda a tomar decisiones en
momentos de emergencia o en actividades que no estaban contempladas al inicio y sus
posibles soluciones. A continuacin en este documento se encuentra el detalle de
especificacin de requerimientos del software, donde se definen y explican los
requerimientos funcionales y no funcionales del software. Una de las partes finales muestra
el diagrama de casos de uso junto con el detalle da cada caso de uso, sus actores y el
requerimiento al que satisfacen. Para finalizar se realiza un anlisis de factibilidad,
detallando los costos que implica el desarrollo del software.

2 Definicin de la empresa o institucin


2.1 Descripcin de la empresa
Antecedentes generales de la Empresa
Razn Social: MovieNet
Nombre de fantasa: MovieNet S.A.
Direccin: Av. Casilla 5-C - Collao 1202, Concepcin, Regin del Bo Bo
Giro: Entretenimiento.

Empresa comercial chilena orientada al entretenimiento que abarca una gran


diversidad de series, programas de televisin y pelculas de diversos gneros,
proporcionadas mediante un servicio de arriendo, basado en la suscripcin creado el
ao 2009, el cual cuenta con profesionales capacitados para la administracin y
gestin del sitio que se desarrolla para diferentes edades y categoras.

2.2 Descripcin del rea de estudio


El rea de estudio contiene la gestin de los gustos del usuario desde que
ste se registra en la pgina, a medida que transcurre el tiempo stos gustos se van
actualizando de forma exclusiva en base a las evaluaciones que se realizan . El
usuario es guiado por un proceso de registro donde se le ofrecer distintos gneros y
categoras de pelculas, generando una idea base de qu es lo que quiere ver y as
poder recomendar a futuro lo que es de su inters.

3 Definicin proyecto

3.1 Objetivos del proyecto

3.1.1 Objetivo general


Desarrollar un sistema de recomendacin de pelculas de diferentes
gneros y categoras para facilitar el entretenimiento del usuario, sin la
necesidad de salir de su hogar.

3.1.2 Objetivos especficos


Desarrollar un Sistema de Informacin basado en tecnologas web,
que apoye los procesos de recomendacin y arriendo de peliculas.
Proveer facilidades de administracin, que permita al administrador
del sistema ingresar nuevas pelculas al catlogo y eventuales
modificaciones a los datos de las mismas.
El sistema debe desplegar recomendaciones.
Documentar el proceso de desarrollo del software.

3.2 Ambiente de Ingeniera de Software

3.2.1 Metodologa de desarrollo:

En este proyecto se utilizar la metodologa de desarrollo gil,


Extreme Programming (XP), que se caracteriza por estar enfocada en la
programacin y creacin del producto ms que en la administracin de ste.
XP permite realizar el sistema de forma iterativa y realizar entregas parciales
funcionales del producto final, adems de incentivar el trabajo en equipo y
generar una programacin organizada, tambin cuenta con una serie de
valores que buscan beneficiar al receptor del proyecto.

3.2.2 Herramientas de apoyo al desarrollo de software


Microsoft Word: Aplicacin orientada al procesamiento de textos, que nos
ayudar a la edicin y creacin del informe.
Sublime Text 2: Editor de textos que se utilizar para la programacin del
cdigo.
PHP: Lenguaje de programacin.
PowerDesigner 16.1: Herramienta de modelamiento que nos ayudar al
anlisis, diseo y construccin de nuestra base de datos.
Laravel 5.2: Framework php.
Bootstrap: Framework para desarrollo web.
PHP Storm Beta: Entorno de programacin.
PostgreSql: Gestor de base de datos.
Git: Sistema de control de versiones.
Microsoft Project 2013: Software orientado a la planificacin y creacin de
Carta Gantt.
Vagrant: Herramienta que facilita la creacin de entornos de desarrollo
portables y virtuales.
Google Drive: Herramienta que permite guardar archivos y compartirlos con
otros usuarios.

3.2.3 Hardware Utilizado

Para el desarrollo del Sistema utilizaremos un computador con las siguientes


caractersticas:

Sistema operativo: Windows 10(64 bits)/Debian 8.4


Procesador: Intel Core i5 1.7GHz
Disco Duro: 500 GB
RAM: 4 GB DDR3

3.3 Definiciones, Siglas y Abreviaciones


Framework: Hablaremos de framework cada vez que queramos referirnos a un
entorno de apoyo para el diseo del sistema.

XP: Utilizaremos este trmino cada vez que queramos referirnos al tipo de
metodologa a utilizar en nuestro proyecto.

Base de Datos: Este trmino ser utilizado cuando nos queramos referir a una
entidad en la cual se pueden almacenar datos de manera estructurada, con la menor
redundancia posible.

Hardware: Hablaremos de Hardware para referirnos a un sistema informtico o una


computadora.

Software: Nos referiremos a Software cada vez que un conjunto de programas


realice determinadas tareas.

CASE: Es un acrnimo para Computer-Aided Software Engineering, y lo utilizaremos


para referirnos a un conjunto de herramientas que nos facilitaran el desarrollo del
software.

4 Formulacin

4.1 Descripcin de la problemtica


La problemtica es la mala recomendacin de muchas aplicaciones y sitios
web, por lo que debemos crear o implementar una aplicacin excelente, los
problemas que suscitan son el volumen de la informacin, tanto de los productos
ofrecidos como de los usuarios que utilizan la aplicacin, de ste depende el detalle,
la rapidez y calidad de las recomendaciones. Factores como el tiempo de vida del
elemento a evaluar, el tipo de elemento (pelculas, gente, artculos, etctera) y la
cantidad generada influyen de manera directa en el momento de la recomendacin.

4.2 Se presenta una propuesta de una alternativa solucin


Se crear una aplicacin web la cual recomendar pelculas de una manera
llamada filtrado colaborativo, estos tipos de recomendaciones presentan elementos
que le han gustado a otros usuarios con gustos similares, con este propsito,
calculan la similitud entre usuarios. En estos sistemas el usuario debe realizar una
evaluacin previa sobre algunos elementos. De esta forma se va formando el perfil
de un usuario. Con esto podemos recomendar pelculas de inters para el usuario,
que estn relacionados con sus gustos y calificaciones.
Por qu hacer un sistemas de recomendacin?. Porque en los ltimos aos
han cobrado gran importancia debido a su aceptacin por la gente y la ayuda que
brindan en el filtrado de informacin.

5 Factibilidad

5.1 Factibilidad Tcnica


Para el desarrollo de nuestro software se requiere:
Un computador ya sea porttil o de escritorio con las siguientes caractersticas:
Sistema operativo: Windows 10(64 bits)/Debian 8.4
Procesador: Intel Core i5 1.7GHz.
Disco Duro: 500 GB.
RAM: 4 GB DDR3.

a) Microsoft Word: Aplicacin orientada al procesamiento de textos, que nos ayudar a


la edicin y creacin del informe.
b) Sublime Text 2: Editor de textos que se utilizar para la programacin de nuestro
cdigo.
c) PHP: Lenguaje de programacin.
d) PowerDesigner 16.1: Herramienta de modelamiento que nos ayudar al anlisis,
diseo y construccin de nuestra base de datos.
e) Laravel 5.0: Framework php.
f) Bootstrap: Framework para desarrollo web.
g) PHP Storm Beta: Entorno de programacin.
h) PostgreSql: Gestor de base de datos.
i) Git: Sistema de control de versiones.
j) Microsoft Project 2013: Software orientado a la planificacin y creacin de Carta
Gantt.
k) Vagrant: Herramienta que facilita la creacin de entornos de desarrollo portables y
virtuales.

Nuestro equipo de trabajo cuenta con las herramientas y los conocimientos


necesarios para la construccin y desarrollo del Sistema.

5.2 Factibilidad Operativa


El sistema ofrece una solucin para mejorar la forma en la que se hacen
recomendaciones de pelculas, para optimizar los recursos y enfocarse de forma
exclusiva a cada cliente mediante el acceso y arriendo desde una pgina web.
La pgina web tendr la evaluacin de cada usuario por cada pelcula vista y
ser capaz de recomendar en base al gusto personal de cada uno de ellos,
permitiendo el fcil acceso tanto para el administrador como para los usuarios.
Como conclusin, el impacto que genera nuestro sistema, para la
organizacin es positivo tanto para el usuario como para el administrador ya que
genera un orden de los datos, facilitando el manejo de informacin y la disponibilidad
de sta.

5.3 Factibilidad Econmica


Para la realizacin del proyecto se requiere una serie de elementos que son
bsicos y esenciales para los integrantes del equipo de desarrollo. A continuacin se
presenta el resultado del estudio de factibilidad en donde se determinaron los
recursos necesarios para la implementacin del software.

5.3.1 Costos Fijos


Para la factibilidad econmica se considerarn los Costos Fijos que
abarcan gastos del Servidor, luz, internet, telefona y agua, donde se tomaron
en cuenta las 10 reuniones realizadas por mes. Estos gastos se estiman para
todos los integrantes del equipo de trabajo.
Nombre Valor

Servidor $100.000

Luz $50.000

Internet $30.000

Telefona $10.000

Agua $20.000

Total $210.000

5.3.2 Costos Reuniones


Para la factibilidad econmica se considerarn los Costos de
Reuniones los que abarcan comida y locomocin, donde se tomaron en
cuenta las 10 reuniones realizadas por mes. Estos gastos se estiman para
todos los integrantes del equipo de trabajo.
Nombre Valor

Comida $100.000

Locomocin $30.000

Total $130.000

5.3.4 Costos Sueldos


Para la factibilidad econmica se considerarn los Costos de
Sueldos los que abarcan el sueldo de cada uno de los integrantes, por mes.

Nombre Valor

Sueldos $600.000

Total $3.600.000

5.3.5 Costo final del mes


Para el costo final del mes se consideran los totales de todos los
gastos mencionados anteriormente.
Nombre Valor

Costos Fijos $210.000

Costos Reuniones $130.000

Costos Sueldos $3.600.000

Total $3.940.000

Considerando que el desarrollo del proyecto se realizar en un plazo


de 3 meses, el costo total sera de $11.820.000.
Finalizado el proyecto se ofrecer una garanta de 1 ao por parte de
los desarrolladores. Y no habr costos asociados a hardware u otro
mantenimiento del sistema. Finalizado el plazo de garanta existir un costo
de $1000 dlares adicionales, en caso de necesitar mantencin.

5.4 Conclusin de Factibilidad

Por una parte nuestro equipo de trabajo cuenta con los conocimientos y
herramientas necesarias para la construccin de nuestro software y se determin
que el impacto es positivo para la empresa ya que genera un orden de los datos y
facilita el manejo de informacin.
En la factibilidad econmica concluimos que el proyecto no presenta costos
adicionales, por ende, estos dan cuenta de que el proyecto es factible en su
totalidad.

6 Plan de trabajo
Para el desarrollo de nuestro sistema es necesario contar con un plan de trabajo, para la
estimacin de fechas y tareas a realizar. Adems de responsabilizar a los integrantes con
cada una las actividades que se deben hacer.

Objetivo Resultado Tarea Actividad Responsa Fecha


ble

Formulacin de la Presentacin de -Analizar -Buscar la posible -Jefe de 12-04-16


problemtica la Solucin problemtica solucin de la Proyecto
problemtica.
Recepcin de Requerimientos - Examinar -Crear informe -Analista 13-04-16
requerimientos definidos enunciado del con
programa requerimientos
-Especificar definidos
requerimientos -Planificacin de -Jefe de 13-04-16
-Conformar proyecto con el proyecto
grupos de equipo de trabajo
trabajo - Especificar
requerimientos -Analista 21-04-16

Definir objetivos Objetivos -Identificar -Definir objetivos -Analista 14-04-16


Generales y Objetivos generales
especficos generales y -Definir objetivos -Analista 15-04-16
definidos definir especficos
objetivos -Aceptacin de
especficos Objetivos -Jefe de 20-04-16
proyecto

Estudio de Proyecto Factible -Estudiar -Identificar las -Analista 25-04-16


factibilidad Factibilidad herramientas de
Tcnica. trabajo. -Jefe de
-Estudiar -Realizar Costos proyecto 20-04-16
factibilidad fijos, de
Operativa. reuniones,
-Estudiar sueldos, y el
factibilidad costo final
Econmica.

Identificacin de Mitigacin de -Anlisis de los -Identificacin de -Analista 26-04-16


Riesgos Riesgos posibles riesgos
riesgos del -Idear la solucin -Analista 28-04-16
proyecto. posible para
- stos.
Documentaci
n de riesgos

Especificar casos de Diagrama de -Identificar -Definir Casos de -Analista 22-04-16


uso. casos de uso casos de uso uso
-Describir -Especificacin de -Analista 23-04-16
casos de uso Casos de uso
-Diagramar -Crear diagrama -Analista 24-04-16
casos de uso de Casos de uso
-Aceptacin de -Revisin de -Jefe de 25-04-16
casos de uso casos de uso proyecto

Modelamiento de Mapas de la -Arquitectura -Especificar la -Analista 10-05-16


datos arquitectura e -Interfaz y arquitectura del diseador.
interfaz de navegacin sistema.
navegacin. -Especificacin -Especificar el -Analista
de diseo Diseo del diseador
detallado. sistema.
-Revisin de -Jefe de
Pgina proyecto
Especificacin de Generacin del -Especificar los -Programar. - 19-05-16
cdigo sistema. mdulos -Documentar. Programad
ores.

Pruebas Verificar que el -Especificacin -Documentar por -Tester. 10-06-16


software funcione de pruebas. tipo las pruebas
correctamente. -Esfuerzo. (caja negra o caja
blanca u otra).
-Clculo de
UUCP, UUCW,
factor de
complejidad
tcnica y factor de
complejidad
ambiental

Puesta en marcha Presentacin y -Subir pagina -Desarrollo de -Jefe de 17-06-16


sitio web web proceso de proyecto
implementacin.
-Capacitaciones.
-Periodo de
marcha blanca.
6.1 Carta Gantt
7 Gestin de Riesgo

7.1 Identificacin y Plan de Mitigacin de Riesgos.

7.1.1 Riesgos del Personal

Factor Efecto Mitigacin de Riesgo Probabilidad

Disponibilidad de tiempo de los Compensar con algn otro


integrantes del equipo de Serios medio de comunicacin Alta
desarrollo. las faltas presenciales

Abandono de algn integrante Que exista un contrato de


del equipo de desarrollo. Serios trabajo, si no se cumple Moderada
existir algn tipo de
sancin

El personal no cuenta con las Inclusin de parte de los


habilidades requeridas Serios dems integrantes, Moderada
entregando el
conocimiento faltante.
7.1.2 Riesgos Tecnolgicos

Factor Efecto Mitigacin de Riesgo Probabilidad

Problemas de adaptabilidad Catastrfico Considerarlo en el Moderada


del hardware. presupuesto estimado en
un comienzo.

Las herramientas CASE no Catastrfico Capacitacin del equipo de Baja


pueden ser integradas trabajo en el rea.

Desconocimiento de Tolerables Generar un mtodo de Baja


Tecnologas capacitacin.

Cambios de Tecnologas Catastrfico Firmar un acuerdo previo Alta


con el cliente para que no
hayan cambios.

7.1.3 Riesgos de los Requerimientos

Factor Efecto Mitigacin de Riesgo Probabilidad

No perder la comunicacin
Cambio de Requisitos de Serios con el cliente para estar Alta
software. pendiente de los requisitos
que van cambiando.

7.1.4 Riesgos del Cliente

Factor Efecto Mitigacin de Riesgo Probabilidad

Sin disponibilidad de tiempo Compensar con algn otro


para las reuniones. Serios medio de comunicacin las Alta
faltas presenciales.
No cuenta con el conocimiento Generar algn mtodo de
necesario para la utilizacin del Serios capacitacin orientado a la Moderada
Sistema. falencia de conocimiento

7.1.5 Riesgos en el Desarrollo

Factor Efecto Mitigacin de Riesgo Probabilidad

Dedicarse a las pruebas y


No realizar las pruebas Serios hacer revisin de ellas un Baja
apropiadas par de veces como mnimo.

No estimar correctamente el Estimar un presupuesto


presupuesto Catastrficos flexible en conjunto con el Moderada
cliente.

8 Requerimientos del software

8.1 Alcances
Las herramientas y metodologas utilizadas en el desarrollo del sistema
fueron seleccionadas con el fin de lograr un sistema responsivo, es decir, compatible
con todo tipo de dispositivos con conexin a internet.
Este informe abarca el sistema en su totalidad, por lo tanto, todas las
funcionalidades y habilidades vistas en este documento sern las que se
implementarn y que se entregarn en el sistema una vez finalizado.
8.2 Objetivo del software

8.2.1 Objetivo general del software

Facilitar el entretenimiento de los usuarios mediante el


arriendo de pelculas, sin que tengan la necesidad de salir de sus
hogares, permitiendo que se puedan registrar de forma on-line y
acceder, a travs de un carrito de compras, a la gran variedad de
pelculas, tanto clsicos como estrenos, y tengan el acceso adems
de poder evaluar cada una de ellas. Se espera que el sistema tenga la
mejor recomendacin, debido a que realizar un anlisis individual y
exclusivo, percatandose de los gustos personales del usuario para as
poder recomendarle pelculas similares, ya sea de gnero o actor.

8.2.2 Objetivos especficos

Agregar una calificacin numrica a cada pelcula,para que los


usuarios puedan calificar cada una de estas, en escala del 1 al 5 con
intervalo de 0,5, de acuerdo a los siguientes valores
1: Psima 2: Mala 3: Regular 4: Buena 5: Excelente
La calificacin puede ser modificada por el mismo usuario que haya
calificado previamente
El sistema de recomendacin debe solicitar al usuario al menos diez
evaluaciones para continuar, por lo que el sistema debe promover la
evaluacin de peliculas. Adems debe promover las pelculas nuevas
o ttulos nuevos.
En cada pgina de detalle de las pelculas, se deben mostrar sus
datos bsicos : ttulo, ao,gnero(s), descripcin, idioma(s), director,
imagen, web oficial, ms una lista con los actores que participan en la
pelcula. Los datos de idioma, gnero, director y cada actor/ actriz
debe contener links a correspondientes pginas con listas de pelculas
de mismol idioma, gnero, director y actor/actriz seleccionados.
Finalmente, se deben mostrar una lista de pelculas similares a la
actualmente visitada, correspondientes a aqullas que tienen mayor
similitud basada en un algoritmo de filtrado colaborativo, descartando
a aquellas que el usuario haya evaluado.
La aplicacin debe proveer la capacidad de poder arrendar pelculas,
con la modalidad de carrito de compras. El arriendo de pelculas es
vlido por 48 horas, periodo en el cual el usuario podr visualizar
online las pelculas correspondientes.
Crear un registro de usuarios, ya que la aplicacin ser accesible solo
para usuarios registrados, y una pgina principal la cual tendr una
bienvenida y un mdulo de autenticacin. Con opcin de registro de
un nuevo usuario.
Crear un sistema de registro, con los siguientes pasos al momento de
registrarse, el usuario elegir a lo ms 3 gneros favoritos de pelculas
y a lo ms 3 que no le gusten, junto cona lo ms 2 idiomas preferidos
de pelculas. Finalmente se deber evaluar 10 pelculas del catlogo
al azar, de diferentes gneros, si el usuario no califica alguna se
recuperara otro set de 10 pelculas, hasta que complete 10
calificaciones.
Crear catlogos con diversos gneros, a los cuales los usuarios
pueden acceder al detalle de estos por medio de ndices (link) o
busqueda por titulo.

8.3 Requerimientos Especficos

8.3.1 Requerimientos Funcionales del sistema

ID Nombre Descripcin

RF01 Gestin de usuarios El sistema debe permitir la


autentificacin de usuarios
cada vez que el este lo desee.
Cada usuario tendr un
nombre de usuario y una
contrasea, estos sern los
datos necesarios para la
autentificacin.
Debe permitir el registro de
usuarios mediante un mdulo
SIGN-IN.
El nivel de acceso del usuario
tambin ser controlado por el
sistema, permitiendo o
denegando ver, editar o
eliminar informacin.

ID Nombre Descripcin

RF02 Gestin de roles El sistema maneja diferentes


roles para los usuarios, de
este rol depende el acceso
que tendr este para poder
ver, editar o eliminar
informacin.
El sistema permitir que un rol
sea entregado a un usuario
segn su funcin dentro del
sistema.

ID Nombre Descripcin

RF03 Bsqueda de pelculas El sistema debe permitir al


usuario poder buscar por
categoras las pelculas que
desee, adems debe permitir
la bsqueda de pelculas por
ttulo, autor, director, etc.

ID Nombre Descripcin

RF04 Recomendaciones El sistema debe promover los


nuevos ttulos y listar peliculas
similares en categoras
dependiendo del gusto del usuario.
El sistema aplicar algoritmos de
recomendacin de filtrado
colaborativo basado en tems para
calcular la similitud entre pelculas.

ID Nombre Descripcin

RF05 Carro de compras El sistema debe permitir la


modalidad de carro de compras, el
usuario podr hacer una lista de
pelculas que desea arrendar
permitiendo la eliminacin de estas
si el usuario no desea alguna
seleccionada anteriormente.

ID Nombre Descripcin

RF06 Arriendo de peliculas El sistema debe permitir el


arriendo de pelculas mediante un
mdulo de compras, para acceder
a este arriendo de pelculas el
usuario debe estar previamente
autenticado con su nombre de
usuario y contrasea, adems de
tener seleccionadas las pelculas
en el carro de compras.

ID Nombre Descripcin

RF07 Administracin de pelculas El sistema debe permitir al


administrador ingresar nuevas
pelculas, adems de
categorizarlas.

ID Nombre Descripcin

RF08 Visualizar datos El sistema debe permitir al


usuario ver el estado de su o sus
pelculas arrendadas, adems de
permitir la edicin de los datos del
usuario.

ID Nombre Descripcin

RF09 Evaluacin de pelculas El sistema debe proporcionar al


usuario una evaluacin cada vez
que una pelcula acaba, esta tiene
una evaluacin numrica de 1 a 5
y el usuario la puede calificar con
intervalo de 0,5.

ID Nombre Descripcin

RF10 Mantener un registro de El sistema debe permitir mantener


las compras de los registros de las compras hechas
usuarios por el usuario en la base de datos
del sistema, el administrador debe
poder acceder a estos datos.

ID Nombre Descripcin
RF11 Eliminar usuario El sistema debe permitir al
administrador eliminar a un
usuario.

ID Nombre Descripcin

RF12 Eliminar pelicula El sistema debe mostrar una


opcin para eliminar una pelcula
del sitema.

ID Nombre Descripcin

RF13 Editar pelcula El sistema debe permitir la edicin


de los datos de las pelculas,
ttulos, actores, actrices, ao,
informacin y otros.

ID Nombre Descripcin

RF14 Iniciar sesin El sistema debe permitir iniciar


sesion solo a usuarios registrados
mostrando mensajes de inicio
exitoso, inicio errneo o de
usuario no registrado.

ID Nombre Descripcin

RF15 Mostrar lista de El sistema debe permitir


pelculas desplegar una lista de pelculas
segn el gusto del usuario
previamente evaluado.

ID Nombre Descripcin

RF16 Eleccin de gnero El sistema debe permitir elegir al


usuario entre distintos gneros

ID Nombre Descripcin

RF17 Eleccin de idioma El sistema debe desplegar una


lista de idioma para que el usuario
defina el idioma en que desea ver
sus pelculas, el sistema debe
permitir escoger dos idiomas.
8.3.2 Requerimientos NO Funcionales del sistema

ID Nombre Descripcin

RNF01 Tiempo de Respuesta El sistema deber responder de


a Solicitudes forma inmediata a las solicitudes,
de acuerdo a los recursos y
velocidad de las consultas a la
base de datos.

ID Nombre Descripcin

RNF02 Accesibilidad La interfaz debe tener un diseo


de fcil uso y accesible para todo
tipo de usuario.

ID Nombre Descripcin

RNF03 Legitimidad de las El sistema debe cumplir las


pelculas disposiciones recogidas en los
derechos de copyright de las
pelculas.

ID Nombre Descripcin

RNF04 Usabilidad Cualidad del sistema que


facilitan la lectura de los textos,
descargan rpidamente la
informacin y presentan
funciones y mens sencillos, por
lo que el usuario encuentra
satisfechas sus consultas y
cmodo su uso.

ID Nombre Descripcin

RNF05 Estabilidad El sistema debe asegurar que no


habr una cada de ste.

ID Nombre Descripcin

RNF06 Portabilidad El sistema debe poder ser


accedido desde cualquier lugar
con internet.

ID Nombre Descripcin

RNF07 Seguridad El sistema debe asegurar la


seguridad de los datos del
usuario.
9 Anlisis
9.1 Diagrama de casos de uso
9.2 Especificacin de los Casos de Uso

1- Caso de Uso Iniciar Sesin

Caso de Uso Iniciar sesin


Actores Usuario, Administrador
Propsito Que los usuarios registrados en el sistema puedan acceder con
sus respectivos privilegios
Resumen El usuario o administrador, realizan el inicio de sesin al
sistema para poder tener acceso a sus respectivos privilegios.
Con esto el usuario o el administrador habr realizado el inicio
de sesin de manera exitosa(post-condicin)
Precondiciones Usuario y administrador debe estar registrado en la base de
datos del sistema

Escenario Principal (Inicio de sesin)


Accin del Actor Respuesta del Sistema
1) El caso de uso comienza
cuando el usuario ingresa su
nombre y contrasea.

2) El sistema valida la informacin y verifica


el tipo de usuario (administrador, usuario)

3) El usuario accede al sistema

4) El sistema entrega mensaje de bienvenida y


muestra por pantalla las opciones del usuario
5) El usuario presiona el botn
aceptar para almacenar los datos
ingresados.
Excepciones: 2.1) El sistema arroja un mensaje de error en
pantalla diciendo al usuario que no est
registrado y que pase a registrarse.
2.2) Usuario o contrasea incorrecta. El
usuario se equivoc en alguno de los 2 campos
y tiene que volver a ingresarlos.

2- Caso de Uso Registrar Usuario

Caso de Uso Registrar Usuario


Actores Usuario
Propsito Que el usuario pueda registrar su cuenta de forma exitosa en el
sistema.
Resumen En este caso de uso se realiza el registro del usuario para que
pueda acceder a los contenidos que solo son visibles para
usuarios registrados. Con esto se habr realizado el registro de
manera exitosa (post-condicin).
Precondiciones El usuario debe ingresar a la pgina web del sistema y no estar
registrado con anterioridad.

Escenario Principal (Registrar usuario)


Accin del Actor Respuesta del Sistema
1) El caso de uso comienza
cuando el usuario selecciona la
opcin de registrar usuario.
2) El sistema despliega el formulario para la
creacin del usuario, junto con el formulario
donde se podr elegir 3 gneros favoritos, 3 no
favoritos y 2 idiomas preferidos.

3) El usuario debe llenar el


formulario con sus datos
personales, junto con sus 4) El sistema valida los datos, registrando los
preferencias. datos entregados por el usuario, los guarda y
enva un mensaje indicando que se cre la
cuenta exitosamente.

5) El usuario visualiza su cuenta


recien creada. 6) El sistema despliega un catlogo al
azar donde el usuario deber evaluar 10
pelculas de diversos gneros.

7) El usuario completa las 10


calificaciones y presiona el
botn aceptar, para guardar
los datos ingresados.
Excepciones: 4.1) a) Si el actor no ingresa todos los datos al
formulario, el sistema enva un mensaje
pidiendo los campos obligatorios.
b) El sistema informa que el usuario ya se
encuentra registrado, le indica que verifique
los datos o intente con otros.
c)Si el usuario no conoce alguna de las
pelculas, se despliega otro set de 10 pelculas
hasta completar las 10 calificaciones.
3- Caso de Uso Administrar Cuenta

Caso de Uso Administrar cuenta


Actores Usuario
Propsito Que el usuario pueda administrar su cuenta de forma exitosa
en el sistema.
Resumen En este caso de uso el usuario tendr acceso a sus datos del
registro de la cuenta y podr modificarlos cuando desee. As el
usuario ha de modificar su cuenta con xito (post-condicin).
Precondiciones El usuario debe estar autentificado.

Escenario Principal (Administrar cuenta)


Accin del Actor Respuesta del Sistema
1) El caso de uso comienza
cuando el usuario selecciona la
opcin de perfil.
2) El sistema muestra en pantalla el perfil del
usuario.

3) El usuario selecciona la opcin


editar datos.

4) El sistema muestra en pantalla los datos que


el usuario puede editar.

5) El usuario modifica los datos y


los guarda.

6) El sistema actualiza los datos y muestra un


mensaje indicando que se modificaron
correctamente los datos.

Vista eliminar cuenta. Vista eliminar cuenta.

7) El usuario selecciona la opcin


eliminar cuenta.
8) El sistema pide confirmacin de la
eliminacin.
9) El usuario confirma la
eliminacin de la cuenta. 10) El sistema elimina la cuenta de la base de
datos y arroja un mensaje La cuenta ha sido
eliminada con xito.
Excepciones: 5.1-9.1) El usuario no llena los datos de
manera correspondiente o borra un campo
obligatorio y el sistema muestra un mensaje
diciendo que no complet los campos
obligatorios.

4- Caso de Uso Buscar Pelcula


Caso de uso Buscar pelcula
Actores Usuario
Propsito Encontrar la pelcula deseada.
Resumen Este caso de uso se divide en distintas vistas, bsqueda por
ttulo, por categora, por ndice, por tems.
Precondiciones El usuario debe haber ingresado al sistema y estar debidamente
autentificado.

Escenario principal (Buscar pelcula)


Accin del actor Respuesta del Sistema
1) El caso de uso comienza
cuando el usuario usa el botn
buscar,al catlogo, al ndice o
indica explcitamente el ttulo de
la pelcula.
2) El sistema despliega el catlogo, muestra el
ndice de pelculas, y los ttulos relacionados a
la bsqueda.

3) El usuario selecciona la
pelcula.
4) El sistema muestra todos los datos de las
pelculas relacionadas a su mtodo de
bsqueda

Excepciones: 2.1) El sistema no encuentra la pelcula


deseada, y muestra un mensaje notificando que
lo que se busca no est disponible.

5- Caso de Uso Arrendar Pelcula


Caso de uso Arrendar Pelcula
Actores Usuario
Propsito Que el usuario arriende la pelcula con xito.
Resumen Este caso de uso es generado por el usuario al seleccionar su
pelcula, apretando el botn de aadir al carro de compra.
Precondiciones El usuario debe estar registrado y autentificado.

Escenario Principal (Arrendar pelcula)


Accin del actor Respuesta del Sistema
1) El caso de uso comienza
cuando el usuario encuentra con
xito la pelcula y selecciona la
opcin de aadir a carrito de
compra.
2) El sistema muestra un mensaje indicando
que fue aadido exitosamente.

3) El usuario elige la opcin de


pagar.
4) El sistema lo re-direcciona para que pueda
seleccionar sus mtodos de pago.
5) El usuario cancela la o las
pelculas.
6) El sistema verifica que el pago se realiz y
lo re-direcciona a la pagina de peliculas
disponible para ver.
Excepciones: 4.1) El sistema indica que no tiene coneccion
con los sistemas externos de pago y cancela
todo proceso de ventas.
5.1) El usuario no cancela la pelcula y lo re-
direcciona a la pgina con el carro de compras.

6- Caso de Uso Gestionar Usuario


Caso de Uso Gestionar usuario
Actores Administrador
Propsito Eliminar un usuario.
Resumen En este caso de uso el administrador tiene el privilegio de
poder eliminar a un usuario segn su criterio.
Precondiciones Debe estar autentificado con sus permisos correspondientes de
administrador, y solo puede eliminar a un usuario que est
registrado.

Escenario Principal (Gestionar usuario)


Accin del Actor Respuesta del Sistema
1) El caso de uso comienza
cuando el administrador
selecciona un usuario para
eliminar.
2) El sistema le arroja la opcin de eliminar
usuario.

3) El administrador hace clic en


la opcin eliminar usuario.

4) El sistema le arroja un mensaje preguntando


si esta seguro que desea eliminar al usuario.

5) El administrador elimina al
usuario de manera exitosa. 6) El sistema arroja un mensaje mostrando que
el usuario fue eliminado de manera exitosa.
Excepciones:

7- Caso de Uso Administrar Pelcula

Caso de Uso Administrar pelcula


Actores Administrador
Propsito Agregar una pelcula que no est en la base de datos o editar la
informacin de una pelcula que est previamente ingresada.
Resumen Este caso de uso es generado por la necesidad de agregar
pelculas que no estn en la base de datos y la edicin de las
que ya estn ingresadas.
Precondiciones El administrador debe haber ingresado al sistema y estar
debidamente autenticado, teniendo sus permisos exclusivos.

Escenario Principal (Agregar/Editar Pelcula)


Accin del Actor Respuesta del Sistema
1) El caso de uso comienza
cuando el administrador
selecciona agregar, editar o
eliminar pelicula.
2) El sistema despliega el men con los
formularios de agregar, editar o eliminar
pelicula.
3) El administrador llena los
campos indicados, o selecciona la
pelcula a eliminar, luego acepta
guardar los datos para que se
actualicen en la pgina web.

4) El sistema verifica las solicitudes


ingresadas, las valida y enva un mensaje de
operacin exitosa.
Excepciones: 4.1) El sistema indica que faltan campos por
completar o la pelcula ingresada ya existe.

8- Caso de Uso Calificar Pelculas

Caso de Uso Calificar Pelculas


Actores Usuario
Propsito Evaluar una pelcula para facilitar las recomendaciones de la
API.
Resumen Este caso de uso es para que los usuarios puedan calificar las
pelculas facilitando las recomendaciones a futuros y actuales
usuarios.
Precondiciones El usuario debe estar debidamente autenticado y registrado.

Escenario Principal (Calificar pelcula)


Accin del Actor Respuesta del Sistema
1) El caso de uso comienza
cuando el usuario selecciona la
pelcula y se despliega el men
con los detalles de sta y la
opcin para calificarla, en caso de
que haya terminado de ver una
pelcula tendr la opcin de
calificarla en seguida de 1 a 5.
2) El sistema guarda la calificacin, actualiza
su base de datos y aplica el algoritmo de
similitud. Muestra un mensaje diciendo que la
calificacin fue guardada con xito.

Excepciones:
9- Caso de Uso Cerrar Sesin

Caso de Uso Cerrar sesin


Actores Usuario, Administrador
Propsito Cerrar la sesin por motivos de seguridad.
Resumen El usuario o el administrador, debe cerrar su sesin activa para
evitar problemas de seguridad, tales como una posible estafa o
el hack de la cuenta.
Precondiciones El administrador o el usuario debe estar autenticado
debidamente.

Escenario Principal (Cerrar Sesin)


Accin del Actor Respuesta del Sistema
1) El caso de uso comienza
cuando el usuario o administrador
selecciona la opcin cerrar
sesin. 2) El sistema cierra la sesin del
usuario/administrador y arroja mensaje de que
la sesin fue cerrada con xito.
Excepciones: 2.1) Si el sistema no logra cerrar la sesin con
xito muestra un mensaje para que el usuario
no cierre la pgina y revise que no tenga una
operacin pendiente.
-
10- Caso de Uso Administrar Recomendacin

Caso de Uso Administrar Recomendaciones


Actores Usuario
Propsito Mostrar las pelculas recomendadas por la aplicacin externa.
Resumen El sistema debe mostrar las pelculas recibidas por la
API de recomendaciones
Precondiciones El usuario debe estar autenticado

Escenario Principal (Administrar Vistas de Recomendaciones)


Accin del Actor Respuesta del Sistema
1) El caso de uso comienza
cuando el usuario despliega el
men de recomendaciones.
2) El sistema recibe la peticin del usuario el
cual evalu previamente peliculas,
desplegando de acuerdo a sus elecciones
entregadas una recomendacion de pelculas del
catlogo.
3) El usuario navega por la o las
listas de pelculas recomendadas.
Excepciones:
11- Caso de Uso Gestionar Carrito

Caso de Uso Gestionar Carrito


Actores Usuario
Propsito Modificar el carrito de compras bajo el criterio del usuario.
Resumen El usuario tiene la opcin de aadir o quitar productos de su
carrito de compras.
Precondiciones El usuario debe estar debidamente autenticado.

Escenario Principal (Gestionar carrito)


Accin del Actor Respuesta del Sistema
1) El caso de uso comienza
cuando el usuario hace clic en la
opcin del carrito.
2) El sistema re-direcciona hacia a el
carrito de compras donde muestra todos
sus tems.
3) El usuario tiene vista plena de
sus productos y elige entre aadir
ms productos a su carro o pagar.
4) El sistema lo lleva hacia el escenario
anterior de la pgina, y en caso de que quiera
pagar lo direcciona a mtodos de pago.

Vista eliminar elementos del Vista eliminar elementos del carrito.


carrito.

5) El usuario hace clic en la


opcin de carrito.
6) El sistema re-direcciona hacia a el
carrito de compras donde muestra todos
7) El usuario selecciona un sus tems.
producto del carro o ms y hace
clic en la opcin eliminar.
8) El sistema muestra un mensaje Se
han
eliminado correctamente los elementos
seleccionados
Excepciones: 4.1) El sistema le indica que no puede agregar
mas cosas al carrito de compra. Le indica que
lo intente mas tarde.

12- Caso de Uso Recomendar Pelculas del Catlogo

Caso de Uso Recomendar pelcula del catlogo


Actores API Amazon
Propsito Que el sistema recomiende las pelculas del catlogo.
Resumen El sistema gracias al algoritmo de similitud recomendar las
pelculas por similitud entre usuarios.
Precondiciones El algoritmo debe implementarse de manera correcta en el
sistema.

Escenario Principal (Recomendar pelcula del catlogo)

1)El sistema utiliza el algoritmo coeficiente de correlacin.


Actor: Recibiendo los datos de las evaluaciones de cada usuario.

2)El sistema recomienda y despliega las pelculas


recomendadas para un usuario de acuerdo con sus
evaluaciones.

Excepciones:

13- Caso de Uso Recomendar Pelcula del Da


Caso de Uso Recomendar pelcula del da
Actores API Amazon
Propsito Que el sistema recomiende las pelculas del da.
Resumen El sistema gracias al algoritmo de similitud recomendar las
pelculas ms vistas en el da.
Precondiciones El algoritmo debe implementarse de manera correcta en el
sistema.

Escenario Principal (Recomendar pelcula del da)

1)El sistema utiliza el algoritmo coeficiente de correlacin de


Actor: Pearson, respecto a los datos de la pelcula ms valorada y
vista en el dia por los usuarios.

2) El sistema muestra pelcula en catlogo,


recomendando que es la ms vista del da.

Excepciones:

14- Caso de Uso Recomendaciones por Usuarios Similares

Caso de Uso Recomendar las mejores pelculas arrendadas por usuarios


similares.
Actores API Amazon
Propsito Que el sistema recomiende las pelculas a usuarios similares.
Resumen El sistema gracias al algoritmo de similitud recomendar las
pelculas a los usuarios que tengan gustos similares.
Precondiciones El algoritmo debe implementarse de manera correcta en el
sistema.

Escenario Principal (Recomendar pelculas arrendadas por usuarios similares)

1)El sistema utiliza el algoritmo coeficiente de correlacin de


Actor: Pearson, el cual busca usuarios similares, comparando sus
interacciones. Creando una especie de vecindad para
recomendar usuarios con similares evaluaciones o
interacciones.

2)El sistema recomienda un listado de pelculas basado en


correlaciones de usuario.
Excepciones:

9.3 Actores

Actor Descripcin Casos de uso relacionados

Administrador El administrador de -Gestionar usuario.


MovieNet es responsable de -Iniciar sesin.
gestionar y conservar los -Administrar cuentas.
datos de la empresa.
-Administrar pelcula.
-Cerrar sesin.

API apache mahout Es el encargado de -Recomendar las mejores


recomendar las pelculas a pelculas del da.
los usuarios por medio de -Recomendar las mejores
algoritmos de similitud. A
partir de las evaluaciones de pelculas arrendadas por
pelculas de los usuarios. usuarios similares.
-Recomendar pelcula del
catlogo.
-Recomendar pelcula del
catlogo.

Usuario El usuario de MovieNet usa -Registrar usuario.


el sistema web para -Arrendar pelcula.
satisfacer sus necesidades -Iniciar sesin.
de entretenimiento.
-Buscar pelcula.
-Calificar pelculas.
-Cerrar sesin.
10 Diseo

10.1 Diagrama de Clases

10.2 Modelo fsico de datos


10.2 Diseo arquitectnico
El proyecto est desarrollado siguiendo el patrn de diseo de software
Modelo Vista Controlador, este permite gestionar de forma independiente los
datos y la presentacin de ellos. Ya que separa la presentacin (e
interaccin) de los datos del sistema. Nos sirve porque nos permite gestionar
de forma independiente los datos y la presentacin de ellos
Se utilizar el framework Laravel 5.2, basado en lenguaje de programacin
web PHP. Para utilizar este framework se debe acotar que se modificar la
estructura, como laravel no realiza el enrutamiento automtico, este se
realizar de forma manual, para ms claridad se adjunta el modelo de manera
grfica.

A continuacin se describe la estructura que utiliza laravel en el sistema a


desarrollar.
Base de datos: Contiene la informacin de las pelculas, usuarios y sus
relaciones.
Modelo: Gestiona todo los accesos a la informacin, consultas a realizar en el
sistema de recomendacin de pelculas.
Controlador: Responde a las acciones que tiene el usuario sobre el sistema,
ya sea solicitar informacin o peticin de modificarla, permite el
desplazamiento del usuario a las vistas que posee la pgina web. Es el
intermediario entre la vista y el modelo.
Vista: es la interfaz de usuario. Presenta el modelo de manera grafica.

/app En esta carpeta encontraremos los modelos, controladores, controlador


de rutas, filtros, etc. Esta carpeta se encarga de toda la lgica de la
aplicacin.
/bootstrap Esta carpeta no se debe modificar, sirve para la carga de laravel.
/conf En esta carpeta tenemos todos los archivos de configuracin como app,
bases de datos, vistas, etc.
/database Es la carpeta encargada de almacenar las migraciones de base de
datos.
/public Es la carpeta pblica, el documentRoot.
/resources Aqu se encuentran los recursos como archivos less, los archivos
de idiomas, las vistas de la aplicacin, que ya no se encuentran dentro de
app.
/storage A esta carpeta debemos de darle permisos 777, se encarga de
almacenar cache, sesiones, etc.
/tests Dentro de esta carpeta irn los test de la aplicacin
/vendor El ncleo del framework y cualquier componente que instalemos.

Mdulo general

El sistema consta de dos tipos de usuario, usuario administrador y usuario


invitado.

El usuario invitado puede administrar su cuenta, buscar la pelcula que desee


pagar para ver, califica las pelculas, elige que pelculas arrendar con la
facultad de poder deshacer la seleccin.

El usuario administrador solo puede eliminar usuarios invitados segn amerite


la situacin, agrega pelculas al sistema y modifica sus datos, manipula los
algoritmos de similitud para la recomendacin de pelculas para el usuario
invitado.

El sistema consta de 3 procesos

Gestionar cuentas.
Generar recomendaciones.
Gestionar pelculas.
11 Conclusin
Durante el desarrollo del presente documento, se ha comprendido la necesidad de que el
equipo de trabajo se encuentre en total equilibrio, esto principalmente debido a los
problemas que se pueden presentar en momentos decisivos como la toma de
requerimientos o la solucin a la problemtica planteada.

Tambin es necesaria una retroalimentacin con el cliente para que a medida que se
avanza en el desarrollo, l vaya evaluando u opinando con respecto a cada etapa y as
poder desarrollar un buen proyecto en conjunto.

Podemos sealar, que como en la mayora de los proyectos, pueden ocurrir cambios
durante el desarrollo, ya sea en requerimientos funcionales como no funcionales y es
necesaria la disposicin y el compromiso de todos para la adaptacin de ste.

Вам также может понравиться