UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3...

122
UNIVERSIDAD CENTRAL DEL ECUADOR FACULTAD DE INGENIERÍA, CIENCIAS FÍSICAS Y MATEMÁTICA CARRERA DE INGENIERÍA INFORMÁTICA ANÁLISIS, DISEÑO E IMPLANTACIÓN DE UN SISTEMA PARA LA GESTIÓN DE LA CINEMATECA NACIONAL DE LA CASA DE LA CULTURA ECUATORIANA (CCE) TRABAJO DE GRADUACIÓN PREVIO A LA OBTENCIÓN DEL TÍTULO DE INGENIERO INFORMÁTICO AUTOR: LÓPEZ BERMEO JUAN DIEGO TUTOR: ING. RENE ALFONSO CARRILLO FLORES, MSC. QUITO ECUADOR 2015

Transcript of UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3...

Page 1: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE INGENIERÍA, CIENCIAS FÍSICAS Y MATEMÁTICA

CARRERA DE INGENIERÍA INFORMÁTICA

ANÁLISIS, DISEÑO E IMPLANTACIÓN DE UN SISTEMA PARA LA

GESTIÓN DE LA CINEMATECA NACIONAL DE LA CASA DE LA CULTURA

ECUATORIANA (CCE)

TRABAJO DE GRADUACIÓN PREVIO A LA OBTENCIÓN DEL TÍTULO DE

INGENIERO INFORMÁTICO

AUTOR: LÓPEZ BERMEO JUAN DIEGO

TUTOR: ING. RENE ALFONSO CARRILLO FLORES, MSC.

QUITO – ECUADOR

2015

Page 2: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

~ ii ~

DEDICATORIA

A mis padres Anita y Fabián, los cuales creyeron en mí en todo momento y con su tesón,

y persistencia me supieron brindar las fuerzas suficientes para lograr la culminación de

este proyecto.

A mi hermano Antonio que con su apoyo y consejos me permitieron avanzar en los

momentos difíciles.

A mi novia Jasmin y mi hija Jahaziel mis compañeras que a diario supieron inyectarme

el ánimo suficiente para conseguir este objetivo

Por ellos es que se ha podido dar este momento de gran alegría y felicidad.

Juan Diego López Bermeo.

Page 3: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

~ iii ~

AGRADECIMIENTO

En primer lugar quiero agradecer a Dios por todas las bendiciones recibidas y por la vida

que me brinda cada día para disfrutar de estos momentos.

A mis Padres por toda la paciencia, confianza y valores que lo largo de mi vida me han

ayudado para formarme como un hombre de bien.

A la Universidad Central del Ecuador, la cual con sus docentes quienes me supieron

guiar en el transcurso de mis estudios y poder culminar esta etapa en mi vida.

A mi tutor y revisores por su apoyo y confianza puestos en el desarrollo de este

proyecto.

A la Casa de La Cultura Ecuatoriana por toda a apertura brindada para la realización de

este proyecto.

A todos mis más grandes y sinceros agradecimientos.

Juan Diego López Bermeo.

Page 4: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

~ iv ~

AUTORIZACIÓN DE LA AUTORÍA INTELECTUAL

Yo, LÓPEZ BERMEO JUAN DIEGO en calidad de autor del trabajo de

investigación o tesis realizada sobre él, ANÁLISIS, DISEÑO E IMPLANTACIÓN

DE UN SISTEMA PARA LA GESTIÓN DE LA CINEMATECA DE LA CASA

DE LA CULTURA ECUATORIANA (CCE), por la presente autorizo a la

UNIVERSIDAD CENTRAL DEL ECUADOR, hacer uso de todos los contenidos que

me pertenecen o de parte de los que contiene esta obra, con fines estrictamente

académico o de investigación.

Los derechos que como autor me corresponden, con excepción de la presente

autorización, seguirán vigentes a mi favor, de conformidad con lo establecido en los

artículos 5, 6, 8,19 y además pertinentes de la Ley de Propiedad Intelectual y su

Reglamento.

Quito, 6 de Noviembre de 2015

Juan Diego López Bermeo

CC. 1719161778

Page 5: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

~ v ~

CERTIFICACIÓN DEL TUTOR

Page 6: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

~ vi ~

INFORME FINAL DEL TUTOR

Page 7: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

~ vii ~

APROBACIÓN DEL TRIBUNAL

Page 8: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

~ viii ~

CALIFICACIÓN DEL TRABAJO DE GRADUACIÓN

Page 9: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

~ ix ~

CONTENIDO

DEDICATORIA ............................................................................................................... ii

AGRADECIMIENTO ..................................................................................................... iii

AUTORIZACIÓN DE LA AUTORÍA INTELECTUAL ................................................ iv

CERTIFICACIÓN DEL TUTOR ...................................................................................... v

INFORME FINAL DEL TUTOR ..................................................................................... vi

APROBACIÓN DEL TRIBUNAL ................................................................................. vii

CALIFICACIÓN DEL TRABAJO DE GRADUACIÓN.............................................. viii

CONTENIDO ................................................................................................................... ix

LISTA DE FIGURAS .................................................................................................... xiii

LISTA DE TABLAS ...................................................................................................... xiv

RESUMEN ...................................................................................................................... xvi

ABSTRACT .................................................................................................................. xvii

CAPÍTULO 1 ..................................................................................................................... 1

1 PRESENTACIÓN DEL PROBLEMA ....................................................................... 1

1.1 Introducción ......................................................................................................... 1

1.2 Planteamiento del Problema ................................................................................ 2

1.3 Formulación del Problema .................................................................................. 2

1.4 Interrogantes de la Investigación ......................................................................... 2

1.5 Objetivos de la Investigación .............................................................................. 3

1.5.1 Objetivo General .......................................................................................... 3

1.5.2 Objetivos Específicos ................................................................................... 3

1.6 JUSTIFICACIÓN ................................................................................................ 3

1.7 Alcance ................................................................................................................ 4

1.8 Limitaciones ........................................................................................................ 5

Page 10: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

~ x ~

CAPÍTULO 2 ..................................................................................................................... 6

2 REVISIÓN BIBLIOGRÁFICA .................................................................................. 6

2.1 Antecedentes ....................................................................................................... 6

2.2 Fundamentación Teórica ..................................................................................... 6

2.2.1 Aplicaciones basadas en la Web .................................................................. 6

2.2.2 Lenguaje de Programación JAVA ............................................................... 7

2.2.3 Arquitectura de la Aplicación N-Capas. ...................................................... 8

2.2.4 JEE (Java Enterprise Edition) ...................................................................... 9

2.2.5 Tecnologías en la Capa de Presentación .................................................... 10

2.2.5.1 Java Server Faces (JSF) ...................................................................... 10

2.2.5.2 Extensible Markup Language (XML)................................................. 10

2.2.5.3 AJAX .................................................................................................. 11

2.2.5.4 Primefaces ........................................................................................... 11

2.2.5.5 XHTML (Extensible HyperText Markup Language) ......................... 12

2.2.6 Tecnologías de la Capa de Negocio. .......................................................... 12

2.2.6.1 JBOSS Servidor de Aplicaciones ....................................................... 12

2.2.6.2 EJB (Enterprise Java Beans) ............................................................... 13

2.2.7 Tecnologías de la Capa de Datos ............................................................... 14

2.2.7.1 JPA (Java Persistence API)................................................................. 14

2.2.8 Herramientas de Desarrollo ....................................................................... 16

2.2.8.1 Eclipse IDE ......................................................................................... 16

2.2.8.2 PostGreSQL Gestor de base de Datos ................................................ 17

2.2.8.3 JBOSS Servidor de Aplicaciones ....................................................... 18

2.2.8.4 JDK (Java Development Kit) .............................................................. 18

2.2.8.5 UML (Lenguaje Unificado de Modelado) .......................................... 19

Page 11: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

~ xi ~

2.2.8.6 JasperReports ...................................................................................... 20

2.3 Identificación de Variables ................................................................................ 20

2.3.1 Variable Independiente. ............................................................................. 20

2.3.2 Variable Dependiente ................................................................................. 20

2.4 Hipótesis ............................................................................................................ 20

CAPÍTULO 3 ................................................................................................................... 22

3 METODOLOGÍA ..................................................................................................... 22

3.1 Diseño de la Investigación ................................................................................ 22

3.1.1 Modelo de Desarrollo en Cascada.............................................................. 22

3.1.2 Ciclo de Vida del Modelo en Cascada: ...................................................... 23

3.2 Desarrollo de la Investigación ........................................................................... 24

3.2.1 Análisis de Requerimientos ....................................................................... 24

3.2.1.1 Descripción General ........................................................................... 25

3.2.1.2 Requerimientos ................................................................................... 25

3.2.1.3 Requerimientos Funcionales ............................................................... 30

3.2.1.4 Requerimientos no Funcionales .......................................................... 32

3.2.2 Diseño del Sistema ..................................................................................... 33

3.2.2.1 Diagramas de Caso de Uso ................................................................. 33

3.2.2.2 Identificación de actores. .................................................................... 34

3.2.2.3 Especificación de Caso de Uso. .......................................................... 38

3.2.2.4 Diagramas de Secuencia ..................................................................... 53

3.2.2.5 Diseño de la Base de Datos para la Cinemateca Nacional ................. 58

3.2.3 Desarrollo del sistema ................................................................................ 61

3.2.3.1 Arquitectura del sistema ..................................................................... 61

3.2.3.2 Arquitectura por capas ........................................................................ 62

Page 12: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

~ xii ~

3.2.4 REQUERIMIENTOS MÍNIMOS DE SOFTWARE Y HARDWARE ..... 64

3.2.5 Cronograma del Proyecto ........................................................................... 66

CAPITULO 4 ................................................................................................................... 67

4 CONCLUSIONES Y RECOMENDACIONES ....................................................... 67

4.1 Conclusiones ..................................................................................................... 67

4.2 Recomendaciones .............................................................................................. 68

4.3 GLOSARIO DE TÉRMINOS ........................................................................... 69

4.4 Bibliografía ........................................................................................................ 72

Page 13: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

~ xiii ~

LISTA DE FIGURAS

Figura 1.Arquitectura de Aplicación 3 Capas .................................................................... 8

Figura 2. Arquitectura JPA .............................................................................................. 15

Figura 3. Arquitectura Servidor de Aplicaciones JBoss .................................................. 18

Figura 4. Ciclo de Vida Modelo Cascada ........................................................................ 23

Figura 5. Caso de Uso Administración ............................................................................ 38

Figura 6. Caso de Uso Donación ..................................................................................... 42

Figura 7. Caso de Uso Conservacion ............................................................................... 44

Figura 8. Caso de Uso Digitalización .............................................................................. 46

Figura 9. Caso de Uso Catalogación ................................................................................ 47

Figura 10. Caso de Uso Consulta Pública ........................................................................ 49

Figura 11. Caso de Uso Administración Eventos Cine .................................................... 51

Figura 12. Caso de Uso Ingreso Sala de Cine .................................................................. 53

Figura 13. Diagrama de Secuencia Administración ......................................................... 54

Figura 14. Diagrama de Secuencia Donación .................................................................. 54

Figura 15. Diagrama de Secuencia Conservación............................................................ 55

Figura 16. Diagrama de Secuencia Digitalización ........................................................... 55

Figura 17. Diagrama de Secuencia Catalogación ............................................................ 56

Figura 18. Diagrama de Secuencia Administración Eventos Cine .................................. 57

Figura 19. Diagrama de Secuencia Ingreso Cine ............................................................. 57

Figura 20. Diagrama de Secuencia Consulta Pública ...................................................... 58

Figura 21. Diagrama Conceptual Base de Datos Cinemateca Nacional .......................... 59

Figura 22. Diagrama Físico de la Base de Datos de la Cinemateca Nacional ................. 60

Figura 23. Arquitectura en 3 capas Sistema Cinemateca ................................................. 61

Figura 24. Clases en Capa de datos .................................................................................. 62

Figura 25. Clases de la capa de Negocio.......................................................................... 63

Figura 26. Capa web sistema cienmateca ........................................................................ 64

Page 14: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

~ xiv ~

LISTA DE TABLAS

Tabla 1. Unidades de la Arquitectura de JPA .................................................................. 15

Tabla 2. Requisitos Donaciones ....................................................................................... 26

Tabla 3. Requisitos Conservación .................................................................................... 26

Tabla 4. Requisitos Digitalización ................................................................................... 27

Tabla 5. Requisitos Catalogación ..................................................................................... 27

Tabla 6. Requisitos Administración Eventos Cine .......................................................... 28

Tabla 7. Requisitos Ingreso Cine ..................................................................................... 28

Tabla 8. Requisitos Consulta Pública ............................................................................. 29

Tabla 9. Requisitos Gestión de Usuarios ......................................................................... 29

Tabla 10. Descripción Actores Administración ............................................................... 35

Tabla 11. Descripción Actores Donaciones ..................................................................... 35

Tabla 12. Descripción Actores Conservación .................................................................. 36

Tabla 13. Descripción Actores Digitalización ................................................................. 36

Tabla 14. Descripción Actores Catalogación ................................................................... 37

Tabla 15. Descripción Actores Consulta Pública ............................................................. 37

Tabla 16. Descripción Actores Administración Sala Cine............................................... 38

Tabla 17. Caso de Uso Iniciar Sesión .............................................................................. 39

Tabla 18. Caso de Uso Cerrar Sesión............................................................................... 39

Tabla 19. Caso de Uso Crear Perfil .................................................................................. 40

Tabla 20. Caso de Uso Modificar Perfil........................................................................... 40

Tabla 21. Caso de Uso Crear Usuario .............................................................................. 41

Tabla 22. Caso de Uso Modificar Usuario ....................................................................... 41

Tabla 23. Caso de Uso Eliminar Usuario ......................................................................... 42

Tabla 24. Caso de Uso Ingreso Donación ........................................................................ 43

Tabla 25. Caso de Uso Buscar Donante Existente ........................................................... 43

Tabla 26. Caso de Uso Ingreso donante Nuevo ............................................................... 44

Tabla 27. Caso de Uso Ingreso a Conservación ............................................................... 45

Tabla 28. Caso de Uso Diagnostico ................................................................................. 45

Tabla 29. Caso de Uso Ingreso Digitalización ................................................................. 46

Tabla 30. Caso de Uso Catalogar Película ....................................................................... 47

Page 15: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

~ xv ~

Tabla 31. Caso de Uso Catalogar Revista ........................................................................ 48

Tabla 32. Caso de Uso Catalogar Libro. .......................................................................... 48

Tabla 33. Caso de Uso Buscar Elemento Consulta Pública ............................................. 49

Tabla 34. Caso de Uso Iniciar Visita Consulta Pública ................................................... 50

Tabla 35. Caso de Uso Evaluar Visita Consulta Pública ................................................. 50

Tabla 36. Caso de Uso Crear Evento Cine ....................................................................... 51

Tabla 37. Caso de Uso Modificar Eventos Cine .............................................................. 52

Tabla 38. Caso de Uso Eliminar Eventos Cine ................................................................ 52

Tabla 39. Caso de Uso Emitir Ticket Cine ...................................................................... 53

Tabla 40. Requerimientos Hardware y Software en Servidor.......................................... 65

Tabla 41. Requerimientos Hardware y Software en Cliente ............................................ 65

Page 16: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

~ xvi ~

RESUMEN

ANÁLISIS, DISEÑO E IMPLANTACIÓN DE UN SISTEMA PARA LA GESTIÓN

DE LA CINEMATECA NACIONAL DE LA CASA DE LA CULTURA

ECUATORIANA (CCE)

La Cinemateca Nacional es una de las entidades más importantes dentro de la Casa de la

Cultura Ecuatoriana la cual está encargada de los documentos cinematográficos que son

el soporte de una fuente audiovisual de gran valor a nivel nacional.

Esta entidad no posee actualmente un sistema informático que apoye a los empleados en

las actividades realizadas con los bienes cinematográficos, llevando la información en

herramientas no muy adecuadas.

El presente proyecto implantará un sistema informático el cual permitirá gestionar los

procesos como son catalogación, conservación y consulta realizados en la Cinemateca

Nacional almacenando toda la información en una base de datos unificada,

conservándola así de una manera adecuada usando herramientas tecnológicas

actualizadas.

DESCRIPTORES: APLICACION WEB/ JAVA / JBOSS / DESARROLLO DE

SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N- CAPAS

Page 17: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

~ xvii ~

ABSTRACT

ANALYSIS, DESIGN AND IMPLANTATION OF A SYSTEM FOR THE

MANAGEMENT OF THE CINEMATECA NACIONAL OF THE CASA DE

CULTURA ECUATORIANA (CCE)

ANALYSIS, DESIGN AND IMPLEMENTATION OF A SYSTEM FOR THE

MANAGEMENT OF THE NATIONAL FILM LIBRARY FROM CASA DE LA

CULTURA ECUATORIANA

The National Film Library is one of the most important in Casa de la Cultura

Ecuatoriana which is in charge of film documents are supported by a valuable source

audiovisual national entity.

This company does not currently have a computer system that helps employees with

activities in film assets, bringing information not appropriate tools.

This project implements a computer system which will allow manage processes such as

cataloging, preservation and consultation made in the National Film Library storing all

information in a unified database and keeping it in a proper way using technological

tools updated.

DESCRIPTORS: WEB APPLICATION / JAVA / JBOSS / SOFTWARE

DEVELOPMENT / JSF / JPA / POSTGRESQL / ARCHITECTURE N-TIER

Page 18: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

~ xviii ~

CERTIFICADO DE TRADUCCIÓN DE RESUMEN

Yo, Mayra Rosalía Shuguli López con C.C 1716425135 certifico que realice la

traducción al idioma inglés del Resumen del trabajo de graduación con tema ANÁLISIS,

DISEÑO E IMPLANTACIÓN DE UN SISTEMA PARA LA GESTIÓN DE LA

CINEMATECA NACIONAL DE LA CASA DE LA CULTURA ECUATORIANA

(CCE) , previo a la obtención del título de ingeniero informático realizado por el

egresado López Bermeo Juan Diego con C.C 1719161778.

Es todo lo que puedo certificar en honor a la verdad. El interesado puede hacer uso del

presente de acuerdo a su conveniencia

Atentamente

Doc. Mayra Rosalía Shuguli López.

Traductor

Page 19: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

~ xix ~

TITULO DEL CERTIFICADO QUIEN REALIZA TRADUCCIÓN

Page 20: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

1

CAPÍTULO 1

1 PRESENTACIÓN DEL PROBLEMA

1.1 Introducción

En la actualidad el constante cambio tecnológico y la incorporación de herramientas

informáticas que ayuden en la administración de una institución tanto en el manejo de

sus datos y el mejor desempeño de sus procesos hacen que cada empresa tanto pública

como privada requieran de la implementación de un sistema de información que

colabore en la toma de decisiones gerenciales y con los procesos en la gestión

empresarial.

El desarrollo de nuevos sistemas informáticos ayuda a mejorar la gestión de las

diferentes entidades que hacen uso de estas, aumentando su productividad y tiempo de

respuesta a las necesidades que se pueden presentar en un determinado momento.

Un sistema eficaz implementado en cualquier institución establecerá una gran ventaja y

ofrecerá múltiples posibilidades para obtener una verdadera competitividad en el

mercado.

El análisis, diseño e implementación de un sistema para la gestión de la Cinemateca de

la Casa de la Cultura Ecuatoriana permitirá solucionar la utilización de herramientas

manuales o la incompatibilidad de las herramientas informáticas usadas actualmente. De

esta manera se logrará automatizar todos los procesos llevados a cabo con los bienes

que son ingresados en esta dependencia consolidando en un mismo sistema cada

procedimiento.

La finalidad de la implementación es sistematizar los procesos de La Cinemateca de La

Casa de La Cultura Ecuatoriana consolidando toda la información que genera cada

procedimiento en el mismo repositorio de datos haciendo que cada empleado use la

misma herramienta informática.

Page 21: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

2

1.2 Planteamiento del Problema

La Cinemateca de la Casa de la Cultura Ecuatoriana es la encargada de la preservación

del acervo fílmico del país y al no contar con una herramienta de software adecuada que

le permita gestionar los diferentes procesos que se realizan con los bienes de suma

importancia histórica ingresados a esta dependencia, lo lleva a convertirse en una unidad

débil frente al avance tecnológico actual y por lo tanto es necesario un giro de gran

trascendencia e innovación.

El uso de herramientas informáticas independientes entre cada procedimiento y en

algunos casos el uso de herramientas manuales hace que no exista una base de

información consolidada de los bienes que se conservan en esta dependencia.

1.3 Formulación del Problema

¿Cómo automatizar la gestión de los procesos llevados a cabo en la Cinemateca de La

Casa de la Cultura Ecuatoriana para consolidar la información generada en cada uno de

estos procedimientos en el mismo repositorio de datos y además evitar el uso de

herramientas obsoletas e inadecuadas en el manejo de los bienes de gran importancia

histórica para el país?

1.4 Interrogantes de la Investigación

El presente tema de tesis surge por los inconvenientes que eventualmente aparecen en el

manejo y tratamiento de los bienes que ingresan a la Cinemateca de la Casa de la

Cultura Ecuatoriana ya que al no poseer una base de datos única los procedimientos

llevados a cabo se realizan de manera independiente lo que no permite obtener un estado

real de cada uno de los bienes que conserva esta dependencia. Además al poseer una

Consulta Pública el cliente externo desea que su punto de vista también sea tomado en

cuenta y no quede en un registro físico en un papel.

Las interrogantes a contestar en esta investigación son las siguientes:

¿Cuál será el beneficio que recibirá el departamento de la Cinemateca de la Casa de la

Cultura Ecuatoriana con la implementación de un sistema para la gestión de los bienes

que son donados a esta dependencia?

Page 22: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

3

¿Cómo el sistema proporcionará la adecuada comunicación y coordinación entre los

procesos que se lleva a cabo en el departamento de la Cinemateca Nacional de la Casa

de la Cultura Ecuatoriana?

¿Cuál será la incidencia de las técnicas y métodos utilizados en el desarrollo del sistema

sobre los procedimientos que se llevan a cabo en la actualidad en el departamento de la

Cinemateca Nacional de la Casa de la Cultura Ecuatoriana?

1.5 Objetivos de la Investigación

1.5.1 Objetivo General

Implementación de una aplicación basada en la web de código abierto para permitir la

gestión automatizada de los procedimientos de la Cinemateca de la Casa de la Cultura

Ecuatoriana en el tratamiento de los diferentes bienes que ingresan a esta dependencia.

1.5.2 Objetivos Específicos

Mantener una Base de datos unificada con la información de los bienes que posee

la cinemateca.

Gestionar de una manera adecuada los procesos llevados a cabo con los elementos

del archivo fílmico patrimonial.

Mejorar la interacción entre los empleados y los usuarios de la consulta pública.

Generar reportes que permitan visualizar el desempeño de cada área de la

Cinemateca.

1.6 JUSTIFICACIÓN

La Automatización de los procesos es considerada como un medio de gran importancia a

la hora de la coordinación y realización de las actividades diarias dentro de una

institución permitiendo definir las actividades efectuadas en los diferentes

departamentos.

Esta automatización se ha convertido en la base estructural de una institución, más aun

cuando se trata de la gestión y conservación de bienes culturales en una entidad Pública

como la Casa de la Cultura Ecuatoriana.

Page 23: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

4

La Cinemateca de la Casa de la Cultura Ecuatoriana no cuenta con un sistema

informático de apoyo actualizado, la mayoría de sus procesos se realizan de manera

engorrosa, por lo que el personal del mencionado departamento realiza los mismos

procesos en forma repetitiva y en consecuencia dando cabida a la generación de

procesos innecesarios, por tanto es de suma importancia disponer de una herramienta

que ayude y facilite la labor del personal encargado de realizar esta gestión.

El uso de herramientas obsoletas e inadecuadas para el tratamiento de los bienes que

vienen a ser de suma importancia a nivel nacional representa una carga de trabajo

excesivo a la hora de obtener la información necesaria para la parte gerencial. El sistema

beneficiará al personal de la institución y a los clientes que hagan uso de la dependencia

en mención

El Análisis, Diseño e implantación de un Sistema informático para la Gestión de la

Cinemateca de la Casa de la Cultura Ecuatoriana es una aplicación que tiene por

objetivo el manejo óptimo y eficiente de la información apoyado en las tecnologías

actuales que deben dar respuesta a la demanda de información de forma rápida y segura.

1.7 Alcance

Con el propósito de proporcionar al departamento de la Cinemateca Nacional de la Casa

de la Cultura Ecuatoriana una Aplicación que permita el adecuado manejo de la

información y la optimización del tiempo utilizado en los procesos.

Este sistema permitirá administrar:

Ingreso de Donación de Bienes

Se permitirá el ingreso de la información de un bien donado y del donante del

mismo.

Conservación de Bienes

Se permitirá el ingreso de la información de los bienes que serán diagnosticados y

puestos en las bodegas de Conservación.

Digitalización de Bienes

Se permitirá el ingreso de información generada al momento de digitalizar un bien.

Catalogación de Bienes

Page 24: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

5

Permitirá el ingreso de la información al catalogarlo dependiendo del tipo de

elemento que maneja el departamento.

Consulta Pública

Permitirá al Visitante el acceso a los catálogos de los bienes de la Cinemateca

Nacional.

Cine

Permitirá la administración de los eventos que serán proyectados en la sala de cine

tomando como referencia los bienes del catálogo de la Cinemateca Nacional

Tickets Cine

Permite la generación de tickets para el ingreso a un evento programado en las salas

de cine de la Casa de la Cultura Ecuatoriana.

1.8 Limitaciones

El sistema a desarrollar tendrá las siguientes limitaciones:

El sistema no contempla el inventario de los bienes del museo de cine de la Casa de

la Cultura Ecuatoriana pues al momento de esta investigación dicho inventario está

a cargo del departamento de control de bienes de la institución.

El sistema no reproducirá los archivos audiovisuales que forman parte del catálogo

de la cinemateca de la Casa de la Cultura Ecuatoriana.

El sistema solo registrara información de digitalización mas no realizara los

procesos de esta etapa.

El sistema no genera ningún tipo de documento negociable como facturas, recibos

de cobro, etc.

La migración de datos queda a cargo del personal de la Casa de la Cultura

Ecuatoriana.

Page 25: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

6

CAPÍTULO 2

2 REVISIÓN BIBLIOGRÁFICA

2.1 Antecedentes

La Casa de la Cultura Ecuatoriana posee alguna problemas en su estructura

organizacional produciendo inconvenientes en los distintos departamentos, tanto entre

los mismos empleados de la institución, como hacia los clientes de la misma tomando en

cuenta un estudio realizado hace un tiempo atrás en una investigación denominada

ELABORACIÓN DE UN PLAN ESTRTÉGICO INFORMÁTICO PARA LA CASA

DE LA CULTURA ECUATORIANA.

En base a esta investigación se estableció que dado a los requerimientos actuales surge

la necesidad de generar proyectos que permitan manejar la información automatizando

los procesos.

El Sistema para la Gestión de la Cinemateca de la Casa de la Cultura Ecuatoriana es uno

de los proyectos, el cual facilitará a que los empleados puedan almacenar la información

un repositorio común facilitando las actividades que se realizan en el procesamiento de

los bienes que ingresan a esta dependencia y que los clientes puedan acceder a esta

información de manera rápida y sencilla.

2.2 Fundamentación Teórica

A continuación describiremos las herramientas y tecnologías seleccionadas para el

desarrollo del proyecto.

2.2.1 Aplicaciones basadas en la Web

Este tipo de aplicaciones se puede definir como una serie de recursos los cuales están en

plasmados como páginas web brindando el acceso al usuario a información alojada en

bases de datos y los cuales generalmente están albergados en un servidor web. LA

interacción entre dichos recursos permite la organización y automatización de procesos

en una institución o empresa dando valor agregado a la información almacenada y

recuperada de las bases de datos.

Page 26: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

7

Estas aplicaciones pueden ser desarrolladas en distintos lenguajes de programación. Las

ventajas de la implementación de una aplicación web son:

Ahorro de tiempo: Se pueden acceder a través de la web para realizar tareas en la

aplicación

Compatibilidad: Solo es necesario cualquier navegador web.

Multiplataforma: no tiene ninguna asociación con el sistema operativo del usuario

Portables: solo se necesita tener acceso a internet para poder utilizar la aplicación

Disponibilidad: básicamente la aplicación podrá ser usada en cualquier horario

2.2.2 Lenguaje de Programación JAVA

Java es un lenguaje de programación actualmente desarrollado por Oracle, propietario de

Sun Microsystems. Se destaca por ser un lenguaje de propósito general,

multiparadigma1 y multiplataforma, además de todo ello mantiene las características

que todo lenguaje debe tener:

Seguridad

Confiabilidad

Distribuido

Todo ello hacen de Java un lenguaje perfectamente apropiado para programar en

cualquier metodología disponible en el lenguaje, pero la metodología que destaca en

Java es el paradigma orientado a objetos o programación orientada a objetos.

Otra de las características del lenguaje Java es que todo programa desarrollado con este

lenguaje es compilado lo cual generará un código de bajo nivel conocido como bytecode

lo que a la final será interpretado por la máquina virtual consiguiendo de esta manera

independencia entre la aplicación y la plataforma donde ésta se ejecutará, las máquinas

virtuales también son independientes de la plataforma.

Hay una variedad de entornos de progreso de aplicaciones en java. Este prototipo de

elaboración ofrece al programador un ambiente de trabajo exclusivo para permitir el

curso completo de desarrollo de aplicaciones, desde el diseño, la programación, la

documentación y la verificación de los programas.

1Multiparadigmaes el que soporta más de un estilo de programación.

Page 27: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

8

Es muy importante mencionar que el estilo de programación o codificación en el

lenguaje en java es muy primordial, hay tres básicos que son:

Legibilidad

Corrección

Eficiencia

2.2.3 Arquitectura de la Aplicación N-Capas.

La Arquitectura de la Aplicación se refiere básicamente a la forma, tanto física, como

lógica en la que está constituida una aplicación que es de suma importancia en el éxito o

fracaso de un proyecto. Se trata de un elemento fundamental para que el correcto

desarrollo de una aplicación sea posible.

Definimos a continuación los conceptos de Arquitectura Física de la Aplicación y

Arquitectura Lógica de la Aplicación:

Arquitectura Lógica: Es el diseño conceptual de nuestra aplicación. Aquí se

agrupara la arquitectura de la información.

Arquitectura Física: Se trata de la forma en que se distribuye nuestra aplicación a

los usuarios finales en el cual se denotan los actores y el medio a través del cual

llega la aplicación al computador y/o dispositivo del usuario.

El modelo de N-Capas es la arquitectura más utilizada para construir aplicaciones. Este

tipo de modelo se basa en la separación de la lógica de negocio de la lógica de diseño,

separando la Capa de Negocio, la Capa de Presentación y la Capa de Datos.

Figura 1.Arquitectura de Aplicación 3 Capas

Page 28: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

9

Capa de presentación: Es la interfaz gráfica la cual es entendible y fácil de utilizar para

el usuario, muestra las funcionalidades del sistema, y le permite la comunicación con la

aplicación tanto en presentación y captura de la información. Esta capa se comunica con

la capa de negocio.

Capa de negocio: esta capa contiene la lógica principal de procesamiento de datos

dentro de nuestra aplicación Web. Se comunica con la capa de presentación para obtener

las entradas del usuario y presentar la información resultante, así como la capa de acceso

a datos o directamente con servicios para realizar sus operaciones.

Capa de datos: En esta capa es en donde se maneja los procedimientos para almacenar

u obtener información de la base de datos a partir la aplicación web. Esta capa será la

intermediaria entre la aplicación web y la base de datos respondiendo a todas las formas,

cálculos complejos y accesos recurrentes que se utilizan para acceder a la información la

cual es uno de los recursos de suma importancia a nivel empresarial

2.2.4 JEE (Java Enterprise Edition)

La plataforma Java Enterprise Edition (JEE) son un conjunto de especificaciones que

facilitan el desarrollo y despliegue de aplicaciones empresariales multi-capa. Java EE

ofrece un conjunto de especificaciones y técnicas que proporcionan soluciones

completas, seguras, estables y escalables para el desarrollo, despliegue y gestión de

aplicaciones de múltiples niveles de funcionalidad basadas en servidores. Se reduce el

costo y complejidad de desarrollo, lo cual resulta en servicios que se pueden desplegar y

extender fácilmente.

Los componentes principales de la plataforma Java EE son los Java Servlets, Java Server

Pages (JSP), JavaServer Faces (JSF) y los Enterprise JavaBeans (EJB) se despliegan y

son administrados por contenedores conocidos como servidores de aplicaciones, es de

esa forma que también se explorará y utilizará los servicios estándar proporcionados por

dichos servidores para el despliegue de aplicaciones JEE.

Se detalla a continuación los componentes de JEE dependiendo de la capa donde actúan:

Page 29: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

10

2.2.5 Tecnologías en la Capa de Presentación

2.2.5.1 Java Server Faces (JSF)

JSF es un marco de trabajo para crear aplicaciones java J2EE la cuales permite

desarrollar rápidamente aplicaciones de negocio dinámicas en las que toda la lógica de

negocio se implementa en java, o es llamada desde java, creando páginas para las vistas

muy sencillas.

Java Server Faces es un Framework que pretende facilitar el desarrollo de aplicaciones

web, gestionando las acciones realizadas por el usuario en una página HTML y las

traduce a eventos que son enviados al servidor, y así reflejar los cambios provocados por

dichas acciones.

Algunas de las ventajas que ofrece JSF son:

Se trata de una tecnología que se ejecuta del lado del Servidor y no del lado del

Cliente.

La Interfaz de Usuario es tratada como un conjunto de componentes.

Los principales componentes de la tecnología Java Server Faces son: Un API y una

implementación de referencia para representar componentes de interfaz de usuario y

manejar su estado.

Manejo de eventos, validación del lado del servidor y conversión de datos;

Definir la navegación entre páginas, soportar internacionalización y además

proporcionar extensibilidad para estas características.

Una librería de etiquetas JSP (Java Server Pages) personalizadas para dibujar

componentes de interfaz de usuario en una página JSP.

2.2.5.2 Extensible Markup Language (XML)

XML se ha convertido en el formato estándar de facto para la representación de datos en

Internet. Los datos XML se pueden procesar e interpretar en cualquier plataforma. XML

permite crear documentos estructurados mediante el uso etiquetas. Las características y

beneficios del XML se pueden agrupar en estas áreas principales:

Extensibilidad: como metalenguaje, XML puede usarse para crear sus propios

lenguajes de marcas.

Page 30: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

11

Estructura Precisa: Los documentos XML están bien estructurados, cada documento

tiene un elemento raíz y todos los demás elementos deben estar anidados dentro de

otros elementos.

Extensión Poderosa: XML sólo se usa para definir la sintaxis o el contenido. Para

definir la semántica, el estilo o la presentación, necesitamos usar “Extensible

Stylesheet Language” (XSL). Observa que un documento podría tener múltiples

hojas de estilo que podrían ser usadas por diferentes usuarios.

2.2.5.3 AJAX2

AJAX es la unión de varias tecnologías que permiten realizar nuevas funcionalidades en

la capa de presentación. El concepto de AJAX es: Cargar y renderizar una página, luego

mantenerse en esa página mientras scripts3 y rutinas van al servidor buscando, en

segundo plano, los datos que son usados para actualizar la página solo re-renderizando la

página y mostrando u ocultando porciones de la misma. El modelo clásico de

aplicaciones Web funciona de esta forma: La mayoría de las acciones del usuario en la

interfaz disparan un requerimiento HTTP al servidor web. El servidor efectúa un proceso

(recopila información, procesa números, hablando con varios sistemas propietarios), y le

devuelve una página HTLM al cliente. En un modelo adaptado, las peticiones del cliente

se aceleran mediante el motor de Ajax. El motor AJAX permite que la interacción del

usuario con la aplicación suceda asincrónicamente independientemente de la

comunicación con el servidor. Así el usuario nunca estará mirando una ventana en

blanco del navegador y un icono de reloj de arena esperando a que el servidor haga algo.

2.2.5.4 Primefaces

Es una librería de componentes para JavaServer Faces (JSF) de código abierto que

cuenta con un conjunto de componentes enriquecidos que facilitan la creación de las

aplicaciones web. Una de las ventajas de utilizar Primefaces, es que permite la

integración con otros componentes como por ejemplo RichFaces.

2 Información extraída de: http://www.maestrosdelweb.com/ajax/

3 Un script es un programa que puede acompañar a un documento HTML se ejecuta en el navegador del

cliente

Page 31: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

12

2.2.5.5 XHTML (Extensible HyperText Markup Language)

XHTML es una familia de módulos y tipos de documentos que reproduce, engloba y

extiende HTML. Los tipos de documentos de la familia XHTML están basados en XML,

y diseñados fundamentalmente para trabajar en conjunto con aplicaciones de usuario

basados en XML.

XHTML Es una reformulación de las tres definiciones de tipo de documento HTML

como aplicaciones de XML. Su finalidad es ser usado como lenguaje de contenidos que

es a la vez conforme a XML y, si se siguen algunas sencillas directrices, funciona en

aplicaciones de usuario conformes con HTML presentando las siguientes mejoras:

Los documentos XHTML son conformes a XML. Como tales, son fácilmente

visualizados, editados y validados con herramientas XML estándar.

Los documentos XHTML pueden escribirse para que funcionen igual o mejor que lo

hacían antes en las aplicaciones de usuario conformes a HTML.

Los documentos XHTML pueden usar aplicaciones (scripts y applets4) que se basen

ya sea en el Modelo del Objeto Documento de HTML o XML.

A medida que la familia XHTML evolucione, los documentos conformes a XHTML

estarán más preparados para interactuar dentro de y entre distintos entornos

XHTML.

2.2.6 Tecnologías de la Capa de Negocio.

2.2.6.1 JBOSS Servidor de Aplicaciones5

Todos los programas escritos en Java no pueden correr por si solos, por lo que requieren

la Máquina Virtual de Java (JVM). De la misma manera, una aplicación empresarial de

J2EE necesita un Contenedor, que le provee de toda la infraestructura para que la

aplicación pueda funcionar. Este marco de trabajo es un conjunto de servicios de

propósito general, que implementan todas las necesidades de bajo nivel que necesita una

aplicación para funcionar. De esta manera, el diseñador puede enfocarse en la

4Applet es un componente de una aplicación que se ejecuta en el contexto de otro programa, por ejemplo

en un navegador web 5 Información extraída de: https://es.wikipedia.org/wiki/JBoss

Page 32: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

13

funcionalidad específica de su programa, dejando los servicios necesarios al Servidor de

Aplicaciones.

Las características destacadas de JBoss incluyen:

Producto de licencia de código abierto sin coste adicional.

Cumple todos los estándares.

Confiable a nivel de empresa.

Incrustable, orientado a arquitectura de servicios.

Servicios del middleware para cualquier objeto de Java.

2.2.6.2 EJB (Enterprise Java Beans)

Los EJBs (o beans empresariales) son componentes Java EE que implementan la

tecnología Enterprise JavaBeans (EJB). Un EJB se ejecuta en un contenedor de EJB que

es un entorno de ejecución dentro un servidor de aplicaciones. Aunque transparente para

la aplicación, el contenedor de EJB provee una serie de servicios a nivel de sistema entre

los que se incluyen las transacciones y la seguridad de los EJBs.

Estos servicios permiten la construcción rápida y el despliegue de EJBs los cuáles

forman el núcleo transaccional de las aplicaciones JEE.

Escritos en lenguaje de programación Java, un EJB es un componente de servidor que

encapsula la lógica de negocio de una aplicación. Entre sus ventajas están:

Simplifican el desarrollo de grandes aplicaciones distribuidas. El contenedor de EJB

se encarga de la seguridad y el manejo de transacciones, dejando al bean solo la

lógica de negocio

Como la lógica de negocio está en los beans, el desarrollador puede ocuparse de

desarrollar la capa de presentación sin tener que codificar lógica de negocio o

acceso a bases de datos. Como resultado se producen clientes muy ligeros,

especialmente deseables para ejecutarse en pequeños dispositivos como los

Smartphone

Los beans pueden ser reutilizados para crear nuevos beans que extiendan su

funcionalidad. Al fin y al cabo son también componentes reutilizables.

Page 33: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

14

2.2.7 Tecnologías de la Capa de Datos

2.2.7.1 JPA (Java Persistence API)6

Cualquier aplicación empresarial realiza operaciones con la base de datos para

almacenar y recuperar grandes cantidades de datos. A pesar de todas las tecnologías

disponibles para la gestión de almacenamiento, los desarrolladores de aplicaciones

normalmente luchan para realizar operaciones con la base de datos de forma eficiente

En general, los desarrolladores de Java utilizan gran cantidad de código para interactuar

con la base de datos, mientras que con JPA, la carga de código para interactuar con la

base de datos se reduce considerablemente. JPA Constituye un puente entre los modelos

de objetos (programa Java) y modelos relacionales (programa de base de datos).

Java Persistence API es un conjunto de clases y métodos proporcionada por Oracle

Corporation que permite el almacenamiento permanente de una gran cantidad de datos a

una base de datos.

Persistir objetos Java en una base de datos relacional implica serializar un árbol de

objetos Java en una base de datos de estructura tabular y viceversa. Esencial es la

necesidad de mapear objetos Java para optimizar velocidad y eficiencia de la base de

datos

JPA es utilizado para reducir la carga de escribir códigos relacionales para gestión de

objetos. Aquí el marco necesario se realiza a través de JPA.

La siguiente imagen muestra la arquitectura principal de las clases principales y las

interfaces de JPA.

6 Información extraída de: http://www.tutorialspoint.com/es/jpa/jpa_introduction.htm

Page 34: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

15

Figura 2. Arquitectura JPA

La siguiente tabla describe cada una de las unidades mostradas en la arquitectura.

UNIDADES DESCRIPCIÓN

EntityManagerFactory Crea y gestiona múltiples instancias

EntityManager

EntityManager Interfaz que gestiona la persistencia de

objetos, funciona como instancia de consulta.

Entity Las entidades son los objetos de persistencia,

tiendas como registros en la base de datos.

EntityTansacction

Tiene una relación de uno a uno con

EntityManager. Para cada método

EntityManager, se mantienen las operaciones

de la clase EntityTransaction.

Persistence Esta clase contiene métodos estáticos para

obtener el EntityManagerFactory.

Query

Esta interfaz es implementada por cada

elemento JPA relacional para obtener objetos

que cumplan los criterios. Tabla 1. Unidades de la Arquitectura de JPA

Page 35: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

16

2.2.8 Herramientas de Desarrollo

2.2.8.1 Eclipse IDE7

Eclipse es una plataforma de desarrollo, diseñada para ser extendida de forma indefinida

a través de plug-ins8. Fue concebida desde sus orígenes para convertirse en una

plataforma de integración de herramientas de desarrollo. No tiene en mente un lenguaje

específico, sino que es un IDE genérico, aunque goza de mucha popularidad entre la

comunidad de desarrolladores del lenguaje Java usando el plug-in JDT que viene

incluido en la distribución estándar del IDE.

Proporciona herramientas para la gestión de espacios de trabajo, escribir, desplegar,

ejecutar y depurar aplicaciones.

Principales características

Perspectivas, editores y vistas: en Eclipse el concepto de trabajo está basado en las

perspectivas, que no es otra cosa que una pre-configuración de ventanas y editores,

relacionadas entre sí, y que nos permiten trabajar en un determinado entorno de

trabajo de forma óptima.

Gestión de proyectos: el desarrollo sobre Eclipse se basa en los proyectos, que son

el conjunto de recursos relacionados entre sí, como puede ser el código fuente,

documentación, ficheros configuración, árbol de directorios,… El IDE nos

proporcionará asistentes y ayudas para la creación de proyectos. Por ejemplo,

cuando creamos uno, se abre la perspectiva adecuada al tipo de proyecto que

estemos creando, con la colección de vistas, editores y ventanas pre-configurada por

defecto.

Depurador de código: se incluye un potente depurador, de uso fácil e intuitivo, y

que visualmente nos ayuda a mejorar nuestro código. Para ello sólo debemos

ejecutar el programa en modo depuración (con un simple botón). De nuevo,

tenemos una perspectiva específica para la depuración de código, la perspectiva

7 Información extraída de: http://www.genbetadev.com/herramientas/eclipse-ide

8Plugin: es una aplicación que se relaciona con otra para aportarle una función nueva y

generalmente muy específica.

Page 36: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

17

depuración, donde se muestra de forma ordenada toda la información necesaria para

realizar dicha tarea.

Extensa colección de plug-ins: están disponibles en una gran cantidad, unos

publicados por Eclipse, otros por terceros. Al haber sido un estándar de facto

durante tanto tiempo (no el único estándar, pero sí uno de ellos), la colección

disponible es muy grande. Los hay gratuitos, de pago, bajo distintas licencias, pero

casi para cualquier cosa que nos imaginemos tenemos el plug-in adecuado.

2.2.8.2 PostGreSQL Gestor de base de Datos9

PostgreSQL es un SGBD (sistema de gestión de bases de datos) relacional orientado a

objetos y libre, publicado bajo la licencia BSD.

Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no es

manejado por una empresa y/o persona, sino que es dirigido por una comunidad de

desarrolladores que trabajan de forma desinteresada, altruista, libre y/o apoyada por

organizaciones comerciales. Dicha comunidad es denominada el PGDG (PostgreSQL

Global Development Group).

A continuación se muestran algunas de las características más importantes y soportadas

por PostgreSQL:

Es una base de datos 100% ACID.( Atomicidad, Consistencia, Aislamiento y

Durabilidad).

Soporta distintos tipos de datos: además del soporte para los tipos base, también

soporta datos de tipo fecha, monetarios, elementos gráficos, datos sobre redes,

cadenas de bits, etc. También permite la creación de tipos propios.

Incluye herencia entre tablas, por lo que a este gestor de bases de datos se le incluye

entre los gestores objeto-relacionales.

Copias de seguridad en caliente (Online/hotbackups).

Codificación Unicode.

Múltiples métodos de autentificación.

9 Información extraída de: https://es.wikipedia.org/wiki/PostgreSQL

Page 37: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

18

2.2.8.3 JBOSS Servidor de Aplicaciones

JBoss es un servidor de aplicaciones basado en los estándares de J2EE. Todos los

programas escritos en Java no pueden correr por si solos, por lo que requieren la

Máquina Virtual de Java (JVM). De la misma manera, una aplicación empresarial de

J2EE necesita un Contenedor, que le provee de toda la infraestructura para que la

aplicación pueda funcionar. Este marco de trabajo es un conjunto de servicios de

propósito general, que implementan todas las necesidades de bajo nivel que necesita una

aplicación para funcionar. De esta manera, el diseñador puede enfocarse en la

funcionalidad específica de su programa, dejando los servicios necesarios al Servidor de

Aplicaciones.

Figura 3. Arquitectura Servidor de Aplicaciones JBoss

2.2.8.4 JDK (Java Development Kit)

El Kit de desarrollo de Java (JDK) contiene las herramientas y librerías necesarias para

crear y ejecutar applets y aplicaciones en Java.

A continuación se listas algunas de las utilidades que se pueden encontrar en el JDK:

javac. Es el compilador de Java. Se encarga de convertir el código fuente escrito en

Java a bytecode.

java. Es el intérprete de Java. Ejecuta el bytecode a partir de los archivos class.

Page 38: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

19

appletviewer. Es un visor de applets. En la mayoría de las ocasiones puede utilizarse

en lugar de un Navegador Web.

javadoc. Se utiliza para crear documentación en formato HTML a partir del código

fuente Java y los comentarios que contiene.

javap. Es un desensamblador de Java.

jar. Es una herramienta utilizada para trabajar con los archivos JAR.

2.2.8.5 UML (Lenguaje Unificado de Modelado)10

UML es ante todo un lenguaje. Un lenguaje proporciona un vocabulario y unas reglas

para permitir una comunicación. En este caso, este lenguaje se centra en la

representación gráfica de un sistema. Este lenguaje nos indica cómo crear y leer los

modelos, pero no dice cómo crearlos. Esto último es el objetivo de las metodologías de

desarrollo. Los objetivos de UML son muchos, pero se pueden sintetizar sus funciones:

Visualizar: UML permite expresar de una forma gráfica un sistema de forma que

otro lo puede entender.

Especificar: UML permite especificar cuáles son las características de un sistema

antes de su construcción.

Construir: A partir de los modelos especificados se pueden construir los sistemas

diseñados.

Documentar: Los propios elementos gráficos sirven como documentación del

sistema desarrollado que pueden servir para su futura revisión.

Un modelo UML está compuesto por tres clases de bloques de construcción:

Elementos: Los elementos son abstracciones de cosas reales o ficticias (objetos,

acciones, etc.)

Relaciones: relacionan los elementos entre sí.

Diagramas: Son colecciones de elementos con sus relaciones.

10

Información extraída de: http://www.monografias.com/trabajos94/modelado-sistemas-uml/modelado-

sistemas-uml.shtml

Page 39: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

20

2.2.8.6 JasperReports

Es una herramienta para la generación de informes que pueden crear contenidos ricos

para pantalla, impresora o ficheros en diferentes formatos como PDF, HTML, RTF,

XLS, ODT, CSV, o XML.

La librería está escrita completamente en Java y puede ser usada en cualquier aplicación

Java o JavaEE para generar contenido de forma dinámica.

Utiliza plantillas para generar informes, en éstas vamos a encontrar diferentes secciones,

tales como, título, resumen, detalle, etc. Cada sección tiene un layout11

independiente

donde podemos incluir diferentes tipos de elementos: imágenes, campos de texto, etc.

2.3 Identificación de Variables

Las variables en la investigación, representan un concepto de vital importancia dentro de

un proyecto. Las variables, son los conceptos que forman enunciados de un tipo

particular denominado hipótesis.

2.3.1 Variable Independiente.

Sistema para la automatización de los procesos en la Cinemateca Nacional de la Casa de

la Cultura Ecuatoriana.

2.3.2 Variable Dependiente

Unificación de la información que se maneja en todos los procesos.

Optimizar el tiempo y recursos entre procesos.

Mejora de la interacción entre empelados del departamento y con el público en

general.

2.4 Hipótesis

La Gestión de los procesos de la Cinemateca Nacional de la Casa de la Cultura

Ecuatoriana mediante la implementación de una aplicación web mejorará la interacción

entre el personal de la institución unificando la información en una base de datos común

11

Layout: Cuadrícula imaginaria que divide en espacios o campos la página que se diseña para facilitar la

distribución de elementos como textos o gráficos en la misma.

Page 40: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

21

optimizando así el tiempo de respuesta al momento de ser requerida por parte del

personal administrativo como del público en general.

Page 41: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

22

CAPÍTULO 3

3 METODOLOGÍA

3.1 Diseño de la Investigación

Para el desarrollo del presente tema de investigación se ha decidido utilizar el modelo de

desarrollo en cascada el cual como fase inicial propone la recolección de requerimientos

que el sistema debe satisfacer.

A continuación se explica de forma breve y concreta el modelo de desarrollo

seleccionado.

3.1.1 Modelo de Desarrollo en Cascada.12

El Modelo en Cascada da las pautas que permiten la organización en el desarrollo del

software a través de la implementación de sus características etapas, esto quiere decir

que cuando se esté llevando a cabo todas las tareas pertinentes dentro de esa etapa, no se

podrá avanzar a la siguiente etapa hasta no concluir con todas las tareas. Y debido a que

el proceso está planeado es más fácil determinar costos y los plazos.

La metodología en cascada es esencialmente:

1. El inicio y el alcance del proyecto

2. La planificación del proyecto (calendario, recursos necesarios, costo)

3. Definición de las necesidades del negocio y el análisis en detalle de la solución

4. La creación de la solución

5. Prueba que la solución funciona. La entrega de la solución a su público objetivo

6. Cierre del proyecto.

12

Información extraída de: http://ingenexescom.blogspot.com/2012/02/modelo-en-cascada.html

Page 42: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

23

3.1.2 Ciclo de Vida del Modelo en Cascada:

Figura 4. Ciclo de Vida Modelo Cascada

Ingeniería y Análisis del Sistema: En esta etapa el desarrollador mediante algún tipo de

técnica como puede ser entrevistas con el cliente o documentación, debe establecer los

requisitos que debe cumplir cada una de las partes del sistema y acoplar estos requisitos

a un sistema mayor.

Análisis de los requisitos del software: Una vez culminado el proceso de recopilación

de los requisitos en esta etapa el desarrollador se centrará en la función, el rendimiento y

las interfaces requeridas para cada uno de los requisitos.

Diseño: el diseño del software se enfoca en cuatro atributos distintos del programa; la

estructura de los datos, la arquitectura del software, el detalle procedimental y la

caracterización de la interfaz. El proceso de diseño traduce los requisitos en una

representación del software con la calidad requerida antes de que comience la

codificación.

Codificación: El diseño debe traducirse en una forma legible para la máquina. Si el

diseño se realiza de una manera detallada, la codificación puede realizarse

mecánicamente.

Page 43: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

24

Prueba: una vez que se ha generado el código comienza la prueba del programa. La

prueba se centra en la lógica interna del software y en las funciones externas, realizando

pruebas que aseguren que la entrada definida produce los resultados que realmente se

requieren.

Mantenimiento: Esta etapa se centrara en las modificaciones necesarios que sufrirá el

sistema. Estos cambios pueden ser el resultado de cambios en la tecnología, corrección

de errores, o ampliaciones de requerimientos. Estas modificaciones serán realizadas

después que el sistema haya sido entregado al cliente.

3.2 Desarrollo de la Investigación

Como se define en el ciclo de vida del proyecto en la metodología de desarrollo elegida,

la primera etapa es la Ingeniería y Análisis del Sistema. En esta etapa la parte primordial

es la especificación de requisitos de software la cual consiste en una descripción

completa del comportamiento del sistema a desarrollarse.

3.2.1 Análisis de Requerimientos

En este análisis se describen cada una de las interacciones que los usuarios realizarán

con el software que se va a desarrollar las cuales se representaran mediante diagramas

conocidos como casos de uso también llamados como requisitos funcionales.

El análisis de requerimientos también va a describir los requisitos no funcionales que

son aquellos requerimientos que no se refieren directamente a las funciones específicas

que entrega el sistema, sino a las propiedades emergentes de éste como la fiabilidad, la

respuesta en el tiempo y la capacidad de almacenamiento. De forma alternativa, definen

las restricciones del sistema como la capacidad de los dispositivos de entrada/salida y la

representación de datos que se utiliza en la interface del sistema. Los requerimientos no

funcionales surgen de la necesidad del usuario.

Para esta etapa se recopilo toda la información necesaria mediante entrevistas al

personal de la dependencia, además de la recopilación de los datos que son ingresados

en las herramientas que son usadas.

Page 44: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

25

Luego de la recolección inicial se realizó una verificación de requerimientos, esta

actividad se la realiza con el propósito de que cada requerimiento recolectado cumpla

con:

Validez.

Consistencia.

Completitud.

Realismo.

Verificabilidad

Para la recopilación se dividieron los procesos por la acción que cada un realiza sobre

los bienes ingresados a este departamento y son los siguientes:

Administración

Ingreso Donaciones

Conservación

Digitalización

Catalogación

Eventos Cine

3.2.1.1 Descripción General

En el departamento de la Cinemateca de la casa de la cultura ecuatoriana cada uno de los

procesos enlistados anteriormente usa una herramienta diferente para sus actividades

haciendo de esta manera imposible obtener información consistente al momento de

generar reportes para el área administrativa. Además de que en algunos de los casos

dicha información está almacenada en herramientas manuales susceptibles a deterioro y

de esta manera la perdida de información de suma importancia es inevitable

3.2.1.2 Requerimientos

A continuación se detallan los requerimientos para el desarrollo de la aplicación en cada

uno de los módulos anteriores:

Page 45: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

26

Req. 01 Realizar Gestión de bienes donados a la Cinemateca

nacional

Descripción El sistema debe permitir registrar la información que

se genera al ingresar un bien a la cinemateca, además

de la información del donante del bien.

Requisitos 1. El sistema debe permitir el ingreso de la

información básica del bien donado (Título,

Tipo, Formato)

2. El sistema debe permitir asignar el modulo al

cual será enviado el bien ingresado dependiendo

del tipo.

3. El sistema debe permitir ingresar la información

básica del donante (Nombre, Dirección,

Teléfono, E-mail)

Tabla 2. Requisitos Donaciones

Req. 02 Realizar gestión de bienes ingresados a conservación

Descripción El sistema debe permitir registrar la información que

se genera al ingresar y diagnosticar un archivo fílmico

al proceso de Conservación.

Requisitos 1. El sistema mostrará una lista de registros

esperando a ser ingresados.

2. El sistema debe permitir seleccionar el registro

para el ingreso de la información básica del

archivo fílmico (Formato, Sonido, Color)

3. El sistema mostrará una lista de bienes que ya

han sido ingresados y esperan ser diagnosticados

o se necesite modificar el diagnóstico.

4. El sistema debe permitir seleccionar el registro

del bien para ingresar la información de

diagnóstico.

Tabla 3. Requisitos Conservación

Page 46: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

27

Req. 03 Realizar gestión de bienes digitalizados

Descripción El sistema debe permitir registrar la información que

se genera al digitalizar archivos fílmicos provenientes

de donaciones o conservación.

Requisitos 1. El sistema mostrará una lista de registros

esperando a ser digitalizados.

2. El sistema debe permitir seleccionar el registro

para el ingreso de la información generada al

digitalizar.

3. El sistema permitirá asignar el bien a un módulo

según corresponda.

Tabla 4. Requisitos Digitalización

Req. 04 Realizar gestión de bienes ingresados a catalogación

Descripción El sistema debe permitir registrar la información de

catalogación de bienes dependiendo del tipo.

Requisitos 1. El sistema mostrará una lista de registros

esperando a ser ingresados.

2. El sistema debe permitir seleccionar el registro

para el ingreso de catalogación de bienes.

3. El sistema mostrará un formulario diferente

dependiendo del tipo de elemento.

Tabla 5. Requisitos Catalogación

Page 47: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

28

Req. 05 Realizar gestión de eventos a proyectarse en la sala de

cine

Descripción El sistema debe permitir programar eventos que serán

proyectados en la sala de cine.

Requisitos 1. El sistema mostrará una lista de registros de

eventos programados.

2. El sistema debe permitir crear nuevos eventos,

modificar eventos existentes o eliminar eventos.

3. El sistema mostrará un formulario para ingresar

la información del evento.

4. El sistema debe permitir seleccionar películas

desde el catalogo o ingresar películas externas.

Tabla 6. Requisitos Administración Eventos Cine

Req. 06 Realizar la administración de ingreso a las salas de

cine.

Descripción El sistema permitirá emitir tickets para el ingreso a

las salas de cine en un evento determinado.

Requisitos 1. El sistema mostrará una lista de registros de

eventos programados en la sala de cine.

2. El sistema debe permitir seleccionar el evento en

el cual se generará el ticket.

3. El sistema permitirá imprimir el ticket generado.

Tabla 7. Requisitos Ingreso Cine

Page 48: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

29

Req. 07 Realizar la administración visitas a La Consulta

Pública

Descripción El sistema permitirá gestionar la información de los

visitantes a la Consulta Pública.

Requisitos 1. El sistema permitirá al visitante buscar un

elemento del catálogo de la Cinemateca

Nacional.

2. El sistema permitirá elegir un elemento

encontrado mediante el criterio de búsqueda.

3. El sistema debe permitir ingresar la información

del visitante para iniciar.

4. El sistema permitirá ingresar la evaluación del

servicio brindado en la Consulta Pública.

Tabla 8. Requisitos Consulta Pública

Req. 08 Realizar gestión de usuarios.

Descripción El sistema permitirá crear perfiles de usuario para los

empleados de la Cinemateca Nacional.

Requisitos 1. El sistema mostrará una lista de registros perfiles

de usuario

2. El sistema debe permitir crear nuevos perfiles,

modificar perfiles existentes o eliminar perfiles.

3. El sistema mostrará un formulario para ingresar

la información del nuevo perfil

4. El sistema debe permitir seleccionar los

permisos para el nuevo perfil.

5. El sistema permitirá asignar un perfil a los

empleados de la cinemateca.

Tabla 9. Requisitos Gestión de Usuarios

Page 49: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

30

3.2.1.3 Requerimientos Funcionales13

Los requerimientos funcionales de un sistema permiten describir los servicios que se

espera que éste provea. Son entendidos como capacidades que debe exhibir una

aplicación con el fin de resolver un problema.

De igual manera se describirán los requisitos funcionales divididos por cada módulo

enlistado en la parte anterior:

3.2.1.3.1 Requerimientos Donaciones

Las donaciones serán numeradas de forma ascendente y será la identificación que

se utilizara en el resto de procedimientos.

Permitir Ingresar información del bien donado.

Permitir elegir el tipo de bien ingresado.

Permitir elegir el procedimiento a donde será enviado el bien dependiendo del

tipo.

Permitir ingresar la información del donante que puede ser Particular, Institución

o anónimo

Permitir imprimir un documento de recibido con los datos de la donación.

Asignar la identificación del empleado que recibió la donación.

Permitir generar el reporte de donaciones en un periodo de tiempo.

3.2.1.3.2 Requerimientos Conservación

Permitir elegir el elemento a ingresar dependiendo de la prioridad del usuario

usando una lista de registros.

Permitir ingresar la información física del bien.

Permitir ingresar la información de diagnóstico del bien.

Guardar la fecha de cada modificación de diagnóstico.

Permitir asignar al bien al siguiente procedimiento.

Permitir generar el reporte de ingresos a conservación y diagnóstico en un

periodo de tiempo.

13

Información extraída de: http://prograweb2koutaro.blogspot.com/2010_09_01_archive.html

Page 50: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

31

3.2.1.3.3 Requerimientos Digitalización

Permitir elegir el elemento a digitalizar dependiendo de la prioridad del usuario

usando una lista de registros.

Permitir ingresar la información generada en la etapa de digitalización.

Permitir asignar al bien al siguiente procedimiento.

Permitir generar el reporte de bienes digitalizados en un periodo de tiempo.

3.2.1.3.4 Requerimientos Catalogación

Permitir elegir el elemento a catalogar dependiendo de la prioridad del usuario

usando una lista de registros.

Permitir buscar un bien catalogado para modificar su información

Mostrar el formulario de catalogación dependiendo del tipo de elemento.

Permitir ingresar la información de catalogación del bien.

Permitir ingresar la información de ubicación en bodega de cinemateca.

Registrar la fecha de cada modificación de la información.

Permitir generar el reporte de bienes catalogados en un periodo de tiempo.

3.2.1.3.5 Requerimientos Administración

Administración Usuarios

Permitir crear perfiles de usuario asignado roles y permisos.

Permitir Asignar a un empelado un perfil de usuario

Permitir Modificar un perfil de usuario.

Permitir dar de baja a usuarios.

Permitir modificar los catálogos de la base de datos.

Administración Cine

Permitir programar eventos para proyectarse en las salas de cine.

Permitir modificar eventos.

Permitir eliminar eventos.

Permitir elegir las películas desde el catálogo de la cinemateca a

proyectarse validando horarios disponibles y capacidad de la sala.

Page 51: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

32

Permitir registrar películas que no formen parte del catálogo de la

cinemateca.

Permitir elegir el valor de ingreso a los eventos

Ingreso Cine

Permitir elegir el evento a proyectarse para generar tickets de ingreso.

Permitir registrar la información del cliente para generar el ticket.

Permitir imprimir el ticket para ingreso al cine.

Permitir generar el reporte de ingreso a cines en un periodo de tiempo.

3.2.1.3.6 Requerimientos Consulta Pública

Se debe permitir la busque de cualquier bien catalogado en la Cinemateca.

Se debe permitir elegir el elemento a ser utilizado.

Se debe permitir ingresar la información del visitante junto con el elemento a ser

utilizado.

Se debe permitir finalizar una visita.

Se debe permitir ingresar la evaluación del servicio de la Consulta pública.

Permitir generar el reporte de visitantes a la Consulta Pública en un periodo de

tiempo.

3.2.1.4 Requerimientos no Funcionales14

Requerimientos no funcionales son llamados también requerimientos de calidad, y

describen aquellos niveles deseables de calidad de las funcionalidades y servicios que

provee la aplicación.

Los requerimientos no funcionales identificados de forma general para el sistema son:

El idioma a utilizarse es el español.

La información ingresada en cada formulario debe ser consistente es decir el

sistema validará dicha información de manera que no exista incoherencia.

La interfaz de usuario debe ser amigable para el usuario, la mayoría de opciones

serán elegidas mediante menús.

14

Información extraída de: http://prograweb2koutaro.blogspot.com/2010_09_01_archive.html

Page 52: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

33

Todo el sistema debe estar debidamente documentado, permitiendo un adecuado

mantenimiento del mismo.

Los usuarios solo podrán acceder a aquellas opciones asignadas según su perfil

de usuario.

3.2.2 Diseño del Sistema

En esta etapa del ciclo de desarrollo usando la información recolectada en la etapa

anterior se elabora el diseño lógico del sistema. El desarrollador diseña accesos efectivos

al sistema mediante el uso de las técnicas de diseño.

Una de las herramientas usadas con frecuencia para este diseño son los diagramas de

caso de uso.

3.2.2.1 Diagramas de Caso de Uso15

Un caso de uso es una herramienta que sirve para representar la forma como un cliente

(Actor) opera con el sistema en desarrollo, además de la forma, tipo y orden en la cual,

los elementos interactúan, a estas acciones se les llama operaciones o Casos de uso.

Los casos de uso se utilizan básicamente en el proceso de modelado de sistemas,

partiendo de una percepción o perspectiva que nos plantea el paradigma de la

orientación a objetos, y en este caso el análisis y diseño orientados a objetos.

La aplicación principal de los casos de uso es en el proceso de análisis y diseño pero de

manera particular en la definición de requerimientos del usuario. Es una excelente

herramienta de comunicación debido a la sencillez de su elaboración así como su

comprensión.

Un diagrama de casos de uso consta de los siguientes elementos: Actor, Casos de Uso y

Relaciones.

3.2.2.1.1 Elementos

Actor: es un rol que un usuario juega con respecto al sistema. Es importante

destacar el uso de la palabra rol, pues con esto se especifica que un Actor no

15

Información extraída de: http://users.dcc.uchile.cl/~psalinas/uml/casosuso.html

Page 53: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

34

necesariamente representa a una persona en particular, sino más bien la labor que

realiza frente al sistema.

Caso de Uso: Es una operación/tarea específica que se realiza tras una orden de

algún agente externo, sea desde una petición de un actor o bien desde la invocación

desde otro caso de uso.

Relaciones:

Asociación Es el tipo de relación más básica que indica la invocación desde un

actor o caso de uso a otra operación (caso de uso). Dicha relación se denota con

una flecha simple.

Dependencia Es una forma muy particular de relación entre clases, en la cual

una clase depende de otra, es decir, se instancia (se crea). Dicha relación se

denota con una flecha punteada.

Generalización Este tipo de relación es uno de los más utilizados, cumple una

doble función dependiendo de su estereotipo

Uso (Uses): Se recomienda utilizar cuando se tiene un conjunto de

características que son similares en más de un caso de uso y no se desea

mantener copiada la descripción de la característica.

Herencia (extends): Se recomienda utilizar cuando un caso de uso es

similar a otro.

3.2.2.2 Identificación de actores.

Los actores son los roles que un usuario o usuarios del sistema llevan a cabo en algún

momento del tiempo. También pueden ser otros sistemas con los que el 'sistema' en

proceso de modelado tiene interacción.

En las siguientes tablas se describen los actores que interactuarán con el sistema en cada

uno de los procesos de la Cinemateca Nacional

Page 54: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

35

ADMINSTRACIÓN

Actor Descripción Funciones

Administrador Usuario encargado de

administración de todos

los elementos que

intervienen en el

sistema

Administrar Usuarios

Administrar

Catálogos.

Administrar eventos.

Generar reportes

Programador Usuario encargado de

programación de

eventos de cine

Asignar películas a

eventos

Asignar horarios a

eventos

Generar reportes

Tabla 10. Descripción Actores Administración

DONACIONES

Actor Descripción Funciones

Usuario

Recepciones

Usuario encargado de la

recepción de

donaciones a la

Cinemateca Nacional

Registrar información

bien donado.

Registrar información

del donante

Asignar el bien

donado al siguiente

proceso

Tabla 11. Descripción Actores Donaciones

Page 55: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

36

CONSERVACIÓN

Actor Descripción Funciones

Jefe de

Conservación

Usuario encargado

ingreso de archivos

fílmicos a las bodegas

de conservación de la

Cinemateca Nacional

Registrar la

información del bien

ingresado a

conservación.

Registrar información

de diagnóstico de un

bien.

Asignar el bien

donado al siguiente

proceso

Tabla 12. Descripción Actores Conservación

DIGITALIZACIÓN

Actor Descripción Funciones

Digitalizador Usuario encargado de la

digitalización de

archivos analógicos.

Registrar la

información del

proceso de

digitalización.

Asignar el bien

donado al siguiente

proceso

Tabla 13. Descripción Actores Digitalización

Page 56: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

37

CATALOGACIÓN

Actor Descripción Funciones

Catalogador Usuario encargado de la

catalogación de los

bienes de la Cinemateca

Nacional.

Registrar la

información

catalogación de

películas.

Registrar la

información

catalogación de libros

Registrar la

información

catalogación de

revistas

Asignar al bien la

ubicación en las

perchas de la

Cinemateca Nacional.

Tabla 14. Descripción Actores Catalogación

CONSULTA PÚBLICA

Actor Descripción Funciones

Usuario

externo

Público en general que

hace uso de la Consulta

pública de la

Cinemateca Nacional.

Buscar un elemento

de los catálogos.

Iniciar una visita.

Finalizar una visita.

Evaluar la calidad de

servicio.

Tabla 15. Descripción Actores Consulta Pública

Page 57: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

38

SALAS DE CINE

Actor Descripción Funciones

Recepción

Cine.

Usuario encargado

administración del

ingreso de clientes a las

salas de cine.

Registrar información

del cliente para

ingreso a la sala de

cine.

Emitir tickets de

ingreso a las salas de

cine.

Generar el reporte de

ingreso en cada

evento.

Tabla 16. Descripción Actores Administración Sala Cine

3.2.2.3 Especificación de Caso de Uso.

3.2.2.3.1 Caso de uso Administración

Figura 5. Caso de Uso Administración

Page 58: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

39

Caso de uso 01 Iniciar Sesión

Descripción Validar la información de un usuario para

acceder al módulo de administración

Actores Administrador

Pre-condiciones Uso de un navegador web con la siguiente

URL:

Flujo normal 1. Se solicita el ingreso de la información de

autenticación.

2. Se presiona el botón Iniciar sesión.

3. El sistema verifica la información

ingresada.

4. El Sistema permite acceder al módulo de

administración.

Flujo Alternativo 1. Sistema muestra mensaje de error.

2. No se permite acceder al módulo de

administración.

Post-Condición Se le muestra las opciones definidas según el

perfil de administrador. Tabla 17. Caso de Uso Iniciar Sesión

Caso de uso 02 Cerrar Sesión

Descripción Finaliza la sesión activa.

Actores Administrador

Pre-condiciones Haber iniciado sesión en el sistema.

Flujo normal 1. Usuario presiona botón salir.

2. Se eliminan datos de navegación.

3. Termina todas las instancias del usuario.

Flujo Alternativo No existe.

Post-Condición Se le muestra la pantalla inicial del sistema. Tabla 18. Caso de Uso Cerrar Sesión

Page 59: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

40

Caso de uso 03 Crear perfil

Descripción Crea los perfiles de usuario con las acciones

que cada uno podrá acceder al sistema

Actores Administrador

Pre-condiciones Haber iniciado sesión con perfil de

administrador

Flujo normal 1. Acceder a la pantalla de crear perfil.

2. Se ingresa la información solicitada para

crear un perfil

3. El sistema muestra un mensaje de éxito en

la creación del perfil.

Flujo Alternativo 1. Datos ingresados no válidos

2. Mensaje de Error

Post-Condición Se muestra la pantalla de opciones de

administrador. Tabla 19. Caso de Uso Crear Perfil

Caso de uso 04 Modificar perfil

Descripción Modifica los perfiles existentes en el sistema

Actores Administrador

Pre-condiciones Haber iniciado sesión como administrador del

sistema.

Flujo normal 1. Seleccionar el perfil de usuario que se

necesita modificar

2. Ingresar la nueva información para

modificar un perfil.

Flujo Alternativo 1. Los datos ingresados presentan conflicto.

2. Mensaje de Error

Post-Condición Se muestra la pantalla de opciones de

administrador. Tabla 20. Caso de Uso Modificar Perfil

Page 60: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

41

Caso de uso 05 Crear usuarios

Descripción Crea los usuarios con un perfil que accederá al

sistema.

Actores Administrador

Pre-condiciones Haber iniciado sesión con perfil de

administrador

Flujo normal 1. Acceder a la pantalla de crear usuario.

2. Se ingresa la información solicitada para

crear un usuario.

3. Se asigna un perfil al usuario creado.

4. El sistema muestra un mensaje de éxito en

la creación del usuario.

Flujo Alternativo 1. Datos ingresados no válidos

2. Mensaje de Error

Post-Condición Se muestra la pantalla de opciones de

administrador. Tabla 21. Caso de Uso Crear Usuario

Caso de uso 06 Modificar Usuario

Descripción Modifica los usuarios de sistema existentes en

el sistema

Actores Administrador

Pre-condiciones Haber iniciado sesión como administrador del

sistema.

Flujo normal 1. Seleccionar el usuario a modificar.

2. Ingresar la nueva información para el

usuario que se necesita modificar.

3. Se emite un mensaje de éxito.

Flujo Alternativo 3. Datos ingresados no válidos.

4. Mensaje de Error

Post-Condición Se muestra la pantalla de opciones de

administrador. Tabla 22. Caso de Uso Modificar Usuario

Page 61: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

42

Caso de uso 07 Eliminar usuario

Descripción Elimina los usuarios de sistema existentes en el

sistema.

Actores Administrador

Pre-condiciones Haber iniciado sesión como administrador del

sistema.

Flujo normal 1. Seleccionar el usuario que se necesita

eliminar.

2. Se emite un mensaje de confirmación de la

acción de eliminar.

3. Al eliminar el usuario se emite un mensaje

de éxito.

Flujo Alternativo No existe

Post-Condición Se muestra la pantalla de opciones de

administrador. Tabla 23. Caso de Uso Eliminar Usuario

3.2.2.3.2 Caso de Uso Donación

Figura 6. Caso de Uso Donación

Page 62: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

43

Caso de uso 08 Ingreso bien donado

Descripción Permite ingresar la información de un elemento

que ha sido donado.

Actores Donaciones

Pre-condiciones Haber iniciado sesión con perfil de usuario

donaciones

Flujo normal 1. Abrir la pantalla de información de bienes

donados.

2. Ingresar la nueva información para el

nuevo bien ingresado

3. Buscar un donante existente o ingresar un

nuevo donante

4. Al guardar la información se emite un

mensaje de éxito.

Flujo Alternativo 1. Datos ingresados no válidos.

2. Mensaje de Error

Post-Condición Se muestra la pantalla de información de

donante Tabla 24. Caso de Uso Ingreso Donación

Caso de uso 09 Buscar Donante

Descripción Permite buscar un donante existente para

asignarle una nueva donación.

Actores Donaciones

Pre-condiciones

1. Haber iniciado sesión con perfil de usuario

donaciones

2. Haber ingresado la información de un

nuevo bien donado.

Flujo normal 1. Ingresar todo o una parte del nombre del

donante a ser buscado.

2. Presionar el botón buscar.

3. EL sistema muestra una tabla de registros

de las coincidencias encontradas

4. El usuario selecciona el donante al cual se

le asignará la nueva donación.

Flujo Alternativo 1. Los datos ingresados no generan

coincidencias.

2. Presionar el botón nuevo donante para

ingresar información de un nuevo donante

Post-Condición Se muestra la pantalla del recibo que será

generado. Tabla 25. Caso de Uso Buscar Donante Existente

Page 63: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

44

Caso de uso 10 Nuevo donante

Descripción Permite ingresar la información de un donante

nuevo de un bien.

Actores Donaciones

Pre-condiciones

1. Haber iniciado sesión con perfil de usuario

donaciones

2. Haber ingresado la información de un

nuevo bien donado.

Flujo normal 1. Se muestra el formulario de información

para un nuevo donante.

2. El usuario ingresa la información

requerida.

3. Se presiona el botón guardar y generar

recibido.

Flujo Alternativo Los datos ingresados generan conflictos.

Post-Condición Se muestra la pantalla del recibo que será

generado. Tabla 26. Caso de Uso Ingreso donante Nuevo

3.2.2.3.3 Caso de uso Conservación

Figura 7. Caso de Uso Conservacion

Page 64: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

45

Caso de uso 11 Ingreso de bien a conservación

Descripción Permite ingresar la información de un bien al

módulo de conservación.

Actores Jefe de conservación

Pre-condiciones

1. Haber iniciado sesión con perfil de usuario

Jefe de conservación

2. Haberse asignado el bien desde donaciones

a conservación.

Flujo normal 1. Se muestra el formulario de información

para el ingreso del bien.

2. El usuario ingresa la información

requerida.

3. Se presiona el botón guardar.

Flujo Alternativo Los datos ingresados generan conflictos.

Post-Condición Se muestra la pantalla principal del módulo de

conservación. Tabla 27. Caso de Uso Ingreso a Conservación

Caso de uso 12 Diagnóstico de un bien

Descripción

Permite ingresar la información de diagnóstico

de un bien ingresado al módulo de

conservación.

Actores Jefe de conservación

Pre-condiciones

1. Haber iniciado sesión con perfil de usuario

Jefe de conservación

2. Haber ingresado el bien al módulo de

conservación.

Flujo normal 1. Se muestra una lista de registros de bienes

ingresados al módulo de conservación.

2. El usuario elige el registro al cual ingresará

la información de diagnóstico.

3. Se muestra el formulario de información

de diagnóstico.

4. El usuario ingresa la información requerida

5. Se presiona el botón guardar.

Flujo Alternativo Los datos ingresados generan conflictos.

Post-Condición Se muestra la pantalla principal del módulo de

conservación. Tabla 28. Caso de Uso Diagnostico

Page 65: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

46

3.2.2.3.4 Caso de uso Digitalización

Figura 8. Caso de Uso Digitalización

Caso de uso 13 Ingreso información digitalización.

Descripción Permite ingresar la información generada al

digitalizar un bien.

Actores Digitalizador

Pre-condiciones 1. Haber iniciado sesión con perfil de usuario

Digitalizador.

Flujo normal 1. Se muestra una lista de registros de bienes

ingresados al módulo de digitalización.

2. El usuario elige el registro al cual ingresará

la información de digitalización.

3. Se muestra el formulario de información

de digitalización.

4. El usuario ingresa la información requerida

5. Se presiona el botón guardar.

Flujo Alternativo Los datos ingresados generan conflictos.

Post-Condición Se muestra la pantalla principal del módulo de

digitalización. Tabla 29. Caso de Uso Ingreso Digitalización

Page 66: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

47

3.2.2.3.5 Caso de uso Catalogación

Figura 9. Caso de Uso Catalogación

Caso de uso 14 Catalogar Película

Descripción Permite ingresar la información de

catalogación de un bien ingresado.

Actores Jefe de conservación

Pre-condiciones 1. Haber iniciado sesión con perfil de usuario

Catalogador

Flujo normal 1. Se muestra una lista de registros de

películas esperando a ser catalogadas.

2. El usuario elige el registro al cual ingresará

la información de catálogo.

3. Se muestra el formulario de información

de catálogo de películas.

4. El usuario ingresa la información requerida

5. Se presiona el botón guardar.

Flujo Alternativo Los datos ingresados generan conflictos.

Post-Condición Se muestra la pantalla principal del módulo de

catalogación. Tabla 30. Caso de Uso Catalogar Película

Page 67: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

48

Caso de uso 15 Catalogar Revista

Descripción Permite ingresar la información de

catalogación de un bien ingresado.

Actores Jefe de conservación

Pre-condiciones 1. Haber iniciado sesión con perfil de usuario

Catalogador

Flujo normal 1. Se muestra una lista de registros de

revistas esperando a ser catalogadas.

2. El usuario elige el registro al cual ingresará

la información de catálogo.

3. Se muestra el formulario de información

de catálogo de revistas.

4. El usuario ingresa la información requerida

5. Se presiona el botón guardar.

Flujo Alternativo Los datos ingresados generan conflictos.

Post-Condición Se muestra la pantalla principal del módulo de

catalogación. Tabla 31. Caso de Uso Catalogar Revista

Caso de uso 16 Catalogar Libro

Descripción Permite ingresar la información de

catalogación de un bien ingresado.

Actores Jefe de conservación

Pre-condiciones 1. Haber iniciado sesión con perfil de usuario

Catalogador

Flujo normal 1. Se muestra una lista de registros de Libros

esperando a ser catalogadas.

2. El usuario elige el registro al cual ingresará

la información de catálogo.

3. Se muestra el formulario de información

de catálogo de Libros.

4. El usuario ingresa la información requerida

5. Se presiona el botón guardar.

Flujo Alternativo Los datos ingresados generan conflictos.

Post-Condición Se muestra la pantalla principal del módulo de

catalogación. Tabla 32. Caso de Uso Catalogar Libro.

Page 68: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

49

3.2.2.3.6 Caso de uso Consulta Pública

Figura 10. Caso de Uso Consulta Pública

Caso de uso 17 Buscar elemento

Descripción

Permite buscar una elemento del catálogo de la

cinemateca para ser proyectada en la consulta

pública

Actores Cliente externo

Pre-condiciones 1. Disponer de una máquina con navegador

web.

Flujo normal 1. El usuario elige el tipo de elemento a ser

buscado.

2. El usuario ingresa el nombre o parte del

nombre del elemento buscado.

3. Se muestra una lista de registros con las

coincidencias encontradas en el catálogo.

4. El usuario elige el registro al cual usara en

la consulta pública.

Flujo Alternativo No existe

Post-Condición Se muestra pantalla de iniciar visita Tabla 33. Caso de Uso Buscar Elemento Consulta Pública

Page 69: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

50

Caso de uso 18 Iniciar visita

Descripción Permite ingresar datos del visitante para iniciar

el uso de la consulta pública.

Actores Cliente externo

Pre-condiciones 1. Haber seleccionado un elemento del

catálogo (CU 17)

Flujo normal 1. Se muestra el formulario de información

del visitante.

2. El usuario ingresa la información

requerida.

3. Presionamos el botón iniciar visita.

Flujo Alternativo Los datos ingresados generan conflicto.

Post-Condición Se muestra pantalla inicial del módulo de

consulta pública. Tabla 34. Caso de Uso Iniciar Visita Consulta Pública

Caso de uso 19 Evaluar visita

Descripción Permite ingresar datos evaluación de la visita

para terminar la misma

Actores Cliente externo

Pre-condiciones 1. Haber iniciado una visita

Flujo normal 1. Se muestra el formulario de Evaluación de

la visita

2. El usuario ingresa la información

requerida.

3. Presionamos el botón terminar visita.

Flujo Alternativo Los datos ingresados generan conflicto.

Post-Condición Se muestra pantalla inicial del módulo de

consulta pública. Tabla 35. Caso de Uso Evaluar Visita Consulta Pública

Page 70: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

51

3.2.2.3.7 Caso de uso Administración Eventos de Cine

Figura 11. Caso de Uso Administración Eventos Cine

Caso de uso 20 Crear evento

Descripción Permite crear un evento para ser proyectado en

las salas de cine

Actores Programador

Pre-condiciones Haber iniciado sesión con perfil de

programador.

Flujo normal 1. Se muestra la pantalla para la creación de

un nuevo evento.

2. El programador elige las películas del

catálogo a ser proyectadas

3. El programador ingresa la información de

las películas que no forman parte del

catálogo

Flujo Alternativo Los datos ingresados generan conflicto.

Post-Condición Se muestra pantalla inicial del módulo de

administración de eventos Tabla 36. Caso de Uso Crear Evento Cine

Page 71: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

52

Caso de uso 21 Modificar evento

Descripción Permite modificar un evento que va a ser

proyectado en las salas de cine

Actores Programador

Pre-condiciones

1. Haber iniciado sesión con perfil de

programador.

2. Haber creado un evento en el paso

anterior(CU 20)

Flujo normal 1. Se muestra una lista de registros de los

eventos programados.

2. El programador elige que registro desea

modificar.

3. Se muestra la pantalla de información del

evento.

4. El programador modifica la información

necesaria.

5. Presionamos el botón Guardar.

Flujo Alternativo Los datos ingresados generan conflicto.

Post-Condición Se muestra pantalla inicial del módulo de

administración de eventos Tabla 37. Caso de Uso Modificar Eventos Cine

Caso de uso 22 Eliminar evento

Descripción Permite modificar un evento que va a ser

proyectado en las salas de cine

Actores Programador

Pre-condiciones

1. Haber iniciado sesión con perfil de

programador.

2. Haber creado un evento en el paso

anterior(CU 20)

Flujo normal 1. Se muestra una lista de registros de los

eventos programados.

2. El programador elige que registro desea

eliminar.

3. Se muestra un mensaje de confirmación

para eliminar el evento.

Flujo Alternativo No existe

Post-Condición Se muestra pantalla inicial del módulo de

administración de eventos Tabla 38. Caso de Uso Eliminar Eventos Cine

Page 72: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

53

3.2.2.3.8 Caso de uso Ingreso Salas de Cine

Figura 12. Caso de Uso Ingreso Sala de Cine

Caso de uso 22 Emitir Ticket

Descripción Permite emitir un ticket para el ingreso a un

evento en las salas de cine

Actores Recepción Cine

Pre-condiciones

1. Haber iniciado sesión con perfil Recepción

cine.

2. Haberse creado un evento(CU 20)

Flujo normal 1. Se muestra una lista de registros de los

eventos programados.

2. El recepcionista elige de que evento va a

generar el ticket.

3. Se muestra la pantalla con la información

del ticket.

4. Se presiona el botón generar.

Flujo Alternativo No existe

Post-Condición Se muestra pantalla inicial del módulo de

Ingreso cine. Tabla 39. Caso de Uso Emitir Ticket Cine

3.2.2.4 Diagramas de Secuencia

Un diagrama de secuencia muestra la interacción de un conjunto de objetos en una

aplicación a través del tiempo. Esta descripción es importante porque puede dar detalle a

los casos de uso, aclarándolos al nivel de mensajes de los objetos existentes, como

también muestra el uso de los mensajes de las clases diseñadas en el contexto de una

operación.

Page 73: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

54

3.2.2.4.1 Diagrama de Secuencia Administración Usuarios

Figura 13. Diagrama de Secuencia Administración

3.2.2.4.2 Diagrama de Secuencia Donaciones

Figura 14. Diagrama de Secuencia Donación

Page 74: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

55

3.2.2.4.3 Diagrama de Secuencia Conservación

Figura 15. Diagrama de Secuencia Conservación

3.2.2.4.4 Diagrama de Secuencia Digitalización

Figura 16. Diagrama de Secuencia Digitalización

Page 75: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

56

3.2.2.4.5 Diagrama de Secuencia Catalogación

Figura 17. Diagrama de Secuencia Catalogación

Page 76: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

57

3.2.2.4.6 Diagrama de Secuencia Administración de Eventos de Cine

Figura 18. Diagrama de Secuencia Administración Eventos Cine

3.2.2.4.7 Diagrama de Secuencia Ingreso Cine

Figura 19. Diagrama de Secuencia Ingreso Cine

Page 77: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

58

3.2.2.4.8 Diagrama de Secuencia Consulta Publica

Figura 20. Diagrama de Secuencia Consulta Pública

3.2.2.5 Diseño de la Base de Datos para la Cinemateca Nacional

Una vez definidos los requerimientos del sistema y diagramados los casos de uso el

siguiente paso es la elaboración del diseño de la base de datos tanto de manera

conceptual y luego de manera física.

Page 78: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

59

Figura 21. Diagrama Conceptual Base de Datos Cinemateca Nacional

Relationship_1

Relationship_2

Relationship_3

Relationship_4

Relationship_5

Relationship_6

Relationship_7

Relationship_8

Relationship_9

Relationship_10

Relationship_11

Relationship_12

Relationship_13

Relationship_14

Relationship_15

Relationship_16

Relationship_17

Relationship_18

Relationship_19

Relationship_20

Relationship_21

Relationship_22

sead_perfiles

PERF_ID

PERF_DESCRIPCION

PERF_ESTADO

PERF_FECHA_REGISTRO

PERF_FECHA_MODIFICA

PERF_FECHA_ELIMINA

PERF_NOM_USU_ACCION

<pi> Integer

Variable characters (50)

Variable characters (15)

Date & Time

Date & Time

Date & Time

Variable characters (50)

<M>

IDENTIFIER_PERF

...

<pi>

sead_opciones_sistema

OPSI_ID

OPSI_NOMBRE

OPSI_NUM_NIVEL

OPSI_NUM_OPCION

OPSI_URL

OPSI_TITLE

OPSI_ESTADO

<pi> Integer

Variable characters (60)

Integer

Variable characters (4)

Variable characters (100)

Variable characters (100)

Variable characters (10)

<M>

IDENTIFIER_OPSI

...

<pi>

sead_opciones_sistema_perfiles

OSPE_ID

OSPE_LECT_ESCR

<pi> Integer

Integer

<M>

IDENTIFIER_OSPE

...

<pi>

sead_usuarios

USUA_ID

USUA_USUARIO

USUA_CLAVE

USUA_ESTADO

USUA_ADMIN

USUA_FECHA_REGISTRO

USUA_FECHA_MODIFICA

USUA_FECHA_ELIMINA

USUA_NOM_USU_ACCION

USUA_NOMBRES

USUA_APELLIDOS

USUA_IDENTIFICACION

USUA_EMAIL

USUA_PRIMERA_VEZ

USUA_INTERNO

USUA_DIRECCION

USUA_TELEFONO

USUA_CELULAR

<pi> Integer

Variable characters (15)

Variable characters (100)

Variable characters (15)

Variable characters (4)

Date & Time

Date & Time

Date & Time

Variable characters (50)

Variable characters (50)

Variable characters (50)

Variable characters (15)

Variable characters (50)

Variable characters (5)

Integer

Variable characters (100)

Variable characters (15)

Variable characters (15)

<M>

IDENTIFIER_USUA

...

<pi>

sead_usuarios_perfi les

USPE_ID

USPE_FECHA_ASIGNACION

USPE_ESTADO

USPE_NOM_USU_ACCION

<pi> Integer

Date & Time

Variable characters (15)

Variable characters (50)

<M>

IDENTIFIER_USPE

...

<pi>

reca_bien

BIEN_ID

BIEN_NUMERO

BIEN_TITULO

BIEN_ETAPA

DONA_FECHA_REGISTRO

DONA_COD_TIPOBIEN

DONA_DESCRIPCION

DONA_OBSERVACION

DONA_ENVIADO

DONA_NOMBRE_RECIBE

DONA_MOBRE_MODIFICA

DONA_FECHA_MODIFICA

DONA_NOMBRE_ELIMINA

DONA_FECHA_ELIMINA

DONA_ESTADO

CONS_NOMBRE_REGISTRA

CONS_FECHA_REGISTRO

CONS_ETIQUETA

CONS_TIEMPO_MIN

CONS_TIEMPO_SEG

CONS_METRAJE_MET

CONS_METRAJE_PIES

CONS_COPIAS

CONS_ROLLOS

CONS_NOMBRE_MODIFICA

CONS_FECHA_MODIFICA

CONS_ESTADO

DIAG_NOMBRE_REGISTRA

DIAG_FECHA_REGISTRA

DIAG_CORRIDO_COLOR

DIAG_ADHESIVAS

DIAG_FILM_CEMENTO

DIAG_PERFO_DANIADAS

DIAG_ACIDEZ

DIAG_CONTRACCION

DIAG_HONGOS

DIAG_ABARQUILAMIENTO

DIAG_RAYAS

DIAG_SINDROME_VINAGRE

DIAG_COLILLAS_ORIGI

DIAG_OBSERVACION

DIAG_PROYECTAR

DIAG_ADIGITALIZACION

DIAG_NOMBRE_MODIFICA

DIAG_FECHA_MODIFICA

DIAG_ESTADO

DIGI_NOMBRE_REGISTRA

DIGI_FECHA_REGISTRA

DIGI_COPIA_ANALOGICA

DIGI_NUM_COPIAS

DIGI_OBSERVACION

DIGI_DEVUELTO

DIGI_ENVIADOA

DIGI_NOMBRE_MODIFICADO

DIGI_FECHA_MODIFICADO

DIGI_ESTADO

CATA_NOMBRE_REGISTRA

CATA_FECHA_REGISTRA

CATA_SUBTITULO_BIEN

CATA_ISBN_ISSN

CATA_AUTOR_COORPORATIVO

CATA_LUGAR

CATA_EDITOR

CATA_FECHA

CATA_ENTIDAD

CATA_NUMERO

CATA_EXTENSION

CATA_COPIAS

CATA_LOCALIZACION_BODE

CATA_NOTAS

CATA_OBSERVACION_CONT

CATA_PATH_PORTADA

CATA_CODIGOS

CATA_DIRECCION

CATA_PRODUCCION

CATA_FORMATO

CATA_RESENIA

CATA_INTERPRETES

CATA_PERSONAJES

CATA_CREDITOS

CATA_LOCALIZACION

CATA_TEMA

CATA_TIEMPO

CATA_GENERO

CATA_NOMBRE_MODIFICA

CATA_FECHA_MODIFICA

CATA_ESTADO

BIEN_EN_DONACION

BIEN_EN_CONSERVACION

BIEN_EN_DIAGNOSTICO

BIEN_EN_DIGITALIZACION

BIEN_EN_CATALOGACION

<pi> Integer

Integer

Variable characters (100)

Variable characters (15)

Date & Time

Integer

Text (500)

Text (500)

Variable characters (20)

Variable characters (100)

Variable characters (100)

Date & Time

Variable characters (100)

Date & Time

Variable characters (15)

Variable characters (100)

Date & Time

Variable characters (50)

Integer

Integer

Number (10,2)

Number (10,2)

Integer

Integer

Variable characters (100)

Date & Time

Variable characters (15)

Variable characters (100)

Date & Time

Variable characters (5)

Integer

Integer

Integer

Decimal (7,2)

Decimal (7,2)

Decimal (7,2)

Variable characters (5)

Variable characters (5)

Variable characters (5)

Text (500)

Text (500)

Variable characters (5)

Variable characters (5)

Variable characters (100)

Date & Time

Variable characters (15)

Variable characters (100)

Date & Time

Variable characters (5)

Integer

Text (500)

Variable characters (5)

Variable characters (15)

Variable characters (100)

Date & Time

Variable characters (15)

Variable characters (100)

Date & Time

Variable characters (100)

Variable characters (50)

Variable characters (100)

Variable characters (100)

Variable characters (100)

Integer

Variable characters (100)

Integer

Integer

Integer

Variable characters (100)

Text (1000)

Variable characters (500)

Variable characters (100)

Variable characters (200)

Variable characters (500)

Variable characters (500)

Variable characters (100)

Text (500)

Text (500)

Text (500)

Text (500)

Variable characters (200)

Variable characters (200)

Integer

Variable characters (100)

Variable characters (100)

Date & Time

Variable characters (15)

Variable characters (5)

Variable characters (5)

Variable characters (5)

Variable characters (5)

Variable characters (5)

<M>

IDENTIFIER_DONA

...

<pi>

reca_donante

DONAN_ID

DONAN_NUMERO

DONAN_FECHA_REGISTRO

DONAN_NOMBRES

DONAN_INSTITUCION

DONAN_NUMCEDULA

DONAN_TELEFONO

DONAN_DIRECCION

DONAN_EMAIL

DONAN_ESTADO

DONAN_TIPO

<pi> Integer

Integer

Date & Time

Variable characters (100)

Variable characters (100)

Variable characters (15)

Variable characters (15)

Text (500)

Variable characters (30)

Variable characters (15)

Variable characters (15)

<M>

IDENTIFIER_DONAN

...

<pi>

reca_catalogo

CATA_ID

CATA_NOMBRE

CATA_NIVEL

CATAL_ESTADO

<pi> Integer

Variable characters (50)

Variable characters (4)

Variable characters (15)

<M>

IDENTIFIER_CATA

...

<pi>

reca_pais

PAIS_ID

PAIS_NOMBRE

PAIS_ESTADO

<pi> Integer

Variable characters (50)

Variable characters (15)

<M>

IDENTIFIER_PAIS

...

<pi>

reca_soporte

SOPO_ID

SOPO_DESCRIPCION

SOPO_ESTADO

<pi> Integer

Variable characters (50)

Variable characters (15)

<M>

IDENTIFIER_SOPOR

...

<pi>

reca_formato_soporte

FOSO_ID

FOSO_DESCRIPCION

FOSO_ESTADO

<pi> Integer

Variable characters (20)

Variable characters (15)

<M>

IDENTIFIER_FOSO

...

<pi>

reca_perforacion

PERFO_ID

PERFO_ESTADO

<pi> Integer

Variable characters (15)

<M>

IDENTIFIER_PERFO

...

<pi>

reca_sonido

SONI_ID

SONI_DESCRIPCION

SONI_ESTADO

<pi> Integer

Variable characters (20)

Variable characters (15)

<M>

IDENTIFIER_SONI

...

<pi>

reca_emulsion

EMUL_ID

EMUL_DESCRIPCION

EMUL_ESTADO

<pi> Integer

Variable characters (20)

Variable characters (15)

<M>

IDENTIFIER_EMUL

...

<pi>

reca_tipo_bien

TIBI_ID

TIBI_DESCRIPCION

TIBI_ESTADO

<pi> Integer

Variable characters (20)

Variable characters (15)

<M>

IDENTIFIER_TIBI...

<pi>

reca_formato_tipo_bien

FORTB_ID

FORTB_DESCRIPCION

FORTB_ESTADO

<pi> Integer

Variable characters (20)

Variable characters (15)

<M>

IDENTIFIER_FORTIBI

...

<pi>

reca_visitante

VISI_ID

VISI_NOMBRES

VISI_APELLIDOS

VISI_FECHA_NACIMIENTO

VISI_GENERO

VISI_EDAD

VISI_CEDULA

VISI_DIRECCION

VISI_TELEFONO

VISI_EMAIL

VISI_INSTITUCION

VISI_FECHA DE REGISTRO

<pi> Integer

Variable characters (50)

Variable characters (50)

Date & Time

Variable characters (15)

Integer

Variable characters (20)

Variable characters (100)

Variable characters (20)

Variable characters (50)

Variable characters (100)

Date & Time

<M>

IDENTIFIER_VISI

...

<pi>

reca_consulta_publica

COPU_ID

COPU_TIPO_MATERIAL

COPU_FECHA_INICIO

COPU_HORA_INICIO_VISITA

COPU_ESTADO_VISITA

COPU_EVALUACION

COPU_COMENTARIOS

COPU_FECHA_FIN_VISITA

COPU_HORA_FIN_VISITA

<pi> Integer

Variable characters (20)

Date & Time

Time

Variable characters (15)

Variable characters (15)

Text (500)

Date & Time

Time

<M>

IDENTIFIER_COPU

...

<pi>

reca_evento

EVEN_ID

EVEN_NOMBRE

EVEN_FECHA_INICIO

EVEN_FECHA_FIN

EVEN_GRATUITO

EVEN_FECHA_REGISTRO

EVEN_NOMBRE_REGISTRO

EVEN_FECHA_MODIFICA

EVEN_NOMBRE_MODIFICA

EVEN_FECHA_ELIMINA

EVEN_NOMBRE_ELIMINA

EVEN_PRECIO_MENORES

EVEN_PRECIO_ESTUDIANTES

EVEN_PRECIO_DISCAPACITADOS

EVEN_PRECIO_TER_EDAD

EVEN_PRECIO_NORMAL

EVEN_ESTADO

<pi> Integer

Variable characters (100)

Date & Time

Date & Time

Variable characters (5)

Date & Time

Variable characters (100)

Date & Time

Variable characters (100)

Date & Time

Variable characters (100)

Decimal (10,2)

Decimal (10,2)

Decimal (10,2)

Decimal (10,2)

Decimal (10,2)

Variable characters (15)

<M>

IDENTIFIER_EVEN

...

<pi>

reca_sala_cine

SACI_ID

SACI_NOMBRE

SACI_CAPACIDAD

SACI_ESTADO

<pi> Integer

Variable characters (150)

Integer

Variable characters (15)

<M>

IDENTIFIER_SACI

...

<pi>

reca_detalle_evento

DEVE_ID

DEVE_TITULO_PELICULA

DEVE_FECHA_PELICULA

DEVE_HORA_PELICULA

DEVE_FECHA_HORA_PELI

DEVE_NUMERO_TIKETS

DEVE_CANT_MENORES

DEVE_CANT_ESTUDIANTES

DEVE_CANT_DISCAPACITADOS

DEVE_CANT_TER_EDAD

DEVE_CANT_NORMAL

DEVE_FECHA_ULT_TIKET

<pi> Integer

Variable characters (100)

Date

Time

Date & Time

Integer

Integer

Integer

Integer

Integer

Integer

Date & Time

<M>

IDENTIFIER_DEEV

...

<pi>

Page 79: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

60

Figura 22. Diagrama Físico de la Base de Datos de la Cinemateca Nacional

FK_SEAD_OPC_RELATIONS_SEAD_OPC

FK_SEAD_OPC_RELATIONS_SEA_OPC

FK_SEAD_OPC_RELATIONS_SEAD_PER

FK_SEAD_USU_RELATIONS_SEAD_USU

FK_SEAD_USU_RELATIONS_SEAD_PER

FK_RECA_CAT_RELATIONS_RECA_CAT

FK_RECA_BIE_RELATIONS_SEAD_USU

FK_RECA_BIE_RELATIONS_RECA_DON

FK_RECA_FOR_RELATIONS_RECA_SOP

FK_RECA_BIE_RELATIONS_RECA_PAI

FK_RECA_BIE_RELATIONS_RECA_FOR

FK_RECA_BIE_RELATIONS_RECA_PER

FK_RECA_BIE_RELATIONS_RECA_SON

FK_RECA_BIE_RELATIONS_RECA_EMU

FK_RECA_FOR_RELATIONS_RECA_TIP

FK_RECA_BIE_RELATIONS_RECA_FTB

FK_RECA_CON_RELATIONS_RECA_VIS

FK_RECA_CON_RELATIONS_RECA_BIE

FK_RECA_EVE_RELATIONS_RECA_SAL

FK_RECA_DET_RELATIONS_RECA_EVE

FK_RECA_EVE_RELATIONS_SEAD_USU

FK_RECA_DET_RELATIONS_RECA_BIE

sead_perfiles

PERF_ID

PERF_DESCRIPCION

PERF_ESTADO

PERF_FECHA_REGISTRO

PERF_FECHA_MODIFICA

PERF_FECHA_ELIMINA

PERF_NOM_USU_ACCION

...

INT4

VARCHAR(50)

VARCHAR(15)

DATE

DATE

DATE

VARCHAR(50)

<pk>

sead_opciones_sistema

OPSI_ID

sea_OPSI_ID

OPSI_NOMBRE

OPSI_NUM_NIVEL

OPSI_NUM_OPCION

OPSI_URL

OPSI_TITLE

OPSI_ESTADO

...

INT4

INT4

VARCHAR(60)

INT4

VARCHAR(4)

VARCHAR(100)

VARCHAR(100)

VARCHAR(10)

<pk>

<fk>

sead_opciones_sistema_perfiles

OSPE_ID

OPSI_ID

PERF_ID

OSPE_LECT_ESCR

...

INT4

INT4

INT4

INT4

<pk>

<fk1>

<fk2>

sead_usuarios

USUA_ID

USUA_USUARIO

USUA_CLAVE

USUA_ESTADO

USUA_ADMIN

USUA_FECHA_REGISTRO

USUA_FECHA_MODIFICA

USUA_FECHA_ELIMINA

USUA_NOM_USU_ACCION

USUA_NOMBRES

USUA_APELLIDOS

USUA_IDENTIFICACION

USUA_EMAIL

USUA_PRIMERA_VEZ

USUA_INTERNO

USUA_DIRECCION

USUA_TELEFONO

USUA_CELULAR

...

INT4

VARCHAR(15)

VARCHAR(100)

VARCHAR(15)

VARCHAR(4)

DATE

DATE

DATE

VARCHAR(50)

VARCHAR(50)

VARCHAR(50)

VARCHAR(15)

VARCHAR(50)

VARCHAR(5)

INT4

VARCHAR(100)

VARCHAR(15)

VARCHAR(15)

<pk>

sead_usuarios_perfi les

USPE_ID

PERF_ID

USUA_ID

USPE_FECHA_ASIGNACION

USPE_ESTADO

USPE_NOM_USU_ACCION

...

INT4

INT4

INT4

DATE

VARCHAR(15)

VARCHAR(50)

<pk>

<fk2>

<fk1>

reca_bien

BIEN_ID

EMUL_ID

DONAN_ID

FOSO_ID

SONI_ID

USUA_ID

PERFO_ID

FORTB_ID

PAIS_ID

BIEN_NUMERO

BIEN_TITULO

BIEN_ETAPA

DONA_FECHA_REGISTRO

DONA_COD_TIPOBIEN

DONA_DESCRIPCION

DONA_OBSERVACION

DONA_ENVIADO

DONA_NOMBRE_RECIBE

DONA_MOBRE_MODIFICA

DONA_FECHA_MODIFICA

DONA_NOMBRE_ELIMINA

DONA_FECHA_ELIMINA

DONA_ESTADO

CONS_NOMBRE_REGISTRA

CONS_FECHA_REGISTRO

CONS_ETIQUETA

CONS_TIEMPO_MIN

CONS_TIEMPO_SEG

CONS_METRAJE_MET

CONS_METRAJE_PIES

CONS_COPIAS

CONS_ROLLOS

CONS_NOMBRE_MODIFICA

CONS_FECHA_MODIFICA

CONS_ESTADO

DIAG_NOMBRE_REGISTRA

DIAG_FECHA_REGISTRA

DIAG_CORRIDO_COLOR

DIAG_ADHESIVAS

DIAG_FILM_CEMENTO

DIAG_PERFO_DANIADAS

DIAG_ACIDEZ

DIAG_CONTRACCION

DIAG_HONGOS

DIAG_ABARQUILAMIENTO

DIAG_RAYAS

DIAG_SINDROME_VINAGRE

DIAG_COLILLAS_ORIGI

DIAG_OBSERVACION

DIAG_PROYECTAR

DIAG_ADIGITALIZACION

DIAG_NOMBRE_MODIFICA

DIAG_FECHA_MODIFICA

DIAG_ESTADO

DIGI_NOMBRE_REGISTRA

DIGI_FECHA_REGISTRA

DIGI_COPIA_ANALOGICA

DIGI_NUM_COPIAS

DIGI_OBSERVACION

DIGI_DEVUELTO

DIGI_ENVIADOA

DIGI_NOMBRE_MODIFICADO

DIGI_FECHA_MODIFICADO

DIGI_ESTADO

CATA_NOMBRE_REGISTRA

CATA_FECHA_REGISTRA

CATA_SUBTITULO_BIEN

CATA_ISBN_ISSN

CATA_AUTOR_COORPORATIVO

CATA_LUGAR

CATA_EDITOR

CATA_FECHA

CATA_ENTIDAD

CATA_NUMERO

CATA_EXTENSION

CATA_COPIAS

CATA_LOCALIZACION_BODE

CATA_NOTAS

CATA_OBSERVACION_CONT

CATA_PATH_PORTADA

CATA_CODIGOS

CATA_DIRECCION

CATA_PRODUCCION

CATA_FORMATO

CATA_RESENIA

CATA_INTERPRETES

CATA_PERSONAJES

CATA_CREDITOS

CATA_LOCALIZACION

CATA_TEMA

CATA_TIEMPO

CATA_GENERO

CATA_NOMBRE_MODIFICA

CATA_FECHA_MODIFICA

CATA_ESTADO

BIEN_EN_DONACION

BIEN_EN_CONSERVACION

BIEN_EN_DIAGNOSTICO

BIEN_EN_DIGITALIZACION

BIEN_EN_CATALOGACION

...

INT4

INT4

INT4

INT4

INT4

INT4

INT4

INT4

INT4

INT4

VARCHAR(100)

VARCHAR(15)

DATE

INT4

TEXT

TEXT

VARCHAR(20)

VARCHAR(100)

VARCHAR(100)

DATE

VARCHAR(100)

DATE

VARCHAR(15)

VARCHAR(100)

DATE

VARCHAR(50)

INT4

INT4

NUMERIC(10,2)

NUMERIC(10,2)

INT4

INT4

VARCHAR(100)

DATE

VARCHAR(15)

VARCHAR(100)

DATE

VARCHAR(5)

INT4

INT4

INT4

DECIMAL(7,2)

DECIMAL(7,2)

DECIMAL(7,2)

VARCHAR(5)

VARCHAR(5)

VARCHAR(5)

TEXT

TEXT

VARCHAR(5)

VARCHAR(5)

VARCHAR(100)

DATE

VARCHAR(15)

VARCHAR(100)

DATE

VARCHAR(5)

INT4

TEXT

VARCHAR(5)

VARCHAR(15)

VARCHAR(100)

DATE

VARCHAR(15)

VARCHAR(100)

DATE

VARCHAR(100)

VARCHAR(50)

VARCHAR(100)

VARCHAR(100)

VARCHAR(100)

INT4

VARCHAR(100)

INT4

INT4

INT4

VARCHAR(100)

TEXT

VARCHAR(500)

VARCHAR(100)

VARCHAR(200)

VARCHAR(500)

VARCHAR(500)

VARCHAR(100)

TEXT

TEXT

TEXT

TEXT

VARCHAR(200)

VARCHAR(200)

INT4

VARCHAR(100)

VARCHAR(100)

DATE

VARCHAR(15)

VARCHAR(5)

VARCHAR(5)

VARCHAR(5)

VARCHAR(5)

VARCHAR(5)

<pk>

<fk7>

<fk2>

<fk4>

<fk6>

<fk1>

<fk5>

<fk8>

<fk3>

reca_donante

DONAN_ID

DONAN_NUMERO

DONAN_FECHA_REGISTRO

DONAN_NOMBRES

DONAN_INSTITUCION

DONAN_NUMCEDULA

DONAN_TELEFONO

DONAN_DIRECCION

DONAN_EMAIL

DONAN_ESTADO

DONAN_TIPO

...

INT4

INT4

DATE

VARCHAR(100)

VARCHAR(100)

VARCHAR(15)

VARCHAR(15)

TEXT

VARCHAR(30)

VARCHAR(15)

VARCHAR(15)

<pk>

reca_catalogo

CATA_ID

rec_CATA_ID

CATA_NOMBRE

CATA_NIVEL

CATAL_ESTADO

...

INT4

INT4

VARCHAR(50)

VARCHAR(4)

VARCHAR(15)

<pk>

<fk>

reca_pais

PAIS_ID

PAIS_NOMBRE

PAIS_ESTADO

...

INT4

VARCHAR(50)

VARCHAR(15)

<pk>

reca_soporte

SOPO_ID

SOPO_DESCRIPCION

SOPO_ESTADO

...

INT4

VARCHAR(50)

VARCHAR(15)

<pk>

reca_formato_soporte

FOSO_ID

SOPO_ID

FOSO_DESCRIPCION

FOSO_ESTADO

...

INT4

INT4

VARCHAR(20)

VARCHAR(15)

<pk>

<fk>

reca_perforacion

PERFO_ID

PERFO_ESTADO

INT4

VARCHAR(15)

<pk>

reca_sonido

SONI_ID

SONI_DESCRIPCION

SONI_ESTADO

...

INT4

VARCHAR(20)

VARCHAR(15)

<pk>

reca_emulsion

EMUL_ID

EMUL_DESCRIPCION

EMUL_ESTADO

...

INT4

VARCHAR(20)

VARCHAR(15)

<pk>

reca_tipo_bien

TIBI_ID

TIBI_DESCRIPCION

TIBI_ESTADO

...

INT4

VARCHAR(20)

VARCHAR(15)

<pk>

reca_formato_tipo_bien

FORTB_ID

TIBI_ID

FORTB_DESCRIPCION

FORTB_ESTADO

...

INT4

INT4

VARCHAR(20)

VARCHAR(15)

<pk>

<fk>

reca_visitante

VISI_ID

VISI_NOMBRES

VISI_APELLIDOS

VISI_FECHA_NACIMIENTO

VISI_GENERO

VISI_EDAD

VISI_CEDULA

VISI_DIRECCION

VISI_TELEFONO

VISI_EMAIL

VISI_INSTITUCION

VISI_FECHA DE REGISTRO

...

INT4

VARCHAR(50)

VARCHAR(50)

DATE

VARCHAR(15)

INT4

VARCHAR(20)

VARCHAR(100)

VARCHAR(20)

VARCHAR(50)

VARCHAR(100)

DATE

<pk>

reca_consulta_publica

COPU_ID

BIEN_ID

VISI_ID

COPU_TIPO_MATERIAL

COPU_FECHA_INICIO

COPU_HORA_INICIO_VISITA

COPU_ESTADO_VISITA

COPU_EVALUACION

COPU_COMENTARIOS

COPU_FECHA_FIN_VISITA

COPU_HORA_FIN_VISITA

...

INT4

INT4

INT4

VARCHAR(20)

DATE

TIME

VARCHAR(15)

VARCHAR(15)

TEXT

DATE

TIME

<pk>

<fk2>

<fk1>

reca_evento

EVEN_ID

SACI_ID

USUA_ID

EVEN_NOMBRE

EVEN_FECHA_INICIO

EVEN_FECHA_FIN

EVEN_GRATUITO

EVEN_FECHA_REGISTRO

EVEN_NOMBRE_REGISTRO

EVEN_FECHA_MODIFICA

EVEN_NOMBRE_MODIFICA

EVEN_FECHA_ELIMINA

EVEN_NOMBRE_ELIMINA

EVEN_PRECIO_MENORES

EVEN_PRECIO_ESTUDIANTES

EVEN_PRECIO_DISCAPACITADOS

EVEN_PRECIO_TER_EDAD

EVEN_PRECIO_NORMAL

EVEN_ESTADO...

INT4

INT4

INT4

VARCHAR(100)

DATE

DATE

VARCHAR(5)

DATE

VARCHAR(100)

DATE

VARCHAR(100)

DATE

VARCHAR(100)

DECIMAL(10,2)

DECIMAL(10,2)

DECIMAL(10,2)

DECIMAL(10,2)

DECIMAL(10,2)

VARCHAR(15)

<pk>

<fk1>

<fk2>

reca_sala_cine

SACI_ID

SACI_NOMBRE

SACI_CAPACIDAD

SACI_ESTADO...

INT4

VARCHAR(150)

INT4

VARCHAR(15)

<pk>

reca_detalle_evento

DEVE_ID

BIEN_ID

EVEN_ID

DEVE_TITULO_PELICULA

DEVE_FECHA_PELICULA

DEVE_HORA_PELICULA

DEVE_FECHA_HORA_PELI

DEVE_NUMERO_TIKETS

DEVE_CANT_MENORES

DEVE_CANT_ESTUDIANTES

DEVE_CANT_DISCAPACITADOS

DEVE_CANT_TER_EDAD

DEVE_CANT_NORMAL

DEVE_FECHA_ULT_TIKET

...

INT4

INT4

INT4

VARCHAR(100)

DATE

TIME

DATE

INT4

INT4

INT4

INT4

INT4

INT4

DATE

<pk>

<fk2>

<fk1>

Page 80: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

61

3.2.3 Desarrollo del sistema

Para la realización del sistema seguiremos el modelo de arquitectura JEE, la cual está

diseñada en capas, lo cual permite construir el sistema de manera modular

3.2.3.1 Arquitectura del sistema

3.2.3.1.1 Plataforma Java Enterprise Edition

La arquitectura planteada en el Sistema está basada en la plataforma Java Enterprise

Edition (JEE) 6.0.

Desde un punto de vista general la arquitectura planteada se puede describir de la

siguiente manera:

Figura 23. Arquitectura en 3 capas Sistema Cinemateca

Un servidor de aplicaciones JEE está constituido de un contenedor Web y un contenedor

EJB, además de otros servicios adicionales. Este servidor contendrá toda la aplicación,

formando lo que se conoce como Capa Media. Es en ésta capa física donde reside toda la

lógica del negocio de la aplicación. Los clientes, que pueden ser browsers, acceden a

esta capa a través del contenedor Web.

Page 81: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

62

El contenedor Web es el responsable de construir la capa de presentación que será

entregada a los clientes y de ejecutar las acciones de negocio utilizando los componentes

existentes como Enterprise JavaBeans.

El contenedor EJB es el responsable de ejecutar toda la lógica del negocio y de

relacionarse con otros sistemas de información empresariales, como bases de datos o

sistemas legados.

3.2.3.2 Arquitectura por capas

La arquitectura de la aplicación se puede dividir en varias capas lógicas que tienen su

correspondiente implementación utilizando la especificación JEE 6.

Capa de Datos: El paquete entitybean del proyecto cinematecaEJB contiene la

definición de las clases Entidades JPA responsables del mapeo Objeto/Relacional de la

base de datos.

Figura 24. Clases en Capa de datos

Page 82: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

63

Capa de Negocio: contiene los EJBs responsables de implementar la lógica de los casos

de uso de la aplicación. Bajo la especificación EJB 3.1 son componentes Singlenton los

mismos que pueden ser compartidos por muchos clientes, es decir, una y solo una

instancia es creada.

Figura 25. Clases de la capa de Negocio

Capa Web: La capa de presentación Web se ha implementado utilizando el framework

JSF(Java Server Faces 2.0). Se ha empleado Facelets como tecnología para la definición

de las vistas en lugar de páginas JSP(Java Server Pages), en primer lugar por ser la

tecnología por defecto para JSF 2.0 y por la facilidades que ofrece para definir y manejar

plantillas.

Las responsabilidades de la capa web basada en JSF se distribuyen entre tres

componentes:

Paginas JSF: ficheros XHTML (en el caso de emplear Facelets) donde se define la

disposición y propiedades de los componentes JSF de la presentación web.

ManagedBeans: clases Java que proveen los datos a presentar en las páginas JSF y los

métodos invocados por las acciones desencadenas por los eventos de la página JSF.

Fichero faces-config.xml: define los ManagedBeans que conforman la aplicación JSF y

su alcance (sesión, petición, aplicación). Define las reglas de navegación que en

conjunción con los valores de retorno de los métodos de acción de estos ManagedBeans

Page 83: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

64

determinan el flujo entre las páginas JSF.

3.2.4 REQUERIMIENTOS MÍNIMOS DE SOFTWARE Y HARDWARE

Para realizar una correcta instalación de los programas requeridos y para un rendimiento

óptimo del sistema se debe tomaren cuenta las características mínimas de software y

hardware.

Figura 26. Capa web sistema cienmateca

Page 84: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

65

Servidor Web

Hardware

Procesador Intel Core 2 Duo

Memoria RAM 4 GB

Disco Duro 100 GB

Puerto de Red Ethertnet

Software

Sistema Operativo Fedora 21 Linux

Motor Base de Datos Postgres 9.0 o superior

Servidor de Aplicaciones JBoss 7.1.1 Final

JDK 1.6.0_29 Tabla 40. Requerimientos Hardware y Software en Servidor

Cliente

Hardware

Procesador Intel Core 2 Duo

Memoria RAM 2 GB

Disco Duro 50 GB

Puerto de Red Ethertnet

Software Sistema Operativo Cualquiera

Navegador Web Soporte JavaScript Tabla 41. Requerimientos Hardware y Software en Cliente

Page 85: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

66

3.2.5 Cronograma del Proyecto

ACTIVIDAD/FECHA May-15 Jun-15 Jul-15 Ago-15 Sept-15 Oct-15

1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4

1. Revisión Bibliográfica

2. Selección y formulación del tema

3. Desarrollo del capítulo 1: EL PROBLEMA

4. Desarrollo del capítulo 2: REVISION

BIBLIOGRAFICA

5. Desarrollo del capítulo 3: METODOLOGÍA Y

DESAROLLO

6. Desarrollo del capítulo 4:CONCLUSIONES Y

RECOMENDACIONES

7. BIBLIOGRAFIA

8. Entrega del Primer Borrador

9. Revisión del trabajo borrador

10. Corrección del Informe

11. Presentación del informe final

12. Defensa del trabajo de Grado

Page 86: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

67

CAPITULO 4

4 CONCLUSIONES Y RECOMENDACIONES

4.1 Conclusiones

En el desarrollo del sistema acerca a la Casa de la Cultura Ecuatoriana a contar con

toda una infraestructura tecnológica para un manejo adecuado de la información,

que en la mayoría de casos es de gran importancia histórica para el País.

La implementación del Sistema en mención permitió a la Casa de la Cultura

Ecuatoriana cumplir con los requerimientos gubernamentales, al gestionar la

información de una manera eficiente un una base de datos unificada logrando una

mayor integridad y respaldo de la información.

Un levantamiento adecuado de los requerimientos del sistema permite que el

resultado final cubra la mayoría de las necesidades de los empleados de la entidad,

convirtiéndose así como la fase más importante en el desarrollo.

La aplicación web brinda todas las seguridades necesarias para el manejo de la

información generando la confianza suficiente en los empleados de la institución

mejorando de esta manera su ambiente laboral.

Se logró una mejor gestión ya que al ser un aplicativo web se puede acceder desde

cualquier dispositivo con un navegador compatible y acceso a la red.

Page 87: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

68

4.2 Recomendaciones

Se recomienda a la Casa de la Cultura Ecuatoriana los aspectos descritos en los

siguientes puntos:

Crear una adecuada política de respaldo de información de manera que se pueda

afrontar cualquier problema que pueda afectar la integridad de la misma.

Asignación de un equipo con conocimientos de informática el cual dará un

mantenimiento periódico a la aplicación de manera que se pueda prever algún tipo

de mal funcionamiento o mala utilización que pueda causar la denegación de los

servicios.

Crear el acceso vía web hacia el aplicativo de manera que el usuario pueda

ingresar y hacer uso de la misma desde cualquier lugar con acceso a internet.

Una capacitación adecuada de manera que los usuarios finales puedan hacer uso

del sistema de una forma eficiente.

Page 88: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

69

4.3 GLOSARIO DE TÉRMINOS

A

Ajax: es un conjunto de tecnologías que trabajan juntas para mejorar la experiencia del

usuario. Permite que una página web que ya ha sido cargada solicite nueva información

al servidor.

API: Es un conjunto de funciones que permite al programador acceder a servicios de

una aplicación a través del uso de un lenguaje de programación.

B

Base de Datos (BD): es un almacén de información en la cual se puede guardar datos de

manera estructurada, con la menor redundancia posible.

C

Casa de la Cultura Ecuatoriana (CCE): Institución autónoma de gestión cultural en la

República del Ecuador. Funciona desde el año 1944.

Cliente: Persona que tiene acceso a la aplicación con la intención de utilizar sus

servicios.

CSS: hojas de Estilos en Cascada, conjunto de reglas de formato que determinan el

aspecto del contenido de una página Web.

E

EJB: Son una de las API que forman parte del estándar de construcción de aplicaciones

empresariales J2EE la cual detalla cómo los servidores de aplicaciones proveen objetos

desde el lado del servidor

Page 89: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

70

F

Framework: Es un conjunto estandarizado de conceptos, prácticas y criterios para

enfocar un tipo de problemática particular que sirve como referencia, para enfrentar y

resolver nuevos problemas de índole similar.

G

GUI: (interfaz gráfica de usuario) es un programa informático que actúa como el

intérprete entre el usuario y el sistema proporcionando un entorno visual sencillo para

permitir la comunicación.

H

HTML: Es un lenguaje estándar que sirve de referencia para la elaboración de páginas

web en sus diferentes versiones, define una estructura básica y código para la definición

de contenido de una página web

I

Internet: Conjunto descentralizado de redes de comunicación interconectadas de

manera que las redes físicas heterogéneas que la componen funcionen como una red

lógica única, de alcance mundial.

J

JavaServer Faces: Es una tecnología para aplicaciones Java basadas en web que

simplifica el desarrollo de interfaces de usuario.

JEE: Es una plataforma de programación parte de la Plataforma Java para desarrollar y

ejecutar software de aplicaciones en el lenguaje de programación Java.

Java Virtual Machine JVM: Es una máquina virtual ejecutable en una plataforma

específica, capaz de interpretar y ejecutar instrucciones expresadas en el bytecode Java,

generado por el compilador del lenguaje Java.

Page 90: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

71

M

MVC: es un patrón de arquitectura de software que separa los datos y la lógica de

negocio de una aplicación de la interfaz de usuario y el módulo encargado de gestionar

los eventos y las comunicaciones.

P

PDF: Formato de Documento Portátil. Es un formato de almacenamiento de

documentos digitales independiente de plataformas de software o hardware.

Persistencia: Acción de preservar la información de forma permanente, de manera que

pueda ser nuevamente utilizada.

S

Servidor de aplicación: Software que proporciona aplicaciones a los clientes, a través

de una red. Estos servidores usan contenido e integración con bases de datos.

SQL: Lenguaje declarativo de acceso a bases de datos relacionales permitiendo realizar

diferentes operaciones sobre ellas con la finalidad de extraer los datos de las mismas.

T

Template: Archivos de un sitio web que permite determinar la estructura y su aspecto

visual disminuyendo tiempos y costos de desarrollo.

Page 91: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

72

4.4 Bibliografía

1. blogspot. (2010). Recuperado el 1 de Agosto de 2015, de

http://prograweb2koutaro.blogspot.com/2010_09_01_archive.html

2. Ayala, J. M. (s.f.). blogspot. Recuperado el 25 de Junio de 2015, de

http://jmaw.blogspot.com/2013/01/arquitectura-de-aplicaciones-web-

capa_6972.html

3. Deitel, P., & Deitel, H. (2012). Como Progrmar en Java Novena Edicion. Mexico:

Pearson Educación.

4. Eskalon. (s.f.). eskalon. Recuperado el 20 de Julio de 2015, de

http://eskalon.com/eskalon/eskanet/subsecciones/15

5. Garret, J. (11 de Junio de 2005). maestrosdelweb. Recuperado el 28 de Julio de

2015, de http://www.maestrosdelweb.com/ajax/

6. Jendrock, E., Jennifer, B., & Debbie, C. (Septiembre de 2010). oracle. Recuperado

el 10 de Julio de 2015, de http://docs.oracle.com/javaee/5/tutorial/doc/

7. Oracle. (s.f.). oracle. Recuperado el 30 de Julio de 2015, de http://www Pucha, J.

(2015). dspace. Recuperado el 30 de Julio de 2015, de UCE:

http://www.dspace.uce.edu.ec/bitstream/25000/4201/1/T-UCE-0011-128.pdf

8. Somerville, I. (2005). Ingeniería de Software. Madrid: Pearson Educacion.

9. Suronline. (s.f.). suronline. Recuperado el 15 de Julio de 2015, de suronline:

http://www.suronline.net/nuevo_sitio/beneficios-funcionamiento-aplicaciones-

web.asp

10. Troitino, N. (2012). Blogspot. Recuperado el 25 de Junio de 2015, de

http://ingenexescom.blogspot.com/2012/02/modelo-en-cascada.html

11. tutorialspoint. (s.f.). Recuperado el 30 de Julio de 2015, de

http://www.tutorialspoint.com/es/jpa/jpa_introduction.htm

Page 92: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

73

ANEXOS

Page 93: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

74

ANEXO A

CERTIFICADO DE ACEPTACIÓN DE LA CASA DE LA CULTURA

ECUATORIANA

Page 94: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

75

ANEXO B

MANUAL DE USUARIO

INGRESO AL SISTEMA

Una vez iniciado el servidor podemos abrir un navegador web e ingresar la URL:

http://localhost:8080/cinematecaWeb/paginas/inicio.jsf y se mostrará una página

como la imagen a continuación:

El usuario ingresara al sistema con su respectiva información de acceso colocando su

nombre de usuario y contraseña correspondientes y a continuación haciendo clic en el

botón ingresar.

Aparecerá una pantalla con los diferentes vínculos a cada módulo de la cinemateca. El

usuario tendrá acceso únicamente a las opciones configuradas en su perfil de usuario.

En este caso el ejercicio será realizado como súper usuario para tener acceso a todas

opciones del sistema.

Page 95: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

76

Para acceder a las opciones de cada módulo el usuario deberá hacer clic en el respectivo

vínculo representado como casilleros en la parte central de la pantalla a la cual

llamaremos Panel de Control

Una vez seleccionado una categoría las opciones del módulo serán mostradas en forma

de menú en la parte izquierda de la ventana. Además del respectivo vínculo para

finalizar la sesión de usuario.

A continuación describiremos una a una las opciones que abarca cada uno de los

módulos.

MODULO ADMINISTRACION

Usaremos el vínculo ADMIN en el Panel de Control lo cual nos llevará a la siguiente

ventana.

Page 96: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

77

En este módulo se permite administrar:

Catálogos de la base de datos del sistema.

Usuarios y Perfiles de Usuario.

Programación de Eventos en la salas de Cine.

Administración Catálogos de la Base de Datos.

Los catálogos que podremos administrar es decir eliminar o crear son los siguientes.

Salas de Cine

Al hacer clic en el vinculo salas de cine se mostrará la siguiente pantalla.

En donde podemos refrescar la lista de resgistros existentes de Salas de Cine

usando el botón Consultar Salas de Cine o Registrar una nueva sal de cine

usando el boton Agregar Registro.

Además el usuario podra editar o eliminar algun regristro usando los iconos

mostrados en la derecha de cada registro.

Al hacer clic en Agregar registro se mostrará la siguiente pantalla:

Page 97: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

78

El usuario ingresará la Información requerida si desea guardarla presionara el

botón guardar caso contrario presionará el boton cancelar.

País

Al hacer clic en el vinculo País se mostrará la siguiente pantalla.

En donde podemos refrescar la lista de resgistros existentes de Salas de Cine

usando el botón Consultar Paises o Registrar una nueva sal de cine usando el

boton Agregar Registro.

Además el usuario podra editar o eliminar algun regristro usando los iconos

mostrados en la derecha de cada registro.

Al hacer clic en Agregar registro se mostrará la siguiente pantalla:

El usuario ingresará la Información requerida y presionara el botón guardar caso

contrario presionará el boton cancelar.

Soporte

Al hacer clic en el vinculo salas de cine se mostrará la siguiente pantalla.

Page 98: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

79

En donde podemos refrescar la lista de resgistros existentes de Salas de Cine

usando el botón Consultar Soporte o Registrar una nueva sal de cine usando el

boton Agregar Registro.

Además el usuario podra editar o eliminar algun regristro usando los iconos

mostrados en la derecha de cada registro.

Al hacer clic en Agregar registro se mostrará la siguiente pantalla:

El usuario ingresará la Información requerida si desea guardarla presionara el

botón guardar caso contrario presionará el boton cancelar.

Usuarios y Perfiles de Usuario.

Para la administración de perfiles de usuario y usuarios hacemos clic en los vínculos

de la sección Administrar Perfiles de Usuario del menú derecho.

Perfiles de Usuario.

Al utilizar el vínculo de Perfiles se mostrará la siguiente pantalla

Page 99: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

80

Se puede buscar un perfil existente escribiendo el nombre del perfil si no existe

podemos crear un nuevo perfil asignando estado Activo o Inactivo y luego usando el

botón Agregar registro y el perfil creado aparecerá en la lista de perfiles.

Cada registro tendrá un botón para editar el perfil, eliminar un perfil y para configurar

un perfil.

Configuración de Perfil

Al presionar el botón de configuración de perfil podremos asignar las opciones

necesarias para un perfil creado mediante la siguiente pantalla.

1. Seleccionamos el Modulo del cual asignaremos el permiso al perfil.

2. Seleccionamos las opciones del módulo seleccionado y en la tabla de Sub

opciones disponibles aparecerán las acciones del módulo.

Page 100: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

81

3. El usuario seleccionará las opciones que desee asignar al perfil creado y estas

opciones aparecerán en la tabla de Sub opciones asignadas.

4. De igual manera al modificar un perfil se mostrará la misma pantalla y el usuario

eliminará el permiso de la tabla Sub opciones Asignadas.

Creación de Usuarios.

Para la creación de usuarios se dispondrá de la siguiente pantalla

En donde se muestra campos para poder realizar la búsqueda de un usuario en

especial mediante sus nombres, apellidos o identificación, o al presionar el botón

Buscar Usuarios se despliega la lista de todos los usuarios del sistema con su

respectivo perfil y botones para editar, eliminar, o asignar un perfil, cabe señalar que

un usuario no podrá contar con dos perfiles al mismo tiempo. La edición de nombre

de usuario y contraseña se la realizara en la misma tabla de registro.

Para crear un usuario presionamos el botón Agregar usuario y aparecerá la

siguiente pantalla.

Page 101: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

82

Se ingresará la información correspondiente tomando en cuenta que todos los

campos son obligatorios y la contraseña debe ser alfanumérica, contener una

mayúscula y mínimo 6 caracteres. Para almacenar la información presionamos el

botón Guardar.

Una vez creado el usuario utilizamos el botón Configurar Perfil en la lista de

usuarios y aparecerá a siguiente pantalla.

En donde seleccionamos el perfil a ser asignado de la lista desplegable y

presionamos el botón asignar perfil.

Si el usuario ya tenía un perfil asignado primero lo debemos Inactivar Perfil Para

poder asignar un perfil nuevo.

En la tabla inferior se muestra un historial de perfiles asignados al usuario.

Cerramos la ventana y la información se guardará.

Page 102: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

83

EVENTOS

Un evento se considera a la programación de la proyección de películas en las salas

de cine, para lo cual se tiene la siguiente pantalla.

En esta pantalla el usuario podrá realizar una búsqueda de los eventos que hayan

sido programados en un intervalo de tiempo llenando los campos Desde Hasta o

crear un nuevo evento.

Nuevo Evento

Presionamos el botón Nuevo evento y se despliega la siguiente ventana.

El usuario llenara los datos relacionados al evento, estableciendo las fechas de inicio

y finalización del mismo y la sala donde se llevara a cabo.

Page 103: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

84

Se podrá elegir si el evento es o no gratuito, si no lo es aparecerán campos

adicionales para establecer el valor de las entradas como se muestra en la siguiente

pantalla.

Se presiona el botón guardar para almacenar la información.

Para establecer horarios de películas presionamos el botón de modificar evento en la

pantalla principal y nos mostrará la siguiente pantalla

El usuario podrá programar películas desde el Catalogo o películas que no sean

parte del catálogo para eso se dispone de dos Pestañas, Películas Internas y Películas

Externas.

Para programar las películas del Catálogo usaremos la pestaña Películas Internas

mostrándose la pantalla anterior.

Hacemos clic en el botón Agregar Película y aparecerá la siguiente pantalla.

Page 104: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

85

Donde el usuario elegirá la película desde la lista desplegable, establecer el día y la

hora de proyección. Presionamos el botón guardar.

Para películas que no son parte del catálogo nos ubicamos en la pestaña Películas

Externas mostrándose la siguiente pantalla.

Hacemos clic en el botón Agregar Película y aparecerá la siguiente pantalla.

Donde el usuario Ingresará el título de las películas, y podrá establecer el día y la

hora de proyección. Presionamos el botón guardar.

MODULO DONACION

En el módulo donación disponemos de las siguientes opciones de menú.

Page 105: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

86

En este módulo para receptar una donación primero debemos registrar al donante.

Registro de Donantes

Al hacer clic en el vínculo Donantes se mostrará la siguiente pantalla.

Donde se mostrará una lista de todos los donantes y además de un campo para poder

buscar a un donante en especial.

Agregar Donante

En la pantalla anterior hacemos clic en el botón Agregar donante aparecerá la

siguiente ventana.

Page 106: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

87

Se elegirá el tipo de donante que se registrará apareciendo los campos dependiendo

de la selección.

El usuario llenara los campos con la información del donante y presionamos el

botón guardar.

Registrar Donación

Una vez registrado el donante ahora registraremos el bien donado para eso hacemos

clic en el vínculo donaciones del menú de este módulo se mostrara la siguiente

pantalla

Aparece una lista de todas las donaciones anteriores el usuario podrá buscar una

lista de donaciones en un intervalo de tiempo y por tipo de bien donado.

Page 107: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

88

Para registrar una nueva donación hacemos clic en el botón Registrar Donación y

aparecerá la siguiente ventana

El usuario registrará la información del bien ingresado, elegirá al siguiente proceso

donde será enviado el bien y buscara al donante previamente registrado utilizando

el campo buscar donante para de esta forma asignar la donación y presionamos el

botón guardar.

A continuación Regresamos a la pantalla principal del módulo Donación en donde

aparecerá el registro de la donación con el botón para generar el recibido de la

misma.

Page 108: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

89

El recibido desplegado en formato pdf es el siguiente

MODULO CONSERVACIÓN

En este módulo se registrarán todos los bienes del tipo fílmico que son enviados

desde el módulo de donación. El menú del módulo de conservación es el siguiente:

Page 109: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

90

Primero se registraran el ingreso de un bien a conservación, para eso usaremos el

vínculo Registrar lo que nos mostrara la siguiente pantalla.

El usuario puede buscar un bien específico usando el campo Titulo del bien o filtrar

los registros por un título o parte de un título.

Una vez localizado el bien a registrar presionamos el botón lo que nos mostrará

la siguiente pantalla

Page 110: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

91

Donde el usuario ingresara la información de registro del bien el cual

automáticamente pasa a la siguiente etapa que es la de diagnosticar

Al utilizar el vínculo Diagnosticar del menú de este módulo se mostrará la siguiente

pantalla la cual muestra una lista de bienes que hayan sido registrados en el paso

anterior.

El usuario podrá buscar un bien para ser diagnosticado usando el campo título del

bien o filtrar la lista por la columna etiqueta o título de bien.

Una vez localizado presionamos el botón del registro y se mostrará la siguiente

pantalla para ingresar la información de diagnóstico.

Page 111: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

92

Una vez diagnosticado el bien pasa automáticamente al registro de Diagnosticados

Al usar el vínculo de Diagnosticados del menú de este módulo se mostrara la

siguiente pantalla con una lista de registro de bienes que hayan sido Diagnosticados

y necesiten ser modificados puede ser en su información de registro o en la

información de diagnóstico.

Para modificar dicha información se presionará el botón correspondiente.

MODULO DIGITALIZACIÓN

Una vez diagnosticado el bien pasa a la fase de digitalización, el menú de este

módulo presenta las siguientes opciones.

Page 112: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

93

El vínculo Digitalizar nos presentará la siguiente pantalla donde el usuario podrá

buscar y seleccionar el bien a digitalizara.

Al usar el botón del registro a digitalizar se mostrara la siguiente ventana donde

el usuario ingresará la información de este proceso.

Una vez guardada la información automáticamente el bien pasa al estado de

digitalizados.

Page 113: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

94

El vínculo Digitalizados nos presentará la siguiente pantalla donde el usuario podrá

buscar y seleccionar el bien que necesite modificar la información almacenada en el

paso anterior.

Para modificar la información el usuario presionará el botón del registro

correspondiente mostrándose la pantalla del paso anterior para ser modificada su

información.

MODULO CATALOGACIÓN

Las opciones que presenta el menú de este módulo son las siguientes:

Al usar el vínculo Catalogar se muestra la siguiente pantalla donde aparecerá una

lista de bienes a ser catalogados. El usuario puede buscar un bien específico por su

título o filtrar la lista por título.

Page 114: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

95

Una vez localizado el bien para ingresar la información de catalogación

presionaremos el botón del registro correspondiente se mostrara una pantalla que

depende del tipo de bien a catalogar.

Pantalla Catalogar Película

Page 115: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

96

Pantalla Catalogar Libro

Pantalla Catalogar Revistas y Folletos

Page 116: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

97

En cada pantalla el usuario ingresará la información correspondiente y podrá elegir

una imagen de portada para todos los casos.

Para modificar la información de catalogación de un bien usaremos el vínculo

Catalogados del menú de este módulo mostrándose la siguiente pantalla.

El usuario podrá elegir un bien para cambiar su información de catálogo

presionando el botón del registro correspondiente.

MODULO CINE

El menú de este módulo permite generar tickets de ingreso a una película

proyectada en la salas de cine se presenta la siguiente pantalla.

-

El usuario elegirá el evento y con el botón buscar desplegara las películas

programadas para ese evento presionando el botón de la película correspondiente

aparecerá la pantalla siguiente.

Page 117: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

98

El usuario elegirá el tipo de cliente y al presionar el botón guardar se generará el

ticket de ingreso.

MODULO CONSULTA PÚBLICA

El menú de este módulo nos presenta las siguientes opciones.

El vínculo registrar Visita nos llevará a la siguiente pantalla donde se podrá

ingresar la información de uso del módulo de consulta pública.

Page 118: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

99

Se ingresara la identificación del visitante si este no existe aparecerá el botón

Registrar Visitante el cual nos lleva a la siguiente pantalla para ingresar un

visitante nuevo.

Se ingresa la correspondiente información y presionamos el botón guardar. Una vez

registrado el visitante aparece la siguiente pantalla donde registraremos el bien

solicitado para hacer uso de la consulta pública.

Al presionar el botón guardar la visita queda como activa.

Al hacer uso vínculo Terminar Visita se muestra la siguiente pantalla donde se

dará por finalizada la vista además de recoger una evaluación del cliente.

Page 119: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

100

Buscamos una visita activa por la identificación del visitante y presionamos el botón

para ingresar la evaluación del servicio en la siguiente pantalla.

Al presionar el botón guardar la visita da por finalizada.

MODULO REPORTES

El menú del módulo reportes nos presenta las siguientes opciones

Page 120: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

101

Con cada vínculo se podrá obtener un informe de trabajo de cada uno de los

módulos antes descritos. Mostrándose los siguientes campos

Para todo los módulos la ventana es similar, se ingresa una fecha desde y hasta

cuando se necesita generar un informe, Cada módulo tiene su formato de reporte

diferente.

Page 121: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

102

Reporte Donaciones

Reporte Conservación

Reporte Digitalización

Page 122: UNIVERSIDAD CENTRAL DEL ECUADOR … · 2.2.2 Lenguaje de Programación JAVA ... Arquitectura en 3 capas Sistema Cinemateca ... SOFTWARE / JSF / JPA / POSTGRESQL / ARQUITECTURA N-

103

Reporte Catalogación

Reporte Cine

Reporte Consulta Pública